{"version":3,"file":"DPlayer.min.js","mappings":"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","sources":["webpack://dplayer/webpack/universalModuleDefinition","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/player.art","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/video.art","webpack://dplayer/./node_modules/.pnpm/balloon-css@1.2.0/node_modules/balloon-css/balloon.css","webpack://dplayer/./src/css/index.less","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://dplayer/./node_modules/.pnpm/style-loader@3.3.1_webpack@5.74.0/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://dplayer/./src/assets/airplay.svg","webpack://dplayer/./src/assets/camera.svg","webpack://dplayer/./src/assets/chromecast.svg","webpack://dplayer/./src/assets/comment-off.svg","webpack://dplayer/./src/assets/comment.svg","webpack://dplayer/./src/assets/full-web.svg","webpack://dplayer/./src/assets/full.svg","webpack://dplayer/./src/assets/loading.svg","webpack://dplayer/./src/assets/pallette.svg","webpack://dplayer/./src/assets/pause.svg","webpack://dplayer/./src/assets/play.svg","webpack://dplayer/./src/assets/right.svg","webpack://dplayer/./src/assets/send.svg","webpack://dplayer/./src/assets/setting.svg","webpack://dplayer/./src/assets/subtitle.svg","webpack://dplayer/./src/assets/volume-down.svg","webpack://dplayer/./src/assets/volume-off.svg","webpack://dplayer/./src/assets/volume-up.svg","webpack://dplayer/./node_modules/.pnpm/art-template@4.13.2/node_modules/art-template/lib/compile/runtime.js","webpack://dplayer/./node_modules/.pnpm/art-template@4.13.2/node_modules/art-template/lib/runtime.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js","webpack://dplayer/./node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/api.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/getUrl.js","webpack://dplayer/./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://dplayer/webpack/bootstrap","webpack://dplayer/webpack/runtime/compat get default export","webpack://dplayer/webpack/runtime/define property getters","webpack://dplayer/webpack/runtime/global","webpack://dplayer/webpack/runtime/hasOwnProperty shorthand","webpack://dplayer/webpack/runtime/jsonp chunk loading","webpack://dplayer/webpack/runtime/nonce","webpack://dplayer/./src/css/index.less?e770","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.2.3/node_modules/promise-polyfill/src/allSettled.js","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.2.3/node_modules/promise-polyfill/src/index.js","webpack://dplayer/./node_modules/.pnpm/promise-polyfill@8.2.3/node_modules/promise-polyfill/src/finally.js","webpack://dplayer/./src/js/utils.js","webpack://dplayer/./src/js/api.js","webpack://dplayer/./src/js/options.js","webpack://dplayer/./src/js/i18n.js","webpack://dplayer/./src/js/icons.js","webpack://dplayer/./src/js/template.js","webpack://dplayer/./src/js/danmaku.js","webpack://dplayer/./src/js/events.js","webpack://dplayer/./src/js/fullscreen.js","webpack://dplayer/./src/js/user.js","webpack://dplayer/./src/js/subtitle.js","webpack://dplayer/./src/js/subtitles.js","webpack://dplayer/./src/js/bar.js","webpack://dplayer/./src/js/timer.js","webpack://dplayer/./src/js/bezel.js","webpack://dplayer/./src/js/thumbnails.js","webpack://dplayer/./node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/config.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","webpack://dplayer/./src/js/controller.js","webpack://dplayer/./node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://dplayer/./src/js/setting.js","webpack://dplayer/./src/js/comment.js","webpack://dplayer/./src/js/hotkey.js","webpack://dplayer/./src/js/contextmenu.js","webpack://dplayer/./src/js/info-panel.js","webpack://dplayer/./src/js/player.js","webpack://dplayer/./src/js/index.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})(self, () => {\nreturn ","
\n'.concat(item, '
');\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nvar Subtitles = function () {\n function Subtitles(player) {\n var _this = this;\n _classCallCheck(this, Subtitles);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.subtitlesButton.addEventListener('click', function () {\n _this.adaptiveHeight();\n _this.show();\n });\n var lastItemIndex = this.player.template.subtitlesItem.length - 1;\n var _loop = function _loop(i) {\n _this.player.template.subtitlesItem[i].addEventListener('click', function () {\n _this.hide();\n if (_this.player.options.subtitle.index !== i) {\n _this.player.template.subtitle.innerHTML = '';\n _this.player.template.subtrack.src = _this.player.template.subtitlesItem[i].dataset.subtitle;\n _this.player.options.subtitle.index = i;\n if (_this.player.template.subtitle.classList.contains('dplayer-subtitle-hide')) {\n _this.subContainerShow();\n }\n }\n });\n };\n for (var i = 0; i < lastItemIndex; i++) {\n _loop(i);\n }\n this.player.template.subtitlesItem[lastItemIndex].addEventListener('click', function () {\n _this.hide();\n if (_this.player.options.subtitle.index !== lastItemIndex) {\n _this.player.template.subtitle.innerHTML = '';\n _this.player.template.subtrack.src = '';\n _this.player.options.subtitle.index = lastItemIndex;\n _this.subContainerHide();\n }\n });\n }\n _createClass(Subtitles, [\n {\n key: 'subContainerShow',\n value: function subContainerShow() {\n this.player.template.subtitle.classList.remove('dplayer-subtitle-hide');\n this.player.events.trigger('subtitle_show');\n }\n },\n {\n key: 'subContainerHide',\n value: function subContainerHide() {\n this.player.template.subtitle.classList.add('dplayer-subtitle-hide');\n this.player.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.subtitlesBox.classList.remove('dplayer-subtitles-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.subtitlesBox.classList.add('dplayer-subtitles-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n },\n {\n key: 'adaptiveHeight',\n value: function adaptiveHeight() {\n var curBoxHeight = this.player.template.subtitlesItem.length * 30 + 14;\n var stdMaxHeight = this.player.template.videoWrap.offsetHeight * 0.8;\n if (curBoxHeight >= stdMaxHeight - 50) {\n this.player.template.subtitlesBox.style.bottom = '8px';\n this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 8 + 'px';\n } else {\n this.player.template.subtitlesBox.style.bottom = '50px';\n this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 50 + 'px';\n }\n }\n }\n ]);\n return Subtitles;\n}();\nexport default Subtitles;","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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 _typeof(obj) {\n '@babel/helpers - typeof';\n return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n }, _typeof(obj);\n}\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p))\n d[p] = b[p];\n }\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== 'function' && b !== null)\n throw new TypeError('Class extends value ' + String(b) + ' is not a constructor or null');\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport {\n _assign as __assign\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === 'function')\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if ((typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) === 'object' && typeof Reflect.decorate === 'function')\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === 'undefined' ? 'undefined' : _typeof(Reflect)) === 'object' && typeof Reflect.metadata === 'function')\n return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator['throw'](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1)\n throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, f, y, t, g;\n return g = {\n next: verb(0),\n 'throw': verb(1),\n 'return': verb(2)\n }, typeof Symbol === 'function' && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f)\n throw new TypeError('Generator is already executing.');\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)\n return t;\n if (y = 0, t)\n op = [\n op[0] & 2,\n t.value\n ];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2])\n _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n if (op[0] & 5)\n throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) {\n if (p !== 'default' && !Object.prototype.hasOwnProperty.call(o, p))\n __createBinding(o, m, p);\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === 'function' && Symbol.iterator, m = s && o[s], i = 0;\n if (m)\n return m.call(o);\n if (o && typeof o.length === 'number')\n return {\n next: function next() {\n if (o && i >= o.length)\n o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? 'Object is not iterable.' : 'Symbol.iterator is not defined.');\n}\nexport function __read(o, n) {\n var m = typeof Symbol === 'function' && o[Symbol.iterator];\n if (!m)\n return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = { error: error };\n } finally {\n try {\n if (r && !r.done && (m = i['return']))\n m.call(i);\n } finally {\n if (e)\n throw e.error;\n }\n }\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2)\n for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar)\n ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator)\n throw new TypeError('Symbol.asyncIterator is not defined.');\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb('next'), verb('throw'), verb('return'), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n])\n i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([\n n,\n v,\n a,\n b\n ]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume('next', value);\n }\n function reject(value) {\n resume('throw', value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length)\n resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb('next'), verb('throw', function (e) {\n throw e;\n }), verb('return'), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === 'return'\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator)\n throw new TypeError('Symbol.asyncIterator is not defined.');\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === 'function' ? __values(o) : o[Symbol.iterator](), i = {}, verb('next'), verb('throw'), verb('return'), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, 'raw', { value: raw });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, 'default', {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o['default'] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule)\n return mod;\n var result = {};\n if (mod != null)\n for (var k in mod) {\n if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k))\n __createBinding(result, mod, k);\n }\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : { 'default': mod };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === 'a' && !f)\n throw new TypeError('Private accessor was defined without a getter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot read private member from an object whose class did not declare it');\n return kind === 'm' ? f : kind === 'a' ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === 'm')\n throw new TypeError('Private method is not writable');\n if (kind === 'a' && !f)\n throw new TypeError('Private accessor was defined without a setter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot write private member to an object whose class did not declare it');\n return kind === 'a' ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== 'object' && typeof receiver !== 'function')\n throw new TypeError('Cannot use \\'in\\' operator on non-object');\n return typeof state === 'function' ? receiver === state : state.has(receiver);\n}","export function isFunction(value) {\n return typeof value === 'function';\n}","export function createErrorClass(createImpl) {\n var _super = function _super(instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors ? errors.length + ' errors occurred during unsubscription:\\n' + errors.map(function (err, i) {\n return i + 1 + ') ' + err.toString();\n }).join('') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}","import {\n __read,\n __spreadArray,\n __values\n} from 'tslib';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n } catch (e_1_1) {\n e_1 = { error: e_1_1 };\n } finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1['return']))\n _a.call(_parentage_1);\n } finally {\n if (e_1)\n throw e_1.error;\n }\n }\n } else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n } else {\n errors.push(err);\n }\n }\n }\n } catch (e_2_1) {\n e_2 = { error: e_2_1 };\n } finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1['return']))\n _b.call(_finalizers_1);\n } finally {\n if (e_2)\n throw e_2.error;\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [\n _parentage,\n parent\n ] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n }();\n return Subscription;\n}();\nexport {\n Subscription\n};\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return value instanceof Subscription || value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe);\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false\n};","import {\n __read,\n __spreadArray\n} from 'tslib';\nexport var timeoutProvider = {\n setTimeout: function (_setTimeout) {\n function setTimeout(_x, _x2) {\n return _setTimeout.apply(this, arguments);\n }\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n return setTimeout;\n }(function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([\n handler,\n timeout\n ], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([\n handler,\n timeout\n ], __read(args)));\n }),\n clearTimeout: function (_clearTimeout) {\n function clearTimeout(_x3) {\n return _clearTimeout.apply(this, arguments);\n }\n clearTimeout.toString = function () {\n return _clearTimeout.toString();\n };\n return clearTimeout;\n }(function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n }),\n delegate: undefined\n};","export function noop() {\n}","export var COMPLETE_NOTIFICATION = function () {\n return createNotification('C', undefined, undefined);\n}();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error\n };\n}","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = {\n errorThrown: false,\n error: null\n };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}","import { __extends } from 'tslib';\nimport { isFunction } from './util/isFunction';\nimport {\n isSubscription,\n Subscription\n} from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport {\n nextNotification,\n errorNotification,\n COMPLETE_NOTIFICATION\n} from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n } else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription);\nexport {\n Subscriber\n};\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}();\nvar SafeSubscriber = function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined\n };\n } else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () {\n return _this.unsubscribe();\n };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)\n };\n } else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber);\nexport {\n SafeSubscriber\n};\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () {\n return onStoppedNotification(notification, subscriber);\n });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop\n};","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n } else {\n throw err;\n }\n });\n}","export var observable = function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}();","export function identity(x) {\n return x;\n}","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) {\n return fn(prev);\n }, input);\n };\n}","import {\n SafeSubscriber,\n Subscriber\n} from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n } catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (_next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function next(value) {\n try {\n _next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) {\n return value = x;\n }, function (err) {\n return reject(err);\n }, function () {\n return resolve(value);\n });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}();\nexport {\n Observable\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);\n}","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});","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 Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nimport utils from './utils';\nimport Thumbnails from './thumbnails';\nimport Icons from './icons';\nimport { Subject } from 'rxjs';\nvar cast;\nvar runOnce = true;\nvar isCasting = false;\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!utils.isMobile) {\n this.setAutoHideHandler = this.setAutoHide.bind(this);\n this.player.container.addEventListener('mousemove', this.setAutoHideHandler);\n this.player.container.addEventListener('click', this.setAutoHideHandler);\n this.player.on('play', this.setAutoHideHandler);\n this.player.on('pause', this.setAutoHideHandler);\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initQualityButton();\n this.initScreenshotButton();\n if (this.player.options.subtitle) {\n if (typeof this.player.options.subtitle.url === 'string') {\n this.initSubtitleButton();\n }\n }\n this.initHighlights();\n this.initAirplayButton();\n this.initChromecastButton();\n if (!utils.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this.player.toggle();\n });\n this.player.template.mobilePlayButton.addEventListener('click', function () {\n _this.player.toggle();\n });\n if (!utils.isMobile) {\n if (!this.player.options.preventClickToggle) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this.toggle();\n });\n }\n }\n },\n {\n key: 'initHighlights',\n value: function initHighlights() {\n var _this2 = this;\n this.player.on('durationchange', function () {\n if (_this2.player.video.duration !== 1 && _this2.player.video.duration !== Infinity) {\n if (_this2.player.options.highlight) {\n var highlights = _this2.player.template.playedBarWrap.querySelectorAll('.dplayer-highlight');\n [].slice.call(highlights, 0).forEach(function (item) {\n _this2.player.template.playedBarWrap.removeChild(item);\n });\n for (var i = 0; i < _this2.player.options.highlight.length; i++) {\n if (!_this2.player.options.highlight[i].text || !_this2.player.options.highlight[i].time) {\n continue;\n }\n var p = document.createElement('div');\n p.classList.add('dplayer-highlight');\n p.style.left = _this2.player.options.highlight[i].time / _this2.player.video.duration * 100 + '%';\n p.innerHTML = '' + _this2.player.options.highlight[i].text + '';\n _this2.player.template.playedBarWrap.insertBefore(p, _this2.player.template.playedBarTime);\n }\n }\n }\n });\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = 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 _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160, _this3.player.template.barWrap.offsetWidth);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = utils.secondToTime(percentage * _this4.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(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.timer.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, function () {\n _this4.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 (_this4.player.video.duration) {\n var px = _this4.player.template.playedBarWrap.getBoundingClientRect().left;\n var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n if (utils.isMobile) {\n _this4.thumbnails && _this4.thumbnails.show();\n }\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = ''.concat(tx - (time >= 3600 ? 25 : 20), 'px');\n _this4.player.template.playedBarTime.innerText = utils.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragEnd, function () {\n if (utils.isMobile) {\n _this4.thumbnails && _this4.thumbnails.hide();\n }\n });\n if (!utils.isMobile) {\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = 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(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener(utils.nameMap.dragEnd, volumeUp);\n document.removeEventListener(utils.nameMap.dragMove, volumeMove);\n _this6.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(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.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 _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeButtonIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = Icons.volumeOff;\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = 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 _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.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 _this8.player.events.trigger('screenshot', dataURL);\n });\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: 'initChromecast',\n value: function initChromecast() {\n var script = window.document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');\n window.document.body.appendChild(script);\n window.__onGCastApiAvailable = function (isAvailable) {\n if (isAvailable) {\n cast = window.chrome.cast;\n var sessionRequest = new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);\n var apiConfig = new cast.ApiConfig(sessionRequest, function () {\n }, function (status) {\n if (status === cast.ReceiverAvailability.AVAILABLE) {\n console.log('chromecast: ', status);\n }\n });\n cast.initialize(apiConfig, function () {\n });\n }\n };\n }\n },\n {\n key: 'initChromecastButton',\n value: function initChromecastButton() {\n var _this9 = this;\n if (this.player.options.chromecast) {\n if (runOnce) {\n runOnce = false;\n this.initChromecast();\n }\n var discoverDevices = function discoverDevices() {\n var subj = new Subject();\n cast.requestSession(function (s) {\n _this9.session = s;\n subj.next('CONNECTED');\n launchMedia(_this9.player.options.video.url);\n }, function (err) {\n if (err.code === 'cancel') {\n _this9.session = undefined;\n subj.next('CANCEL');\n } else {\n console.error('Error selecting a cast device', err);\n }\n });\n return subj;\n };\n var launchMedia = function launchMedia(media) {\n var mediaInfo = new cast.media.MediaInfo(media);\n var request = new cast.media.LoadRequest(mediaInfo);\n if (!_this9.session) {\n window.open(media);\n return false;\n }\n _this9.session.loadMedia(request, onMediaDiscovered.bind(_this9, 'loadMedia'), onMediaError).play();\n return true;\n };\n var onMediaDiscovered = function onMediaDiscovered(how, media) {\n _this9.currentMedia = media;\n };\n var onMediaError = function onMediaError(err) {\n console.error('Error launching media', err);\n };\n this.player.template.chromecastButton.addEventListener('click', function () {\n if (isCasting) {\n isCasting = false;\n _this9.currentMedia.stop();\n _this9.session.stop();\n _this9.initChromecast();\n } else {\n isCasting = true;\n discoverDevices();\n }\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this10 = this;\n this.player.events.on('subtitle_show', function () {\n _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('hide-subs');\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-subs');\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 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 if (!utils.isMobile) {\n this.player.container.removeEventListener('mousemove', this.setAutoHideHandler);\n this.player.container.removeEventListener('click', this.setAutoHideHandler);\n }\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexport default Controller;","import {\n __extends,\n __values\n} from 'tslib';\nimport { Observable } from './Observable';\nimport {\n Subscription,\n EMPTY_SUBSCRIPTION\n} from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n } catch (e_1_1) {\n e_1 = { error: e_1_1 };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b['return']))\n _a.call(_b);\n } finally {\n if (e_1)\n throw e_1.error;\n }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, 'observed', {\n get: function get() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable);\nexport {\n Subject\n};\nvar AnonymousSubject = function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject);\nexport {\n AnonymousSubject\n};","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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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'));\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}\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\n return Constructor;\n}\nvar HotKey = function () {\n function HotKey(player) {\n _classCallCheck(this, HotKey);\n this.player = player;\n this.doHotKeyHandler = this.doHotKey.bind(this);\n this.cancelFullScreenHandler = this.cancelFullScreen.bind(this);\n if (this.player.options.hotkey) {\n document.addEventListener('keydown', this.doHotKeyHandler);\n }\n document.addEventListener('keydown', this.cancelFullScreenHandler);\n }\n _createClass(HotKey, [\n {\n key: 'doHotKey',\n value: function doHotKey(e) {\n if (this.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 this.player.toggle();\n break;\n case 37:\n event.preventDefault();\n if (this.player.options.live) {\n break;\n }\n this.player.seek(this.player.video.currentTime - 5);\n this.player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n if (this.player.options.live) {\n break;\n }\n this.player.seek(this.player.video.currentTime + 5);\n this.player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = this.player.volume() + 0.1;\n this.player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = this.player.volume() - 0.1;\n this.player.volume(percentage);\n break;\n }\n }\n }\n }\n },\n {\n key: 'cancelFullScreen',\n value: function cancelFullScreen(e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (this.player.fullScreen.isFullScreen('web')) {\n this.player.fullScreen.cancel('web');\n }\n break;\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n if (this.player.options.hotkey) {\n document.removeEventListener('keydown', this.doHotKeyHandler);\n }\n document.removeEventListener('keydown', this.cancelFullScreenHandler);\n }\n }\n ]);\n return HotKey;\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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.contextmenuHandler = 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 this.player.container.addEventListener('contextmenu', this.contextmenuHandler);\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 key: 'destroy',\n value: function destroy() {\n this.player.container.removeEventListener('contextmenu', this.contextmenuHandler);\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\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 = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\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 Object.defineProperty(Constructor, 'prototype', { writable: false });\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 Subtitles from './subtitles';\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 } else {\n this.container.classList.remove('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 if (this.options.subtitle) {\n if (Array.isArray(this.options.subtitle.url)) {\n var offSubtitle = {\n subtitle: '',\n lang: 'off'\n };\n this.options.subtitle.url.push(offSubtitle);\n if (this.options.subtitle.defaultSubtitle) {\n if (typeof this.options.subtitle.defaultSubtitle === 'string') {\n this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n return sub.lang === _this.options.subtitle.defaultSubtitle ? true : sub.name === _this.options.subtitle.defaultSubtitle ? true : false;\n });\n } else if (typeof this.options.subtitle.defaultSubtitle === 'number') {\n this.options.subtitle.index = this.options.subtitle.defaultSubtitle;\n }\n }\n if (this.options.subtitle.index === -1 || !this.options.subtitle.index || this.options.subtitle.index > this.options.subtitle.url.length - 1) {\n this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n return sub.lang === _this.options.lang;\n });\n }\n if (this.options.subtitle.index === -1) {\n this.options.subtitle.index = this.options.subtitle.url.length - 1;\n }\n }\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 player: this,\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 speedRate: this.options.danmaku.speedRate\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 this.docClickFun = function () {\n _this.focus = false;\n };\n this.containerClickFun = function () {\n _this.focus = true;\n };\n document.addEventListener('click', this.docClickFun, true);\n this.container.addEventListener('click', this.containerClickFun, 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').replace('%s', (time - this.video.currentTime).toFixed(0))));\n } else if (this.video.currentTime > time) {\n this.notice(''.concat(this.tran('rew').replace('%s', (this.video.currentTime - time).toFixed(0))));\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-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 (Array.isArray(this.options.subtitle.url)) {\n this.subtitles = new Subtitles(this);\n }\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.prevIndex = this.qualityIndex;\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-quality').replace('%q', this.quality.name)), -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-quality').replace('%q', _this5.quality.name)));\n _this5.switchingQuality = false;\n _this5.events.trigger('quality_end');\n }\n });\n this.on('error', function () {\n if (!_this5.video.error) {\n return;\n }\n if (_this5.prevVideo) {\n _this5.template.videoWrap.removeChild(_this5.video);\n _this5.video = _this5.prevVideo;\n if (!paused) {\n _this5.video.play();\n }\n _this5.qualityIndex = _this5.prevIndex;\n _this5.quality = _this5.options.video.quality[_this5.qualityIndex];\n _this5.noticeTime = setTimeout(function () {\n _this5.template.notice.style.opacity = 0;\n _this5.events.trigger('notice_hide');\n }, 3000);\n _this5.prevVideo = null;\n _this5.switchingQuality = false;\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\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 var notice = Template.NewNotice(text, opacity);\n this.template.noticeList.appendChild(notice);\n this.events.trigger('notice_show', notice);\n if (time > 0) {\n setTimeout(function (e, dp) {\n return function () {\n e.addEventListener('animationend', function () {\n dp.template.noticeList.removeChild(e);\n });\n e.classList.add('remove-notice');\n dp.events.trigger('notice_hide');\n };\n }(notice, this), 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 document.removeEventListener('click', this.docClickFun, true);\n this.container.removeEventListener('click', this.containerClickFun, true);\n this.fullScreen.destroy();\n this.hotkey.destroy();\n this.contextmenu.destroy();\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.less';\nimport DPlayer from './player';\nconsole.log('\\n'.concat(' %c DPlayer v', DPLAYER_VERSION, ' ').concat(GIT_HASH, ' %c https://dplayer.diygod.dev ', '\\n', '\\n'), 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexport default DPlayer;"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","___CSS_LOADER_URL_IMPORT_0___","URL","i","___CSS_LOADER_URL_REPLACEMENT_0___","stylesInDOM","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","base","count","concat","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","globalThis","g","runtime","Object","create","ESCAPE_REG","toString","value","call","$escape","content","html","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","$each","data","callback","Array","isArray","len","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","Promise","resolve","reject","onCanceled","requestData","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","Authorization","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","executor","TypeError","resolvePromise","this","promise","token","then","_listeners","l","onfulfilled","_resolve","message","reason","throwIfRequested","listener","source","c","ERR_CANCELED","name","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","defineProperties","defineProperty","from","customProps","axiosError","toFlatObject","assign","handlers","use","eject","fn","h","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","isPlainObject","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","rawValue","parser","encoder","isString","parse","trim","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","replace","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","match","RegExp","decodeURIComponent","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","href","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","arr","_typeof","Symbol","iterator","constructor","formData","convertValue","isTypedArray","Blob","Buffer","build","parentKey","fullKey","endsWith","toArray","el","append","pop","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","cache","kindOf","str","kindOfTest","getPrototypeOf","isFunction","hasOwnProperty","TypedArray","Uint8Array","pattern","ArrayBuffer","isView","pipe","product","assignValue","a","b","stripBOM","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","searchString","position","String","cssWithMappingToString","map","modules","dedupe","alreadyImportedModules","k","_k","__esModule","needQuotes","cssMapping","base64","sourceMapping","sourceURLs","sources","sourceRoot","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","n","getter","d","definition","o","enumerable","get","Function","baseURI","nc","setTimeoutFunc","x","Boolean","noop","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","ret","newValue","finale","_unhandledRejectionFn","Handler","ex","prom","remaining","res","allSettled","race","setImmediate","isMobile","secondToTime","second","Infinity","hour","min","sec","num","getElementViewLeft","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","top","rect","left","getScrollPosition","pageXOffset","setScrollPosition","_ref","_ref$left","_ref$top","isFirefox","scrollTo","isChrome","isSafari","storage","set","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","color2Number","color","parseInt","number2Color","number2Type","success","msg","time","author","text","i18n","lang","_this","fallbackLang","includes","tran","tranTxt","standard","bottom","rolling","loop","speed","normal","ff","rew","setting","fullscreen","screenshot","airplay","chromecast","subtitle","off","volume","live","en","Volume","de","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","right","comment","commentOff","pallette","camera","loading","_defineProperties","descriptor","configurable","writable","Template","Constructor","_classCallCheck","container","init","protoProps","staticProps","opacity","notice","classList","add","innerText","innerHTML","icons","mobile","video","pic","preload","volumeBar","volumeBarWrap","volumeBarWrapWrap","volumeButton","volumeButtonIcon","volumeIcon","playedBar","loadedBar","playedBarWrap","playedBarTime","danmaku","danmakuLoading","bezel","playButton","mobilePlayButton","videoWrap","controllerMask","ptime","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","dtime","controller","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","airplayButton","chromecastButton","subtitleButton","subtitleButtonInner","subtitlesButton","subtitlesBox","subtitlesItem","subtrack","qualityButton","barPreview","barWrap","noticeList","infoPanel","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","Danmaku","player","danTunnel","danIndex","dan","showing","_opacity","events","unlimited","_measure","load","apiurl","maximum","address","endpoints","addition","trigger","_readAllEndpoints","results","sort","requestAnimationFrame","frame","newAPI","clear","_this2","readCount","_loop","apiBackend","_this3","danmakuData","user","htmlEncode","border","borderColor","draw","_this4","paused","parseFloat","percentage","items","getElementsByClassName","_this5","itemHeight","height","danWidth","offsetWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","danSpeed","getTunnel","tmp","_loop2","j","danRight","_ret","docFragment","createDocumentFragment","_loop3","itemWidth","tunnel","transform","animationDuration","_danAnimation","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","rate","speedRate","isFullScreen","fullScreen","Events","videoEvents","playerEvents","info","FullScreen","lastScrollPosition","on","resize","fullscreenchange","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","User","storageName","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","template","getCueAsHTML","trackHtml","show","hide","Subtitles","adaptiveHeight","lastItemIndex","src","dataset","subContainerShow","subContainerHide","disableAutoHide","curBoxHeight","stdMaxHeight","Bar","elements","played","loaded","direction","max","Timer","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","backgroundPosition","ceil","_extendStatics","setPrototypeOf","__proto__","p","__extends","__","__values","s","next","__read","r","ar","__spreadArray","to","pack","createErrorClass","createImpl","ctorFunc","UnsubscriptionError","_super","errors","arrRemove","Subscription","initialTeardown","closed","_parentage","_finalizers","empty","e_1","_a","e_2","_b","_parentage_1","_parentage_1_1","e_1_1","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","_hasParent","_addParent","parent","_removeParent","EMPTY","EMPTY_SUBSCRIPTION","isSubscription","timeoutProvider","_setTimeout","_x","_x2","handler","delegate","clearTimeout","_clearTimeout","_x3","COMPLETE_NOTIFICATION","createNotification","kind","errorContext","isRoot","errorThrown","Subscriber","destination","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","reportUnhandledError","notification","subscriber","onStoppedNotification","observable","identity","pipeFromArray","input","reduce","prev","Observable","_subscribe","lift","operator","isObserver","_trySubscribe","sink","promiseCtor","getPromiseCtor","operations","toPromise","cast","ObjectUnsubscribedError","Subject","currentObservers","observers","hasError","thrownError","subject","AnonymousSubject","_throwIfClosed","_c","_checkFinalizedStatuses","_innerSubscribe","asObservable","runOnce","isCasting","Controller","autoHideTimer","setAutoHideHandler","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initAirplayButton","initChromecastButton","initVolumeButton","toggle","preventClickToggle","duration","highlight","highlights","insertBefore","thumbnails","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","bar","thumbUp","timer","enable","disable","px","tx","move","_this6","volumeMove","event","muted","switchVolumeIcon","_this7","quality","switchQuality","_this8","dataURL","canvas","drawImage","toBlob","blob","createObjectURL","link","download","click","revokeObjectURL","WebKitPlaybackTargetAvailabilityEvent","availability","webkitShowPlaybackTargetPicker","script","__onGCastApiAvailable","isAvailable","sessionRequest","chrome","SessionRequest","DEFAULT_MEDIA_RECEIVER_APP_ID","apiConfig","ApiConfig","ReceiverAvailability","AVAILABLE","log","initialize","_this9","initChromecast","onMediaDiscovered","how","currentMedia","onMediaError","subj","stop","session","requestSession","mediaInfo","MediaInfo","LoadRequest","loadMedia","_this10","balloon","_this11","isShow","Setting","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","doHotKeyHandler","doHotKey","cancelFullScreenHandler","hotkey","tag","activeElement","tagName","editable","getAttribute","preventDefault","ContextMenu","shown","contextmenu","contextmenuHandler","clientRect","clientY","y","InfoPanel","beginTime","toFixed","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","instances","DPlayer","defaultOption","autoplay","theme","language","browserLanguage","playbackSpeed","mutex","pluginOptions","hls","flv","dash","webtorrent","defaultKey","defaultQuality","triggle","getOwnPropertyDescriptors","_objectSpread","qualityIndex","arrow","defaultSubtitle","findIndex","sub","plugins","docClickFun","containerClickFun","initVideo","fromNative","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","initMSE","reload","customType","canPlayType","Hls","isSupported","loadSource","attachMedia","destroy","flvjs","flvPlayer","createPlayer","mediaDataSource","attachMediaElement","unload","detachMediaElement","dashjs","dashjsPlayer","MediaPlayer","_options","updateSettings","reset","WebTorrent","WEBRTC_SUPPORT","_options2","client","torrentId","once","torrent","files","find","file","renderTo","controls","buffered","end","subtitles","switchingQuality","prevIndex","videoHTML","videoEle","DOMParser","parseFromString","getElementsByTagName","prevVideo","noticeTime","dp","playbackRate"],"sourceRoot":""}