DPlayer.min.js.map 374 KB

1
  1. {"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/axios/lib/utils.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/axios/index.js","webpack://[name]/./node_modules/css-loader/dist/runtime/api.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./node_modules/axios/lib/helpers/bind.js","webpack://[name]/./node_modules/axios/lib/helpers/buildURL.js","webpack://[name]/./node_modules/axios/lib/cancel/isCancel.js","webpack://[name]/./node_modules/axios/lib/defaults.js","webpack://[name]/./node_modules/axios/lib/adapters/xhr.js","webpack://[name]/./node_modules/axios/lib/core/createError.js","webpack://[name]/./node_modules/axios/lib/core/mergeConfig.js","webpack://[name]/./node_modules/axios/lib/cancel/Cancel.js","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./node_modules/promise-polyfill/src/index.js","webpack://[name]/./node_modules/promise-polyfill/src/finally.js","webpack://[name]/./src/assets/play.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/full.svg","webpack://[name]/./src/assets/full-web.svg","webpack://[name]/./src/assets/setting.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/comment.svg","webpack://[name]/./src/assets/comment-off.svg","webpack://[name]/./src/assets/send.svg","webpack://[name]/./src/assets/pallette.svg","webpack://[name]/./src/assets/camera.svg","webpack://[name]/./src/assets/airplay.svg","webpack://[name]/./src/assets/subtitle.svg","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/template/player.art","webpack://[name]/./src/css/index.scss?c83e","webpack://[name]/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://[name]/./src/css/index.scss","webpack://[name]/./node_modules/balloon-css/balloon.css","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/axios/lib/axios.js","webpack://[name]/./node_modules/axios/lib/core/Axios.js","webpack://[name]/./node_modules/axios/lib/core/InterceptorManager.js","webpack://[name]/./node_modules/axios/lib/core/dispatchRequest.js","webpack://[name]/./node_modules/axios/lib/core/transformData.js","webpack://[name]/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://[name]/./node_modules/axios/lib/core/settle.js","webpack://[name]/./node_modules/axios/lib/core/enhanceError.js","webpack://[name]/./node_modules/axios/lib/core/buildFullPath.js","webpack://[name]/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://[name]/./node_modules/axios/lib/helpers/combineURLs.js","webpack://[name]/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://[name]/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://[name]/./node_modules/axios/lib/helpers/cookies.js","webpack://[name]/./node_modules/axios/lib/cancel/CancelToken.js","webpack://[name]/./node_modules/axios/lib/helpers/spread.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/js/api.js","webpack://[name]/./src/js/options.js","webpack://[name]/./src/js/i18n.js","webpack://[name]/./src/js/icons.js","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/danmaku.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/fullscreen.js","webpack://[name]/./src/js/user.js","webpack://[name]/./src/js/subtitle.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/bezel.js","webpack://[name]/./src/js/thumbnails.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/js/setting.js","webpack://[name]/./src/js/comment.js","webpack://[name]/./src/js/hotkey.js","webpack://[name]/./src/js/contextmenu.js","webpack://[name]/./src/js/info-panel.js","webpack://[name]/./src/js/player.js","webpack://[name]/./src/js/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","toString","isArray","val","isUndefined","isObject","isFunction","forEach","fn","length","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","arguments","deepMerge","extend","a","b","thisArg","trim","str","replace","useSourceMap","list","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","id","_i","push","g","Function","e","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","utils","encode","url","params","paramsSerializer","serializedParams","parts","v","toISOString","hashmarkIndex","indexOf","slice","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","method","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","requestHeaders","request","auth","username","password","Authorization","fullPath","baseURL","open","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","error","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","prop","axiosKeys","otherKeys","keys","filter","Cancel","setTimeoutFunc","x","Boolean","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","self","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","_unhandledRejectionFn","Handler","done","reason","ex","prom","all","arr","remaining","res","race","setImmediate","err","console","warn","callback","api","default","options","locals","memo","isOldIE","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","base","count","index","css","media","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","setAttribute","insert","appendChild","textStore","replaceText","replacement","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","splice","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_AT_RULE_IMPORT_0___","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","global","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","documentElement","script","Math","random","attachEvent","task","Axios","mergeConfig","createInstance","defaultConfig","context","instance","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","shift","getUri","handlers","use","eject","h","transformData","throwIfCancellationRequested","throwIfRequested","fns","normalizedName","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isAbsoluteURL","combineURLs","requestedURL","test","relativeURL","ignoreDuplicateOf","parsed","split","line","substr","originURL","msie","userAgent","urlParsingNode","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","write","expires","path","domain","secure","cookie","Date","toGMTString","match","RegExp","decodeURIComponent","now","executor","resolvePromise","token","globalThis","runtime","ESCAPE_REG","$escape","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","$each","isMobile","secondToTime","second","Infinity","hour","floor","min","sec","num","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","top","rect","left","getScrollPosition","pageXOffset","setScrollPosition","_ref","_ref$left","_ref$top","isFirefox","scrollTo","isSafari","isChrome","storage","set","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","color2Number","color","parseInt","number2Color","number2Type","post","success","msg","time","type","author","text","defaultOption","container","getElementsByClassName","live","autoplay","theme","loop","lang","language","browserLanguage","screenshot","airplay","hotkey","preload","volume","playbackSpeed","apiBackend","video","contextmenu","mutex","pluginOptions","hls","flv","dash","webtorrent","defaultKey","danmaku","user","subtitle","fontSize","bottom","quality","defaultQuality","click","player","infoPanel","triggle","link","tranTxt","Top","Bottom","Rolling","Loop","Speed","Normal","FF","REW","Setting","Send","Screenshot","AirPlay","Volume","Live","_this","tran","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","pallette","camera","loading","_defineProperties","props","descriptor","configurable","writable","Template","Constructor","_classCallCheck","init","protoProps","staticProps","innerHTML","icons","mobile","pic","volumeBar","volumeBarWrap","volumeBarWrapWrap","volumeButton","volumeButtonIcon","volumeIcon","playedBar","loadedBar","playedBarWrap","playedBarTime","danmakuLoading","bezel","playButton","mobilePlayButton","videoWrap","controllerMask","ptime","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","dtime","controller","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","airplayButton","subtitleButton","subtitleButtonInner","qualityButton","barPreview","barWrap","notice","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","Danmaku","danTunnel","danIndex","dan","showing","_opacity","opacity","events","unlimited","_measure","load","apiurl","maximum","address","endpoints","addition","trigger","_readAllEndpoints","results","sort","requestAnimationFrame","frame","newAPI","clear","_this2","readCount","_loop","_this3","danmakuData","htmlEncode","border","borderColor","draw","_this4","paused","parseFloat","percentage","items","_this5","itemHeight","height","danWidth","offsetWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","danSpeed","getTunnel","tmp","_loop2","j","danRight","_ret","docFragment","createDocumentFragment","_loop3","classList","add","itemWidth","tunnel","transform","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","Events","videoEvents","playerEvents","info","FullScreen","lastScrollPosition","resize","fullscreenchange","isFullScreen","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","User","storageName","Subtitle","textTracks","track","oncuechange","cue","activeCues","template","getCueAsHTML","trackHtml","show","hide","Bar","elements","played","loaded","direction","max","Timer","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","position","backgroundPosition","ceil","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initAirplayButton","initVolumeButton","toggle","duration","highlight","highlights","thumbnails","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","bar","thumbUp","removeEventListener","timer","enable","disable","px","tx","move","innerText","_this6","fullScreen","_this7","volumeMove","muted","switchVolumeIcon","_this8","switchQuality","dataset","_this9","dataURL","canvas","drawImage","toBlob","blob","URL","createObjectURL","download","revokeObjectURL","WebKitPlaybackTargetAvailabilityEvent","availability","webkitShowPlaybackTargetPicker","_this10","balloon","_this11","disableAutoHide","isShow","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","tag","activeElement","tagName","editable","getAttribute","preventDefault","ContextMenu","shown","clientRect","clientY","y","InfoPanel","beginTime","toFixed","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","instances","DPlayer","getOwnPropertyDescriptors","defineProperties","_objectSpread","qualityIndex","arrow","plugins","initVideo","fromNative","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","initMSE","reload","customType","canPlayType","Hls","isSupported","loadSource","attachMedia","destroy","flvjs","flvPlayer","createPlayer","assign","mediaDataSource","attachMediaElement","unload","detachMediaElement","dashjs","dashjsPlayer","MediaPlayer","initialize","_options","updateSettings","reset","WebTorrent","WEBRTC_SUPPORT","_options2","client","torrentId","torrent","files","find","file","endsWith","renderTo","controls","buffered","end","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","log"],"mappings":"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","file":"DPlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 58);\n","'use strict';\nfunction _typeof(obj) {\n '@babel/helpers - typeof';\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar bind = require('./helpers/bind');\nvar toString = Object.prototype.toString;\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\nfunction isArrayBufferView(val) {\n var result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n return result;\n}\nfunction isString(val) {\n return typeof val === 'string';\n}\nfunction isNumber(val) {\n return typeof val === 'number';\n}\nfunction isObject(val) {\n return val !== null && _typeof(val) === 'object';\n}\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction forEach(obj, fn) {\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n if (_typeof(obj) !== 'object') {\n obj = [obj];\n }\n if (isArray(obj)) {\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\nfunction merge() {\n var result = {};\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\nfunction deepMerge() {\n var result = {};\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (_typeof(val) === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n<video\n class=\"dplayer-video {{ if current }}dplayer-video-current{{ /if }}\"\n webkit-playsinline\n {{ if airplay }} x-webkit-airplay=\"allow\" {{ /if }}\n playsinline\n {{ if pic }}poster=\"{{ pic }}\"{{ /if }}\n {{ if screenshot || enableSubtitle }}crossorigin=\"anonymous\"{{ /if }}\n {{ if preload }}preload=\"{{ preload }}\"{{ /if }}\n {{ if url }}src=\"{{ url }}\"{{ /if }}\n >\n {{ if enableSubtitle }}\n <track kind=\"metadata\" default src=\"{{ subtitle.url }}\"></track>\n {{ /if }}\n</video>","module.exports = require('./lib/axios');","'use strict';\nmodule.exports = function (useSourceMap) {\n var list = [];\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n if (item[2]) {\n return '@media '.concat(item[2], ' {').concat(content, '}');\n }\n return content;\n }).join('');\n };\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n modules = [[\n null,\n modules,\n ''\n ]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = ''.concat(mediaQuery, ' and ').concat(item[2]);\n }\n }\n list.push(item);\n }\n };\n return list;\n};\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL='.concat(cssMapping.sourceRoot || '').concat(source, ' */');\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n return [content].join('\\n');\n}\nfunction toComment(sourceMap) {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(base64);\n return '/*# '.concat(data, ' */');\n}","function _typeof(obj) {\n '@babel/helpers - typeof';\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || new Function('return this')();\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;","var process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n}());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","'use strict';\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};","'use strict';\nvar utils = require('./../utils');\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n if (!params) {\n return url;\n }\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n return url;\n};","'use strict';\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' };\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n adapter = require('./adapters/http');\n }\n return adapter;\n}\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n }\n }\n return data;\n }],\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = { common: { 'Accept': 'application/json, text/plain, */*' } };\nutils.forEach([\n 'delete',\n 'get',\n 'head'\n], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type'];\n }\n var request = new XMLHttpRequest();\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n request.timeout = config.timeout;\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response);\n request = null;\n };\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n request = null;\n };\n request.onerror = function handleError() {\n reject(createError('Network Error', config, null, request));\n request = null;\n };\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request));\n request = null;\n };\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n delete requestHeaders[key];\n } else {\n request.setRequestHeader(key, val);\n }\n });\n }\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n if (config.cancelToken) {\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n request.abort();\n reject(cancel);\n request = null;\n });\n }\n if (requestData === undefined) {\n requestData = null;\n }\n request.send(requestData);\n });\n};","'use strict';\nvar enhanceError = require('./enhanceError');\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function mergeConfig(config1, config2) {\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = [\n 'url',\n 'method',\n 'params',\n 'data'\n ];\n var mergeDeepPropertiesKeys = [\n 'headers',\n 'auth',\n 'proxy'\n ];\n var defaultToConfig2Keys = [\n 'baseURL',\n 'url',\n 'transformRequest',\n 'transformResponse',\n 'paramsSerializer',\n 'timeout',\n 'withCredentials',\n 'adapter',\n 'responseType',\n 'xsrfCookieName',\n 'xsrfHeaderName',\n 'onUploadProgress',\n 'onDownloadProgress',\n 'maxContentLength',\n 'validateStatus',\n 'maxRedirects',\n 'httpAgent',\n 'httpsAgent',\n 'cancelToken',\n 'socketPath'\n ];\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);\n var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\nfunction Cancel(message) {\n this.message = message;\n}\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\nmodule.exports = require('./compile/runtime');","function _typeof(obj) {\n '@babel/helpers - typeof';\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nimport promiseFinally from './finally';\nvar setTimeoutFunc = setTimeout;\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n}\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function')\n throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\nfunction resolve(self, newValue) {\n try {\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && (_typeof(newValue) === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done)\n return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done)\n return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done)\n return;\n done = true;\n reject(self, ex);\n }\n}\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\nPromise.prototype['finally'] = promiseFinally;\nPromise.all = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0)\n return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n try {\n if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\nPromise.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === Promise) {\n return value;\n }\n return new Promise(function (resolve) {\n resolve(value);\n });\n};\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\nPromise.race = function (arr) {\n return new Promise(function (resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n setImmediate(fn);\n} || function (fn) {\n setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err);\n }\n};\nexport default Promise;","function finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n return constructor.reject(reason);\n });\n });\n}\nexport default finallyConstructor;","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 16 32\\\"><path d=\\\"M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 17 32\\\"><path d=\\\"M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 28\\\"><path d=\\\"M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z\\\"></path></svg>\"","module.exports = \"<svg viewBox=\\\"0 0 288 288\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M288 90v96c0 20-16 36-36 36h-10c-16 0-16-24 0-24h10c7 0 12-5 12-12V90c0-7-5-12-12-12H36c-7 0-12 5-12 12v96c0 7 5 12 12 12h10c16 0 16 24 0 24H36c-20 0-36-16-36-36V90c0-20 16-36 36-36h216c20 0 36 16 36 36zm-120 62l48 68c14 20 1 38-20 38H92c-21 0-34-18-20-38l48-68c13-18 35-18 48 0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z\\\"></path></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" viewBox=\\\"0 0 22 22\\\"><svg x=\\\"7\\\" y=\\\"1\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-0\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-1\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"13\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-2\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-3\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"7\\\" y=\\\"13\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-4\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-5\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"1\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-6\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-7\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg></svg>\"","<div class=\"dplayer-mask\"></div>\n<div class=\"dplayer-video-wrap\">\n {{ include './video.art' video }}\n {{ if options.logo }}\n <div class=\"dplayer-logo\">\n <img src=\"{{ options.logo }}\">\n </div>\n {{ /if }}\n <div class=\"dplayer-danmaku\"{{ if options.danmaku && options.danmaku.bottm }} style=\"margin-bottom:{{ options.danmaku.bottm }}\"{{ /if }}>\n <div class=\"dplayer-danmaku-item dplayer-danmaku-item--demo\"></div>\n </div>\n <div class=\"dplayer-subtitle\"></div>\n <div class=\"dplayer-bezel\">\n <span class=\"dplayer-bezel-icon\"></span>\n {{ if options.danmaku }}\n <span class=\"dplayer-danloading\">{{ tran('Danmaku is loading') }}</span>\n {{ /if }}\n <span class=\"diplayer-loading-icon\">{{@ icons.loading }}</span>\n </div>\n</div>\n<div class=\"dplayer-controller-mask\"></div>\n<div class=\"dplayer-controller\">\n <div class=\"dplayer-icons dplayer-comment-box\">\n <button class=\"dplayer-icon dplayer-comment-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.pallette }}</span>\n </button>\n <div class=\"dplayer-comment-setting-box\">\n <div class=\"dplayer-comment-setting-color\">\n <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku color') }}</div>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#fff\" checked>\n <span style=\"background: #fff;\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#e54256\">\n <span style=\"background: #e54256\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#ffe133\">\n <span style=\"background: #ffe133\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#64DD17\">\n <span style=\"background: #64DD17\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#39ccff\">\n <span style=\"background: #39ccff\"></span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#D500F9\">\n <span style=\"background: #D500F9\"></span>\n </label>\n </div>\n <div class=\"dplayer-comment-setting-type\">\n <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku type') }}</div>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"1\">\n <span>{{ tran('Top') }}</span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"0\" checked>\n <span>{{ tran('Rolling') }}</span>\n </label>\n <label>\n <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"2\">\n <span>{{ tran('Bottom') }}</span>\n </label>\n </div>\n </div>\n <input class=\"dplayer-comment-input\" type=\"text\" placeholder=\"{{ tran('Input danmaku, hit Enter') }}\" maxlength=\"30\">\n <button class=\"dplayer-icon dplayer-send-icon\" data-balloon=\"{{ tran('Send') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.send }}</span>\n </button>\n </div>\n <div class=\"dplayer-icons dplayer-icons-left\">\n <button class=\"dplayer-icon dplayer-play-icon\">\n <span class=\"dplayer-icon-content\">{{@ icons.play }}</span>\n </button>\n <div class=\"dplayer-volume\">\n <button class=\"dplayer-icon dplayer-volume-icon\">\n <span class=\"dplayer-icon-content\">{{@ icons.volumeDown }}</span>\n </button>\n <div class=\"dplayer-volume-bar-wrap\" data-balloon-pos=\"up\">\n <div class=\"dplayer-volume-bar\">\n <div class=\"dplayer-volume-bar-inner\" style=\"background: {{ options.theme }};\">\n <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n </div>\n </div>\n </div>\n </div>\n <span class=\"dplayer-time\">\n <span class=\"dplayer-ptime\">0:00</span> /\n <span class=\"dplayer-dtime\">0:00</span>\n </span>\n {{ if options.live }}\n <span class=\"dplayer-live-badge\"><span class=\"dplayer-live-dot\" style=\"background: {{ options.theme }};\"></span>{{ tran('Live') }}</span>\n {{ /if }}\n </div>\n <div class=\"dplayer-icons dplayer-icons-right\">\n {{ if options.video.quality }}\n <div class=\"dplayer-quality\">\n <button class=\"dplayer-icon dplayer-quality-icon\">{{ options.video.quality[options.video.defaultQuality].name }}</button>\n <div class=\"dplayer-quality-mask\">\n <div class=\"dplayer-quality-list\">\n {{ each options.video.quality }}\n <div class=\"dplayer-quality-item\" data-index=\"{{ $index }}\">{{ $value.name }}</div>\n {{ /each }}\n </div>\n </div>\n </div>\n {{ /if }}\n {{ if options.screenshot }}\n <div class=\"dplayer-icon dplayer-camera-icon\" data-balloon=\"{{ tran('Screenshot') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.camera }}</span>\n </div>\n {{ /if }}\n {{ if options.airplay }}\n <div class=\"dplayer-icon dplayer-airplay-icon\" data-balloon=\"{{ tran('AirPlay') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.airplay }}</span>\n </div>\n {{ /if }}\n <div class=\"dplayer-comment\">\n <button class=\"dplayer-icon dplayer-comment-icon\" data-balloon=\"{{ tran('Send danmaku') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.comment }}</span>\n </button>\n </div>\n {{ if options.subtitle }}\n <div class=\"dplayer-subtitle-btn\">\n <button class=\"dplayer-icon dplayer-subtitle-icon\" data-balloon=\"{{ tran('Hide subtitle') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n </button>\n </div>\n {{ /if }}\n <div class=\"dplayer-setting\">\n <button class=\"dplayer-icon dplayer-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.setting }}</span>\n </button>\n <div class=\"dplayer-setting-box\">\n <div class=\"dplayer-setting-origin-panel\">\n <div class=\"dplayer-setting-item dplayer-setting-speed\">\n <span class=\"dplayer-label\">{{ tran('Speed') }}</span>\n <div class=\"dplayer-toggle\">{{@ icons.right }}</div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-loop\">\n <span class=\"dplayer-label\">{{ tran('Loop') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-toggle-setting-input\" type=\"checkbox\" name=\"dplayer-toggle\">\n <label for=\"dplayer-toggle\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-showdan\">\n <span class=\"dplayer-label\">{{ tran('Show danmaku') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-showdan-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-dan\">\n <label for=\"dplayer-toggle-dan\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-danunlimit\">\n <span class=\"dplayer-label\">{{ tran('Unlimited danmaku') }}</span>\n <div class=\"dplayer-toggle\">\n <input class=\"dplayer-danunlimit-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-danunlimit\">\n <label for=\"dplayer-toggle-danunlimit\"></label>\n </div>\n </div>\n <div class=\"dplayer-setting-item dplayer-setting-danmaku\">\n <span class=\"dplayer-label\">{{ tran('Opacity for danmaku') }}</span>\n <div class=\"dplayer-danmaku-bar-wrap\">\n <div class=\"dplayer-danmaku-bar\">\n <div class=\"dplayer-danmaku-bar-inner\">\n <span class=\"dplayer-thumb\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"dplayer-setting-speed-panel\">\n {{ each options.playbackSpeed }}\n <div class=\"dplayer-setting-speed-item\" data-speed=\"{{ $value }}\">\n <span class=\"dplayer-label\">{{ $value === 1 ? tran('Normal') : $value }}</span>\n </div>\n {{ /each }}\n </div>\n </div>\n </div>\n <div class=\"dplayer-full\">\n <button class=\"dplayer-icon dplayer-full-in-icon\" data-balloon=\"{{ tran('Web full screen') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.fullWeb }}</span>\n </button>\n <button class=\"dplayer-icon dplayer-full-icon\" data-balloon=\"{{ tran('Full screen') }}\" data-balloon-pos=\"up\">\n <span class=\"dplayer-icon-content\">{{@ icons.full }}</span>\n </button>\n </div>\n </div>\n <div class=\"dplayer-bar-wrap\">\n <div class=\"dplayer-bar-time hidden\">00:00</div>\n <div class=\"dplayer-bar-preview\"></div>\n <div class=\"dplayer-bar\">\n <div class=\"dplayer-loaded\" style=\"width: 0;\"></div>\n <div class=\"dplayer-played\" style=\"width: 0; background: {{ options.theme }}\">\n <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"dplayer-info-panel dplayer-info-panel-hide\">\n <div class=\"dplayer-info-panel-close\">[x]</div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-version\">\n <span class=\"dplayer-info-panel-item-title\">Player version</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-fps\">\n <span class=\"dplayer-info-panel-item-title\">Player FPS</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-type\">\n <span class=\"dplayer-info-panel-item-title\">Video type</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-url\">\n <span class=\"dplayer-info-panel-item-title\">Video url</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-resolution\">\n <span class=\"dplayer-info-panel-item-title\">Video resolution</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-duration\">\n <span class=\"dplayer-info-panel-item-title\">Video duration</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n {{ if options.danmaku }}\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-id\">\n <span class=\"dplayer-info-panel-item-title\">Danmaku id</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-api\">\n <span class=\"dplayer-info-panel-item-title\">Danmaku api</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount\">\n <span class=\"dplayer-info-panel-item-title\">Danmaku amount</span>\n <span class=\"dplayer-info-panel-item-data\"></span>\n </div>\n {{ /if }}\n</div>\n<div class=\"dplayer-menu\">\n {{ each options.contextmenu }}\n <div class=\"dplayer-menu-item\">\n <a{{ if $value.link }} target=\"_blank\"{{ /if }} href=\"{{ $value.link || 'javascript:void(0);' }}\">{{ tran($value.text) }}</a>\n </div>\n {{ /each }}\n</div>\n<div class=\"dplayer-notice\"></div>\n<button class=\"dplayer-mobile-play\">\n {{@ icons.play }}\n</button>","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../node_modules/postcss-loader/src/index.js??ref--5-2!../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\"-!../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../node_modules/postcss-loader/src/index.js??ref--5-2!../../node_modules/balloon-css/balloon.css\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nexports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\nexports.push([module.id, \"@-webkit-keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{transform:translateY(1.5px) rotate(1.5deg)}4%{transform:translateY(-1.5px) rotate(-.5deg)}6%{transform:translateY(1.5px) rotate(-1.5deg)}8%{transform:translateY(-1.5px) rotate(-1.5deg)}10%{transform:translateY(2.5px) rotate(1.5deg)}12%{transform:translateY(-.5px) rotate(1.5deg)}14%{transform:translateY(-1.5px) rotate(1.5deg)}16%{transform:translateY(-.5px) rotate(-1.5deg)}18%{transform:translateY(.5px) rotate(-1.5deg)}20%{transform:translateY(-1.5px) rotate(2.5deg)}22%{transform:translateY(.5px) rotate(-1.5deg)}24%{transform:translateY(1.5px) rotate(1.5deg)}26%{transform:translateY(.5px) rotate(.5deg)}28%{transform:translateY(.5px) rotate(1.5deg)}30%{transform:translateY(-.5px) rotate(2.5deg)}32%{transform:translateY(1.5px) rotate(-.5deg)}34%{transform:translateY(1.5px) rotate(-.5deg)}36%{transform:translateY(-1.5px) rotate(2.5deg)}38%{transform:translateY(1.5px) rotate(-1.5deg)}40%{transform:translateY(-.5px) rotate(2.5deg)}42%{transform:translateY(2.5px) rotate(-1.5deg)}44%{transform:translateY(1.5px) rotate(.5deg)}46%{transform:translateY(-1.5px) rotate(2.5deg)}48%{transform:translateY(-.5px) rotate(.5deg)}50%{transform:translateY(.5px) rotate(.5deg)}52%{transform:translateY(2.5px) rotate(2.5deg)}54%{transform:translateY(-1.5px) rotate(1.5deg)}56%{transform:translateY(2.5px) rotate(2.5deg)}58%{transform:translateY(.5px) rotate(2.5deg)}60%{transform:translateY(2.5px) rotate(2.5deg)}62%{transform:translateY(-.5px) rotate(2.5deg)}64%{transform:translateY(-.5px) rotate(1.5deg)}66%{transform:translateY(1.5px) rotate(-.5deg)}68%{transform:translateY(-1.5px) rotate(-.5deg)}70%{transform:translateY(1.5px) rotate(.5deg)}72%{transform:translateY(2.5px) rotate(1.5deg)}74%{transform:translateY(-.5px) rotate(.5deg)}76%{transform:translateY(-.5px) rotate(2.5deg)}78%{transform:translateY(-.5px) rotate(1.5deg)}80%{transform:translateY(1.5px) rotate(1.5deg)}82%{transform:translateY(-.5px) rotate(.5deg)}84%{transform:translateY(1.5px) rotate(2.5deg)}86%{transform:translateY(-1.5px) rotate(-1.5deg)}88%{transform:translateY(-.5px) rotate(2.5deg)}90%{transform:translateY(2.5px) rotate(-.5deg)}92%{transform:translateY(.5px) rotate(-.5deg)}94%{transform:translateY(2.5px) rotate(.5deg)}96%{transform:translateY(-.5px) rotate(1.5deg)}98%{transform:translateY(-1.5px) rotate(-.5deg)}0%,to{transform:translate(0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg circle,.dplayer svg path{fill:#fff}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding:0;transform:translate(0)}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-arrow .dplayer-icon{margin:0 -3px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running;animation-play-state:running}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku,.dplayer.dplayer-loading .dplayer-danmaku-move,.dplayer.dplayer-paused .dplayer-danmaku,.dplayer.dplayer-paused .dplayer-danmaku-move{-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%!important;height:100%!important}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:static;display:inline-block}.dplayer.dplayer-mobile .dplayer-bar-time,.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play{display:none}.dplayer.dplayer-mobile .dplayer-mobile-play{display:block}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:rgba(17,17,17,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight{display:block;width:8px;transform:translateX(-4px);top:4px;height:40%}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight{z-index:12;position:absolute;top:5px;width:6px;height:20%;border-radius:6px;background-color:#fff;text-align:center;transform:translateX(-3px);transition:all .2s ease-in-out}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text{display:block}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-preview,.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-time{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:rgba(0,0,0,.62);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;transform:translateX(-50%)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:16000px 100%}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{transform:scale(1)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;box-sizing:border-box;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s ease-in-out infinite;animation:my-face 5s ease-in-out infinite}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;box-sizing:border-box;width:100%;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear{display:none}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:\\\"\\\";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-setting,.dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;text-align:center}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;box-sizing:border-box;cursor:pointer;position:relative}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;background:#aaa;will-change:width}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;background:#aaa}.dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:\\\"\\\";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer-mobile-play{display:none;width:50px;height:50px;border:none;background-color:transparent;outline:none;cursor:pointer;box-sizing:border-box;bottom:0;opacity:.8;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;transform:translateX(100%)}.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{transform:translateX(100%)}}@keyframes danmaku{0%{transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-bottom,.dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer-menu.dplayer-menu-show{display:block}.dplayer-menu .dplayer-menu-item{height:30px;box-sizing:border-box;cursor:pointer}.dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}.dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer-info-panel{position:absolute;top:10px;left:10px;width:400px;background:rgba(28,28,28,.8);padding:10px;color:#fff;font-size:12px;border-radius:2px}.dplayer-info-panel-hide{display:none}.dplayer-info-panel .dplayer-info-panel-close{cursor:pointer;position:absolute;right:10px;top:10px}.dplayer-info-panel .dplayer-info-panel-item>span{display:inline-block;vertical-align:middle;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-info-panel .dplayer-info-panel-item-title{width:100px;text-align:right;margin-right:10px}.dplayer-info-panel .dplayer-info-panel-item-data{width:260px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \":root{--balloon-border-radius:2px;--balloon-color:rgba(16,16,16,0.95);--balloon-text-color:#fff;--balloon-font-size:12px;--balloon-move:4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;white-space:nowrap}[aria-label][data-balloon-pos]:after,[aria-label][data-balloon-pos]:before{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top:5px solid var(--balloon-color);content:\\\"\\\"}[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-visible]:before{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:after,[aria-label][data-balloon-pos][data-balloon-blunt]:before{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:before{bottom:100%;left:50%;transform:translate(-50%,var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:after{bottom:100%;left:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:before{bottom:100%;left:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:after{bottom:100%;right:0;margin-bottom:10px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:before{bottom:100%;right:5px;transform:translateY(var(--balloon-move));transform-origin:top}[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=up-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after{left:50%;margin-top:10px;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:50%;top:100%;transform:translate(-50%,calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:after{left:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);left:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-left][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:after{right:0;margin-top:10px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:before{width:0;height:0;border:5px solid transparent;border-bottom:5px solid var(--balloon-color);right:5px;top:100%;transform:translateY(calc(var(--balloon-move)*-1))}[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px;right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left:5px solid var(--balloon-color);right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{left:100%;margin-left:10px;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right:5px solid var(--balloon-color);left:100%;top:50%;transform:translate(calc(var(--balloon-move)*-1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-length=small]:after{white-space:normal;width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{white-space:normal;width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{white-space:normal;width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{white-space:normal;width:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var apply = Function.prototype.apply;\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {\n};\nTimeout.prototype.close = function () {\n this._clearFn.call(window, this._id);\n};\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\nrequire('setimmediate');\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;","(function (global, undefined) {\n 'use strict';\n if (global.setImmediate) {\n return;\n }\n var nextHandle = 1;\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n function setImmediate(callback) {\n if (typeof callback !== 'function') {\n callback = new Function('' + callback);\n }\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n function runIfPresent(handle) {\n if (currentlyRunningATask) {\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n function canUsePostMessage() {\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n global.postMessage('', '*');\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n function installPostMessageImplementation() {\n var messagePrefix = 'setImmediate$' + Math.random() + '$';\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n if (global.addEventListener) {\n global.addEventListener('message', onGlobalMessage, false);\n } else {\n global.attachEvent('onmessage', onGlobalMessage);\n }\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, '*');\n };\n }\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function registerImmediate(handle) {\n var script = doc.createElement('script');\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n function installSetTimeoutImplementation() {\n registerImmediate = function registerImmediate(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n if ({}.toString.call(global.process) === '[object process]') {\n installNextTickImplementation();\n } else if (canUsePostMessage()) {\n installPostMessageImplementation();\n } else if (global.MessageChannel) {\n installMessageChannelImplementation();\n } else if (doc && 'onreadystatechange' in doc.createElement('script')) {\n installReadyStateChangeImplementation();\n } else {\n installSetTimeoutImplementation();\n }\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === 'undefined' ? typeof global === 'undefined' ? this : global : self));","'use strict';\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n utils.extend(instance, Axios.prototype, context);\n utils.extend(instance, context);\n return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\nmodule.exports = axios;\nmodule.exports['default'] = axios;","'use strict';\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\nAxios.prototype.request = function request(config) {\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n config = mergeConfig(this.defaults, config);\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n var chain = [\n dispatchRequest,\n undefined\n ];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n};\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\nutils.forEach([\n 'delete',\n 'get',\n 'head',\n 'options'\n], function forEachMethodNoData(method) {\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach([\n 'post',\n 'put',\n 'patch'\n], function forEachMethodWithData(method) {\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\nvar utils = require('./../utils');\nfunction InterceptorManager() {\n this.handlers = [];\n}\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\nmodule.exports = InterceptorManager;","'use strict';\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n config.headers = config.headers || {};\n config.data = transformData(config.data, config.headers, config.transformRequest);\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);\n utils.forEach([\n 'delete',\n 'get',\n 'head',\n 'post',\n 'put',\n 'patch',\n 'common'\n ], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n return Promise.reject(reason);\n });\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = function transformData(data, headers, fns) {\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\nvar createError = require('./createError');\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n error.toJSON = function () {\n return {\n message: this.message,\n name: this.name,\n description: this.description,\n number: this.number,\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n config: this.config,\n code: this.code\n };\n };\n return error;\n};","'use strict';\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};","'use strict';\nmodule.exports = function isAbsoluteURL(url) {\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\nvar utils = require('./../utils');\nvar ignoreDuplicateOf = [\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent'\n];\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n if (!headers) {\n return parsed;\n }\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n function resolveURL(url) {\n var href = url;\n if (msie) {\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n urlParsingNode.setAttribute('href', href);\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n originURL = resolveURL(window.location.href);\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : function nonStandardBrowserEnv() {\n return {\n write: function write() {\n },\n read: function read() {\n return null;\n },\n remove: function remove() {\n }\n };\n}();","'use strict';\nvar Cancel = require('./Cancel');\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n return;\n }\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\nmodule.exports = CancelToken;","'use strict';\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","'use strict';\nvar globalThis = typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\nvar runtime = Object.create(globalThis);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n if (Array.isArray(data)) {\n for (var i = 0, len = data.length; i < len; i++) {\n callback(data[i], i);\n }\n } else {\n for (var _i in data) {\n callback(data[_i], _i);\n }\n }\n};\nfunction toString(value) {\n if (typeof value !== 'string') {\n if (value === undefined || value === null) {\n value = '';\n } else if (typeof value === 'function') {\n value = toString(value.call(value));\n } else {\n value = JSON.stringify(value);\n }\n }\n return value;\n}\nfunction xmlEscape(content) {\n var html = '' + content;\n var regexResult = ESCAPE_REG.exec(html);\n if (!regexResult) {\n return content;\n }\n var result = '';\n var i = void 0, lastIndex = void 0, _char = void 0;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34:\n _char = '&#34;';\n break;\n case 38:\n _char = '&#38;';\n break;\n case 39:\n _char = '&#39;';\n break;\n case 60:\n _char = '&#60;';\n break;\n case 62:\n _char = '&#62;';\n break;\n default:\n continue;\n }\n if (lastIndex !== i) {\n result += html.substring(lastIndex, i);\n }\n lastIndex = i + 1;\n result += _char;\n }\n if (lastIndex !== i) {\n return result + html.substring(lastIndex, i);\n } else {\n return result;\n }\n}\nmodule.exports = runtime;","var isMobile = /mobile/i.test(window.navigator.userAgent);\nvar isSafari = /Safari/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n second = second || 0;\n if (second === 0 || second === Infinity || second.toString() === 'NaN') {\n return '00:00';\n }\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getBoundingClientRectViewLeft: function getBoundingClientRectViewLeft(element) {\n var scrollTop = window.scrollY || window.pageYOffset || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0);\n if (element.getBoundingClientRect) {\n if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {\n var temp = document.createElement('div');\n temp.style.cssText = 'position:absolute;top:0;left:0;';\n document.body.appendChild(temp);\n this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;\n document.body.removeChild(temp);\n temp = null;\n }\n var rect = element.getBoundingClientRect();\n var offset = this.getBoundingClientRectViewLeft.offset;\n return rect.left + offset;\n } else {\n return this.getElementViewLeft(element);\n }\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === void 0 ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === void 0 ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: isMobile,\n isSafari: isSafari,\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n color2Number: function color2Number(color) {\n if (color[0] === '#') {\n color = color.substr(1);\n }\n if (color.length === 3) {\n color = ''.concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n }\n return parseInt(color, 16) + 0 & 16777215;\n },\n number2Color: function number2Color(number) {\n return '#' + ('00000' + number.toString(16)).slice(-6);\n },\n number2Type: function number2Type(number) {\n switch (number) {\n case 0:\n return 'right';\n case 1:\n return 'top';\n case 2:\n return 'bottom';\n default:\n return 'right';\n }\n }\n};\nexport default utils;","import axios from 'axios';\nexport default {\n send: function send(options) {\n axios.post(options.url, options.data).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data);\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n },\n read: function read(options) {\n axios.get(options.url).then(function (response) {\n var data = response.data;\n if (!data || data.code !== 0) {\n options.error && options.error(data && data.msg);\n return;\n }\n options.success && options.success(data.data.map(function (item) {\n return {\n time: item[0],\n type: item[1],\n color: item[2],\n author: item[3],\n text: item[4]\n };\n }));\n })['catch'](function (e) {\n console.error(e);\n options.error && options.error();\n });\n }\n};","function _typeof(obj) {\n '@babel/helpers - typeof';\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nimport defaultApiBackend from './api.js';\nexport default function (options) {\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n airplay: true,\n hotkey: true,\n preload: 'metadata',\n volume: 0.7,\n playbackSpeed: [\n 0.5,\n 0.75,\n 1,\n 1.25,\n 1.5,\n 2\n ],\n apiBackend: defaultApiBackend,\n video: {},\n contextmenu: [],\n mutex: true,\n pluginOptions: {\n hls: {},\n flv: {},\n dash: {},\n webtorrent: {}\n }\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = options.video.quality[options.video.defaultQuality].url;\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'Video info',\n click: function click(player) {\n player.infoPanel.triggle();\n }\n },\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'DPlayer v'.concat(DPLAYER_VERSION),\n link: 'https://github.com/MoePlayer/DPlayer'\n }\n ]);\n return options;\n};","function i18n(lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n}\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n Top: '顶部',\n Bottom: '底部',\n Rolling: '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n Loop: '洗脑循环',\n Speed: '速度',\n 'Opacity for danmaku': '弹幕透明度',\n Normal: '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'Video load failed': '视频加载失败',\n 'Danmaku load failed': '弹幕加载失败',\n 'Danmaku send failed': '弹幕发送失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n quality: '画质',\n FF: '快进',\n REW: '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n Setting: '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n Send: '发送',\n Screenshot: '截图',\n AirPlay: '无线投屏',\n s: '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n Volume: '音量',\n Live: '直播',\n 'Video info': '视频统计信息'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕載入中',\n Top: '頂部',\n Bottom: '底部',\n Rolling: '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見回饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n Loop: '循環播放',\n Speed: '速度',\n 'Opacity for danmaku': '彈幕透明度',\n Normal: '正常',\n 'Please input danmaku content!': '請輸入彈幕內容啊\\uFF01',\n 'Set danmaku color': '設定彈幕顏色',\n 'Set danmaku type': '設定彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'Video load failed': '影片載入失敗',\n 'Danmaku load failed': '彈幕載入失敗',\n 'Danmaku send failed': '彈幕發送失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n quality: '畫質',\n FF: '快進',\n REW: '快退',\n 'Unlimited danmaku': '巨量彈幕',\n 'Send danmaku': '發送彈幕',\n Setting: '設定',\n 'Full screen': '全螢幕',\n 'Web full screen': '頁面全螢幕',\n Send: '發送',\n Screenshot: '截圖',\n AirPlay: '無線投屏',\n s: '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n Volume: '音量',\n Live: '直播',\n 'Video info': '影片統計訊息'\n }\n};\nexport default i18n;","import play from '../assets/play.svg';\nimport pause from '../assets/pause.svg';\nimport volumeUp from '../assets/volume-up.svg';\nimport volumeDown from '../assets/volume-down.svg';\nimport volumeOff from '../assets/volume-off.svg';\nimport full from '../assets/full.svg';\nimport fullWeb from '../assets/full-web.svg';\nimport setting from '../assets/setting.svg';\nimport right from '../assets/right.svg';\nimport comment from '../assets/comment.svg';\nimport commentOff from '../assets/comment-off.svg';\nimport send from '../assets/send.svg';\nimport pallette from '../assets/pallette.svg';\nimport camera from '../assets/camera.svg';\nimport airplay from '../assets/airplay.svg';\nimport subtitle from '../assets/subtitle.svg';\nimport loading from '../assets/loading.svg';\nvar Icons = {\n play: play,\n pause: pause,\n volumeUp: volumeUp,\n volumeDown: volumeDown,\n volumeOff: volumeOff,\n full: full,\n fullWeb: fullWeb,\n setting: setting,\n right: right,\n comment: comment,\n commentOff: commentOff,\n send: send,\n pallette: pallette,\n camera: camera,\n subtitle: subtitle,\n loading: loading,\n airplay: airplay\n};\nexport default Icons;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport Icons from './icons';\nimport tplPlayer from '../template/player.art';\nimport utils from './utils';\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.init();\n }\n _createClass(Template, [{\n key: 'init',\n value: function init() {\n this.container.innerHTML = tplPlayer({\n options: this.options,\n index: this.index,\n tran: this.tran,\n icons: Icons,\n mobile: utils.isMobile,\n video: {\n current: true,\n pic: this.options.video.pic,\n screenshot: this.options.screenshot,\n airplay: this.options.airplay,\n preload: this.options.preload,\n url: this.options.video.url,\n subtitle: this.options.subtitle\n }\n });\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.mobilePlayButton = this.container.querySelector('.dplayer-mobile-play');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.airplayButton = this.container.querySelector('.dplayer-airplay-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n }\n }]);\n return Template;\n}();\nexport default Template;","function _typeof(obj) {\n '@babel/helpers - typeof';\n if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl;\n if (this.options.api.maximum) {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id, '&max=').concat(this.options.api.maximum);\n } else {\n apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id);\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var _loop = function _loop(i) {\n _this2.options.apiBackend.read({\n url: endpoints[i],\n success: function success(data) {\n results[i] = data;\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n },\n error: function error(msg) {\n _this2.options.error(msg || _this2.options.tran('Danmaku load failed'));\n results[i] = [];\n ++readCount;\n if (readCount === endpoints.length) {\n callback(results);\n }\n }\n });\n };\n for (var i = 0; i < endpoints.length; ++i) {\n _loop(i);\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var _this3 = this;\n var danmakuData = {\n token: this.options.api.token,\n id: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send({\n url: this.options.api.address + 'v3/',\n data: danmakuData,\n success: callback,\n error: function error(msg) {\n _this3.options.error(msg || _this3.options.tran('Danmaku send failed'));\n }\n });\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid '.concat(this.options.borderColor)\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this4 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this4.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this5 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this5.container.getBoundingClientRect().right + eleWidth;\n return _this5.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop2 = function _loop2(i) {\n var item = _this5.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this5.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this5.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this5.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this5.unlimited || i < itemY; i++) {\n var _ret = _loop2(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if (_typeof(_ret) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop3 = function _loop3(i) {\n dan[i].type = utils.number2Type(dan[i].type);\n if (!dan[i].color) {\n dan[i].color = 16777215;\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-'.concat(dan[i].type));\n if (dan[i].border) {\n item.innerHTML = '<span style=\"border:'.concat(dan[i].border, '\">').concat(dan[i].text, '</span>');\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this5._opacity;\n item.style.color = utils.number2Color(dan[i].color);\n item.addEventListener('animationend', function () {\n _this5.container.removeChild(item);\n });\n var itemWidth = _this5._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: '.concat(dan[i].type));\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop3(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\\//g, '&#x2f;');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-'.concat(danWidth, 'px)');\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(_boolean) {\n this.unlimited = _boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nexport default Danmaku;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: '.concat(name));\n return null;\n }\n }\n ]);\n return Events;\n}();\nexport default Events;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.lastScrollPosition = {\n left: 0,\n top: 0\n };\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n utils.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n var docfullscreenchange = function docfullscreenchange() {\n var fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n if (fullEle && fullEle !== _this.player.container) {\n return;\n }\n _this.player.resize();\n if (fullEle) {\n _this.player.events.trigger('fullscreen');\n } else {\n utils.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n if (/Firefox/.test(navigator.userAgent)) {\n document.addEventListener('mozfullscreenchange', docfullscreenchange);\n document.addEventListener('fullscreenchange', docfullscreenchange);\n } else {\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n document.addEventListener('msfullscreenchange', docfullscreenchange);\n document.addEventListener('MSFullscreenChange', docfullscreenchange);\n }\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = utils.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n } else if (this.player.video.webkitEnterFullScreen) {\n this.player.video.webkitEnterFullScreen();\n } else if (this.player.container.msRequestFullscreen) {\n this.player.container.msRequestFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n } else if (document.webkitCancelFullscreen) {\n document.webkitCancelFullscreen();\n } else if (document.msCancelFullScreen) {\n document.msCancelFullScreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nexport default FullScreen;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this['default'] = {\n opacity: 0.7,\n volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(utils.storage.get(name) || this['default'][item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n utils.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexport default User;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n _this.container.innerHTML = '';\n if (cue) {\n var template = document.createElement('div');\n template.appendChild(cue.getCueAsHTML());\n var trackHtml = template.innerHTML.split(/\\r?\\n/).map(function (item) {\n return '<p>'.concat(item, '</p>');\n }).join('');\n _this.container.innerHTML = trackHtml;\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nexport default Subtitle;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexport default Bar;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'info',\n 'fps'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n if (item !== 'fps') {\n _this['init'.concat(item, 'Checker')]();\n }\n return item;\n });\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this2 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this2.enableloadingChecker) {\n currentPlayPos = _this2.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n _this2.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initfpsChecker',\n value: function initfpsChecker() {\n var _this3 = this;\n window.requestAnimationFrame(function () {\n if (_this3.enablefpsChecker) {\n _this3.initfpsChecker();\n if (!_this3.fpsStart) {\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n } else {\n _this3.fpsIndex++;\n var fpsCurrent = new Date();\n if (fpsCurrent - _this3.fpsStart > 1000) {\n _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n _this3.fpsStart = new Date();\n _this3.fpsIndex = 0;\n }\n }\n } else {\n _this3.fpsStart = 0;\n _this3.fpsIndex = 0;\n }\n });\n }\n },\n {\n key: 'initinfoChecker',\n value: function initinfoChecker() {\n var _this4 = this;\n this.infoChecker = setInterval(function () {\n if (_this4.enableinfoChecker) {\n _this4.player.infoPanel.update();\n }\n }, 1000);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable'.concat(type, 'Checker')] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable'.concat(type, 'Checker')] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this5 = this;\n this.types.map(function (item) {\n _this5['enable'.concat(item, 'Checker')] = false;\n _this5[''.concat(item, 'Checker')] && clearInterval(_this5[''.concat(item, 'Checker')]);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexport default Timer;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nexport default Bezel;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\''.concat(options.url, '\\')');\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height, barWrapWidth) {\n this.container.style.width = ''.concat(width, 'px');\n this.container.style.height = ''.concat(height, 'px');\n this.container.style.top = ''.concat(-height + 2, 'px');\n this.barWidth = barWrapWidth;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-'.concat((Math.ceil(position / this.barWidth * 100) - 1) * 160, 'px 0');\n this.container.style.left = ''.concat(Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150), 'px');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nexport default Thumbnails;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nimport Thumbnails from './thumbnails';\nimport Icons from './icons';\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!utils.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n this.player.on('play', function () {\n _this.setAutoHide();\n });\n this.player.on('pause', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n this.initHighlights();\n if (utils.isSafari) {\n this.initAirplayButton();\n }\n if (!utils.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.mobilePlayButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!utils.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initHighlights',\n value: function initHighlights() {\n var _this3 = this;\n this.player.on('durationchange', function () {\n if (_this3.player.video.duration !== 1 && _this3.player.video.duration !== Infinity) {\n if (_this3.player.options.highlight) {\n var highlights = document.querySelectorAll('.dplayer-highlight');\n [].slice.call(highlights, 0).forEach(function (item) {\n _this3.player.template.playedBarWrap.removeChild(item);\n });\n for (var i = 0; i < _this3.player.options.highlight.length; i++) {\n if (!_this3.player.options.highlight[i].text || !_this3.player.options.highlight[i].time) {\n continue;\n }\n var p = document.createElement('div');\n p.classList.add('dplayer-highlight');\n p.style.left = _this3.player.options.highlight[i].time / _this3.player.video.duration * 100 + '%';\n p.innerHTML = '<span class=\"dplayer-highlight-text\">' + _this3.player.options.highlight[i].text + '</span>';\n _this3.player.template.playedBarWrap.insertBefore(p, _this3.player.template.playedBarTime);\n }\n }\n }\n });\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this4 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new Thumbnails({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this4.thumbnails.resize(160, _this4.player.video.videoHeight / _this4.player.video.videoWidth * 160, _this4.player.template.barWrap.offsetWidth);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this5 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this5.player.bar.set('played', percentage, 'width');\n _this5.player.template.ptime.innerHTML = utils.secondToTime(percentage * _this5.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(utils.nameMap.dragEnd, thumbUp);\n document.removeEventListener(utils.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this5.player.bar.set('played', percentage, 'width');\n _this5.player.seek(_this5.player.bar.get('played') * _this5.player.video.duration);\n _this5.player.timer.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, function () {\n _this5.player.timer.disable('progress');\n document.addEventListener(utils.nameMap.dragMove, thumbMove);\n document.addEventListener(utils.nameMap.dragEnd, thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragMove, function (e) {\n if (_this5.player.video.duration) {\n var px = _this5.player.template.playedBarWrap.getBoundingClientRect().left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this5.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this5.player.video.duration * (tx / _this5.player.template.playedBarWrap.offsetWidth);\n if (utils.isMobile) {\n _this5.thumbnails && _this5.thumbnails.show();\n }\n _this5.thumbnails && _this5.thumbnails.move(tx);\n _this5.player.template.playedBarTime.style.left = ''.concat(tx - (time >= 3600 ? 25 : 20), 'px');\n _this5.player.template.playedBarTime.innerText = utils.secondToTime(time);\n _this5.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragEnd, function () {\n if (utils.isMobile) {\n _this5.thumbnails && _this5.thumbnails.hide();\n }\n });\n if (!utils.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this5.player.video.duration) {\n _this5.thumbnails && _this5.thumbnails.show();\n _this5.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this5.player.video.duration) {\n _this5.thumbnails && _this5.thumbnails.hide();\n _this5.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this6 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this6.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this6.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this7 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this7.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(utils.nameMap.dragEnd, volumeUp);\n document.removeEventListener(utils.nameMap.dragMove, volumeMove);\n _this7.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this7.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, volumeMove);\n document.addEventListener(utils.nameMap.dragEnd, volumeUp);\n _this7.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeButtonIcon.addEventListener('click', function () {\n if (_this7.player.video.muted) {\n _this7.player.video.muted = false;\n _this7.player.switchVolumeIcon();\n _this7.player.bar.set('volume', _this7.player.volume(), 'width');\n } else {\n _this7.player.video.muted = true;\n _this7.player.template.volumeIcon.innerHTML = Icons.volumeOff;\n _this7.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this8 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this8.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this9 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this9.player.video.videoWidth;\n canvas.height = _this9.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this9.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL;\n canvas.toBlob(function (blob) {\n dataURL = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = dataURL;\n link.download = 'DPlayer.png';\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(dataURL);\n });\n _this9.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initAirplayButton',\n value: function initAirplayButton() {\n if (this.player.options.airplay) {\n if (window.WebKitPlaybackTargetAvailabilityEvent) {\n this.player.video.addEventListener('webkitplaybacktargetavailabilitychanged', function (event) {\n switch (event.availability) {\n case 'available':\n this.template.airplayButton.disable = false;\n break;\n default:\n this.template.airplayButton.disable = true;\n }\n this.template.airplayButton.addEventListener('click', function () {\n this.video.webkitShowPlaybackTargetPicker();\n }.bind(this));\n }.bind(this.player));\n } else {\n this.player.template.airplayButton.style.display = 'none';\n }\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this10 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Hide subtitle');\n _this10.player.template.subtitleButtonInner.style.opacity = '';\n _this10.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Show subtitle');\n _this10.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this10.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this10.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this11 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this11.player.video.played.length && !_this11.player.paused && !_this11.disableAutoHide) {\n _this11.hide();\n }\n }, 3000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment && this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexport default Controller;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Setting = function () {\n function Setting(player) {\n var _this = this;\n _classCallCheck(this, Setting);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener(utils.nameMap.dragEnd, danmakuUp);\n document.removeEventListener(utils.nameMap.dragMove, danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n document.addEventListener(utils.nameMap.dragMove, danmakuMove);\n document.addEventListener(utils.nameMap.dragEnd, danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(Setting, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return Setting;\n}();\nexport default Setting;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport utils from './utils';\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: utils.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nexport default Comment;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n if (player.options.live) {\n break;\n }\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n if (player.options.live) {\n break;\n }\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nexport default HotKey;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.shown = false;\n Array.prototype.slice.call(this.player.template.menuItem).forEach(function (item, index) {\n if (_this.player.options.contextmenu[index].click) {\n item.addEventListener('click', function () {\n _this.player.options.contextmenu[index].click(_this.player);\n _this.hide();\n });\n }\n });\n this.player.container.addEventListener('contextmenu', function (e) {\n if (_this.shown) {\n _this.hide();\n return;\n }\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.shown = true;\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.shown = false;\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexport default ContextMenu;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar InfoPanel = function () {\n function InfoPanel(player) {\n var _this = this;\n _classCallCheck(this, InfoPanel);\n this.container = player.template.infoPanel;\n this.template = player.template;\n this.video = player.video;\n this.player = player;\n this.template.infoPanelClose.addEventListener('click', function () {\n _this.hide();\n });\n }\n _createClass(InfoPanel, [\n {\n key: 'show',\n value: function show() {\n this.beginTime = Date.now();\n this.update();\n this.player.timer.enable('info');\n this.player.timer.enable('fps');\n this.container.classList.remove('dplayer-info-panel-hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.timer.disable('info');\n this.player.timer.disable('fps');\n this.container.classList.add('dplayer-info-panel-hide');\n }\n },\n {\n key: 'triggle',\n value: function triggle() {\n if (this.container.classList.contains('dplayer-info-panel-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n },\n {\n key: 'update',\n value: function update() {\n this.template.infoVersion.innerHTML = 'v'.concat(DPLAYER_VERSION, ' ').concat(GIT_HASH);\n this.template.infoType.innerHTML = this.player.type;\n this.template.infoUrl.innerHTML = this.player.options.video.url;\n this.template.infoResolution.innerHTML = ''.concat(this.player.video.videoWidth, ' x ').concat(this.player.video.videoHeight);\n this.template.infoDuration.innerHTML = this.player.video.duration;\n if (this.player.options.danmaku) {\n this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n }\n }\n },\n {\n key: 'fps',\n value: function fps(value) {\n this.template.infoFPS.innerHTML = ''.concat(value.toFixed(1));\n }\n }\n ]);\n return InfoPanel;\n}();\nexport default InfoPanel;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport Promise from 'promise-polyfill';\nimport utils from './utils';\nimport handleOption from './options';\nimport i18n from './i18n';\nimport Template from './template';\nimport Icons from './icons';\nimport Danmaku from './danmaku';\nimport Events from './events';\nimport FullScreen from './fullscreen';\nimport User from './user';\nimport Subtitle from './subtitle';\nimport Bar from './bar';\nimport Timer from './timer';\nimport Bezel from './bezel';\nimport Controller from './controller';\nimport Setting from './setting';\nimport Comment from './comment';\nimport HotKey from './hotkey';\nimport ContextMenu from './contextmenu';\nimport InfoPanel from './info-panel';\nimport tplVideo from '../template/video.art';\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = handleOption(_objectSpread({ preload: options.video.type === 'webtorrent' ? 'none' : 'metadata' }, options));\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new i18n(this.options.lang).tran;\n this.events = new Events();\n this.user = new User(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new Template({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran\n });\n this.video = this.template.video;\n this.bar = new Bar(this.template);\n this.bezel = new Bezel(this.template.bezel);\n this.fullScreen = new FullScreen(this);\n this.controller = new Controller(this);\n if (this.options.danmaku) {\n this.danmaku = new Danmaku({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay) {\n _this.play();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events,\n tran: function tran(msg) {\n return _this.tran(msg);\n }\n });\n this.comment = new Comment(this);\n }\n this.setting = new Setting(this);\n this.plugins = {};\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.timer = new Timer(this);\n this.hotkey = new HotKey(this);\n this.contextmenu = new ContextMenu(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n this.infoPanel = new InfoPanel(this);\n if (!this.danmaku && this.options.autoplay) {\n this.play();\n }\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(''.concat(this.tran('FF'), ' ').concat((time - this.video.currentTime).toFixed(0), ' ').concat(this.tran('s')));\n } else if (this.video.currentTime > time) {\n this.notice(''.concat(this.tran('REW'), ' ').concat((this.video.currentTime - time).toFixed(0), ' ').concat(this.tran('s')));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n this.template.ptime.innerHTML = utils.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play(fromNative) {\n var _this2 = this;\n this.paused = false;\n if (this.video.paused && !utils.isMobile) {\n this.bezel['switch'](Icons.play);\n }\n this.template.playButton.innerHTML = Icons.pause;\n this.template.mobilePlayButton.innerHTML = Icons.pause;\n if (!fromNative) {\n var playedPromise = Promise.resolve(this.video.play());\n playedPromise['catch'](function () {\n _this2.pause();\n }).then(function () {\n });\n }\n this.timer.enable('loading');\n this.container.classList.remove('dplayer-paused');\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause(fromNative) {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused && !utils.isMobile) {\n this.bezel['switch'](Icons.pause);\n }\n this.template.playButton.innerHTML = Icons.play;\n this.template.mobilePlayButton.innerHTML = Icons.play;\n if (!fromNative) {\n this.video.pause();\n }\n this.timer.disable('loading');\n this.container.classList.remove('dplayer-playing');\n this.container.classList.add('dplayer-paused');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = Icons.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = Icons.volumeDown;\n } else {\n this.template.volumeIcon.innerHTML = Icons.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = ''.concat((percentage * 100).toFixed(0), '%');\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(''.concat(this.tran('Volume'), ' ').concat((percentage * 100).toFixed(0), '%'));\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n var _this3 = this;\n this.type = type;\n if (this.options.video.customType && this.options.video.customType[type]) {\n if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n this.options.video.customType[type](this.video, this);\n } else {\n console.error('Illegal customType: '.concat(type));\n }\n } else {\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n this.type = 'normal';\n }\n switch (this.type) {\n case 'hls':\n if (window.Hls) {\n if (window.Hls.isSupported()) {\n var options = this.options.pluginOptions.hls;\n var hls = new window.Hls(options);\n this.plugins.hls = hls;\n hls.loadSource(video.src);\n hls.attachMedia(video);\n this.events.on('destroy', function () {\n hls.destroy();\n delete _this3.plugins.hls;\n });\n } else {\n this.notice('Error: Hls is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Hls.');\n }\n break;\n case 'flv':\n if (window.flvjs) {\n if (window.flvjs.isSupported()) {\n var flvPlayer = window.flvjs.createPlayer(Object.assign(this.options.pluginOptions.flv.mediaDataSource || {}, {\n type: 'flv',\n url: video.src\n }), this.options.pluginOptions.flv.config);\n this.plugins.flvjs = flvPlayer;\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n this.events.on('destroy', function () {\n flvPlayer.unload();\n flvPlayer.detachMediaElement();\n flvPlayer.destroy();\n delete _this3.plugins.flvjs;\n });\n } else {\n this.notice('Error: flvjs is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find flvjs.');\n }\n break;\n case 'dash':\n if (window.dashjs) {\n var dashjsPlayer = window.dashjs.MediaPlayer().create().initialize(video, video.src, false);\n var _options = this.options.pluginOptions.dash;\n dashjsPlayer.updateSettings(_options);\n this.plugins.dash = dashjsPlayer;\n this.events.on('destroy', function () {\n window.dashjs.MediaPlayer().reset();\n delete _this3.plugins.dash;\n });\n } else {\n this.notice('Error: Can\\'t find dashjs.');\n }\n break;\n case 'webtorrent':\n if (window.WebTorrent) {\n if (window.WebTorrent.WEBRTC_SUPPORT) {\n this.container.classList.add('dplayer-loading');\n var _options2 = this.options.pluginOptions.webtorrent;\n var client = new window.WebTorrent(_options2);\n this.plugins.webtorrent = client;\n var torrentId = video.src;\n video.src = '';\n video.preload = 'metadata';\n video.addEventListener('durationchange', function () {\n return _this3.container.classList.remove('dplayer-loading');\n }, { once: true });\n client.add(torrentId, function (torrent) {\n var file = torrent.files.find(function (file) {\n return file.name.endsWith('.mp4');\n });\n file.renderTo(_this3.video, {\n autoplay: _this3.options.autoplay,\n controls: false\n });\n });\n this.events.on('destroy', function () {\n client.remove(torrentId);\n client.destroy();\n delete _this3.plugins.webtorrent;\n });\n } else {\n this.notice('Error: Webtorrent is not supported.');\n }\n } else {\n this.notice('Error: Can\\'t find Webtorrent.');\n }\n break;\n }\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this4 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1 && video.duration !== Infinity) {\n _this4.template.dtime.innerHTML = utils.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this4.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n if (!_this4.video.error) {\n return;\n }\n _this4.tran && _this4.notice && _this4.type !== 'webtorrent' && _this4.notice(_this4.tran('Video load failed'), -1);\n });\n this.on('ended', function () {\n _this4.bar.set('played', 1, 'width');\n if (!_this4.setting.loop) {\n _this4.pause();\n } else {\n _this4.seek(0);\n _this4.play();\n }\n if (_this4.danmaku) {\n _this4.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this4.paused) {\n _this4.play(true);\n }\n });\n this.on('pause', function () {\n if (!_this4.paused) {\n _this4.pause(true);\n }\n });\n this.on('timeupdate', function () {\n _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n var currentTime = utils.secondToTime(_this4.video.currentTime);\n if (_this4.template.ptime.innerHTML !== currentTime) {\n _this4.template.ptime.innerHTML = currentTime;\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this4.events.videoEvents[i], function () {\n _this4.events.trigger(_this4.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this5 = this;\n index = typeof index === 'string' ? parseInt(index) : index;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = tplVideo({\n current: false,\n pic: null,\n screenshot: this.options.screenshot,\n preload: 'auto',\n url: this.quality.url,\n subtitle: this.options.subtitle\n });\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(''.concat(this.tran('Switching to'), ' ').concat(this.quality.name, ' ').concat(this.tran('quality')), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this5.prevVideo) {\n if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n _this5.seek(_this5.prevVideo.currentTime);\n return;\n }\n _this5.template.videoWrap.removeChild(_this5.prevVideo);\n _this5.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this5.video.play();\n }\n _this5.prevVideo = null;\n _this5.notice(''.concat(_this5.tran('Switched to'), ' ').concat(_this5.quality.name, ' ').concat(_this5.tran('quality')));\n _this5.switchingQuality = false;\n _this5.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n if (time > 0) {\n this.noticeTime = setTimeout(function () {\n _this6.template.notice.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n if (this.controller.thumbnails) {\n this.controller.thumbnails.resize(160, this.video.videoHeight / this.video.videoWidth * 160, this.template.barWrap.offsetWidth);\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.video.playbackRate = rate;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.timer.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n }\n }\n ], [{\n key: 'version',\n get: function get() {\n return DPLAYER_VERSION;\n }\n }]);\n return DPlayer;\n}();\nexport default DPlayer;","import '../css/index.scss';\nimport DPlayer from './player';\nconsole.log('\\n'.concat(' %c DPlayer v', DPLAYER_VERSION, ' ').concat(GIT_HASH, ' %c http://dplayer.js.org ', '\\n', '\\n'), 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexport default DPlayer;"],"sourceRoot":""}