{"version":3,"file":"js/chunk-vendors-e030bc62.347ab52f.js","mappings":"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","sources":["webpack://rokk3rfuel/./node_modules/video.js/dist/video.es.js"],"sourcesContent":["/**\n * @license\n * Video.js 7.20.3 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\nimport window$1 from 'global/window';\nimport document from 'global/document';\nimport _extends from '@babel/runtime/helpers/extends';\nimport keycode from 'keycode';\nimport _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport safeParseTuple from 'safe-json-parse/tuple';\nimport XHR from '@videojs/xhr';\nimport vtt from 'videojs-vtt.js';\nimport _construct from '@babel/runtime/helpers/construct';\nimport _inherits from '@babel/runtime/helpers/inherits';\nimport _resolveUrl from '@videojs/vhs-utils/es/resolve-url.js';\nimport { Parser } from 'm3u8-parser';\nimport { browserSupportsCodec, DEFAULT_VIDEO_CODEC, DEFAULT_AUDIO_CODEC, muxerSupportsCodec, parseCodecs, translateLegacyCodec, codecsFromDefault, getMimeForCodec, isAudioCodec } from '@videojs/vhs-utils/es/codecs.js';\nimport { simpleTypeFromSourceType } from '@videojs/vhs-utils/es/media-types.js';\nimport { isArrayBufferView, concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\nimport { generateSidxKey, parseUTCTiming, parse, addSidxSegmentsToPlaylist } from 'mpd-parser';\nimport parseSidx from 'mux.js/lib/tools/parse-sidx';\nimport { getId3Offset } from '@videojs/vhs-utils/es/id3-helpers';\nimport { detectContainerForBytes, isLikelyFmp4MediaSegment } from '@videojs/vhs-utils/es/containers';\nimport { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\n\nvar version$5 = \"7.20.3\";\n\n/**\n * An Object that contains lifecycle hooks as keys which point to an array\n * of functions that are run when a lifecycle is triggered\n *\n * @private\n */\nvar hooks_ = {};\n/**\n * Get a list of hooks for a specific lifecycle\n *\n * @param {string} type\n * the lifecyle to get hooks from\n *\n * @param {Function|Function[]} [fn]\n * Optionally add a hook (or hooks) to the lifecycle that your are getting.\n *\n * @return {Array}\n * an array of hooks, or an empty array if there are none.\n */\n\nvar hooks = function hooks(type, fn) {\n hooks_[type] = hooks_[type] || [];\n\n if (fn) {\n hooks_[type] = hooks_[type].concat(fn);\n }\n\n return hooks_[type];\n};\n/**\n * Add a function hook to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n\n\nvar hook = function hook(type, fn) {\n hooks(type, fn);\n};\n/**\n * Remove a hook from a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle that the function hooked to\n *\n * @param {Function} fn\n * The hooked function to remove\n *\n * @return {boolean}\n * The function that was removed or undef\n */\n\n\nvar removeHook = function removeHook(type, fn) {\n var index = hooks(type).indexOf(fn);\n\n if (index <= -1) {\n return false;\n }\n\n hooks_[type] = hooks_[type].slice();\n hooks_[type].splice(index, 1);\n return true;\n};\n/**\n * Add a function hook that will only run once to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n\n\nvar hookOnce = function hookOnce(type, fn) {\n hooks(type, [].concat(fn).map(function (original) {\n var wrapper = function wrapper() {\n removeHook(type, wrapper);\n return original.apply(void 0, arguments);\n };\n\n return wrapper;\n }));\n};\n\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n * @private\n */\n/**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\n\nvar FullscreenApi = {\n prefixed: true\n}; // browser API methods\n\nvar apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror', 'fullscreen'], // WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror', '-webkit-full-screen'], // Mozilla\n['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror', '-moz-full-screen'], // Microsoft\n['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError', '-ms-fullscreen']];\nvar specApi = apiMap[0];\nvar browserApi; // determine the supported set of functions\n\nfor (var i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document) {\n browserApi = apiMap[i];\n break;\n }\n} // map the browser API names to the spec API names\n\n\nif (browserApi) {\n for (var _i = 0; _i < browserApi.length; _i++) {\n FullscreenApi[specApi[_i]] = browserApi[_i];\n }\n\n FullscreenApi.prefixed = browserApi[0] !== specApi[0];\n}\n\n/**\n * @file create-logger.js\n * @module create-logger\n */\n\nvar history = [];\n/**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} type\n * The name of the console method to use.\n *\n * @param {Array} args\n * The arguments to be passed to the matching console method.\n */\n\nvar LogByTypeFactory = function LogByTypeFactory(name, log) {\n return function (type, level, args) {\n var lvl = log.levels[level];\n var lvlRegExp = new RegExp(\"^(\" + lvl + \")$\");\n\n if (type !== 'log') {\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n } // Add console prefix after adding to history.\n\n\n args.unshift(name + ':'); // Add a clone of the args at this point to history.\n\n if (history) {\n history.push([].concat(args)); // only store 1000 history entries\n\n var splice = history.length - 1000;\n history.splice(0, splice > 0 ? splice : 0);\n } // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n\n\n if (!window$1.console) {\n return;\n } // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n\n\n var fn = window$1.console[type];\n\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window$1.console.info || window$1.console.log;\n } // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n\n\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n\n fn[Array.isArray(args) ? 'apply' : 'call'](window$1.console, args);\n };\n};\n\nfunction createLogger$1(name) {\n // This is the private tracking variable for logging level.\n var level = 'info'; // the curried logByType bound to the specific log and history\n\n var logByType;\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * Mixed[]\n *\n * Any combination of values that could be passed to `console.log()`.\n *\n * #### Return Value\n *\n * `undefined`\n *\n * @namespace\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged.\n */\n\n var log = function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logByType('log', level, args);\n }; // This is the logByType helper that the logging methods below use\n\n\n logByType = LogByTypeFactory(name, log);\n /**\n * Create a new sublogger which chains the old name to the new name.\n *\n * For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} name\n * The name to add call the new logger\n * @return {Object}\n */\n\n log.createLogger = function (subname) {\n return createLogger$1(name + ': ' + subname);\n };\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n\n\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {string} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n\n log.level = function (lvl) {\n if (typeof lvl === 'string') {\n if (!log.levels.hasOwnProperty(lvl)) {\n throw new Error(\"\\\"\" + lvl + \"\\\" in not a valid log level\");\n }\n\n level = lvl;\n }\n\n return level;\n };\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n\n\n log.history = function () {\n return history ? [].concat(history) : [];\n };\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n\n\n log.history.filter = function (fname) {\n return (history || []).filter(function (historyItem) {\n // if the first item in each historyItem includes `fname`, then it's a match\n return new RegExp(\".*\" + fname + \".*\").test(historyItem[0]);\n });\n };\n /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n\n\n log.history.clear = function () {\n if (history) {\n history.length = 0;\n }\n };\n /**\n * Disable history tracking if it is currently enabled.\n */\n\n\n log.history.disable = function () {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n /**\n * Enable history tracking if it is currently disabled.\n */\n\n\n log.history.enable = function () {\n if (history === null) {\n history = [];\n }\n };\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as an error\n */\n\n\n log.error = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logByType('error', level, args);\n };\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as a warning.\n */\n\n\n log.warn = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logByType('warn', level, args);\n };\n /**\n * Logs debug messages. Similar to `console.debug`, but may also act as a comparable\n * log if `console.debug` is not available\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as debug.\n */\n\n\n log.debug = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logByType('debug', level, args);\n };\n\n return log;\n}\n\n/**\n * @file log.js\n * @module log\n */\nvar log$1 = createLogger$1('VIDEOJS');\nvar createLogger = log$1.createLogger;\n\n/**\n * @file obj.js\n * @module obj\n */\n\n/**\n * @callback obj:EachCallback\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n */\n\n/**\n * @callback obj:ReduceCallback\n *\n * @param {Mixed} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {Mixed} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n *\n * @return {Mixed}\n * The new accumulated value.\n */\nvar toString = Object.prototype.toString;\n/**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\n\nvar keys = function keys(object) {\n return isObject(object) ? Object.keys(object) : [];\n};\n/**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\n\n\nfunction each(object, fn) {\n keys(object).forEach(function (key) {\n return fn(object[key], key);\n });\n}\n/**\n * Array-like reduce for objects.\n *\n * @param {Object} object\n * The Object that you want to reduce.\n *\n * @param {Function} fn\n * A callback function which is called for each key in the object. It\n * receives the accumulated value and the per-iteration value and key\n * as arguments.\n *\n * @param {Mixed} [initial = 0]\n * Starting value\n *\n * @return {Mixed}\n * The final accumulated value.\n */\n\nfunction reduce(object, fn, initial) {\n if (initial === void 0) {\n initial = 0;\n }\n\n return keys(object).reduce(function (accum, key) {\n return fn(accum, object[key], key);\n }, initial);\n}\n/**\n * Object.assign-style object shallow merge/extend.\n *\n * @param {Object} target\n * @param {Object} ...sources\n * @return {Object}\n */\n\nfunction assign(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (Object.assign) {\n return _extends.apply(void 0, [target].concat(sources));\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n target[key] = value;\n });\n });\n return target;\n}\n/**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n\nfunction isObject(value) {\n return !!value && typeof value === 'object';\n}\n/**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n\n/**\n * @file computed-style.js\n * @module computed-style\n */\n/**\n * A safe getComputedStyle.\n *\n * This is needed because in Firefox, if the player is loaded in an iframe with\n * `display:none`, then `getComputedStyle` returns `null`, so, we do a\n * null-check to make sure that the player doesn't break in these cases.\n *\n * @function\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\n\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window$1.getComputedStyle === 'function') {\n var computedStyleValue;\n\n try {\n computedStyleValue = window$1.getComputedStyle(el);\n } catch (e) {\n return '';\n }\n\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n\n return '';\n}\n\n/**\n * @file browser.js\n * @module browser\n */\nvar USER_AGENT = window$1.navigator && window$1.navigator.userAgent || '';\nvar webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\nvar appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n/**\n * Whether or not this device is an iPod.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\n/**\n * The detected iOS version - or `null`.\n *\n * @static\n * @const\n * @type {string|null}\n */\n\nvar IOS_VERSION = function () {\n var match = USER_AGENT.match(/OS (\\d+)_/i);\n\n if (match && match[1]) {\n return match[1];\n }\n\n return null;\n}();\n/**\n * Whether or not this is an Android device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_ANDROID = /Android/i.test(USER_AGENT);\n/**\n * The detected Android version - or `null`.\n *\n * @static\n * @const\n * @type {number|string|null}\n */\n\nvar ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n var match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n\n if (!match) {\n return null;\n }\n\n var major = match[1] && parseFloat(match[1]);\n var minor = match[2] && parseFloat(match[2]);\n\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n\n return null;\n}();\n/**\n * Whether or not this is a native Android browser.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebkitVersion < 537;\n/**\n * Whether or not this is Mozilla Firefox.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_FIREFOX = /Firefox/i.test(USER_AGENT);\n/**\n * Whether or not this is Microsoft Edge.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_EDGE = /Edg/i.test(USER_AGENT);\n/**\n * Whether or not this is Google Chrome.\n *\n * This will also be `true` for Chrome on iOS, which will have different support\n * as it is actually Safari under the hood.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_CHROME = !IS_EDGE && (/Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT));\n/**\n * The detected Google Chrome version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\nvar CHROME_VERSION = function () {\n var match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n\n return null;\n}();\n/**\n * The detected Internet Explorer version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\nvar IE_VERSION = function () {\n var result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n var version = result && parseFloat(result[1]);\n\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n\n return version;\n}();\n/**\n * Whether or not this is desktop Safari.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\n/**\n * Whether or not this is a Windows machine.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_WINDOWS = /Windows/i.test(USER_AGENT);\n/**\n * Whether or not this device is touch-enabled.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar TOUCH_ENABLED = Boolean(isReal() && ('ontouchstart' in window$1 || window$1.navigator.maxTouchPoints || window$1.DocumentTouch && window$1.document instanceof window$1.DocumentTouch));\n/**\n * Whether or not this device is an iPad.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPAD = /iPad/i.test(USER_AGENT) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(USER_AGENT);\n/**\n * Whether or not this device is an iPhone.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n// The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\n\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\n/**\n * Whether or not this is an iOS device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n/**\n * Whether or not this is any flavor of Safari - including iOS.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\nvar browser = /*#__PURE__*/Object.freeze({\n __proto__: null,\n IS_IPOD: IS_IPOD,\n IOS_VERSION: IOS_VERSION,\n IS_ANDROID: IS_ANDROID,\n ANDROID_VERSION: ANDROID_VERSION,\n IS_NATIVE_ANDROID: IS_NATIVE_ANDROID,\n IS_FIREFOX: IS_FIREFOX,\n IS_EDGE: IS_EDGE,\n IS_CHROME: IS_CHROME,\n CHROME_VERSION: CHROME_VERSION,\n IE_VERSION: IE_VERSION,\n IS_SAFARI: IS_SAFARI,\n IS_WINDOWS: IS_WINDOWS,\n TOUCH_ENABLED: TOUCH_ENABLED,\n IS_IPAD: IS_IPAD,\n IS_IPHONE: IS_IPHONE,\n IS_IOS: IS_IOS,\n IS_ANY_SAFARI: IS_ANY_SAFARI\n});\n\n/**\n * @file dom.js\n * @module dom\n */\n/**\n * Detect if a value is a string with any non-whitespace characters.\n *\n * @private\n * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * Will be `true` if the string is non-blank, `false` otherwise.\n *\n */\n\nfunction isNonBlankString(str) {\n // we use str.trim as it will trim any whitespace characters\n // from the front or back of non-whitespace characters. aka\n // Any string that contains non-whitespace characters will\n // still contain them after `trim` but whitespace only strings\n // will have a length of 0, failing this check.\n return typeof str === 'string' && Boolean(str.trim());\n}\n/**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @private\n * @param {string} str\n * The string to check for whitespace.\n *\n * @throws {Error}\n * Throws an error if there is whitespace in the string.\n */\n\n\nfunction throwIfWhitespace(str) {\n // str.indexOf instead of regex because str.indexOf is faster performance wise.\n if (str.indexOf(' ') >= 0) {\n throw new Error('class has illegal whitespace characters');\n }\n}\n/**\n * Produce a regular expression for matching a className within an elements className.\n *\n * @private\n * @param {string} className\n * The className to generate the RegExp for.\n *\n * @return {RegExp}\n * The RegExp that will check for a specific `className` in an elements\n * className.\n */\n\n\nfunction classRegExp(className) {\n return new RegExp('(^|\\\\s)' + className + '($|\\\\s)');\n}\n/**\n * Whether the current DOM interface appears to be real (i.e. not simulated).\n *\n * @return {boolean}\n * Will be `true` if the DOM appears to be real, `false` otherwise.\n */\n\n\nfunction isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document === window$1.document;\n}\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {Mixed} value\n * The value to check.\n *\n * @return {boolean}\n * Will be `true` if the value is a DOM element, `false` otherwise.\n */\n\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\n}\n/**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n * Will be `true` if the DOM is embedded in an iframe, `false`\n * otherwise.\n */\n\nfunction isInFrame() {\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window$1.parent !== window$1.self;\n } catch (x) {\n return true;\n }\n}\n/**\n * Creates functions to query the DOM using a given method.\n *\n * @private\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\n\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document;\n return ctx[method] && ctx[method](selector);\n };\n}\n/**\n * Creates an element and applies properties, attributes, and inserts content.\n *\n * @param {string} [tagName='div']\n * Name of tag to be created.\n *\n * @param {Object} [properties={}]\n * Element properties to be applied.\n *\n * @param {Object} [attributes={}]\n * Element attributes to be applied.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor object.\n *\n * @return {Element}\n * The element that was created.\n */\n\n\nfunction createEl(tagName, properties, attributes, content) {\n if (tagName === void 0) {\n tagName = 'div';\n }\n\n if (properties === void 0) {\n properties = {};\n }\n\n if (attributes === void 0) {\n attributes = {};\n }\n\n var el = document.createElement(tagName);\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n var val = properties[propName]; // See #2176\n // We originally were accepting both properties and attributes in the\n // same object, but that doesn't work so well.\n\n if (propName.indexOf('aria-') !== -1 || propName === 'role' || propName === 'type') {\n log$1.warn('Setting attributes in the second argument of createEl()\\n' + 'has been deprecated. Use the third argument instead.\\n' + (\"createEl(type, properties, attributes). Attempting to set \" + propName + \" to \" + val + \".\"));\n el.setAttribute(propName, val); // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n } else if (propName === 'textContent') {\n textContent(el, val);\n } else if (el[propName] !== val || propName === 'tabIndex') {\n el[propName] = val;\n }\n });\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n el.setAttribute(attrName, attributes[attrName]);\n });\n\n if (content) {\n appendContent(el, content);\n }\n\n return el;\n}\n/**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {Element} el\n * The element to add text content into\n *\n * @param {string} text\n * The text content to add.\n *\n * @return {Element}\n * The element with added text content.\n */\n\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n\n return el;\n}\n/**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\n\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n}\n/**\n * Check if an element has a class name.\n *\n * @param {Element} element\n * Element to check\n *\n * @param {string} classToCheck\n * Class name to check for\n *\n * @return {boolean}\n * Will be `true` if the element has a class, `false` otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\n\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n\n if (element.classList) {\n return element.classList.contains(classToCheck);\n }\n\n return classRegExp(classToCheck).test(element.className);\n}\n/**\n * Add a class name to an element.\n *\n * @param {Element} element\n * Element to add class name to.\n *\n * @param {string} classToAdd\n * Class name to add.\n *\n * @return {Element}\n * The DOM element with the added class name.\n */\n\nfunction addClass(element, classToAdd) {\n if (element.classList) {\n element.classList.add(classToAdd); // Don't need to `throwIfWhitespace` here because `hasElClass` will do it\n // in the case of classList not being supported.\n } else if (!hasClass(element, classToAdd)) {\n element.className = (element.className + ' ' + classToAdd).trim();\n }\n\n return element;\n}\n/**\n * Remove a class name from an element.\n *\n * @param {Element} element\n * Element to remove a class name from.\n *\n * @param {string} classToRemove\n * Class name to remove\n *\n * @return {Element}\n * The DOM element with class name removed.\n */\n\nfunction removeClass(element, classToRemove) {\n // Protect in case the player gets disposed\n if (!element) {\n log$1.warn(\"removeClass was called with an element that doesn't exist\");\n return null;\n }\n\n if (element.classList) {\n element.classList.remove(classToRemove);\n } else {\n throwIfWhitespace(classToRemove);\n element.className = element.className.split(/\\s+/).filter(function (c) {\n return c !== classToRemove;\n }).join(' ');\n }\n\n return element;\n}\n/**\n * The callback definition for toggleClass.\n *\n * @callback module:dom~PredicateCallback\n * @param {Element} element\n * The DOM element of the Component.\n *\n * @param {string} classToToggle\n * The `className` that wants to be toggled\n *\n * @return {boolean|undefined}\n * If `true` is returned, the `classToToggle` will be added to the\n * `element`. If `false`, the `classToToggle` will be removed from\n * the `element`. If `undefined`, the callback will be ignored.\n */\n\n/**\n * Adds or removes a class name to/from an element depending on an optional\n * condition or the presence/absence of the class name.\n *\n * @param {Element} element\n * The element to toggle a class name on.\n *\n * @param {string} classToToggle\n * The class that should be toggled.\n *\n * @param {boolean|module:dom~PredicateCallback} [predicate]\n * See the return value for {@link module:dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\n\nfunction toggleClass(element, classToToggle, predicate) {\n // This CANNOT use `classList` internally because IE11 does not support the\n // second parameter to the `classList.toggle()` method! Which is fine because\n // `classList` will be used by the add/remove functions.\n var has = hasClass(element, classToToggle);\n\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n\n if (typeof predicate !== 'boolean') {\n predicate = !has;\n } // If the necessary class operation matches the current state of the\n // element, no action is required.\n\n\n if (predicate === has) {\n return;\n }\n\n if (predicate) {\n addClass(element, classToToggle);\n } else {\n removeClass(element, classToToggle);\n }\n\n return element;\n}\n/**\n * Apply attributes to an HTML element.\n *\n * @param {Element} el\n * Element to add attributes to.\n *\n * @param {Object} [attributes]\n * Attributes to be applied.\n */\n\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n}\n/**\n * Get an element's attribute values, as defined on the HTML tag.\n *\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element. Boolean attributes will be `true` or\n * `false`, others will be strings.\n */\n\nfunction getAttributes(tag) {\n var obj = {}; // known boolean attributes\n // we can check for matching boolean properties, but not all browsers\n // and not all tags know about these attributes, so, we still want to check them manually\n\n var knownBooleans = ',' + 'autoplay,controls,playsinline,loop,muted,default,defaultMuted' + ',';\n\n if (tag && tag.attributes && tag.attributes.length > 0) {\n var attrs = tag.attributes;\n\n for (var i = attrs.length - 1; i >= 0; i--) {\n var attrName = attrs[i].name;\n var attrVal = attrs[i].value; // check for known booleans\n // the matching element property will return a value for typeof\n\n if (typeof tag[attrName] === 'boolean' || knownBooleans.indexOf(',' + attrName + ',') !== -1) {\n // the value of an included boolean attribute is typically an empty\n // string ('') which would equal false if we just check for a false value.\n // we also don't want support bad code like autoplay='false'\n attrVal = attrVal !== null ? true : false;\n }\n\n obj[attrName] = attrVal;\n }\n }\n\n return obj;\n}\n/**\n * Get the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to get the value of.\n *\n * @return {string}\n * The value of the attribute.\n */\n\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n}\n/**\n * Set the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n */\n\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n}\n/**\n * Remove an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to remove.\n */\n\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n/**\n * Attempt to block the ability to select text.\n */\n\nfunction blockTextSelection() {\n document.body.focus();\n\n document.onselectstart = function () {\n return false;\n };\n}\n/**\n * Turn off text selection blocking.\n */\n\nfunction unblockTextSelection() {\n document.onselectstart = function () {\n return true;\n };\n}\n/**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain object - or `undefined` if it cannot.\n */\n\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n var rect = el.getBoundingClientRect();\n var result = {};\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (k) {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n\n return result;\n }\n}\n/**\n * Represents the position of a DOM element on the page.\n *\n * @typedef {Object} module:dom~Position\n *\n * @property {number} left\n * Pixels to the left.\n *\n * @property {number} top\n * Pixels from the top.\n */\n\n/**\n * Get the position of an element in the DOM.\n *\n * Uses `getBoundingClientRect` technique from John Resig.\n *\n * @see http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @param {Element} el\n * Element from which to get offset.\n *\n * @return {module:dom~Position}\n * The position of the element that was passed in.\n */\n\nfunction findPosition(el) {\n if (!el || el && !el.offsetParent) {\n return {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n };\n }\n\n var width = el.offsetWidth;\n var height = el.offsetHeight;\n var left = 0;\n var top = 0;\n\n while (el.offsetParent && el !== document[FullscreenApi.fullscreenElement]) {\n left += el.offsetLeft;\n top += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {\n left: left,\n top: top,\n width: width,\n height: height\n };\n}\n/**\n * Represents x and y coordinates for a DOM element or mouse pointer.\n *\n * @typedef {Object} module:dom~Coordinates\n *\n * @property {number} x\n * x coordinate in pixels\n *\n * @property {number} y\n * y coordinate in pixels\n */\n\n/**\n * Get the pointer position within an element.\n *\n * The base on the coordinates are the bottom left of the element.\n *\n * @param {Element} el\n * Element on which to get the pointer position on.\n *\n * @param {EventTarget~Event} event\n * Event object.\n *\n * @return {module:dom~Coordinates}\n * A coordinates object corresponding to the mouse position.\n *\n */\n\nfunction getPointerPosition(el, event) {\n var translated = {\n x: 0,\n y: 0\n };\n\n if (IS_IOS) {\n var item = el;\n\n while (item && item.nodeName.toLowerCase() !== 'html') {\n var transform = computedStyle(item, 'transform');\n\n if (/^matrix/.test(transform)) {\n var values = transform.slice(7, -1).split(/,\\s/).map(Number);\n translated.x += values[4];\n translated.y += values[5];\n } else if (/^matrix3d/.test(transform)) {\n var _values = transform.slice(9, -1).split(/,\\s/).map(Number);\n\n translated.x += _values[12];\n translated.y += _values[13];\n }\n\n item = item.parentNode;\n }\n }\n\n var position = {};\n var boxTarget = findPosition(event.target);\n var box = findPosition(el);\n var boxW = box.width;\n var boxH = box.height;\n var offsetY = event.offsetY - (box.top - boxTarget.top);\n var offsetX = event.offsetX - (box.left - boxTarget.left);\n\n if (event.changedTouches) {\n offsetX = event.changedTouches[0].pageX - box.left;\n offsetY = event.changedTouches[0].pageY + box.top;\n\n if (IS_IOS) {\n offsetX -= translated.x;\n offsetY -= translated.y;\n }\n }\n\n position.y = 1 - Math.max(0, Math.min(1, offsetY / boxH));\n position.x = Math.max(0, Math.min(1, offsetX / boxW));\n return position;\n}\n/**\n * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {Mixed} value\n * Check if this value is a text node.\n *\n * @return {boolean}\n * Will be `true` if the value is a text node, `false` otherwise.\n */\n\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\n}\n/**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\n\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n\n return el;\n}\n/**\n * This is a mixed value that describes content to be injected into the DOM\n * via some method. It can be of the following types:\n *\n * Type | Description\n * -----------|-------------\n * `string` | The value will be normalized into a text node.\n * `Element` | The value will be accepted as-is.\n * `TextNode` | The value will be accepted as-is.\n * `Array` | A one-dimensional array of strings, elements, text nodes, or functions. These functions should return a string, element, or text node (any other return value, like an array, will be ignored).\n * `Function` | A function, which is expected to return a string, element, text node, or array - any of the other possible values described above. This means that a content descriptor could be a function that returns an array of functions, but those second-level functions must return strings, elements, or text nodes.\n *\n * @typedef {string|Element|TextNode|Array|Function} module:dom~ContentDescriptor\n */\n\n/**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but helps protect\n * from falling into the trap of simply writing to `innerHTML`, which could\n * be an XSS concern.\n *\n * The content for an element can be passed in multiple types and\n * combinations, whose behavior is as follows:\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Array}\n * All of the content that was passed in, normalized to an array of\n * elements or text nodes.\n */\n\nfunction normalizeContent(content) {\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n } // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n\n\n return (Array.isArray(content) ? content : [content]).map(function (value) {\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(function (value) {\n return value;\n });\n}\n/**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with appended normalized content.\n */\n\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(function (node) {\n return el.appendChild(node);\n });\n return el;\n}\n/**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with inserted normalized content.\n */\n\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n/**\n * Check if an event was a single left click.\n *\n * @param {EventTarget~Event} event\n * Event object.\n *\n * @return {boolean}\n * Will be `true` if a single left click, `false` otherwise.\n */\n\nfunction isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n return true;\n }\n\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n return true;\n } // `mouseup` event on a single left click has\n // `button` and `buttons` equal to 0\n\n\n if (event.type === 'mouseup' && event.button === 0 && event.buttons === 0) {\n return true;\n }\n\n if (event.button !== 0 || event.buttons !== 1) {\n // This is the reason we have those if else block above\n // if any special case we can catch and let it slide\n // we do it above, when get to here, this definitely\n // is-not-left-click\n return false;\n }\n\n return true;\n}\n/**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\n\nvar $ = createQuerier('querySelector');\n/**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none\n * were found.\n *\n */\n\nvar $$ = createQuerier('querySelectorAll');\n\nvar Dom = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isReal: isReal,\n isEl: isEl,\n isInFrame: isInFrame,\n createEl: createEl,\n textContent: textContent,\n prependTo: prependTo,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n setAttributes: setAttributes,\n getAttributes: getAttributes,\n getAttribute: getAttribute,\n setAttribute: setAttribute,\n removeAttribute: removeAttribute,\n blockTextSelection: blockTextSelection,\n unblockTextSelection: unblockTextSelection,\n getBoundingClientRect: getBoundingClientRect,\n findPosition: findPosition,\n getPointerPosition: getPointerPosition,\n isTextNode: isTextNode,\n emptyEl: emptyEl,\n normalizeContent: normalizeContent,\n appendContent: appendContent,\n insertContent: insertContent,\n isSingleLeftClick: isSingleLeftClick,\n $: $,\n $$: $$\n});\n\n/**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\nvar _windowLoaded = false;\nvar videojs$1;\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\n\nvar autoSetup = function autoSetup() {\n if (videojs$1.options.autoSetup === false) {\n return;\n }\n\n var vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n var audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n var divs = Array.prototype.slice.call(document.getElementsByTagName('video-js'));\n var mediaEls = vids.concat(audios, divs); // Check if any media elements exist\n\n if (mediaEls && mediaEls.length > 0) {\n for (var i = 0, e = mediaEls.length; i < e; i++) {\n var mediaEl = mediaEls[i]; // Check if element exists, has getAttribute func.\n\n if (mediaEl && mediaEl.getAttribute) {\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n var options = mediaEl.getAttribute('data-setup'); // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n\n if (options !== null) {\n // Create new video.js instance.\n videojs$1(mediaEl);\n }\n } // If getAttribute isn't defined, we need to wait for the DOM.\n\n } else {\n autoSetupTimeout(1);\n break;\n }\n } // No videos were found, so keep looping unless page is finished loading.\n\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n};\n/**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\n\n\nfunction autoSetupTimeout(wait, vjs) {\n // Protect against breakage in non-browser environments\n if (!isReal()) {\n return;\n }\n\n if (vjs) {\n videojs$1 = vjs;\n }\n\n window$1.setTimeout(autoSetup, wait);\n}\n/**\n * Used to set the internal tracking of window loaded state to true.\n *\n * @private\n */\n\n\nfunction setWindowLoaded() {\n _windowLoaded = true;\n window$1.removeEventListener('load', setWindowLoaded);\n}\n\nif (isReal()) {\n if (document.readyState === 'complete') {\n setWindowLoaded();\n } else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * We use a standard event listener here to avoid incrementing the GUID\n * before any players are created.\n *\n * @listens load\n */\n window$1.addEventListener('load', setWindowLoaded);\n }\n}\n\n/**\n * @file stylesheet.js\n * @module stylesheet\n */\n/**\n * Create a DOM syle element given a className for it.\n *\n * @param {string} className\n * The className to add to the created style element.\n *\n * @return {Element}\n * The element that was created.\n */\n\nvar createStyleElement = function createStyleElement(className) {\n var style = document.createElement('style');\n style.className = className;\n return style;\n};\n/**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\n\nvar setTextContent = function setTextContent(el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n\n/**\n * @file guid.js\n * @module guid\n */\n// Default value for GUIDs. This allows us to reset the GUID counter in tests.\n//\n// The initial GUID is 3 because some users have come to rely on the first\n// default player ID ending up as `vjs_video_3`.\n//\n// See: https://github.com/videojs/video.js/pull/6216\nvar _initialGuid = 3;\n/**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\n\nvar _guid = _initialGuid;\n/**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\n\nfunction newGUID() {\n return _guid++;\n}\n\n/**\n * @file dom-data.js\n * @module dom-data\n */\nvar FakeWeakMap;\n\nif (!window$1.WeakMap) {\n FakeWeakMap = /*#__PURE__*/function () {\n function FakeWeakMap() {\n this.vdata = 'vdata' + Math.floor(window$1.performance && window$1.performance.now() || Date.now());\n this.data = {};\n }\n\n var _proto = FakeWeakMap.prototype;\n\n _proto.set = function set(key, value) {\n var access = key[this.vdata] || newGUID();\n\n if (!key[this.vdata]) {\n key[this.vdata] = access;\n }\n\n this.data[access] = value;\n return this;\n };\n\n _proto.get = function get(key) {\n var access = key[this.vdata]; // we have data, return it\n\n if (access) {\n return this.data[access];\n } // we don't have data, return nothing.\n // return undefined explicitly as that's the contract for this method\n\n\n log$1('We have no data for this element', key);\n return undefined;\n };\n\n _proto.has = function has(key) {\n var access = key[this.vdata];\n return access in this.data;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var access = key[this.vdata];\n\n if (access) {\n delete this.data[access];\n delete key[this.vdata];\n }\n };\n\n return FakeWeakMap;\n }();\n}\n/**\n * Element Data Store.\n *\n * Allows for binding data to an element without putting it directly on the\n * element. Ex. Event listeners are stored here.\n * (also from jsninja.com, slightly modified and updated for closure compiler)\n *\n * @type {Object}\n * @private\n */\n\n\nvar DomData = window$1.WeakMap ? new WeakMap() : new FakeWeakMap();\n\n/**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @file events.js\n * @module events\n */\n/**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\n\nfunction _cleanUpEvents(elem, type) {\n if (!DomData.has(elem)) {\n return;\n }\n\n var data = DomData.get(elem); // Remove the events of a particular type if there are none left\n\n if (data.handlers[type].length === 0) {\n delete data.handlers[type]; // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n // Remove the meta-handler from the element\n\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n } // Remove the events object if there are no types left\n\n\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n } // Finally remove the element data if there is no data left\n\n\n if (Object.getOwnPropertyNames(data).length === 0) {\n DomData[\"delete\"](elem);\n }\n}\n/**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} callback\n * Event listener.\n */\n\n\nfunction _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n}\n/**\n * Fix a native event to have standard property values\n *\n * @param {Object} event\n * Event object to fix.\n *\n * @return {Object}\n * Fixed event object.\n */\n\n\nfunction fixEvent(event) {\n if (event.fixed_) {\n return event;\n }\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n\n\n if (!event || !event.isPropagationStopped || !event.isImmediatePropagationStopped) {\n var old = event || window$1.event;\n event = {}; // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n // TODO: Probably best to create a whitelist of event props\n\n for (var key in old) {\n // Safari 6.0.3 warns you if you try to copy deprecated layerX/Y\n // Chrome warns you if you try to copy deprecated keyboardEvent.keyLocation\n // and webkitMovementX/Y\n // Lighthouse complains if Event.path is copied\n if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY' && key !== 'path') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n } // The event occurred on this element\n\n\n if (!event.target) {\n event.target = event.srcElement || document;\n } // Handle which other element the event is related to\n\n\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n } // Stop the default browser action\n\n\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n\n event.defaultPrevented = false; // Stop the event from bubbling\n\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n\n event.isPropagationStopped = returnFalse; // Stop the event from bubbling and executing other handlers\n\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n\n event.isImmediatePropagationStopped = returnFalse; // Handle mouse position\n\n if (event.clientX !== null && event.clientX !== undefined) {\n var doc = document.documentElement;\n var body = document.body;\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n } // Handle key presses\n\n\n event.which = event.charCode || event.keyCode; // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n\n if (event.button !== null && event.button !== undefined) {\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n\n event.fixed_ = true; // Returns fixed-up instance\n\n return event;\n}\n/**\n * Whether passive event listeners are supported\n */\n\nvar _supportsPassive;\n\nvar supportsPassive = function supportsPassive() {\n if (typeof _supportsPassive !== 'boolean') {\n _supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n _supportsPassive = true;\n }\n });\n window$1.addEventListener('test', null, opts);\n window$1.removeEventListener('test', null, opts);\n } catch (e) {// disregard\n }\n }\n\n return _supportsPassive;\n};\n/**\n * Touch events Chrome expects to be passive\n */\n\n\nvar passiveEvents = ['touchstart', 'touchmove'];\n/**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} fn\n * Event listener.\n */\n\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n\n if (!DomData.has(elem)) {\n DomData.set(elem, {});\n }\n\n var data = DomData.get(elem); // We need a place to store all our handler data\n\n if (!data.handlers) {\n data.handlers = {};\n }\n\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n data.handlers[type].push(fn);\n\n if (!data.dispatcher) {\n data.disabled = false;\n\n data.dispatcher = function (event, hash) {\n if (data.disabled) {\n return;\n }\n\n event = fixEvent(event);\n var handlers = data.handlers[event.type];\n\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n var handlersCopy = handlers.slice(0);\n\n for (var m = 0, n = handlersCopy.length; m < n; m++) {\n if (event.isImmediatePropagationStopped()) {\n break;\n } else {\n try {\n handlersCopy[m].call(elem, event, hash);\n } catch (e) {\n log$1.error(e);\n }\n }\n }\n }\n };\n }\n\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n var options = false;\n\n if (supportsPassive() && passiveEvents.indexOf(type) > -1) {\n options = {\n passive: true\n };\n }\n\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n}\n/**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {EventTarget~EventListener} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\n\nfunction off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!DomData.has(elem)) {\n return;\n }\n\n var data = DomData.get(elem); // If no events exist, nothing to unbind\n\n if (!data.handlers) {\n return;\n }\n\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n } // Utility function\n\n\n var removeType = function removeType(el, t) {\n data.handlers[t] = [];\n\n _cleanUpEvents(el, t);\n }; // Are we removing all bound events?\n\n\n if (type === undefined) {\n for (var t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n\n return;\n }\n\n var handlers = data.handlers[type]; // If no handlers exist, nothing to unbind\n\n if (!handlers) {\n return;\n } // If no listener was provided, remove all listeners for type\n\n\n if (!fn) {\n removeType(elem, type);\n return;\n } // We're only removing a single handler\n\n\n if (fn.guid) {\n for (var n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n\n _cleanUpEvents(elem, type);\n}\n/**\n * Trigger an event for an element\n *\n * @param {Element|Object} elem\n * Element to trigger an event on\n *\n * @param {EventTarget~Event|string} event\n * A string (the type) or an event object with a type attribute\n *\n * @param {Object} [hash]\n * data hash to pass along with the event\n *\n * @return {boolean|undefined}\n * Returns the opposite of `defaultPrevented` if default was\n * prevented. Otherwise, returns `undefined`\n */\n\nfunction trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n var elemData = DomData.has(elem) ? DomData.get(elem) : {};\n var parent = elem.parentNode || elem.ownerDocument; // type = event.type || event,\n // handler;\n // If an event name was passed as a string, creates an event out of it\n\n if (typeof event === 'string') {\n event = {\n type: event,\n target: elem\n };\n } else if (!event.target) {\n event.target = elem;\n } // Normalizes the event properties.\n\n\n event = fixEvent(event); // If the passed element has a dispatcher, executes the established handlers.\n\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n } // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n\n\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash); // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented && event.target && event.target[event.type]) {\n if (!DomData.has(event.target)) {\n DomData.set(event.target, {});\n }\n\n var targetData = DomData.get(event.target); // Checks if the target has a default action for this event.\n\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true; // Executes the default action.\n\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n } // Re-enables event dispatching.\n\n\n targetData.disabled = false;\n }\n } // Inform the triggerer if the default was prevented by returning false\n\n\n return !event.defaultPrevented;\n}\n/**\n * Trigger a listener only once for an event.\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n}\n/**\n * Trigger a listener only once and then turn if off for all\n * configured events\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n\nfunction any(elem, type, fn) {\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID(); // multiple ons, but one off for everything\n\n on(elem, type, func);\n}\n\nvar Events = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fixEvent: fixEvent,\n on: on,\n off: off,\n trigger: trigger,\n one: one,\n any: any\n});\n\n/**\n * @file fn.js\n * @module fn\n */\nvar UPDATE_REFRESH_INTERVAL = 30;\n/**\n * Bind (a.k.a proxy or context). A simple method for changing the context of\n * a function.\n *\n * It also stores a unique id on the function so it can be easily removed from\n * events.\n *\n * @function\n * @param {Mixed} context\n * The object to bind as scope.\n *\n * @param {Function} fn\n * The function to be bound to a scope.\n *\n * @param {number} [uid]\n * An optional unique ID for the function to be set\n *\n * @return {Function}\n * The new function that will be bound into the context given\n */\n\nvar bind = function bind(context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n } // Create the new function that changes the context\n\n\n var bound = fn.bind(context); // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n return bound;\n};\n/**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @function\n * @param {Function} fn\n * The function to be throttled.\n *\n * @param {number} wait\n * The number of milliseconds by which to throttle.\n *\n * @return {Function}\n */\n\nvar throttle = function throttle(fn, wait) {\n var last = window$1.performance.now();\n\n var throttled = function throttled() {\n var now = window$1.performance.now();\n\n if (now - last >= wait) {\n fn.apply(void 0, arguments);\n last = now;\n }\n };\n\n return throttled;\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @function\n * @param {Function} func\n * The function to wrap with debounce behavior.\n *\n * @param {number} wait\n * The number of milliseconds to wait after the last invocation.\n *\n * @param {boolean} [immediate]\n * Whether or not to invoke the function immediately upon creation.\n *\n * @param {Object} [context=window]\n * The \"context\" in which the debounced function should debounce. For\n * example, if this function should be tied to a Video.js player,\n * the player can be passed here. Alternatively, defaults to the\n * global `window` object.\n *\n * @return {Function}\n * A debounced function.\n */\n\nvar debounce = function debounce(func, wait, immediate, context) {\n if (context === void 0) {\n context = window$1;\n }\n\n var timeout;\n\n var cancel = function cancel() {\n context.clearTimeout(timeout);\n timeout = null;\n };\n /* eslint-disable consistent-this */\n\n\n var debounced = function debounced() {\n var self = this;\n var args = arguments;\n\n var _later = function later() {\n timeout = null;\n _later = null;\n\n if (!immediate) {\n func.apply(self, args);\n }\n };\n\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n\n context.clearTimeout(timeout);\n timeout = context.setTimeout(_later, wait);\n };\n /* eslint-enable consistent-this */\n\n\n debounced.cancel = cancel;\n return debounced;\n};\n\n/**\n * @file src/js/event-target.js\n */\n/**\n * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It\n * adds shorthand functions that wrap around lengthy functions. For example:\n * the `on` function is a wrapper around `addEventListener`.\n *\n * @see [EventTarget Spec]{@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget}\n * @class EventTarget\n */\n\nvar EventTarget$2 = function EventTarget() {};\n/**\n * A Custom DOM event.\n *\n * @typedef {Object} EventTarget~Event\n * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent}\n */\n\n/**\n * All event listeners should follow the following format.\n *\n * @callback EventTarget~EventListener\n * @this {EventTarget}\n *\n * @param {EventTarget~Event} event\n * the event that triggered this function\n *\n * @param {Object} [hash]\n * hash of data sent during the event\n */\n\n/**\n * An object containing event names as keys and booleans as values.\n *\n * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger}\n * will have extra functionality. See that function for more information.\n *\n * @property EventTarget.prototype.allowedEvents_\n * @private\n */\n\n\nEventTarget$2.prototype.allowedEvents_ = {};\n/**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to call with `EventTarget`s\n */\n\nEventTarget$2.prototype.on = function (type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n on(this, type, fn);\n this.addEventListener = ael;\n};\n/**\n * An alias of {@link EventTarget#on}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#on}\n */\n\n\nEventTarget$2.prototype.addEventListener = EventTarget$2.prototype.on;\n/**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to remove.\n */\n\nEventTarget$2.prototype.off = function (type, fn) {\n off(this, type, fn);\n};\n/**\n * An alias of {@link EventTarget#off}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#off}\n */\n\n\nEventTarget$2.prototype.removeEventListener = EventTarget$2.prototype.off;\n/**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to be called once for each event name.\n */\n\nEventTarget$2.prototype.one = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n one(this, type, fn);\n this.addEventListener = ael;\n};\n\nEventTarget$2.prototype.any = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n any(this, type, fn);\n this.addEventListener = ael;\n};\n/**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|EventTarget~Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n */\n\n\nEventTarget$2.prototype.trigger = function (event) {\n var type = event.type || event; // deprecation\n // In a future version we should default target to `this`\n // similar to how we default the target to `elem` in\n // `Events.trigger`. Right now the default `target` will be\n // `document` due to the `Event.fixEvent` call.\n\n if (typeof event === 'string') {\n event = {\n type: type\n };\n }\n\n event = fixEvent(event);\n\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n\n trigger(this, event);\n};\n/**\n * An alias of {@link EventTarget#trigger}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#trigger}\n */\n\n\nEventTarget$2.prototype.dispatchEvent = EventTarget$2.prototype.trigger;\nvar EVENT_MAP;\n\nEventTarget$2.prototype.queueTrigger = function (event) {\n var _this = this;\n\n // only set up EVENT_MAP if it'll be used\n if (!EVENT_MAP) {\n EVENT_MAP = new Map();\n }\n\n var type = event.type || event;\n var map = EVENT_MAP.get(this);\n\n if (!map) {\n map = new Map();\n EVENT_MAP.set(this, map);\n }\n\n var oldTimeout = map.get(type);\n map[\"delete\"](type);\n window$1.clearTimeout(oldTimeout);\n var timeout = window$1.setTimeout(function () {\n // if we cleared out all timeouts for the current target, delete its map\n if (map.size === 0) {\n map = null;\n EVENT_MAP[\"delete\"](_this);\n }\n\n _this.trigger(event);\n }, 0);\n map.set(type, timeout);\n};\n\n/**\n * @file mixins/evented.js\n * @module evented\n */\n\nvar objName = function objName(obj) {\n if (typeof obj.name === 'function') {\n return obj.name();\n }\n\n if (typeof obj.name === 'string') {\n return obj.name;\n }\n\n if (obj.name_) {\n return obj.name_;\n }\n\n if (obj.constructor && obj.constructor.name) {\n return obj.constructor.name;\n }\n\n return typeof obj;\n};\n/**\n * Returns whether or not an object has had the evented mixin applied.\n *\n * @param {Object} object\n * An object to test.\n *\n * @return {boolean}\n * Whether or not the object appears to be evented.\n */\n\n\nvar isEvented = function isEvented(object) {\n return object instanceof EventTarget$2 || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(function (k) {\n return typeof object[k] === 'function';\n });\n};\n/**\n * Adds a callback to run after the evented mixin applied.\n *\n * @param {Object} object\n * An object to Add\n * @param {Function} callback\n * The callback to run.\n */\n\n\nvar addEventedCallback = function addEventedCallback(target, callback) {\n if (isEvented(target)) {\n callback();\n } else {\n if (!target.eventedCallbacks) {\n target.eventedCallbacks = [];\n }\n\n target.eventedCallbacks.push(callback);\n }\n};\n/**\n * Whether a value is a valid event type - non-empty string or array.\n *\n * @private\n * @param {string|Array} type\n * The type value to test.\n *\n * @return {boolean}\n * Whether or not the type is a valid event type.\n */\n\n\nvar isValidEventType = function isValidEventType(type) {\n return (// The regex here verifies that the `type` contains at least one non-\n // whitespace character.\n typeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length\n );\n};\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the target does not appear to be a valid event target.\n *\n * @param {Object} target\n * The object to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateTarget = function validateTarget(target, obj, fnName) {\n if (!target || !target.nodeName && !isEvented(target)) {\n throw new Error(\"Invalid target for \" + objName(obj) + \"#\" + fnName + \"; must be a DOM node or evented object.\");\n }\n};\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n *\n * @param {Object} obj\n* The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateEventType = function validateEventType(type, obj, fnName) {\n if (!isValidEventType(type)) {\n throw new Error(\"Invalid event type for \" + objName(obj) + \"#\" + fnName + \"; must be a non-empty string or array.\");\n }\n};\n/**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n\n\nvar validateListener = function validateListener(listener, obj, fnName) {\n if (typeof listener !== 'function') {\n throw new Error(\"Invalid listener for \" + objName(obj) + \"#\" + fnName + \"; must be a function.\");\n }\n};\n/**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\n\n\nvar normalizeListenArgs = function normalizeListenArgs(self, args, fnName) {\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n var isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n var target;\n var type;\n var listener;\n\n if (isTargetingSelf) {\n target = self.eventBusEl_; // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n\n if (args.length >= 3) {\n args.shift();\n }\n\n type = args[0];\n listener = args[1];\n } else {\n target = args[0];\n type = args[1];\n listener = args[2];\n }\n\n validateTarget(target, self, fnName);\n validateEventType(type, self, fnName);\n validateListener(listener, self, fnName);\n listener = bind(self, listener);\n return {\n isTargetingSelf: isTargetingSelf,\n target: target,\n type: type,\n listener: listener\n };\n};\n/**\n * Adds the listener to the event type(s) on the target, normalizing for\n * the type of target.\n *\n * @private\n * @param {Element|Object} target\n * A DOM node or evented object.\n *\n * @param {string} method\n * The event binding method to use (\"on\" or \"one\").\n *\n * @param {string|Array} type\n * One or more event type(s).\n *\n * @param {Function} listener\n * A listener function.\n */\n\n\nvar listen = function listen(target, method, type, listener) {\n validateTarget(target, target, method);\n\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n};\n/**\n * Contains methods that provide event capabilities to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\n\n\nvar EventedMixin = {\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n on: function on() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _normalizeListenArgs = normalizeListenArgs(this, args, 'on'),\n isTargetingSelf = _normalizeListenArgs.isTargetingSelf,\n target = _normalizeListenArgs.target,\n type = _normalizeListenArgs.type,\n listener = _normalizeListenArgs.listener;\n\n listen(target, 'on', type, listener); // If this object is listening to another evented object.\n\n if (!isTargetingSelf) {\n // If this object is disposed, remove the listener.\n var removeListenerOnDispose = function removeListenerOnDispose() {\n return _this.off(target, type, listener);\n }; // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n\n\n removeListenerOnDispose.guid = listener.guid; // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n\n var removeRemoverOnTargetDispose = function removeRemoverOnTargetDispose() {\n return _this.off('dispose', removeListenerOnDispose);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n removeRemoverOnTargetDispose.guid = listener.guid;\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\n },\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will be called once per event and then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n one: function one() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _normalizeListenArgs2 = normalizeListenArgs(this, args, 'one'),\n isTargetingSelf = _normalizeListenArgs2.isTargetingSelf,\n target = _normalizeListenArgs2.target,\n type = _normalizeListenArgs2.type,\n listener = _normalizeListenArgs2.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'one', type, listener); // Targeting another evented object.\n } else {\n // TODO: This wrapper is incorrect! It should only\n // remove the wrapper for the event type that called it.\n // Instead all listners are removed on the first trigger!\n // see https://github.com/videojs/video.js/issues/5962\n var wrapper = function wrapper() {\n _this2.off(target, type, wrapper);\n\n for (var _len3 = arguments.length, largs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n largs[_key3] = arguments[_key3];\n }\n\n listener.apply(null, largs);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will only be called once for the first event that is triggered\n * then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n any: function any() {\n var _this3 = this;\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var _normalizeListenArgs3 = normalizeListenArgs(this, args, 'any'),\n isTargetingSelf = _normalizeListenArgs3.isTargetingSelf,\n target = _normalizeListenArgs3.target,\n type = _normalizeListenArgs3.type,\n listener = _normalizeListenArgs3.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'any', type, listener); // Targeting another evented object.\n } else {\n var wrapper = function wrapper() {\n _this3.off(target, type, wrapper);\n\n for (var _len5 = arguments.length, largs = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n largs[_key5] = arguments[_key5];\n }\n\n listener.apply(null, largs);\n }; // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n\n\n wrapper.guid = listener.guid;\n listen(target, 'any', type, wrapper);\n }\n },\n\n /**\n * Removes listener(s) from event(s) on an evented object.\n *\n * @param {string|Array|Element|Object} [targetOrType]\n * If this is a string or array, it represents the event type(s).\n *\n * Another evented object can be passed here instead, in which case\n * ALL 3 arguments are _required_.\n *\n * @param {string|Array|Function} [typeOrListener]\n * If the first argument was a string or array, this may be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function; otherwise, _all_ listeners bound to the\n * event type(s) will be removed.\n */\n off: function off$1(targetOrType, typeOrListener, listener) {\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener); // Targeting another evented object.\n } else {\n var target = targetOrType;\n var type = typeOrListener; // Fail fast and in a meaningful way!\n\n validateTarget(target, this, 'off');\n validateEventType(type, this, 'off');\n validateListener(listener, this, 'off'); // Ensure there's at least a guid, even if the function hasn't been used\n\n listener = bind(this, listener); // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n\n this.off('dispose', listener);\n\n if (target.nodeName) {\n off(target, type, listener);\n off(target, 'dispose', listener);\n } else if (isEvented(target)) {\n target.off(type, listener);\n target.off('dispose', listener);\n }\n }\n },\n\n /**\n * Fire an event on this evented object, causing its listeners to be called.\n *\n * @param {string|Object} event\n * An event type or an object with a type property.\n *\n * @param {Object} [hash]\n * An additional object to pass along to listeners.\n *\n * @return {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger: function trigger$1(event, hash) {\n validateTarget(this.eventBusEl_, this, 'trigger');\n var type = event && typeof event !== 'string' ? event.type : event;\n\n if (!isValidEventType(type)) {\n var error = \"Invalid event type for \" + objName(this) + \"#trigger; \" + 'must be a non-empty string or object with a type key that has a non-empty value.';\n\n if (event) {\n (this.log || log$1).error(error);\n } else {\n throw new Error(error);\n }\n }\n\n return trigger(this.eventBusEl_, event, hash);\n }\n};\n/**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {string} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\n\nfunction evented(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n eventBusKey = _options.eventBusKey; // Set or create the eventBusEl_.\n\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error(\"The eventBusKey \\\"\" + eventBusKey + \"\\\" does not refer to an element.\");\n }\n\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', {\n className: 'vjs-event-bus'\n });\n }\n\n assign(target, EventedMixin);\n\n if (target.eventedCallbacks) {\n target.eventedCallbacks.forEach(function (callback) {\n callback();\n });\n } // When any evented object is disposed, it removes all its listeners.\n\n\n target.on('dispose', function () {\n target.off();\n [target, target.el_, target.eventBusEl_].forEach(function (val) {\n if (val && DomData.has(val)) {\n DomData[\"delete\"](val);\n }\n });\n window$1.setTimeout(function () {\n target.eventBusEl_ = null;\n }, 0);\n });\n return target;\n}\n\n/**\n * @file mixins/stateful.js\n * @module stateful\n */\n/**\n * Contains methods that provide statefulness to an object which is passed\n * to {@link module:stateful}.\n *\n * @mixin StatefulMixin\n */\n\nvar StatefulMixin = {\n /**\n * A hash containing arbitrary keys and values representing the state of\n * the object.\n *\n * @type {Object}\n */\n state: {},\n\n /**\n * Set the state of an object by mutating its\n * {@link module:stateful~StatefulMixin.state|state} object in place.\n *\n * @fires module:stateful~StatefulMixin#statechanged\n * @param {Object|Function} stateUpdates\n * A new set of properties to shallow-merge into the plugin state.\n * Can be a plain object or a function returning a plain object.\n *\n * @return {Object|undefined}\n * An object containing changes that occurred. If no changes\n * occurred, returns `undefined`.\n */\n setState: function setState(stateUpdates) {\n var _this = this;\n\n // Support providing the `stateUpdates` state as a function.\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n\n var changes;\n each(stateUpdates, function (value, key) {\n // Record the change if the value is different from what's in the\n // current state.\n if (_this.state[key] !== value) {\n changes = changes || {};\n changes[key] = {\n from: _this.state[key],\n to: value\n };\n }\n\n _this.state[key] = value;\n }); // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n\n if (changes && isEvented(this)) {\n /**\n * An event triggered on an object that is both\n * {@link module:stateful|stateful} and {@link module:evented|evented}\n * indicating that its state has changed.\n *\n * @event module:stateful~StatefulMixin#statechanged\n * @type {Object}\n * @property {Object} changes\n * A hash containing the properties that were changed and\n * the values they were changed `from` and `to`.\n */\n this.trigger({\n changes: changes,\n type: 'statechanged'\n });\n }\n\n return changes;\n }\n};\n/**\n * Applies {@link module:stateful~StatefulMixin|StatefulMixin} to a target\n * object.\n *\n * If the target object is {@link module:evented|evented} and has a\n * `handleStateChanged` method, that method will be automatically bound to the\n * `statechanged` event on itself.\n *\n * @param {Object} target\n * The object to be made stateful.\n *\n * @param {Object} [defaultState]\n * A default set of properties to populate the newly-stateful object's\n * `state` property.\n *\n * @return {Object}\n * Returns the `target`.\n */\n\nfunction stateful(target, defaultState) {\n assign(target, StatefulMixin); // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n\n target.state = assign({}, target.state, defaultState); // Auto-bind the `handleStateChanged` method of the target object if it exists.\n\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n\n return target;\n}\n\n/**\n * @file string-cases.js\n * @module to-lower-case\n */\n\n/**\n * Lowercase the first letter of a string.\n *\n * @param {string} string\n * String to be lowercased\n *\n * @return {string}\n * The string with a lowercased first letter\n */\nvar toLowerCase = function toLowerCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return w.toLowerCase();\n });\n};\n/**\n * Uppercase the first letter of a string.\n *\n * @param {string} string\n * String to be uppercased\n *\n * @return {string}\n * The string with an uppercased first letter\n */\n\nvar toTitleCase$1 = function toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return w.toUpperCase();\n });\n};\n/**\n * Compares the TitleCase versions of the two strings for equality.\n *\n * @param {string} str1\n * The first string to compare\n *\n * @param {string} str2\n * The second string to compare\n *\n * @return {boolean}\n * Whether the TitleCase versions of the strings are equal\n */\n\nvar titleCaseEquals = function titleCaseEquals(str1, str2) {\n return toTitleCase$1(str1) === toTitleCase$1(str2);\n};\n\n/**\n * @file merge-options.js\n * @module merge-options\n */\n/**\n * Merge two objects recursively.\n *\n * Performs a deep merge like\n * {@link https://lodash.com/docs/4.17.10#merge|lodash.merge}, but only merges\n * plain objects (not arrays, elements, or anything else).\n *\n * Non-plain object values will be copied directly from the right-most\n * argument.\n *\n * @static\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @return {Object}\n * A new object that is the merged result of all sources.\n */\n\nfunction mergeOptions$3() {\n var result = {};\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n\n result[key] = mergeOptions$3(result[key], value);\n });\n });\n return result;\n}\n\nvar MapSham = /*#__PURE__*/function () {\n function MapSham() {\n this.map_ = {};\n }\n\n var _proto = MapSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.map_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.map_[key];\n return has;\n };\n\n _proto.set = function set(key, value) {\n this.map_[key] = value;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.map_) {\n callback.call(thisArg, this.map_[key], key, this);\n }\n };\n\n return MapSham;\n}();\n\nvar Map$1 = window$1.Map ? window$1.Map : MapSham;\n\nvar SetSham = /*#__PURE__*/function () {\n function SetSham() {\n this.set_ = {};\n }\n\n var _proto = SetSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.set_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.set_[key];\n return has;\n };\n\n _proto.add = function add(key) {\n this.set_[key] = 1;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.set_) {\n callback.call(thisArg, key, key, this);\n }\n };\n\n return SetSham;\n}();\n\nvar Set$1 = window$1.Set ? window$1.Set : SetSham;\n\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n/**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\n\nvar Component$1 = /*#__PURE__*/function () {\n /**\n * A callback that is called when a component is ready. Does not have any\n * paramters and any callback value will be ignored.\n *\n * @callback Component~ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of component options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to intialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {string} [options.className]\n * A class or space separated list of classes to add the component\n *\n * @param {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n var _this = this;\n\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n\n this.isDisposed_ = false; // Hold the reference to the parent component via `addChild` method\n\n this.parentComponent_ = null; // Make a copy of prototype.options_ to protect against overriding defaults\n\n this.options_ = mergeOptions$3({}, this.options_); // Updated options with supplied options\n\n options = this.options_ = mergeOptions$3(this.options_, options); // Get ID from options or options element if one is supplied\n\n this.id_ = options.id || options.el && options.el.id; // If there was no ID from the options, generate one\n\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n this.id_ = id + \"_component_\" + newGUID();\n }\n\n this.name_ = options.name || null; // Create element if one wasn't provided in options\n\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n\n if (options.className && this.el_) {\n options.className.split(' ').forEach(function (c) {\n return _this.addClass(c);\n });\n } // if evented is anything except false, we want to mixin in evented\n\n\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, {\n eventBusKey: this.el_ ? 'el_' : null\n });\n this.handleLanguagechange = this.handleLanguagechange.bind(this);\n this.on(this.player_, 'languagechange', this.handleLanguagechange);\n }\n\n stateful(this, this.constructor.defaultState);\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n this.setTimeoutIds_ = new Set$1();\n this.setIntervalIds_ = new Set$1();\n this.rafIds_ = new Set$1();\n this.namedRafs_ = new Map$1();\n this.clearingTimersOnDispose_ = false; // Add any child components in options\n\n if (options.initChildren !== false) {\n this.initChildren();\n } // Don't want to trigger ready here or it will go before init is actually\n // finished for all children that run this constructor\n\n\n this.ready(ready);\n\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n *\n * @param {Object} options\n * @param {Element} options.originalEl element with which to replace player element\n */\n\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {};\n }\n\n // Bail out if the component has already been disposed.\n if (this.isDisposed_) {\n return;\n }\n\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {EventTarget~Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n\n\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true; // Dispose all children.\n\n if (this.children_) {\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n } // Delete child references\n\n\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n if (options.restoreEl) {\n this.el_.parentNode.replaceChild(options.restoreEl, this.el_);\n } else {\n this.el_.parentNode.removeChild(this.el_);\n }\n }\n\n this.el_ = null;\n } // remove reference to the player after disposing of the element\n\n\n this.player_ = null;\n }\n /**\n * Determine whether or not this component has been disposed.\n *\n * @return {boolean}\n * If the component has been disposed, will be `true`. Otherwise, `false`.\n */\n ;\n\n _proto.isDisposed = function isDisposed() {\n return Boolean(this.isDisposed_);\n }\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n ;\n\n _proto.player = function player() {\n return this.player_;\n }\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:mergeOptions}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n */\n ;\n\n _proto.options = function options(obj) {\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions$3(this.options_, obj);\n return this.options_;\n }\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n ;\n\n _proto.el = function el() {\n return this.el_;\n }\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n ;\n\n _proto.createEl = function createEl$1(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n }\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n ;\n\n _proto.localize = function localize(string, tokens, defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = string;\n }\n\n var code = this.player_.language && this.player_.language();\n var languages = this.player_.languages && this.player_.languages();\n var language = languages && languages[code];\n var primaryCode = code && code.split('-')[0];\n var primaryLang = languages && languages[primaryCode];\n var localizedString = defaultValue;\n\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n var value = tokens[index - 1];\n var ret = value;\n\n if (typeof value === 'undefined') {\n ret = match;\n }\n\n return ret;\n });\n }\n\n return localizedString;\n }\n /**\n * Handles language change for the player in components. Should be overriden by sub-components.\n *\n * @abstract\n */\n ;\n\n _proto.handleLanguagechange = function handleLanguagechange() {}\n /**\n * Return the `Component`s DOM element. This is where children get inserted.\n * This will usually be the the same as the element returned in {@link Component#el}.\n *\n * @return {Element}\n * The content element for this `Component`.\n */\n ;\n\n _proto.contentEl = function contentEl() {\n return this.contentEl_ || this.el_;\n }\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n ;\n\n _proto.id = function id() {\n return this.id_;\n }\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n ;\n\n _proto.name = function name() {\n return this.name_;\n }\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n ;\n\n _proto.children = function children() {\n return this.children_;\n }\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n ;\n\n _proto.getChildById = function getChildById(id) {\n return this.childIndex_[id];\n }\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n ;\n\n _proto.getChild = function getChild(name) {\n if (!name) {\n return;\n }\n\n return this.childNameIndex_[name];\n }\n /**\n * Returns the descendant `Component` following the givent\n * descendant `names`. For instance ['foo', 'bar', 'baz'] would\n * try to get 'foo' on the current component, 'bar' on the 'foo'\n * component and 'baz' on the 'bar' component and return undefined\n * if any of those don't exist.\n *\n * @param {...string[]|...string} names\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The descendant `Component` following the given descendant\n * `names` or undefined.\n */\n ;\n\n _proto.getDescendant = function getDescendant() {\n for (var _len = arguments.length, names = new Array(_len), _key = 0; _key < _len; _key++) {\n names[_key] = arguments[_key];\n }\n\n // flatten array argument into the main array\n names = names.reduce(function (acc, n) {\n return acc.concat(n);\n }, []);\n var currentChild = this;\n\n for (var i = 0; i < names.length; i++) {\n currentChild = currentChild.getChild(names[i]);\n\n if (!currentChild || !currentChild.getChild) {\n return;\n }\n }\n\n return currentChild;\n }\n /**\n * Add a child `Component` inside the current `Component`.\n *\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n ;\n\n _proto.addChild = function addChild(child, options, index) {\n if (options === void 0) {\n options = {};\n }\n\n if (index === void 0) {\n index = this.children_.length;\n }\n\n var component;\n var componentName; // If child is a string, create component with options\n\n if (typeof child === 'string') {\n componentName = toTitleCase$1(child);\n var componentClassName = options.componentClass || componentName; // Set name through options\n\n options.name = componentName; // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n\n var ComponentClass = Component.getComponent(componentClassName);\n\n if (!ComponentClass) {\n throw new Error(\"Component \" + componentClassName + \" does not exist\");\n } // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n\n\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n\n component = new ComponentClass(this.player_ || this, options); // child is a component instance\n } else {\n component = child;\n }\n\n if (component.parentComponent_) {\n component.parentComponent_.removeChild(component);\n }\n\n this.children_.splice(index, 0, component);\n component.parentComponent_ = this;\n\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n } // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n\n\n componentName = componentName || component.name && toTitleCase$1(component.name());\n\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n this.childNameIndex_[toLowerCase(componentName)] = component;\n } // Add the UI object's element to the container div (box)\n // Having an element is not required\n\n\n if (typeof component.el === 'function' && component.el()) {\n // If inserting before a component, insert before that component's element\n var refNode = null;\n\n if (this.children_[index + 1]) {\n // Most children are components, but the video tech is an HTML element\n if (this.children_[index + 1].el_) {\n refNode = this.children_[index + 1].el_;\n } else if (isEl(this.children_[index + 1])) {\n refNode = this.children_[index + 1];\n }\n }\n\n this.contentEl().insertBefore(component.el(), refNode);\n } // Return so it can stored on parent object if desired.\n\n\n return component;\n }\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n ;\n\n _proto.removeChild = function removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n\n if (!component || !this.children_) {\n return;\n }\n\n var childFound = false;\n\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i] === component) {\n childFound = true;\n this.children_.splice(i, 1);\n break;\n }\n }\n\n if (!childFound) {\n return;\n }\n\n component.parentComponent_ = null;\n this.childIndex_[component.id()] = null;\n this.childNameIndex_[toTitleCase$1(component.name())] = null;\n this.childNameIndex_[toLowerCase(component.name())] = null;\n var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n ;\n\n _proto.initChildren = function initChildren() {\n var _this2 = this;\n\n var children = this.options_.children;\n\n if (children) {\n // `this` is `parent`\n var parentOptions = this.options_;\n\n var handleAdd = function handleAdd(child) {\n var name = child.name;\n var opts = child.opts; // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n } // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n\n\n if (opts === false) {\n return;\n } // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n\n\n if (opts === true) {\n opts = {};\n } // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n\n\n opts.playerOptions = _this2.options_.playerOptions; // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n\n var newChild = _this2.addChild(name, opts);\n\n if (newChild) {\n _this2[name] = newChild;\n }\n }; // Allow for an array of children details to passed in the options\n\n\n var workingChildren;\n var Tech = Component.getComponent('Tech');\n\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n\n workingChildren // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n\n return child === wchild.name;\n });\n })).map(function (child) {\n var name;\n var opts;\n\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || _this2.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n\n return {\n name: name,\n opts: opts\n };\n }).filter(function (child) {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registerd as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n var c = Component.getComponent(child.opts.componentClass || toTitleCase$1(child.name));\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n }\n /**\n * Builds the default DOM class name. Should be overriden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n }\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @return {Component}\n * Returns itself; method can be chained.\n */\n ;\n\n _proto.ready = function ready(fn, sync) {\n if (sync === void 0) {\n sync = false;\n }\n\n if (!fn) {\n return;\n }\n\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\n\n if (sync) {\n fn.call(this);\n } else {\n // Call the function asynchronously by default for consistency\n this.setTimeout(fn, 1);\n }\n }\n /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n ;\n\n _proto.triggerReady = function triggerReady() {\n this.isReady_ = true; // Ensure ready is triggered asynchronously\n\n this.setTimeout(function () {\n var readyQueue = this.readyQueue_; // Reset Ready Queue\n\n this.readyQueue_ = [];\n\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n } // Allow for using event listeners also\n\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('ready');\n }, 1);\n }\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n ;\n\n _proto.$ = function $$1(selector, context) {\n return $(selector, context || this.contentEl());\n }\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n ;\n\n _proto.$$ = function $$$1(selector, context) {\n return $$(selector, context || this.contentEl());\n }\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n ;\n\n _proto.hasClass = function hasClass$1(classToCheck) {\n return hasClass(this.el_, classToCheck);\n }\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {string} classToAdd\n * CSS class name to add\n */\n ;\n\n _proto.addClass = function addClass$1(classToAdd) {\n addClass(this.el_, classToAdd);\n }\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {string} classToRemove\n * CSS class name to remove\n */\n ;\n\n _proto.removeClass = function removeClass$1(classToRemove) {\n removeClass(this.el_, classToRemove);\n }\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove based on (@link Component#hasClass}\n *\n * @param {boolean|Dom~predicate} [predicate]\n * An {@link Dom~predicate} function or a boolean\n */\n ;\n\n _proto.toggleClass = function toggleClass$1(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n }\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n ;\n\n _proto.show = function show() {\n this.removeClass('vjs-hidden');\n }\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n ;\n\n _proto.hide = function hide() {\n this.addClass('vjs-hidden');\n }\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n ;\n\n _proto.lockShowing = function lockShowing() {\n this.addClass('vjs-lock-showing');\n }\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n ;\n\n _proto.unlockShowing = function unlockShowing() {\n this.removeClass('vjs-lock-showing');\n }\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the attibute does not exist or has\n * no value.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute}\n */\n ;\n\n _proto.getAttribute = function getAttribute$1(attribute) {\n return getAttribute(this.el_, attribute);\n }\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n ;\n\n _proto.setAttribute = function setAttribute$1(attribute, value) {\n setAttribute(this.el_, attribute, value);\n }\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n ;\n\n _proto.removeAttribute = function removeAttribute$1(attribute) {\n removeAttribute(this.el_, attribute);\n }\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n ;\n\n _proto.width = function width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n }\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n ;\n\n _proto.height = function height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n }\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n ;\n\n _proto.dimensions = function dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\n }\n /**\n * Get or set width or height of the `Component` element. This is the shared code\n * for the {@link Component#width} and {@link Component#height}.\n *\n * Things to know:\n * - If the width or height in an number this will return the number postfixed with 'px'.\n * - If the width/height is a percent this will return the percent postfixed with '%'\n * - Hidden elements have a width of 0 with `window.getComputedStyle`. This function\n * defaults to the `Component`s `style.width` and falls back to `window.getComputedStyle`.\n * See [this]{@link http://www.foliotek.com/devblog/getting-the-width-of-a-hidden-element-with-jquery-using-width/}\n * for more information\n * - If you want the computed style of the component, use {@link Component#currentWidth}\n * and {@link {Component#currentHeight}\n *\n * @fires Component#componentresize\n *\n * @param {string} widthOrHeight\n 8 'width' or 'height'\n *\n * @param {number|string} [num]\n 8 New dimension\n *\n * @param {boolean} [skipListeners]\n * Skip componentresize event trigger\n *\n * @return {number}\n * The dimension when getting or 0 if unset\n */\n ;\n\n _proto.dimension = function dimension(widthOrHeight, num, skipListeners) {\n if (num !== undefined) {\n // Set to zero if null or literally NaN (NaN !== NaN)\n if (num === null || num !== num) {\n num = 0;\n } // Check if using css width/height (% or px) and adjust\n\n\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n } // skipListeners allows us to avoid triggering the resize event when setting both width and height\n\n\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {EventTarget~Event}\n */\n this.trigger('componentresize');\n }\n\n return;\n } // Not setting a value, so getting it\n // Make sure element exists\n\n\n if (!this.el_) {\n return 0;\n } // Get dimension value from style\n\n\n var val = this.el_.style[widthOrHeight];\n var pxIndex = val.indexOf('px');\n\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\n } // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n\n\n return parseInt(this.el_['offset' + toTitleCase$1(widthOrHeight)], 10);\n }\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n ;\n\n _proto.currentDimension = function currentDimension(widthOrHeight) {\n var computedWidthOrHeight = 0;\n\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n\n computedWidthOrHeight = computedStyle(this.el_, widthOrHeight); // remove 'px' from variable and parse as integer\n\n computedWidthOrHeight = parseFloat(computedWidthOrHeight); // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs wherever getComputedStyle doesn't exist.\n\n if (computedWidthOrHeight === 0 || isNaN(computedWidthOrHeight)) {\n var rule = \"offset\" + toTitleCase$1(widthOrHeight);\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\n }\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n ;\n\n _proto.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n }\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n ;\n\n _proto.currentWidth = function currentWidth() {\n return this.currentDimension('width');\n }\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n ;\n\n _proto.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n }\n /**\n * Set the focus to this component\n */\n ;\n\n _proto.focus = function focus() {\n this.el_.focus();\n }\n /**\n * Remove the focus from this component\n */\n ;\n\n _proto.blur = function blur() {\n this.el_.blur();\n }\n /**\n * When this Component receives a `keydown` event which it does not process,\n * it passes the event to the Player for handling.\n *\n * @param {EventTarget~Event} event\n * The `keydown` event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser. Exclude Tab for focus trapping.\n if (!keycode.isEventKey(event, 'Tab')) {\n event.stopPropagation();\n }\n\n this.player_.handleKeyDown(event);\n }\n }\n /**\n * Many components used to have a `handleKeyPress` method, which was poorly\n * named because it listened to a `keydown` event. This method name now\n * delegates to `handleKeyDown`. This means anyone calling `handleKeyPress`\n * will not see their method calls stop working.\n *\n * @param {EventTarget~Event} event\n * The event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyPress = function handleKeyPress(event) {\n this.handleKeyDown(event);\n }\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n ;\n\n _proto.emitTapEvents = function emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n var touchStart = 0;\n var firstTouch = null; // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n\n var tapMovementThreshold = 10; // The maximum length a touch can be while still being considered a tap\n\n var touchTimeThreshold = 200;\n var couldBeTap;\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n }; // Record start time so we can detect a tap vs. \"touch and hold\"\n\n touchStart = window$1.performance.now(); // Reset couldBeTap tracking\n\n couldBeTap = true;\n }\n });\n this.on('touchmove', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length > 1) {\n couldBeTap = false;\n } else if (firstTouch) {\n // Some devices will throw touchmoves for all but the slightest of taps.\n // So, if we moved only a small distance, this could still be a tap\n var xdiff = event.touches[0].pageX - firstTouch.pageX;\n var ydiff = event.touches[0].pageY - firstTouch.pageY;\n var touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n\n var noTap = function noTap() {\n couldBeTap = false;\n }; // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n\n\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap); // When the touch ends, measure how long it took and trigger the appropriate\n // event\n\n this.on('touchend', function (event) {\n firstTouch = null; // Proceed only if the touchmove/leave/cancel event didn't happen\n\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n var touchTime = window$1.performance.now() - touchStart; // Make sure the touch was less than the threshold to be considered a tap\n\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {EventTarget~Event}\n */\n\n this.trigger('tap'); // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n }\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n ;\n\n _proto.enableTouchActivity = function enableTouchActivity() {\n // Don't continue if the root player doesn't support reporting user activity\n if (!this.player() || !this.player().reportUserActivity) {\n return;\n } // listener for reporting that the user is active\n\n\n var report = bind(this.player(), this.player().reportUserActivity);\n var touchHolding;\n this.on('touchstart', function () {\n report(); // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n\n this.clearInterval(touchHolding); // report at the same interval as activityCheck\n\n touchHolding = this.setInterval(report, 250);\n });\n\n var touchEnd = function touchEnd(event) {\n report(); // stop the interval that maintains activity if the touch is holding\n\n this.clearInterval(touchHolding);\n };\n\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n }\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n ;\n\n _proto.setTimeout = function setTimeout(fn, timeout) {\n var _this3 = this;\n\n // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n var timeoutId;\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n timeoutId = window$1.setTimeout(function () {\n if (_this3.setTimeoutIds_.has(timeoutId)) {\n _this3.setTimeoutIds_[\"delete\"](timeoutId);\n }\n\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\n }\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n ;\n\n _proto.clearTimeout = function clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_[\"delete\"](timeoutId);\n window$1.clearTimeout(timeoutId);\n }\n\n return timeoutId;\n }\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n ;\n\n _proto.setInterval = function setInterval(fn, interval) {\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n var intervalId = window$1.setInterval(fn, interval);\n this.setIntervalIds_.add(intervalId);\n return intervalId;\n }\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an inteval via {@link Component#setInterval}\n * use this function instead of `window.clearInterval`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} intervalId\n * The id of the interval to clear. The return value of\n * {@link Component#setInterval} or `window.setInterval`.\n *\n * @return {number}\n * Returns the interval id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval}\n */\n ;\n\n _proto.clearInterval = function clearInterval(intervalId) {\n if (this.setIntervalIds_.has(intervalId)) {\n this.setIntervalIds_[\"delete\"](intervalId);\n window$1.clearInterval(intervalId);\n }\n\n return intervalId;\n }\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n ;\n\n _proto.requestAnimationFrame = function requestAnimationFrame(fn) {\n var _this4 = this;\n\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.setTimeout(fn, 1000 / 60);\n }\n\n this.clearTimersOnDispose_(); // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n\n var id;\n fn = bind(this, fn);\n id = window$1.requestAnimationFrame(function () {\n if (_this4.rafIds_.has(id)) {\n _this4.rafIds_[\"delete\"](id);\n }\n\n fn();\n });\n this.rafIds_.add(id);\n return id;\n }\n /**\n * Request an animation frame, but only one named animation\n * frame will be queued. Another will never be added until\n * the previous one finishes.\n *\n * @param {string} name\n * The name to give this requestAnimationFrame\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n */\n ;\n\n _proto.requestNamedAnimationFrame = function requestNamedAnimationFrame(name, fn) {\n var _this5 = this;\n\n if (this.namedRafs_.has(name)) {\n return;\n }\n\n this.clearTimersOnDispose_();\n fn = bind(this, fn);\n var id = this.requestAnimationFrame(function () {\n fn();\n\n if (_this5.namedRafs_.has(name)) {\n _this5.namedRafs_[\"delete\"](name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\n }\n /**\n * Cancels a current named animation frame if it exists.\n *\n * @param {string} name\n * The name of the requestAnimationFrame to cancel.\n */\n ;\n\n _proto.cancelNamedAnimationFrame = function cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_[\"delete\"](name);\n }\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n ;\n\n _proto.cancelAnimationFrame = function cancelAnimationFrame(id) {\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.clearTimeout(id);\n }\n\n if (this.rafIds_.has(id)) {\n this.rafIds_[\"delete\"](id);\n window$1.cancelAnimationFrame(id);\n }\n\n return id;\n }\n /**\n * A function to setup `requestAnimationFrame`, `setTimeout`,\n * and `setInterval`, clearing on dispose.\n *\n * > Previously each timer added and removed dispose listeners on it's own.\n * For better performance it was decided to batch them all, and use `Set`s\n * to track outstanding timer ids.\n *\n * @private\n */\n ;\n\n _proto.clearTimersOnDispose_ = function clearTimersOnDispose_() {\n var _this6 = this;\n\n if (this.clearingTimersOnDispose_) {\n return;\n }\n\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', function () {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(function (_ref) {\n var idName = _ref[0],\n cancelName = _ref[1];\n\n // for a `Set` key will actually be the value again\n // so forEach((val, val) =>` but for maps we want to use\n // the key.\n _this6[idName].forEach(function (val, key) {\n return _this6[cancelName](key);\n });\n });\n _this6.clearingTimersOnDispose_ = false;\n });\n }\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n ;\n\n Component.registerComponent = function registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error(\"Illegal component name, \\\"\" + name + \"\\\"; must be a non-empty string.\");\n }\n\n var Tech = Component.getComponent('Tech'); // We need to make sure this check is only done if Tech has been registered.\n\n var isTech = Tech && Tech.isTech(ComponentToRegister);\n var isComp = Component === ComponentToRegister || Component.prototype.isPrototypeOf(ComponentToRegister.prototype);\n\n if (isTech || !isComp) {\n var reason;\n\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n\n throw new Error(\"Illegal component, \\\"\" + name + \"\\\"; \" + reason + \".\");\n }\n\n name = toTitleCase$1(name);\n\n if (!Component.components_) {\n Component.components_ = {};\n }\n\n var Player = Component.getComponent('Player');\n\n if (name === 'Player' && Player && Player.players) {\n var players = Player.players;\n var playerNames = Object.keys(players); // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is not null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n\n if (players && playerNames.length > 0 && playerNames.map(function (pname) {\n return players[pname];\n }).every(Boolean)) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n\n Component.components_[name] = ComponentToRegister;\n Component.components_[toLowerCase(name)] = ComponentToRegister;\n return ComponentToRegister;\n }\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {Component}\n * The `Component` that got registered under the given name.\n */\n ;\n\n Component.getComponent = function getComponent(name) {\n if (!name || !Component.components_) {\n return;\n }\n\n return Component.components_[name];\n };\n\n return Component;\n}();\n/**\n * Whether or not this component supports `requestAnimationFrame`.\n *\n * This is exposed primarily for testing purposes.\n *\n * @private\n * @type {Boolean}\n */\n\n\nComponent$1.prototype.supportsRaf_ = typeof window$1.requestAnimationFrame === 'function' && typeof window$1.cancelAnimationFrame === 'function';\nComponent$1.registerComponent('Component', Component$1);\n\n/**\n * @file time-ranges.js\n * @module time-ranges\n */\n/**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @typedef {Function} TimeRangeIndex\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time offset at the specified index.\n *\n * @deprecated The index argument must be provided.\n * In the future, leaving it out will throw an error.\n */\n\n/**\n * An object that contains ranges of time.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this object.\n *\n * @property {module:time-ranges~TimeRangeIndex} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {module:time-ranges~TimeRangeIndex} end\n * Returns the time offset at which a specified time range ends.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges\n */\n\n/**\n * Check if any of the time ranges are over the maximum index.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {number} index\n * The index to check\n *\n * @param {number} maxIndex\n * The maximum possible index\n *\n * @throws {Error} if the timeRanges provided are over the maxIndex\n */\n\nfunction rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error(\"Failed to execute '\" + fnName + \"' on 'TimeRanges': The index provided (\" + index + \") is non-numeric or out of bounds (0-\" + maxIndex + \").\");\n }\n}\n/**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The property that should be used to get the time. should be\n * 'start' or 'end'\n *\n * @param {Array} ranges\n * An array of time ranges\n *\n * @param {Array} [rangeIndex=0]\n * The index to start the search at\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @deprecated rangeIndex must be set to a value, in the future this will throw an error.\n * @throws {Error} if rangeIndex is more than the length of ranges\n */\n\n\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\n/**\n * Create a time range object given ranges of time.\n *\n * @private\n * @param {Array} [ranges]\n * An array of time ranges.\n */\n\n\nfunction createTimeRangesObj(ranges) {\n var timeRangesObj;\n\n if (ranges === undefined || ranges.length === 0) {\n timeRangesObj = {\n length: 0,\n start: function start() {\n throw new Error('This TimeRanges object is empty');\n },\n end: function end() {\n throw new Error('This TimeRanges object is empty');\n }\n };\n } else {\n timeRangesObj = {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n }\n\n if (window$1.Symbol && window$1.Symbol.iterator) {\n timeRangesObj[window$1.Symbol.iterator] = function () {\n return (ranges || []).values();\n };\n }\n\n return timeRangesObj;\n}\n/**\n * Create a `TimeRange` object which mimics an\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges|HTML5 TimeRanges instance}.\n *\n * @param {number|Array[]} start\n * The start of a single range (a number) or an array of ranges (an\n * array of arrays of two numbers each).\n *\n * @param {number} end\n * The end of a single range. Cannot be used with the array form of\n * the `start` argument.\n */\n\n\nfunction createTimeRanges(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n\n return createTimeRangesObj([[start, end]]);\n}\n\n/**\n * @file buffer.js\n * @module buffer\n */\n/**\n * Compute the percentage of the media that has been buffered.\n *\n * @param {TimeRange} buffered\n * The current `TimeRange` object representing buffered time ranges\n *\n * @param {number} duration\n * Total duration of the media\n *\n * @return {number}\n * Percent buffered of the total duration in decimal form.\n */\n\nfunction bufferedPercent(buffered, duration) {\n var bufferedDuration = 0;\n var start;\n var end;\n\n if (!duration) {\n return 0;\n }\n\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges(0, 0);\n }\n\n for (var i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i); // buffered end can be bigger than duration by a very small fraction\n\n if (end > duration) {\n end = duration;\n }\n\n bufferedDuration += end - start;\n }\n\n return bufferedDuration / duration;\n}\n\n/**\n * @file media-error.js\n */\n/**\n * A Custom `MediaError` class which mimics the standard HTML5 `MediaError` class.\n *\n * @param {number|string|Object|MediaError} value\n * This can be of multiple types:\n * - number: should be a standard error code\n * - string: an error message (the code will be 0)\n * - Object: arbitrary properties\n * - `MediaError` (native): used to populate a video.js `MediaError` object\n * - `MediaError` (video.js): will return itself if it's already a\n * video.js `MediaError` object.\n *\n * @see [MediaError Spec]{@link https://dev.w3.org/html5/spec-author-view/video.html#mediaerror}\n * @see [Encrypted MediaError Spec]{@link https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#error-codes}\n *\n * @class MediaError\n */\n\nfunction MediaError(value) {\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n\n if (typeof value === 'number') {\n this.code = value;\n } else if (typeof value === 'string') {\n // default code is zero, so this is a custom error\n this.message = value;\n } else if (isObject(value)) {\n // We assign the `code` property manually because native `MediaError` objects\n // do not expose it as an own/enumerable property of the object.\n if (typeof value.code === 'number') {\n this.code = value.code;\n }\n\n assign(this, value);\n }\n\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n}\n/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\n\n\nMediaError.prototype.code = 0;\n/**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\n\nMediaError.prototype.message = '';\n/**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\n\nMediaError.prototype.status = null;\n/**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_ABORTED\n * @property {string} 2 - MEDIA_ERR_NETWORK\n * @property {string} 3 - MEDIA_ERR_DECODE\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\n\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\n\nMediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n}; // Add types as properties on MediaError\n// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\nfor (var errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum; // values should be accessible on both the class and instance\n\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n} // jsdocs for instance/static members added above\n\n/**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {boolean}\n * Whether or not the object is `Promise`-like.\n */\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n}\n/**\n * Silence a Promise-like object.\n *\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n */\n\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, function (e) {});\n }\n}\n\n/**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n/**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\nvar trackToJson_ = function trackToJson_(track) {\n var ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce(function (acc, prop, i) {\n if (track[prop]) {\n acc[prop] = track[prop];\n }\n\n return acc;\n }, {\n cues: track.cues && Array.prototype.map.call(track.cues, function (cue) {\n return {\n startTime: cue.startTime,\n endTime: cue.endTime,\n text: cue.text,\n id: cue.id\n };\n })\n });\n return ret;\n};\n/**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param {Tech} tech\n * The tech object to query\n *\n * @return {Array}\n * A serializable javascript representation of the {@link Tech}s\n * {@link TextTrackList}.\n */\n\n\nvar textTracksToJson = function textTracksToJson(tech) {\n var trackEls = tech.$$('track');\n var trackObjs = Array.prototype.map.call(trackEls, function (t) {\n return t.track;\n });\n var tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n var json = trackToJson_(trackEl.track);\n\n if (trackEl.src) {\n json.src = trackEl.src;\n }\n\n return json;\n });\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n};\n/**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\n\n\nvar jsonToTextTracks = function jsonToTextTracks(json, tech) {\n json.forEach(function (track) {\n var addedTrack = tech.addRemoteTextTrack(track).track;\n\n if (!track.src && track.cues) {\n track.cues.forEach(function (cue) {\n return addedTrack.addCue(cue);\n });\n }\n });\n return tech.textTracks();\n};\n\nvar textTrackConverter = {\n textTracksToJson: textTracksToJson,\n jsonToTextTracks: jsonToTextTracks,\n trackToJson_: trackToJson_\n};\n\nvar MODAL_CLASS_NAME = 'vjs-modal-dialog';\n/**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\n\nvar ModalDialog = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ModalDialog, _Component);\n\n /**\n * Create an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Mixed} [options.content=undefined]\n * Provide customized content for this modal.\n *\n * @param {string} [options.description]\n * A text description for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.fillAlways=false]\n * Normally, modals are automatically filled only the first time\n * they open. This tells the modal to refresh its content\n * every time it opens.\n *\n * @param {string} [options.label]\n * A text label for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.pauseOnOpen=true]\n * If `true`, playback will will be paused if playing when\n * the modal opens, and resumed when it closes.\n *\n * @param {boolean} [options.temporary=true]\n * If `true`, the modal can only be opened once; it will be\n * disposed as soon as it's closed.\n *\n * @param {boolean} [options.uncloseable=false]\n * If `true`, the user will not be able to close the modal\n * through the UI in the normal ways. Programmatic closing is\n * still possible.\n */\n function ModalDialog(player, options) {\n var _this;\n\n _this = _Component.call(this, player, options) || this;\n\n _this.handleKeyDown_ = function (e) {\n return _this.handleKeyDown(e);\n };\n\n _this.close_ = function (e) {\n return _this.close(e);\n };\n\n _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;\n\n _this.closeable(!_this.options_.uncloseable);\n\n _this.content(_this.options_.content); // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n\n\n _this.contentEl_ = createEl('div', {\n className: MODAL_CLASS_NAME + \"-content\"\n }, {\n role: 'document'\n });\n _this.descEl_ = createEl('p', {\n className: MODAL_CLASS_NAME + \"-description vjs-control-text\",\n id: _this.el().getAttribute('aria-describedby')\n });\n textContent(_this.descEl_, _this.description());\n\n _this.el_.appendChild(_this.descEl_);\n\n _this.el_.appendChild(_this.contentEl_);\n\n return _this;\n }\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n\n\n var _proto = ModalDialog.prototype;\n\n _proto.createEl = function createEl() {\n return _Component.prototype.createEl.call(this, 'div', {\n className: this.buildCSSClass(),\n tabIndex: -1\n }, {\n 'aria-describedby': this.id() + \"_description\",\n 'aria-hidden': 'true',\n 'aria-label': this.label(),\n 'role': 'dialog'\n });\n };\n\n _proto.dispose = function dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n\n _Component.prototype.dispose.call(this);\n }\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n return MODAL_CLASS_NAME + \" vjs-hidden \" + _Component.prototype.buildCSSClass.call(this);\n }\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n ;\n\n _proto.label = function label() {\n return this.localize(this.options_.label || 'Modal Window');\n }\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n ;\n\n _proto.description = function description() {\n var desc = this.options_.description || this.localize('This is a modal window.'); // Append a universal closeability message if the modal is closeable.\n\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n\n return desc;\n }\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n ;\n\n _proto.open = function open() {\n if (!this.opened_) {\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalopen');\n this.opened_ = true; // Fill content if the modal has never opened before and\n // never been filled.\n\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n } // If the player was playing, pause it and take note of its previously\n // playing state.\n\n\n this.wasPlaying_ = !player.paused();\n\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n\n this.on('keydown', this.handleKeyDown_); // Hide controls and note if they were enabled.\n\n this.hadControls_ = player.controls();\n player.controls(false);\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n }\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n ;\n\n _proto.opened = function opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n\n return this.opened_;\n }\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n ;\n\n _proto.close = function close() {\n if (!this.opened_) {\n return;\n }\n\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalclose');\n this.opened_ = false;\n\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n\n this.off('keydown', this.handleKeyDown_);\n\n if (this.hadControls_) {\n player.controls(true);\n }\n\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalclose');\n this.conditionalBlur_();\n\n if (this.options_.temporary) {\n this.dispose();\n }\n }\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n ;\n\n _proto.closeable = function closeable(value) {\n if (typeof value === 'boolean') {\n var closeable = this.closeable_ = !!value;\n var close = this.getChild('closeButton'); // If this is being made closeable and has no close button, add one.\n\n if (closeable && !close) {\n // The close button should be a child of the modal - not its\n // content element, so temporarily change the content element.\n var temp = this.contentEl_;\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', {\n controlText: 'Close Modal Dialog'\n });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close_);\n } // If this is being made uncloseable and has a close button, remove it.\n\n\n if (!closeable && close) {\n this.off(close, 'close', this.close_);\n this.removeChild(close);\n close.dispose();\n }\n }\n\n return this.closeable_;\n }\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n ;\n\n _proto.fill = function fill() {\n this.fillWith(this.content());\n }\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param {Mixed} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n ;\n\n _proto.fillWith = function fillWith(content) {\n var contentEl = this.contentEl();\n var parentEl = contentEl.parentNode;\n var nextSiblingEl = contentEl.nextSibling;\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true; // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalfill'); // Re-inject the re-filled content element.\n\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n } // make sure that the close button is last in the dialog DOM\n\n\n var closeButton = this.getChild('closeButton');\n\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n }\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n ;\n\n _proto.empty = function empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalempty');\n }\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param {Mixed} [value]\n * If defined, sets the internal content value to be used on the\n * next call(s) to `fill`. This value is normalized before being\n * inserted. To \"clear\" the internal content value, pass `null`.\n *\n * @return {Mixed}\n * The current content of the modal dialog\n */\n ;\n\n _proto.content = function content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n\n return this.content_;\n }\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n ;\n\n _proto.conditionalFocus_ = function conditionalFocus_() {\n var activeEl = document.activeElement;\n var playerEl = this.player_.el_;\n this.previouslyActiveEl_ = null;\n\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n this.focus();\n }\n }\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n ;\n\n _proto.conditionalBlur_ = function conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n }\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n // Do not allow keydowns to reach out of the modal dialog.\n event.stopPropagation();\n\n if (keycode.isEventKey(event, 'Escape') && this.closeable()) {\n event.preventDefault();\n this.close();\n return;\n } // exit early if it isn't a tab key\n\n\n if (!keycode.isEventKey(event, 'Tab')) {\n return;\n }\n\n var focusableEls = this.focusableEls_();\n var activeEl = this.el_.querySelector(':focus');\n var focusIndex;\n\n for (var i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\n\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n }\n /**\n * get all focusable elements\n *\n * @private\n */\n ;\n\n _proto.focusableEls_ = function focusableEls_() {\n var allChildren = this.el_.querySelectorAll('*');\n return Array.prototype.filter.call(allChildren, function (child) {\n return (child instanceof window$1.HTMLAnchorElement || child instanceof window$1.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window$1.HTMLInputElement || child instanceof window$1.HTMLSelectElement || child instanceof window$1.HTMLTextAreaElement || child instanceof window$1.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window$1.HTMLIFrameElement || child instanceof window$1.HTMLObjectElement || child instanceof window$1.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n };\n\n return ModalDialog;\n}(Component$1);\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\nComponent$1.registerComponent('ModalDialog', ModalDialog);\n\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\nvar TrackList = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(TrackList, _EventTarget);\n\n /**\n * Create an instance of this class\n *\n * @param {Track[]} tracks\n * A list of tracks to initialize the list with.\n *\n * @abstract\n */\n function TrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n _this = _EventTarget.call(this) || this;\n _this.tracks_ = [];\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'length', {\n get: function get() {\n return this.tracks_.length;\n }\n });\n\n for (var i = 0; i < tracks.length; i++) {\n _this.addTrack(tracks[i]);\n }\n\n return _this;\n }\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param {Track} track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = TrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n var index = this.tracks_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.tracks_[index];\n }\n });\n } // Do not add duplicate tracks\n\n\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n this.trigger({\n track: track,\n type: 'addtrack',\n target: this\n });\n }\n /**\n * Triggered when a track label is changed.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n\n track.labelchange_ = function () {\n _this2.trigger({\n track: track,\n type: 'labelchange',\n target: _this2\n });\n };\n\n if (isEvented(track)) {\n track.addEventListener('labelchange', track.labelchange_);\n }\n }\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param {Track} rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n ;\n\n _proto.removeTrack = function removeTrack(rtrack) {\n var track;\n\n for (var i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n\n if (track.off) {\n track.off();\n }\n\n this.tracks_.splice(i, 1);\n break;\n }\n }\n\n if (!track) {\n return;\n }\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n\n\n this.trigger({\n track: track,\n type: 'removetrack',\n target: this\n });\n }\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {string} id - the id of the track to get\n * @method getTrackById\n * @return {Track}\n * @private\n */\n ;\n\n _proto.getTrackById = function getTrackById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var track = this[i];\n\n if (track.id === id) {\n result = track;\n break;\n }\n }\n\n return result;\n };\n\n return TrackList;\n}(EventTarget$2);\n/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {EventTarget~Event}\n */\n\n/**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @private\n */\n\n\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack',\n labelchange: 'labelchange'\n}; // emulate attribute EventHandler support to allow for feature detection\n\nfor (var event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n}\n\n/**\n * Anywhere we call this function we diverge from the spec\n * as we only support one enabled audiotrack at a time\n *\n * @param {AudioTrackList} list\n * list to work on\n *\n * @param {AudioTrack} track\n * The track to skip\n *\n * @private\n */\n\nvar disableOthers$1 = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another audio track is enabled, disable it\n\n\n list[i].enabled = false;\n }\n};\n/**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\n\n\nvar AudioTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(AudioTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {AudioTrack[]} [tracks=[]]\n * A list of `AudioTrack` to instantiate the list with.\n */\n function AudioTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n return _this;\n }\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param {AudioTrack} track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = AudioTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.enabled) {\n disableOthers$1(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.enabledChange_ = function () {\n // when we are disabling other tracks (since we don't support\n // more than one track at a time) we will set changing_\n // to true so that we don't trigger additional change events\n if (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers$1(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('enabledchange', track.enabledChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.enabledChange_) {\n rtrack.removeEventListener('enabledchange', rtrack.enabledChange_);\n rtrack.enabledChange_ = null;\n }\n };\n\n return AudioTrackList;\n}(TrackList);\n\n/**\n * Un-select all other {@link VideoTrack}s that are selected.\n *\n * @param {VideoTrackList} list\n * list to work on\n *\n * @param {VideoTrack} track\n * The track to skip\n *\n * @private\n */\n\nvar disableOthers = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another video track is enabled, disable it\n\n\n list[i].selected = false;\n }\n};\n/**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\n\n\nvar VideoTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(VideoTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {VideoTrack[]} [tracks=[]]\n * A list of `VideoTrack` to instantiate the list with.\n */\n function VideoTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'selectedIndex', {\n get: function get() {\n for (var _i = 0; _i < this.length; _i++) {\n if (this[_i].selected) {\n return _i;\n }\n }\n\n return -1;\n },\n set: function set() {}\n });\n return _this;\n }\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param {VideoTrack} track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = VideoTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.selected) {\n disableOthers(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.selectedChange_ = function () {\n if (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('selectedchange', track.selectedChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.selectedChange_) {\n rtrack.removeEventListener('selectedchange', rtrack.selectedChange_);\n rtrack.selectedChange_ = null;\n }\n };\n\n return VideoTrackList;\n}(TrackList);\n\n/**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\n\nvar TextTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(TextTrackList, _TrackList);\n\n function TextTrackList() {\n return _TrackList.apply(this, arguments) || this;\n }\n\n var _proto = TextTrackList.prototype;\n\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param {TextTrack} track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n _proto.addTrack = function addTrack(track) {\n var _this = this;\n\n _TrackList.prototype.addTrack.call(this, track);\n\n if (!this.queueChange_) {\n this.queueChange_ = function () {\n return _this.queueTrigger('change');\n };\n }\n\n if (!this.triggerSelectedlanguagechange) {\n this.triggerSelectedlanguagechange_ = function () {\n return _this.trigger('selectedlanguagechange');\n };\n }\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('modechange', this.queueChange_);\n var nonLanguageTextTrackKind = ['metadata', 'chapters'];\n\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack); // manually remove the event handlers we added\n\n\n if (rtrack.removeEventListener) {\n if (this.queueChange_) {\n rtrack.removeEventListener('modechange', this.queueChange_);\n }\n\n if (this.selectedlanguagechange_) {\n rtrack.removeEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n };\n\n return TextTrackList;\n}(TrackList);\n\n/**\n * @file html-track-element-list.js\n */\n\n/**\n * The current list of {@link HtmlTrackElement}s.\n */\nvar HtmlTrackElementList = /*#__PURE__*/function () {\n /**\n * Create an instance of this class.\n *\n * @param {HtmlTrackElement[]} [tracks=[]]\n * A list of `HtmlTrackElement` to instantiate the list with.\n */\n function HtmlTrackElementList(trackElements) {\n if (trackElements === void 0) {\n trackElements = [];\n }\n\n this.trackElements_ = [];\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.trackElements_.length;\n }\n });\n\n for (var i = 0, length = trackElements.length; i < length; i++) {\n this.addTrackElement_(trackElements[i]);\n }\n }\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n\n\n var _proto = HtmlTrackElementList.prototype;\n\n _proto.addTrackElement_ = function addTrackElement_(trackElement) {\n var index = this.trackElements_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.trackElements_[index];\n }\n });\n } // Do not add duplicate elements\n\n\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n }\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n ;\n\n _proto.getTrackElementByTrack_ = function getTrackElementByTrack_(track) {\n var trackElement_;\n\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (track === this.trackElements_[i].track) {\n trackElement_ = this.trackElements_[i];\n break;\n }\n }\n\n return trackElement_;\n }\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n ;\n\n _proto.removeTrackElement_ = function removeTrackElement_(trackElement) {\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n if (this.trackElements_[i].track && typeof this.trackElements_[i].track.off === 'function') {\n this.trackElements_[i].track.off();\n }\n\n if (typeof this.trackElements_[i].off === 'function') {\n this.trackElements_[i].off();\n }\n\n this.trackElements_.splice(i, 1);\n break;\n }\n }\n };\n\n return HtmlTrackElementList;\n}();\n\n/**\n * @file text-track-cue-list.js\n */\n\n/**\n * @typedef {Object} TextTrackCueList~TextTrackCue\n *\n * @property {string} id\n * The unique id for this text track cue\n *\n * @property {number} startTime\n * The start time for this text track cue\n *\n * @property {number} endTime\n * The end time for this text track cue\n *\n * @property {boolean} pauseOnExit\n * Pause when the end time is reached if true.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}\n */\n\n/**\n * A List of TextTrackCues.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}\n */\nvar TextTrackCueList = /*#__PURE__*/function () {\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n function TextTrackCueList(cues) {\n TextTrackCueList.prototype.setCues_.call(this, cues);\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.length_;\n }\n });\n }\n /**\n * A setter for cues in this list. Creates getters\n * an an index for the cues.\n *\n * @param {Array} cues\n * An array of cues to set\n *\n * @private\n */\n\n\n var _proto = TextTrackCueList.prototype;\n\n _proto.setCues_ = function setCues_(cues) {\n var oldLength = this.length || 0;\n var i = 0;\n var l = cues.length;\n this.cues_ = cues;\n this.length_ = cues.length;\n\n var defineProp = function defineProp(index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get: function get() {\n return this.cues_[index];\n }\n });\n }\n };\n\n if (oldLength < l) {\n i = oldLength;\n\n for (; i < l; i++) {\n defineProp.call(this, i);\n }\n }\n }\n /**\n * Get a `TextTrackCue` that is currently in the `TextTrackCueList` by id.\n *\n * @param {string} id\n * The id of the cue that should be searched for.\n *\n * @return {TextTrackCueList~TextTrackCue|null}\n * A single cue or null if none was found.\n */\n ;\n\n _proto.getCueById = function getCueById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var cue = this[i];\n\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n\n return result;\n };\n\n return TextTrackCueList;\n}();\n\n/**\n * @file track-kinds.js\n */\n\n/**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\nvar VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n};\n/**\n * All possible `AudioTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-audiotrack-kind\n * @typedef AudioTrack~Kind\n * @enum\n */\n\nvar AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n};\n/**\n * All possible `TextTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-texttrack-kind\n * @typedef TextTrack~Kind\n * @enum\n */\n\nvar TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n};\n/**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\n\nvar TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n};\n\n/**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\n\nvar Track = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(Track, _EventTarget);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid kind for the track type you are creating.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @abstract\n */\n function Track(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n language: options.language || ''\n };\n var label = options.label || '';\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} language\n * The two letter language code for this track. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n\n var _loop = function _loop(key) {\n Object.defineProperty(_assertThisInitialized(_this), key, {\n get: function get() {\n return trackProps[key];\n },\n set: function set() {}\n });\n };\n\n for (var key in trackProps) {\n _loop(key);\n }\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. Cannot be changed after creation.\n * @instance\n *\n * @fires Track#labelchange\n */\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'label', {\n get: function get() {\n return label;\n },\n set: function set(newLabel) {\n if (newLabel !== label) {\n label = newLabel;\n /**\n * An event that fires when label changes on this track.\n *\n * > Note: This is not part of the spec!\n *\n * @event Track#labelchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('labelchange');\n }\n }\n });\n return _this;\n }\n\n return Track;\n}(EventTarget$2);\n\n/**\n * @file url.js\n * @module url\n */\n/**\n * @typedef {Object} url:URLObject\n *\n * @property {string} protocol\n * The protocol of the url that was parsed.\n *\n * @property {string} hostname\n * The hostname of the url that was parsed.\n *\n * @property {string} port\n * The port of the url that was parsed.\n *\n * @property {string} pathname\n * The pathname of the url that was parsed.\n *\n * @property {string} search\n * The search query of the url that was parsed.\n *\n * @property {string} hash\n * The hash of the url that was parsed.\n *\n * @property {string} host\n * The host of the url that was parsed.\n */\n\n/**\n * Resolve and parse the elements of a URL.\n *\n * @function\n * @param {String} url\n * The url to parse\n *\n * @return {url:URLObject}\n * An object of url details\n */\n\nvar parseUrl = function parseUrl(url) {\n // This entire method can be replace with URL once we are able to drop IE11\n var props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host']; // add the url to an anchor and let the browser parse the URL\n\n var a = document.createElement('a');\n a.href = url; // Copy the specific URL properties to a new object\n // This is also needed for IE because the anchor loses its\n // properties when it's removed from the dom\n\n var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n } // IE adds the port to the host property unlike everyone else. If\n // a port identifier is added for standard ports, strip it.\n\n\n if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n\n if (!details.protocol) {\n details.protocol = window$1.location.protocol;\n }\n /* istanbul ignore if */\n\n\n if (!details.host) {\n details.host = window$1.location.host;\n }\n\n return details;\n};\n/**\n * Get absolute version of relative URL. Used to tell Flash the correct URL.\n *\n * @function\n * @param {string} url\n * URL to make absolute\n *\n * @return {string}\n * Absolute URL\n *\n * @see http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue\n */\n\nvar getAbsoluteURL = function getAbsoluteURL(url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Convert to absolute URL. Flash hosted off-site needs an absolute URL.\n // add the url to an anchor and let the browser parse the URL\n var a = document.createElement('a');\n a.href = url;\n url = a.href;\n }\n\n return url;\n};\n/**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @function\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @return {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\n\nvar getFileExtension = function getFileExtension(path) {\n if (typeof path === 'string') {\n var splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/;\n var pathParts = splitPathRe.exec(path);\n\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n\n return '';\n};\n/**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @function\n * @param {string} url\n * The url to check.\n *\n * @param {Object} [winLoc]\n * the domain to check the url against, defaults to window.location\n *\n * @param {string} [winLoc.protocol]\n * The window location protocol defaults to window.location.protocol\n *\n * @param {string} [winLoc.host]\n * The window location host defaults to window.location.host\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\n\nvar isCrossOrigin = function isCrossOrigin(url, winLoc) {\n if (winLoc === void 0) {\n winLoc = window$1.location;\n }\n\n var urlInfo = parseUrl(url); // IE8 protocol relative urls will return ':' for protocol\n\n var srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol; // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n\n var crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n return crossOrigin;\n};\n\nvar Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\n});\n\n/**\n * Takes a webvtt file contents and parses it into cues\n *\n * @param {string} srcContent\n * webVTT file contents\n *\n * @param {TextTrack} track\n * TextTrack to add cues to. Cues come from the srcContent.\n *\n * @private\n */\n\nvar parseCues = function parseCues(srcContent, track) {\n var parser = new window$1.WebVTT.Parser(window$1, window$1.vttjs, window$1.WebVTT.StringDecoder());\n var errors = [];\n\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n\n parser.parse(srcContent);\n\n if (errors.length > 0) {\n if (window$1.console && window$1.console.groupCollapsed) {\n window$1.console.groupCollapsed(\"Text Track parsing errors for \" + track.src);\n }\n\n errors.forEach(function (error) {\n return log$1.error(error);\n });\n\n if (window$1.console && window$1.console.groupEnd) {\n window$1.console.groupEnd();\n }\n }\n\n parser.flush();\n};\n/**\n * Load a `TextTrack` from a specified url.\n *\n * @param {string} src\n * Url to load track from.\n *\n * @param {TextTrack} track\n * Track to add cues to. Comes from the content at the end of `url`.\n *\n * @private\n */\n\n\nvar loadTrack = function loadTrack(src, track) {\n var opts = {\n uri: src\n };\n var crossOrigin = isCrossOrigin(src);\n\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n\n var withCredentials = track.tech_.crossOrigin() === 'use-credentials';\n\n if (withCredentials) {\n opts.withCredentials = withCredentials;\n }\n\n XHR(opts, bind(this, function (err, response, responseBody) {\n if (err) {\n return log$1.error(err, response);\n }\n\n track.loaded_ = true; // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n\n if (typeof window$1.WebVTT !== 'function') {\n if (track.tech_) {\n // to prevent use before define eslint error, we define loadHandler\n // as a let here\n track.tech_.any(['vttjsloaded', 'vttjserror'], function (event) {\n if (event.type === 'vttjserror') {\n log$1.error(\"vttjs failed to load, stopping trying to process \" + track.src);\n return;\n }\n\n return parseCues(responseBody, track);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n};\n/**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\n\n\nvar TextTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(TextTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this TextTrack.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n function TextTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n\n var settings = mergeOptions$3(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n var mode = TextTrackMode[settings.mode] || 'disabled';\n var default_ = settings[\"default\"];\n\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n\n _this = _Track.call(this, settings) || this;\n _this.tech_ = settings.tech;\n _this.cues_ = [];\n _this.activeCues_ = [];\n _this.preload_ = _this.tech_.preloadTextTracks !== false;\n var cues = new TextTrackCueList(_this.cues_);\n var activeCues = new TextTrackCueList(_this.activeCues_);\n var changed = false;\n _this.timeupdateHandler = bind(_assertThisInitialized(_this), function (event) {\n if (event === void 0) {\n event = {};\n }\n\n if (this.tech_.isDisposed()) {\n return;\n }\n\n if (!this.tech_.isReady_) {\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n\n return;\n } // Accessing this.activeCues for the side-effects of updating itself\n // due to its nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n\n\n this.activeCues = this.activeCues;\n\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n });\n\n var disposeHandler = function disposeHandler() {\n _this.stopTracking();\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.startTracking();\n }\n\n Object.defineProperties(_assertThisInitialized(_this), {\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n \"default\": {\n get: function get() {\n return default_;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n mode: {\n get: function get() {\n return mode;\n },\n set: function set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n\n if (mode === newMode) {\n return;\n }\n\n mode = newMode;\n\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n\n this.stopTracking();\n\n if (mode !== 'disabled') {\n this.startTracking();\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('modechange');\n }\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n cues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n activeCues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n } // nothing to do\n\n\n if (this.cues.length === 0) {\n return activeCues;\n }\n\n var ct = this.tech_.currentTime();\n var active = [];\n\n for (var i = 0, l = this.cues.length; i < l; i++) {\n var cue = this.cues[i];\n\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n } else if (cue.startTime === cue.endTime && cue.startTime <= ct && cue.startTime + 0.5 >= ct) {\n active.push(cue);\n }\n }\n\n changed = false;\n\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (var _i = 0; _i < active.length; _i++) {\n if (this.activeCues_.indexOf(active[_i]) === -1) {\n changed = true;\n }\n }\n }\n\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n return activeCues;\n },\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set: function set() {}\n }\n });\n\n if (settings.src) {\n _this.src = settings.src;\n\n if (!_this.preload_) {\n // Tracks will load on-demand.\n // Act like we're loaded for other purposes.\n _this.loaded_ = true;\n }\n\n if (_this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(_this.src, _assertThisInitialized(_this));\n }\n } else {\n _this.loaded_ = true;\n }\n\n return _this;\n }\n\n var _proto = TextTrack.prototype;\n\n _proto.startTracking = function startTracking() {\n // More precise cues based on requestVideoFrameCallback with a requestAnimationFram fallback\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler); // Also listen to timeupdate in case rVFC/rAF stops (window in background, audio in video el)\n\n this.tech_.on('timeupdate', this.timeupdateHandler);\n };\n\n _proto.stopTracking = function stopTracking() {\n if (this.rvf_) {\n this.tech_.cancelVideoFrameCallback(this.rvf_);\n this.rvf_ = undefined;\n }\n\n this.tech_.off('timeupdate', this.timeupdateHandler);\n }\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n ;\n\n _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window$1.vttjs && !(originalCue instanceof window$1.vttjs.VTTCue)) {\n cue = new window$1.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n\n for (var prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n } // make sure that `id` is copied over\n\n\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n\n var tracks = this.tech_.textTracks();\n\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\n }\n /**\n * Remove a cue from our internal list\n *\n * @param {TextTrack~Cue} removeCue\n * The cue to remove from our internal list\n */\n ;\n\n _proto.removeCue = function removeCue(_removeCue) {\n var i = this.cues_.length;\n\n while (i--) {\n var cue = this.cues_[i];\n\n if (cue === _removeCue || cue.originalCue_ && cue.originalCue_ === _removeCue) {\n this.cues_.splice(i, 1);\n this.cues.setCues_(this.cues_);\n break;\n }\n }\n };\n\n return TextTrack;\n}(Track);\n/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n\n\nTextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n};\n\n/**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n\nvar AudioTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(AudioTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {AudioTrack~Kind} [options.kind='']\n * A valid audio track kind\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.enabled]\n * If this track is the one that is currently playing. If this track is part of\n * an {@link AudioTrackList}, only one {@link AudioTrack} will be enabled.\n */\n function AudioTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var enabled = false;\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'enabled', {\n get: function get() {\n return enabled;\n },\n set: function set(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n\n enabled = newEnabled;\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('enabledchange');\n }\n }); // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n\n if (settings.enabled) {\n _this.enabled = settings.enabled;\n }\n\n _this.loaded_ = true;\n return _this;\n }\n\n return AudioTrack;\n}(Track);\n\n/**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\n\nvar VideoTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(VideoTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid {@link VideoTrack~Kind}\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.selected]\n * If this track is the one that is currently playing.\n */\n function VideoTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var selected = false;\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'selected', {\n get: function get() {\n return selected;\n },\n set: function set(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n\n selected = newSelected;\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {EventTarget~Event}\n */\n\n this.trigger('selectedchange');\n }\n }); // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n\n if (settings.selected) {\n _this.selected = settings.selected;\n }\n\n return _this;\n }\n\n return VideoTrack;\n}(Track);\n\n/**\n * @memberof HTMLTrackElement\n * @typedef {HTMLTrackElement~ReadyState}\n * @enum {number}\n */\n\nvar NONE = 0;\nvar LOADING = 1;\nvar LOADED = 2;\nvar ERROR = 3;\n/**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\n\nvar HTMLTrackElement = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(HTMLTrackElement, _EventTarget);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this HTMLTrackElement.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n function HTMLTrackElement(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var readyState;\n var track = new TextTrack(options);\n _this.kind = track.kind;\n _this.src = track.src;\n _this.srclang = track.language;\n _this.label = track.label;\n _this[\"default\"] = track[\"default\"];\n Object.defineProperties(_assertThisInitialized(_this), {\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n readyState: {\n get: function get() {\n return readyState;\n }\n },\n\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n track: {\n get: function get() {\n return track;\n }\n }\n });\n readyState = NONE;\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n\n track.addEventListener('loadeddata', function () {\n readyState = LOADED;\n\n _this.trigger({\n type: 'load',\n target: _assertThisInitialized(_this)\n });\n });\n return _this;\n }\n\n return HTMLTrackElement;\n}(EventTarget$2);\n\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\nHTMLTrackElement.NONE = NONE;\nHTMLTrackElement.LOADING = LOADING;\nHTMLTrackElement.LOADED = LOADED;\nHTMLTrackElement.ERROR = ERROR;\n\n/*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\nvar NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n};\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + \"Tracks\";\n NORMAL[type].privateName = type + \"Tracks_\";\n});\nvar REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n};\n\nvar ALL = _extends({}, NORMAL, REMOTE);\n\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n/**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} Tech~SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n/**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\n\nfunction createTrackHelper(self, kind, label, language, options) {\n if (options === void 0) {\n options = {};\n }\n\n var tracks = self.textTracks();\n options.kind = kind;\n\n if (label) {\n options.label = label;\n }\n\n if (language) {\n options.language = language;\n }\n\n options.tech = self;\n var track = new ALL.text.TrackClass(options);\n tracks.addTrack(track);\n return track;\n}\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link HTML5}\n *\n * @extends Component\n */\n\n\nvar Tech = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tech, _Component);\n\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Component~ReadyCallback} ready\n * Callback function to call when the `HTML5` Tech is ready.\n */\n function Tech(options, ready) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (ready === void 0) {\n ready = function ready() {};\n }\n\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n _this = _Component.call(this, null, options, ready) || this;\n\n _this.onDurationChange_ = function (e) {\n return _this.onDurationChange(e);\n };\n\n _this.trackProgress_ = function (e) {\n return _this.trackProgress(e);\n };\n\n _this.trackCurrentTime_ = function (e) {\n return _this.trackCurrentTime(e);\n };\n\n _this.stopTrackingCurrentTime_ = function (e) {\n return _this.stopTrackingCurrentTime(e);\n };\n\n _this.disposeSourceHandler_ = function (e) {\n return _this.disposeSourceHandler(e);\n };\n\n _this.queuedHanders_ = new Set(); // keep track of whether the current source has played at all to\n // implement a very limited played()\n\n _this.hasStarted_ = false;\n\n _this.on('playing', function () {\n this.hasStarted_ = true;\n });\n\n _this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n\n ALL.names.forEach(function (name) {\n var props = ALL[name];\n\n if (options && options[props.getterName]) {\n _this[props.privateName] = options[props.getterName];\n }\n }); // Manually track progress in cases where the browser/tech doesn't report it.\n\n if (!_this.featuresProgressEvents) {\n _this.manualProgressOn();\n } // Manually track timeupdates in cases where the browser/tech doesn't report it.\n\n\n if (!_this.featuresTimeupdateEvents) {\n _this.manualTimeUpdatesOn();\n }\n\n ['Text', 'Audio', 'Video'].forEach(function (track) {\n if (options[\"native\" + track + \"Tracks\"] === false) {\n _this[\"featuresNative\" + track + \"Tracks\"] = false;\n }\n });\n\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n _this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n _this.featuresNativeTextTracks = true;\n }\n\n if (!_this.featuresNativeTextTracks) {\n _this.emulateTextTracks();\n }\n\n _this.preloadTextTracks = options.preloadTextTracks !== false;\n _this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n\n _this.initTrackListeners(); // Turn on component tap events only if not using native controls\n\n\n if (!options.nativeControlsForTouch) {\n _this.emitTapEvents();\n }\n\n if (_this.constructor) {\n _this.name_ = _this.constructor.name || 'Unknown Tech';\n }\n\n return _this;\n }\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n\n\n var _proto = Tech.prototype;\n\n _proto.triggerSourceset = function triggerSourceset(src) {\n var _this2 = this;\n\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', function () {\n return _this2.setTimeout(function () {\n return _this2.triggerSourceset(src);\n }, 1);\n });\n }\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {EventTarget~Event}\n */\n\n\n this.trigger({\n src: src,\n type: 'sourceset'\n });\n }\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n ;\n\n _proto.manualProgressOn = function manualProgressOn() {\n this.on('durationchange', this.onDurationChange_);\n this.manualProgress = true; // Trigger progress watching when a source begins loading\n\n this.one('ready', this.trackProgress_);\n }\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n ;\n\n _proto.manualProgressOff = function manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n this.off('durationchange', this.onDurationChange_);\n }\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {EventTarget~Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n ;\n\n _proto.trackProgress = function trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n var numBufferedPercent = this.bufferedPercent();\n\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {EventTarget~Event}\n */\n this.trigger('progress');\n }\n\n this.bufferedPercent_ = numBufferedPercent;\n\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n }\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {EventTarget~Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n ;\n\n _proto.onDurationChange = function onDurationChange(event) {\n this.duration_ = this.duration();\n }\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n ;\n\n _proto.buffered = function buffered() {\n return createTimeRanges(0, 0);\n }\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n ;\n\n _proto.bufferedPercent = function bufferedPercent$1() {\n return bufferedPercent(this.buffered(), this.duration_);\n }\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n ;\n\n _proto.stopTrackingProgress = function stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n }\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n ;\n\n _proto.manualTimeUpdatesOn = function manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n this.on('play', this.trackCurrentTime_);\n this.on('pause', this.stopTrackingCurrentTime_);\n }\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n ;\n\n _proto.manualTimeUpdatesOff = function manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime_);\n this.off('pause', this.stopTrackingCurrentTime_);\n }\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n ;\n\n _proto.trackCurrentTime = function trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n }); // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n }\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n ;\n\n _proto.stopTrackingCurrentTime = function stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval); // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n ;\n\n _proto.dispose = function dispose() {\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names); // Turn off any manual progress or timeupdate tracking\n\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n\n _Component.prototype.dispose.call(this);\n }\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n ;\n\n _proto.clearTracks = function clearTracks(types) {\n var _this3 = this;\n\n types = [].concat(types); // clear out all tracks because we can't reuse them between techs\n\n types.forEach(function (type) {\n var list = _this3[type + \"Tracks\"]() || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n if (type === 'text') {\n _this3.removeRemoteTextTrack(track);\n }\n\n list.removeTrack(track);\n }\n });\n }\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n ;\n\n _proto.cleanupAutoTextTracks = function cleanupAutoTextTracks() {\n var list = this.autoRemoteTextTracks_ || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n this.removeRemoteTextTrack(track);\n }\n }\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n ;\n\n _proto.reset = function reset() {}\n /**\n * Get the value of `crossOrigin` from the tech.\n *\n * @abstract\n *\n * @see {Html5#crossOrigin}\n */\n ;\n\n _proto.crossOrigin = function crossOrigin() {}\n /**\n * Set the value of `crossOrigin` on the tech.\n *\n * @abstract\n *\n * @param {string} crossOrigin the crossOrigin value\n * @see {Html5#setCrossOrigin}\n */\n ;\n\n _proto.setCrossOrigin = function setCrossOrigin() {}\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n ;\n\n _proto.error = function error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n\n return this.error_;\n }\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks whether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n ;\n\n _proto.played = function played() {\n if (this.hasStarted_) {\n return createTimeRanges(0, 0);\n }\n\n return createTimeRanges();\n }\n /**\n * Start playback\n *\n * @abstract\n *\n * @see {Html5#play}\n */\n ;\n\n _proto.play = function play() {}\n /**\n * Set whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#setScrubbing}\n */\n ;\n\n _proto.setScrubbing = function setScrubbing() {}\n /**\n * Get whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#scrubbing}\n */\n ;\n\n _proto.scrubbing = function scrubbing() {}\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @fires Tech#timeupdate\n */\n ;\n\n _proto.setCurrentTime = function setCurrentTime() {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n }\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n ;\n\n _proto.initTrackListeners = function initTrackListeners() {\n var _this4 = this;\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {EventTarget~Event}\n */\n NORMAL.names.forEach(function (name) {\n var props = NORMAL[name];\n\n var trackListChanges = function trackListChanges() {\n _this4.trigger(name + \"trackchange\");\n };\n\n var tracks = _this4[props.getterName]();\n\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n\n _this4.on('dispose', function () {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n }\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n ;\n\n _proto.addWebVttScript_ = function addWebVttScript_() {\n var _this5 = this;\n\n if (window$1.WebVTT) {\n return;\n } // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n\n\n if (document.body.contains(this.el())) {\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n } // load vtt.js via the script location option or the cdn of no location was\n // passed in\n\n\n var script = document.createElement('script');\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js';\n\n script.onload = function () {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjsloaded');\n };\n\n script.onerror = function () {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjserror');\n };\n\n this.on('dispose', function () {\n script.onload = null;\n script.onerror = null;\n }); // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n\n window$1.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n }\n /**\n * Emulate texttracks\n *\n */\n ;\n\n _proto.emulateTextTracks = function emulateTextTracks() {\n var _this6 = this;\n\n var tracks = this.textTracks();\n var remoteTracks = this.remoteTextTracks();\n\n var handleAddTrack = function handleAddTrack(e) {\n return tracks.addTrack(e.track);\n };\n\n var handleRemoveTrack = function handleRemoveTrack(e) {\n return tracks.removeTrack(e.track);\n };\n\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n this.addWebVttScript_();\n\n var updateDisplay = function updateDisplay() {\n return _this6.trigger('texttrackchange');\n };\n\n var textTracksChanges = function textTracksChanges() {\n updateDisplay();\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n }\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n ;\n\n _proto.addTextTrack = function addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n\n return createTrackHelper(this, kind, label, language);\n }\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n ;\n\n _proto.createRemoteTextTrack = function createRemoteTextTrack(options) {\n var track = mergeOptions$3(options, {\n tech: this\n });\n return new REMOTE.remoteTextEl.TrackClass(track);\n }\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=true]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n * @deprecated The default functionality for this function will be equivalent\n * to \"manualCleanup=false\" in the future. The manualCleanup parameter will\n * also be removed.\n */\n ;\n\n _proto.addRemoteTextTrack = function addRemoteTextTrack(options, manualCleanup) {\n var _this7 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var htmlTrackElement = this.createRemoteTextTrack(options);\n\n if (manualCleanup !== true && manualCleanup !== false) {\n // deprecation warning\n log$1.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js');\n manualCleanup = true;\n } // store HTMLTrackElement and TextTrack to remote list\n\n\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n\n if (manualCleanup !== true) {\n // create the TextTrackList if it doesn't exist\n this.ready(function () {\n return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track);\n });\n }\n\n return htmlTrackElement;\n }\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n ;\n\n _proto.removeRemoteTextTrack = function removeRemoteTextTrack(track) {\n var trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track); // remove HTMLTrackElement and TextTrack from remote list\n\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n }\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n ;\n\n _proto.getVideoPlaybackQuality = function getVideoPlaybackQuality() {\n return {};\n }\n /**\n * Attempt to create a floating video window always on top of other windows\n * so that users may continue consuming media while they interact with other\n * content sites, or applications on their device.\n *\n * @see [Spec]{@link https://wicg.github.io/picture-in-picture}\n *\n * @return {Promise|undefined}\n * A promise with a Picture-in-Picture window if the browser supports\n * Promises (or one was passed in as an option). It returns undefined\n * otherwise.\n *\n * @abstract\n */\n ;\n\n _proto.requestPictureInPicture = function requestPictureInPicture() {\n var PromiseClass = this.options_.Promise || window$1.Promise;\n\n if (PromiseClass) {\n return PromiseClass.reject();\n }\n }\n /**\n * A method to check for the value of the 'disablePictureInPicture'