PageSourceSearch

https://www.nokianuutiset.fi/_next/static/chunks/0fd601ce.5f320233e06908fa.js

js nokianuutiset.fi collected 2026-10-02 08:13:40 UTC 1,396,800 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7642],{12974:(__unused_webpack_module,exports,__webpack_require__)=>{!function(){var innerGlobal="u">typeof window?window:__webpack_require__.g,exportTo={};for(var k in(function(window,global,module){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.arrayIteratorImpl=function(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}},$jscomp.arrayIterator=function(e){return{next:$jscomp.arrayIteratorImpl(e)}},$jscomp.ASSUME_ES5=!1,$jscomp.ASSUME_NO_NATIVE_MAP=!1,$jscomp.ASSUME_NO_NATIVE_SET=!1,$jscomp.SIMPLE_FROUND_POLYFILL=!1,$jscomp.ISOLATE_POLYFILLS=!1,$jscomp.FORCE_POLYFILL_PROMISE=!1,$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,r){return e==Array.prototype||e==Object.prototype||(e[t]=r.value),e},$jscomp.getGlobal=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")},$jscomp.global=$jscomp.getGlobal(this),$jscomp.IS_SYMBOL_NATIVE="function"==typeof Symbol&&"symbol"==typeof Symbol("x"),$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE,$jscomp.polyfills={},$jscomp.propertyToPolyfillSymbol={},$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(e,t,r){if(!r||null!=e)return null==(r=$jscomp.propertyToPolyfillSymbol[t])?e[t]:void 0!==(r=e[r])?r:e[t]};$jscomp.polyfill=function(e,t,r,i){t&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(e,t,r,i):$jscomp.polyfillUnisolated(e,t,r,i))},$jscomp.polyfillUnisolated=function(e,t,r,i){for(r=$jscomp.global,e=e.split("."),i=0;i<e.length-1;i++){var n=e[i];if(!(n in r))return;r=r[n]}(t=t(i=r[e=e[e.length-1]]))!=i&&null!=t&&$jscomp.defineProperty(r,e,{configurable:!0,writable:!0,value:t})},$jscomp.polyfillIsolated=function(e,t,r,i){var n=e.split(".");e=1===n.length,i=n[0],i=!e&&i in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var a=0;a<n.length-1;a++){var o=n[a];if(!(o in i))return;i=i[o]}n=n[n.length-1],null!=(t=t(r=$jscomp.IS_SYMBOL_NATIVE&&"es6"===r?i[n]:null))&&(e?$jscomp.defineProperty($jscomp.polyfills,n,{configurable:!0,writable:!0,value:t}):t!==r&&(void 0===$jscomp.propertyToPolyfillSymbol[n]&&(r=1e9*Math.random()>>>0,$jscomp.propertyToPolyfillSymbol[n]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(n):$jscomp.POLYFILL_PREFIX+r+"$"+n),$jscomp.defineProperty(i,$jscomp.propertyToPolyfillSymbol[n],{configurable:!0,writable:!0,value:t})))},$jscomp.initSymbol=function(){},$jscomp.polyfill("Symbol",function(e){if(e)return e;var t=function(e,t){this.$jscomp$symbol$id_=e,$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:t})};t.prototype.toString=function(){return this.$jscomp$symbol$id_};var r="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0,n=function(e){if(this instanceof n)throw TypeError("Symbol is not a constructor");return new t(r+(e||"")+"_"+i++,e)};return n},"es6","es3"),$jscomp.polyfill("Symbol.iterator",function(e){if(e)return e;e=Symbol("Symbol.iterator");for(var t="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<t.length;r++){var i=$jscomp.global[t[r]];"function"==typeof i&&"function"!=typeof i.prototype[e]&&$jscomp.defineProperty(i.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return e},"es6","es3"),$jscomp.iteratorPrototype=function(e){return(e={next:e})[Symbol.iterator]=function(){return this},e},$jscomp.createTemplateTagFirstArg=function(e){return e.raw=e},$jscomp.createTemplateTagFirstArgWithRaw=function(e,t){return e.raw=t,e},$jscomp.makeIterator=function(e){var t="u">typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if(t)return t.call(e);if("number"==typeof e.length)return $jscomp.arrayIterator(e);throw Error(String(e)+" is not an iterable or ArrayLike")},$jscomp.arrayFromIterator=function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r},$jscomp.arrayFromIterable=function(e){return e instanceof Array?e:$jscomp.arrayFromIterator($jscomp.makeIterator(e))},$jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(e){var t=function(){};return t.prototype=e,new t},$jscomp.getConstructImplementation=function(){function e(){function e(){}return new e,Reflect.construct(e,[],function(){}),new e instanceof e}if($jscomp.TRUST_ES6_POLYFILLS&&"u">typeof Reflect&&Reflect.construct){if(e())return Reflect.construct;var t=Reflect.construct;return function(e,r,i){return e=t(e,r),i&&Reflect.setPrototypeOf(e,i.prototype),e}}return function(e,t,r){return void 0===r&&(r=e),r=$jscomp.objectCreate(r.prototype||Ob
vendor: 5,926 bytes, line 1
1ject.prototype),Function.prototype.apply.call(e,r,t)||r}},$jscomp.construct=({valueOf:$jscomp.getConstructImplementation}).valueOf(),$jscomp.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch(e){}return!1},$jscomp.setPrototypeOf=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw TypeError(e+" is not extensible");return e}:null,$jscomp.inherits=function(e,t){if(e.prototype=$jscomp.objectCreate(t.prototype),e.prototype.constructor=e,$jscomp.setPrototypeOf){var r=$jscomp.setPrototypeOf;r(e,t)}else for(r in t)if("prototype"!=r)if(Object.defineProperties){var i=Object.getOwnPropertyDescriptor(t,r);i&&Object.defineProperty(e,r,i)}else e[r]=t[r];e.superClass_=t.prototype},$jscomp.generator={},$jscomp.generator.ensureIteratorResultIsObject_=function(e){if(!(e instanceof Object))throw TypeError("Iterator result "+e+" is not an object")},$jscomp.generator.Context=function(){this.isRunning_=!1,this.yieldAllIterator_=null,this.yieldResult=void 0,this.nextAddress=1,this.finallyAddress_=this.catchAddress_=0,this.finallyContexts_=this.abruptCompletion_=null},$jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw TypeError("Generator is already running");this.isRunning_=!0},$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=!1},$jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_},$jscomp.generator.Context.prototype.next_=function(e){this.yieldResult=e},$jscomp.generator.Context.prototype.throw_=function(e){this.abruptCompletion_={exception:e,isException:!0},this.jumpToErrorHandler_()},$jscomp.generator.Context.prototype.return=function(e){this.abruptCompletion_={return:e},this.nextAddress=this.finallyAddress_},$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(e){this.abruptCompletion_={jumpTo:e},this.nextAddress=this.finallyAddress_},$jscomp.generator.Context.prototype.yield=function(e,t){return this.nextAddress=t,{value:e}},$jscomp.generator.Context.prototype.yieldAll=function(e,t){var r=(e=$jscomp.makeIterator(e)).next();if($jscomp.generator.ensureIteratorResultIsObject_(r),!r.done)return this.yieldAllIterator_=e,this.yield(r.value,t);this.yieldResult=r.value,this.nextAddress=t},$jscomp.generator.Context.prototype.jumpTo=function(e){this.nextAddress=e},$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0},$jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(e,t){this.catchAddress_=e,void 0!=t&&(this.finallyAddress_=t)},$jscomp.generator.Context.prototype.setFinallyBlock=function(e){this.catchAddress_=0,this.finallyAddress_=e||0},$jscomp.generator.Context.prototype.leaveTryBlock=function(e,t){this.nextAddress=e,this.catchAddress_=t||0},$jscomp.generator.Context.prototype.enterCatchBlock=function(e){return this.catchAddress_=e||0,e=this.abruptCompletion_.exception,this.abruptCompletion_=null,e},$jscomp.generator.Context.prototype.enterFinallyBlock=function(e,t,r){r?this.finallyContexts_[r]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_],this.catchAddress_=e||0,this.finallyAddress_=t||0},$jscomp.generator.Context.prototype.leaveFinallyBlock=function(e,t){if(t=this.finallyContexts_.splice(t||0)[0],t=this.abruptCompletion_=this.abruptCompletion_||t){if(t.isException)return this.jumpToErrorHandler_();void 0!=t.jumpTo&&this.finallyAddress_<t.jumpTo?(this.nextAddress=t.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=e},$jscomp.generator.Context.prototype.forIn=function(e){return new $jscomp.generator.Context.PropertyIterator(e)},$jscomp.generator.Context.PropertyIterator=function(e){for(var t in this.object_=e,this.properties_=[],e)this.properties_.push(t);this.properties_.reverse()},$jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){for(;0<this.properties_.length;){var e=this.properties_.pop();if(e in this.object_)return e}return null},$jscomp.generator.Engine_=function(e){this.context_=new $jscomp.generator.Context,this.program_=e},$jscomp.generator.Engine_.prototype.next_=function(e){return(this.context_.start_(),this.context_.yieldAllIterator_)?this.yieldAllStep_(this.context_.yieldAllIterator_.next,e,this.context_.next_):(this.context_.next_(e),this.nextStep_())},$jscomp.generator.Engine_.prototype.return_=function(e){this.context_.start_();var t=this.context_.yieldAllIterator_;return t?this.yieldAllStep_("return"in t?t.return:function(e){return{value:e,done:!0}},e,this.context_.return):(this.context_.return(e),this.nextStep_())},$jscomp.generator.Engine_.prototype.throw_=function(e){return(this.context_.start_(),this.context_.yieldAllIterator_)?this.yieldAllStep_(this.context_.yieldAllIterator_.throw,e,this.context_.next_):(this.context_.throw_(e),this.nextStep_())},$jscomp.generator.Engine_.prototype.yieldAllStep_=function(e,t,r){try{var i=e.call(this.context_.yieldAllIterator_,t);if($jscomp.generator.ensureIteratorResultIsObject_(i),!i.done)return this.context_.stop_(),i;var n=i.value}catch(e){return this.context_.yieldAllIterator_=null,this.context_.throw_(e),this.nextStep_()}return this.context_.yieldAllIterator_=null,r.call(this.context_,n),this.nextStep_()},$jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var e=this.program_(this.context_);if(e)return this.context_.stop_(),{value:e.value,done:!1}}catch(e){this.context_.yieldResult=void 0,this.context_.throw_(e)}if(this.context_.stop_(),this.context_.abruptCompletion_){if(e=this.context_.abruptCompletion_,this.context_.abruptCompletion_=null,e.isException)throw e.exception;return{value:e.return,done:!0}}return{value:void 0,done:!0}},$jscomp.generator.Generator_=function(e){this.next=function(t){return e.next_(t)}
1,this.throw=function(t){return e.throw_(t)},this.return=function(t){return e.return_(t)},this[Symbol.iterator]=function(){return this}},$jscomp.generator.createGenerator=function(e,t){return t=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(t)),$jscomp.setPrototypeOf&&e.prototype&&$jscomp.setPrototypeOf(t,e.prototype),t},$jscomp.asyncExecutePromiseGenerator=function(e){function t(t){return e.next(t)}function r(t){return e.throw(t)}return new Promise(function(i,n){function a(e){e.done?i(e.value):Promise.resolve(e.value).then(t,r).then(a,n)}a(e.next())})},$jscomp.asyncExecutePromiseGeneratorFunction=function(e){return $jscomp.asyncExecutePromiseGenerator(e())},$jscomp.asyncExecutePromiseGeneratorProgram=function(e){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(e)))},$jscomp.getRestArguments=function(){for(var e=Number(this),t=[],r=e;r<arguments.length;r++)t[r-e]=arguments[r];return t},$jscomp.polyfill("Reflect",function(e){return e||{}},"es6","es3"),$jscomp.polyfill("Reflect.construct",function(e){return $jscomp.construct},"es6","es3"),$jscomp.polyfill("Reflect.setPrototypeOf",function(e){if(e)return e;if($jscomp.setPrototypeOf){var t=$jscomp.setPrototypeOf;return function(e,r){try{return t(e,r),!0}catch(e){return!1}}}return null},"es6","es5"),$jscomp.polyfill("Promise",function(e){function t(){this.batch_=null}function r(e){return e instanceof n?e:new n(function(t,r){t(e)})}if(e&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&void 0===$jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return e;t.prototype.asyncExecute=function(e){if(null==this.batch_){this.batch_=[];var t=this;this.asyncExecuteFunction(function(){t.executeBatch_()})}this.batch_.push(e)};var i=$jscomp.global.setTimeout;t.prototype.asyncExecuteFunction=function(e){i(e,0)},t.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var e=this.batch_;this.batch_=[];for(var t=0;t<e.length;++t){var r=e[t];e[t]=null;try{r()}catch(e){this.asyncThrow_(e)}}}this.batch_=null},t.prototype.asyncThrow_=function(e){this.asyncExecuteFunction(function(){throw e})};var n=function(e){this.state_=0,this.result_=void 0,this.onSettledCallbacks_=[],this.isRejectionHandled_=!1;var t=this.createResolveAndReject_();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}};n.prototype.createResolveAndReject_=function(){function e(e){return function(i){r||(r=!0,e.call(t,i))}}var t=this,r=!1;return{resolve:e(this.resolveTo_),reject:e(this.reject_)}},n.prototype.resolveTo_=function(e){if(e===this)this.reject_(TypeError("A Promise cannot resolve to itself"));else if(e instanceof n)this.settleSameAsPromise_(e);else{switch(typeof e){case"object":var t=null!=e;break;case"function":t=!0;break;default:t=!1}t?this.resolveToNonPromiseObj_(e):this.fulfill_(e)}},n.prototype.resolveToNonPromiseObj_=function(e){var t=void 0;try{t=e.then}catch(e){this.reject_(e);return}"function"==typeof t?this.settleSameAsThenable_(t,e):this.fulfill_(e)},n.prototype.reject_=function(e){this.settle_(2,e)},n.prototype.fulfill_=function(e){this.settle_(1,e)},n.prototype.settle_=function(e,t){if(0!=this.state_)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.state_);this.state_=e,this.result_=t,2===this.state_&&this.scheduleUnhandledRejectionCheck_(),this.executeOnSettledCallbacks_()},n.prototype.scheduleUnhandledRejectionCheck_=function(){var e=this;i(function(){if(e.notifyUnhandledRejection_()){var t=$jscomp.global.console;void 0!==t&&t.error(e.result_)}},1)},n.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var e=$jscomp.global.CustomEvent,t=$jscomp.global.Event,r=$jscomp.global.dispatchEvent;return void 0===r||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=$jscomp.global.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.result_,r(e))},n.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var e=0;e<this.onSettledCallbacks_.length;++e)a.asyncExecute(this.onSettledCallbacks_[e]);this.onSettledCallbacks_=null}};var a=new t;return n.prototype.settleSameAsPromise_=function(e){var t=this.createResolveAndReject_();e.callWhenSettled_(t.resolve,t.reject)},n.prototype.settleSameAsThenable_=function(e,t){var r=this.createResolveAndReject_();try{e.call(t,r.resolve,r.reject)}catch(e){r.reject(e)}},n.prototype.then=function(e,t){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){a(e)}}:t}var i,a,o=new n(function(e,t){i=e,a=t});return this.callWhenSettled_(r(e,i),r(t,a)),o},n.prototype.catch=function(e){return this.then(void 0,e)},n.prototype.callWhenSettled_=function(e,t){function r(){switch(i.state_){case 1:e(i.result_);break;case 2:t(i.result_);break;default:throw Error("Unexpected state: "+i.state_)}}var i=this;null==this.onSettledCallbacks_?a.asyncExecute(r):this.onSettledCallbacks_.push(r),this.isRejectionHandled_=!0},n.resolve=r,n.reject=function(e){return new n(function(t,r){r(e)})},n.race=function(e){return new n(function(t,i){for(var n=$jscomp.makeIterator(e),a=n.next();!a.done;a=n.next())r(a.value).callWhenSettled_(t,i)})},n.all=function(e){var t=$jscomp.makeIterator(e),i=t.next();return i.done?r([]):new n(function(e,n){function a(t){return function(r){o[t]=r,0==--s&&e(o)}}var o=[],s=0;do o.push(void 0),s++,r(i.value).callWhenSettled_(a(o.length-1),n),i=t.next();while(!i.done)})},n},"es6","es3"),$jscomp.checkEs6ConformanceViaProxy=function(){try{var e={},t=Object.create(new $jscomp.global.Proxy(e,{get:function(r,i,n){return r==e&&"q"==i&&n==t}}));return!0===t.q}catch(e){return!1}},$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1,$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy(),$jscomp.owns=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},$jscomp.polyfill("WeakMap",function(e){function t(){if(!e||!Object.seal)return!1;try{var t=Object.seal({}),r=Object.seal({}),i=new e([[t,2],[r,3]]);if(2!=i.get(t)||3!=i.get(r))return!1;return i.delete(t),i.set(r,4),!i.has(t)&&4==i.get(r)}catch(e){return!1}}function r(){}function i(e){var t=typeof e;return"object"===t&&null!==e||"function"===t}function n(e){if(!$jscomp.owns(e,o)){var t=new r;$jscomp.defineProperty(e,o,{value:t})}}function a(e){if(!$jscomp.ISOLATE_POLYFILLS){var t=Object[e];t&&(Object[e]=function(e){return e instanceof r?e:(Object.isExtensible(e)&&n(e),t(e))})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(e&&$jscomp.ES6_CONFORMANCE)return e}else if(t())return e;var o="$jscomp_hidden_"+Math.random();a("freeze"),a("preventExtensions"),a("seal");var s=0,l=function(e){if(this.id_=(s+=Math.random()+1).toString(),e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)t=t.value,this.set(t[0],t[1])}};return l.prototype.set=function(e,t){if(!i(e))throw Error("Invalid WeakMap key");if(n(e),!$jscomp.owns(e,o))throw Error("WeakMap key fail: "+e);return e[o][this.id_]=t,this},l.prototype.get=function(e){return i(e)&&$jscomp.owns(e,o)?e[o][this.id_]:void 0},l.prototype.has=function(e){return i(e)&&$jscomp.owns(e,o)&&$jscomp.owns(e[o],this.id_)},l.prototype.delete=function(e){return!!(i(e)&&$jscomp.owns(e,o)&&$jscomp.owns(e[o],this.id_))&&delete e[o][this.id_]},l},"es6","es3"),$jscomp.MapEntry=function(){},$jscomp.polyfill("Map",function(e){function t(){if($jscomp.ASSUME_NO_NATIVE_MAP||!e||"function"!=typeof e||!e.prototype.entries||"function"!=typeof Object.seal)return!1;try{var t=Object.seal({x:4}),r=new e($jscomp.makeIterator([[t,"s"]]));if("s"!=r.get(t)||1!=r.size||r.get({x:4})||r.set({x:4},"t")!=r||2!=r.size)return!1;var i=r.entries(),n=i.next();if(n.done||n.value[0]!=t||"s"!=n.value[1])return!1;return!(n=i.next()).done&&4==n.value[0].x&&"t"==n.value[1]&&!!i.next().done}catch(e){return!1}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(e&&$jscomp.ES6_CONFORMANCE)return e}else if(t())return e;var r=new WeakMap,i=function(e){if(this[0]={},this[1]=o(),this.size=0,e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)t=t.value,this.set(t[0],t[1])}};i.prototype.set=function(e,t){var r=n(this,e=0===e?0:e);return r.list||(r.list=this[0][r.id]=[]),r.entry?r.entry.value=t:(r.entry={next:this[1],previous:this[1].previous,head:this[1],key:e,value:t},r.list.push(r.entry),this[1].previous.next=r.entry,this[1].previous=r.entry,this.size++),this},i.prototype.delete=function(e){return!!(e=n(this,e)).entry&&!!e.list&&(e.list.splice(e.index,1),e.list.length||delete this[0][e.id],e.entry.previous.next=e.entry.next,e.entry.next.previous=e.entry.previous,e.entry.head=null,this.size--,!0)},i.prototype.clear=function(){this[0]={},this[1]=this[1].previous=o(),this.size=0},i.prototype.has=function(e){return!!n(this,e).entry},i.prototype.get=function(e){return(e=n(this,e).entry)&&e.value},i.prototype.entries=function(){return a(this,function(e){return[e.key,e.value]})},i.prototype.keys=function(){return a(this,function(e){return e.key})},i.prototype.values=function(){return a(this,function(e){return e.value})},i.prototype.forEach=function(e,t){for(var r,i=this.entries();!(r=i.next()).done;)r=r.value,e.call(t,r[1],r[0],this)},i.prototype[Symbol.iterator]=i.prototype.entries;var n=function(e,t){var i=t&&typeof t;"object"==i||"function"==i?r.has(t)?i=r.get(t):(i=""+ ++s,r.set(t,i)):i="p_"+t;var n=e[0][i];if(n&&$jscomp.owns(e[0],i))for(e=0;e<n.length;e++){var a=n[e];if(t!=t&&a.key!=a.key||t===a.key)return{id:i,list:n,index:e,entry:a}}return{id:i,list:n,index:-1,entry:void 0}},a=function(e,t){var r=e[1];return $jscomp.iteratorPrototype(function(){if(r){for(;r.head!=e[1];)r=r.previous;for(;r.next!=r.head;)return{done:!1,value:t(r=r.next)};r=null}return{done:!0,value:void 0}})},o=function(){var e={};return e.previous=e.next=e.head=e},s=0;return i},"es6","es3"),$jscomp.polyfill("Set",function(e){function t(){if($jscomp.ASSUME_NO_NATIVE_SET||!e||"function"!=typeof e||!e.prototype.entries||"function"!=typeof Object.seal)return!1;try{var t=Object.seal({x:4}),r=new e($jscomp.makeIterator([t]));if(!r.has(t)||1!=r.size||r.add(t)!=r||1!=r.size||r.add({x:4})!=r||2!=r.size)return!1;var i=r.entries(),n=i.next();if(n.done||n.value[0]!=t||n.value[1]!=t)return!1;return!(n=i.next()).done&&n.value[0]!=t&&4==n.value[0].x&&n.value[1]==n.value[0]&&i.next().done}catch(e){return!1}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(e&&$jscomp.ES6_CONFORMANCE)return e}else if(t())return e;var r=function(e){if(this.map_=new Map,e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)this.add(t.value)}this.size=this.map_.size};return r.prototype.add=function(e){return e=0===e?0:e,this.map_.set(e,e),this.size=this.map_.size,this},r.prototype.delete=function(e){return e=this.map_.delete(e),this.size=this.map_.size,e},r.prototype.clear=function(){this.map_.clear(),this.size=0},r.prototype.has=function(e){return this.map_.has(e)},r.prototype.entries=function(){return this.map_.entries()},r.prototype.values=function(){return this.map_.values()},r.prototype.keys=r.prototype.values,r.prototype[Symbol.iterator]=r.prototype.values,r.prototype.forEach=function(e,t){var r=this;this.map_.forEach(function(i){return e.call(t,i,i,r)})},r},"es6","es3"),$jscomp.iteratorFromArray=function(e,t){e instanceof String&&(e+="");var r=0,i=!1,n={next:function(){if(!i&&r<e.length){var n=r++;return{value:t(n,e[n]),done:!1}}return i=!0,{done:!0,value:void 0}}};return n[Symbol.iterator]=function(){return n},n},$jscomp.polyfill("Array.prototype.values",function(e){return e||function(){return $jscomp.iteratorFromArray(this,function(e,t){return t})}},"es8","es3"),$jscomp.polyfill("Array.from",function(e){return e||function(e,t,r){t=null!=t?t:function(e){return e};var i=[],n="u">typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];if("function"==typeof n){e=n.call(e);for(var a=0;!(n=e.next()).done;)i.push(t.call(r,n.value,a++))}else for(n=e.length,a=0;a<n;a++)i.push(t.call(r,e[a],a));return i}},"es6","es3"),$jscomp.polyfill("Array.prototype.keys",function(e){return e||function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6","es3"),$jscomp.findInternal=function(e,t,r){e instanceof String&&(e=String(e));for(var i=e.length,n=0;n<i;n++){var a=e[n];if(t.call(r,a,n,e))return{i:n,v:a}}return{i:-1,v:void 0}},$jscomp.polyfill("Array.prototype.findIndex",function(e){return e||function(e,t){return $jscomp.findInternal(this,e,t).i}},"es6","es3"),$jscomp.checkStringArgs=function(e,t,r){if(null==e)throw TypeError("The 'this' value for String.prototype."+r
1+" must not be null or undefined");if(t instanceof RegExp)throw TypeError("First argument to String.prototype."+r+" must not be a regular expression");return e+""},$jscomp.polyfill("String.prototype.startsWith",function(e){return e||function(e,t){var r=$jscomp.checkStringArgs(this,e,"startsWith");e+="";var i=r.length,n=e.length;t=Math.max(0,Math.min(0|t,r.length));for(var a=0;a<n&&t<i;)if(r[t++]!=e[a++])return!1;return a>=n}},"es6","es3"),$jscomp.polyfill("Object.is",function(e){return e||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},"es6","es3"),$jscomp.polyfill("Array.prototype.includes",function(e){return e||function(e,t){var r=this;r instanceof String&&(r=String(r));var i=r.length;for(0>(t=t||0)&&(t=Math.max(t+i,0));t<i;t++){var n=r[t];if(n===e||Object.is(n,e))return!0}return!1}},"es7","es3"),$jscomp.polyfill("String.prototype.includes",function(e){return e||function(e,t){return -1!==$jscomp.checkStringArgs(this,e,"includes").indexOf(e,t||0)}},"es6","es3"),$jscomp.polyfill("String.fromCodePoint",function(e){return e||function(e){for(var t="",r=0;r<arguments.length;r++){var i=Number(arguments[r]);if(0>i||1114111<i||i!==Math.floor(i))throw RangeError("invalid_code_point "+i);65535>=i?t+=String.fromCharCode(i):(i-=65536,t+=String.fromCharCode(i>>>10&1023|55296),t+=String.fromCharCode(1023&i|56320))}return t}},"es6","es3"),$jscomp.polyfill("WeakSet",function(e){function t(){if(!e||!Object.seal)return!1;try{var t=Object.seal({}),r=Object.seal({}),i=new e([t]);if(!i.has(t)||i.has(r))return!1;return i.delete(t),i.add(r),!i.has(t)&&i.has(r)}catch(e){return!1}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(e&&$jscomp.ES6_CONFORMANCE)return e}else if(t())return e;var r=function(e){if(this.map_=new WeakMap,e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)this.add(t.value)}};return r.prototype.add=function(e){return this.map_.set(e,!0),this},r.prototype.has=function(e){return this.map_.has(e)},r.prototype.delete=function(e){return this.map_.delete(e)},r},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(e){return e||function(e,t){return $jscomp.findInternal(this,e,t).v}},"es6","es3"),$jscomp.polyfill("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)$jscomp.owns(e,t)&&r.push([t,e[t]]);return r}},"es8","es3"),$jscomp.assign=$jscomp.TRUST_ES6_POLYFILLS&&"function"==typeof Object.assign?Object.assign:function(e,t){for(var r=1;r<arguments.length;r++){var i=arguments[r];if(i)for(var n in i)$jscomp.owns(i,n)&&(e[n]=i[n])}return e},$jscomp.polyfill("Object.assign",function(e){return e||$jscomp.assign},"es6","es3"),$jscomp.polyfill("Promise.prototype.finally",function(e){return e||function(e){return this.then(function(t){return Promise.resolve(e()).then(function(){return t})},function(t){return Promise.resolve(e()).then(function(){throw t})})}},"es9","es3"),$jscomp.polyfill("Array.prototype.entries",function(e){return e||function(){return $jscomp.iteratorFromArray(this,function(e,t){return[e,t]})}},"es6","es3"),$jscomp.polyfill("Number.isNaN",function(e){return e||function(e){return"number"==typeof e&&isNaN(e)}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(e){return e||function(e){var t=$jscomp.checkStringArgs(this,null,"repeat");if(0>e||0x4fffffff<e)throw RangeError("Invalid count value");e|=0;for(var r="";e;)1&e&&(r+=t),(e>>>=1)&&(t+=t);return r}},"es6","es3"),$jscomp.polyfill("Number.EPSILON",function(e){return 2220446049250313e-31},"es6","es3"),$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 0x1fffffffffffff},"es6","es3"),$jscomp.polyfill("Number.isFinite",function(e){return e||function(e){return"number"==typeof e&&!isNaN(e)&&1/0!==e&&-1/0!==e}},"es6","es3"),$jscomp.polyfill("Object.values",function(e){return e||function(e){var t,r=[];for(t in e)$jscomp.owns(e,t)&&r.push(e[t]);return r}},"es8","es3"),$jscomp.polyfill("Math.log2",function(e){return e||function(e){return Math.log(e)/Math.LN2}},"es6","es3"),$jscomp.polyfill("String.prototype.endsWith",function(e){return e||function(e,t){var r=$jscomp.checkStringArgs(this,e,"endsWith");e+="",void 0===t&&(t=r.length),t=Math.max(0,Math.min(0|t,r.length));for(var i=e.length;0<i&&0<t;)if(r[--t]!=e[--i])return!1;return 0>=i}},"es6","es3"),$jscomp.polyfill("Math.trunc",function(e){return e||function(e){if(isNaN(e=Number(e))||1/0===e||-1/0===e||0===e)return e;var t=Math.floor(Math.abs(e));return 0>e?-t:t}},"es6","es3");var COMPILED=!0,goog=goog||{};if(goog.global=this||self,goog.exportPath_=function(e,t,r,i){e=e.split("."),i=i||goog.global,e[0]in i||void 0===i.execScript||i.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)if(e.length||void 0===t)i=i[n]&&i[n]!==Object.prototype[n]?i[n]:i[n]={};else if(!r&&goog.isObject(t)&&goog.isObject(i[n]))for(var a in t)t.hasOwnProperty(a)&&(i[n][a]=t[a]);else i[n]=t},goog.define=function(e,t){if(!COMPILED){var r=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;r&&void 0===r.nodeType&&Object.prototype.hasOwnProperty.call(r,e)?t=r[e]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,e)&&(t=i[e])}return t},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.getLocale=function(){return goog.LOCALE},goog.TRUSTED_SITE=!0,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t,r){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var i=e;(i=i.substring(0,i.lastIndexOf(".")))&&!goog.getObjectByName(i);)goog.implicitNamespaces_[i]=!0}goog.exportPath_(e,t,r)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}
1$/,goog.getScriptNonce_=function(e){return(e=(e=(e||goog.global).document).querySelector&&e.querySelector("script[nonce]"))&&(e=e.nonce||e.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(e)?e:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if("string"!=typeof e||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED){if(e in goog.loadedModules_)return goog.loadedModules_[e].exports;if(!goog.implicitNamespaces_[e])return null!=(e=goog.getObjectByName(e))?e:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var e=goog.global.$jscomp;return!!e&&"function"==typeof e.getCurrentModulePath&&!!e.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(e){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(e in goog.loadedModules_)throw Error('Module with namespace "'+e+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=e;else{var t=goog.global.$jscomp;if(!t||"function"!=typeof t.getCurrentModulePath)throw Error('Module with namespace "'+e+'" has been loaded incorrectly.');t=t.require(t.getCurrentModulePath()),goog.loadedModules_[e]={exports:t,type:goog.ModuleType.ES6,moduleId:e}}},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw Error("Importing test-only code into non-debug environment"+((e=e||"")?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&null!=goog.getObjectByName(e)},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){e=e.split("."),t=t||goog.global;for(var r=0;r<e.length;r++)if(null==(t=t[e[r]]))return null;return t},goog.addDependency=function(e,t,r,i){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(e,t,r,i)},goog.ENABLE_DEBUG_LOADER=!1,goog.logToConsole_=function(e){goog.global.console&&goog.global.console.error(e)},goog.require=function(e){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(e),goog.isProvided_(e)){if(goog.isInModuleLoader_())return goog.module.getInternal_(e)}else if(goog.ENABLE_DEBUG_LOADER){var t=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(e)}finally{goog.moduleLoaderState_=t}}return null}},goog.requireType=function(e){return{}},goog.basePath="",goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(e){e.instance_=void 0,e.getInstance=function(){return e.instance_?e.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=e),e.instance_=ne
vendor: 5,576 bytes, line 1
1w e)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRUSTED_TYPES_POLICY_NAME="goog",goog.hasBadLetScoping=null,goog.loadModule=function(e){var t=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};var r={},i=r;if("function"==typeof e)i=e.call(void 0,i);else if("string"==typeof e)i=goog.loadModuleFromSource_.call(void 0,i,e);else throw Error("Invalid module definition");var n=goog.moduleLoaderState_.moduleName;if("string"==typeof n&&n)goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(n,i,r!==i):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof i&&null!=i&&Object.seal(i),goog.loadedModules_[n]={exports:i,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};else throw Error('Invalid module name "'+n+'"')}finally{goog.moduleLoaderState_=t}},goog.loadModuleFromSource_=function(a,b){return eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b)),a},goog.normalizePath_=function(e){e=e.split("/");for(var t=0;t<e.length;)"."==e[t]?e.splice(t,1):t&&".."==e[t]&&e[t-1]&&".."!=e[t-1]?e.splice(--t,2):t++;return e.join("/")},goog.loadFileSync_=function(e){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(e);try{var t=new goog.global.XMLHttpRequest;return t.open("get",e,!1),t.send(),0==t.status||200==t.status?t.responseText:null}catch(e){return null}},goog.typeOf=function(e){var t=typeof e;return"object"!=t?t:e?Array.isArray(e)?"array":t:"null"},goog.isArrayLike=function(e){var t=goog.typeOf(e);return"array"==t||"object"==t&&"number"==typeof e.length},goog.isDateLike=function(e){return goog.isObject(e)&&"function"==typeof e.getFullYear},goog.isObject=function(e){var t=typeof e;return"object"==t&&null!=e||"function"==t},goog.getUid=function(e){return Object.prototype.hasOwnProperty.call(e,goog.UID_PROPERTY_)&&e[goog.UID_PROPERTY_]||(e[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(e){return!!e[goog.UID_PROPERTY_]},goog.removeUid=function(e){null!==e&&"removeAttribute"in e&&e.removeAttribute(goog.UID_PROPERTY_);try{delete e[goog.UID_PROPERTY_]}catch(e){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if("function"==typeof e.clone)return e.clone();if("u">typeof Map&&e instanceof Map)return new Map(e);if("u">typeof Set&&e instanceof Set)return new Set(e);for(var r in t="array"==t?[]:{},e)t[r]=goog.cloneObject(e[r]);return t}return e},goog.bindNative_=function(e,t,r){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,r){if(!e)throw Error();if(2<arguments.length){var i=Array.prototype.slice.call(arguments,2);return function(){var r=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(r,i),e.apply(t,r)}}return function(){return e.apply(t,arguments)}},goog.bind=function(e,t,r){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(e,t){var r=Array.prototype.slice.call(arguments,1);return function(){var t=r.slice();return t.push.apply(t,arguments),e.apply(this,t)}},goog.now=function(){return Date.now()},goog.globalEval=function(e){(0,eval)(e)},goog.getCssName=function(e,t){if("."==String(e).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+e);var r=function(e){return goog.cssNameMapping_[e]||e},i=function(e){e=e.split("-");for(var t=[],i=0;i<e.length;i++)t.push(r(e[i]));return t.join("-")};return i=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?r:i:function(e){return e},e=t?e+"-"+i(t):i(e),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(e):e},goog.setCssNameMapping=function(e,t){goog.cssNameMapping_=e,goog.cssNameMappingStyle_=t},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.GetMsgOptions=function(){},goog.getMsg=function(e,t,r){return r&&r.html&&(e=e.replace(/</g,"&lt;")),r&&r.unescapeHtmlEntities&&(e=e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&amp;/g,"&")),t&&(e=e.replace(/\{\$([^}]+)}/g,function(e,r){return null!=t&&r in t?t[r]:e})),e},goog.getMsgWithFallback=function(e,t){return e},goog.exportSymbol=function(e,t,r){goog.exportPath_(e,t,!0,r)},goog.exportProperty=function(e,t,r){e[t]=r},goog.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.superClass_=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.base=function(e,r,i){for(var n=Array(arguments.length-2),a=2;a<arguments.length;a++)n[a-2]=arguments[a];return t.prototype[r].apply(e,n)}},goog.scope=function(e){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");e.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(e,t){var r=t.constructor,i=t.statics;return r&&r!=Object.prototype.constructor||(r=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),r=goog.defineClass.createSealingConstructor_(r,e),e&&goog.inherits(r,e),delete t.constructor,delete t.statics,goog.defineClass.applyProperties_(r.prototype,t),null!=i&&(i instanceof Function?i(r):goog.defineClass.applyProperties_(r,i)),r}
1,goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(e,t){return goog.defineClass.SEAL_CLASS_INSTANCES?function(){var t=e.apply(this,arguments)||this;return t[goog.UID_PROPERTY_]=t[goog.UID_PROPERTY_],t}:e},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);for(var i=0;i<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;i++)r=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i],Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},goog.identity_=function(e){return e},goog.createTrustedTypesPolicy=function(e){var t=null,r=goog.global.trustedTypes;if(!r||!r.createPolicy)return t;try{t=r.createPolicy(e,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_})}catch(e){goog.logToConsole_(e.message)}return t},!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.isEdge_=function(){return!!(goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"").match(/Edge\/(\d+)(\.\d)*/i)},goog.inHtmlDocument_=function(){var e=goog.global.document;return null!=e&&"write"in e},goog.isDocumentLoading_=function(){var e=goog.global.document;return e.attachEvent?"complete"!=e.readyState:"loading"==e.readyState},goog.findBasePath_=function(){if(void 0!=goog.global.CLOSURE_BASE_PATH&&"string"==typeof goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var e=goog.global.document,t=e.currentScript;for(t=(e=t?[t]:e.getElementsByTagName("SCRIPT")).length-1;0<=t;--t){var r=e[t].src,i=r.lastIndexOf("?");if(i=-1==i?r.length:i,"base.js"==r.slice(i-7,i)){goog.basePath=r.slice(0,i-7);break}}}},goog.findBasePath_(),goog.protectScriptTag_=function(e){return e.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory,this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(e,t){function r(){i&&(goog.global.setTimeout(i,0),i=null)}var i=t;if(e.length){t=[];for(var n=0;n<e.length;n++){var a=this.getPathFromDeps_(e[n]);if(!a)throw Error("Unregonized namespace: "+e[n]);t.push(this.dependencies_[a])}a=goog.require;var o=0;for(n=0;n<e.length;n++)a(e[n]),t[n].onLoad(function(){++o==e.length&&r()})}else r()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{})),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(e,t){(e=this.getPathFromDeps_(e))&&(t||this.areDepsLoaded_(this.dependencies_[e].requires))&&(t=this.deferredCallbacks_[e])&&(delete this.deferredCallbacks_[e],t())},goog.DebugLoader_.prototype.setDependencyFactory=function(e){this.factory_=e},goog.DebugLoader_.prototype.load_=function(e){if(this.getPathFromDeps_(e)){var t=this,r=[],i=function(e){var n=t.getPathFromDeps_(e);if(!n)throw Error("Bad dependency path or symbol: "+e);if(!t.written_[n]){for(t.written_[n]=!0,e=t.dependencies_[n],n=0;n<e.requires.length;n++)goog.isProvided_(e.requires[n])||i(e.requires[n]);r.push(e)}};i(e),e=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(r),this.paused_||e||this.loadDeps_()}else goog.logToConsole_("goog.require could not find: "+e)},goog.DebugLoader_.prototype.loadDeps_=function(){for(var e=this,t=this.paused_;this.depsToLoad_.length&&!t;)!function(){var r=!1,i=e.depsToLoad_.shift(),n=!1;e.loading_(i);var a={pause:function(){if(r)throw Error("Cannot call pause after the call to load.");t=!0},resume:function(){r?e.resume_():t=!1},loaded:function(){if(n)throw Error("Double call to loaded.");n=!0,e.loaded_(i)},pending:function(){for(var t=[],r=0;r<e.loadingDeps_.length;r++)t.push(e.loadingDeps_[r]);return t},setModuleState:function(e){goog.moduleLoaderState_={type:e,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(e,t,r){r&&(goog.loadedModules_[r]={exports:t,type:goog.ModuleType.ES6,moduleId:r||""})},registerGoogModuleExports:function(e,t){goog.loadedModules_[e]={exports:t,type:goog.ModuleType.GOOG,moduleId:e}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(t){if(r)throw Error("Cannot register with defer after the call to load.");e.defer_(i,t)},areDepsLoaded:function(){return e.areDepsLoaded_(i.requires)}};try{i.load(a)}finally{r=!0}}();t&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(e){this.loadingDeps_.push(e)},goog.DebugLoader_.prototype.loaded_=function(e){for(var t=0;t<this.loadingDeps_.length;t++)if(this.loadingDeps_[t]==e){this.loadingDeps_.splice(t,1);break}for(t=0;t<this.deferredQueue_.length;t++)if(this.deferredQueue_[t]==e.path){this.deferredQueue_.splice(t,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);e.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(e){for(var t=0;t<e.length;t++){var r=this.getPathFromDeps_(e[t]);if(!r||!(r in this.deferredCallbacks_||goog.isProvided_(e[t])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(e){return e in this.idToPath_?this.idToPath_[e]:e in this.dependencies_?e:null},goog.DebugLoader_.prototype.defer_=function(e,t){this.deferredCallbacks_[e.path]=t,this.deferredQueue_.push(e.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(e,t,r){},goog.LoadController.prototype.setModuleState=function(e){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(e){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(e,t,r,i,n){this.path=e,this.relativePath=t,this.provides=r,this.requires=i,this.loadFlags=n,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var e=this.path,t=e.indexOf("://");return 0<=t&&0<=(t=(e=e.substring(t+3)).indexOf("/"))&&(e=e.substring(t+1)),e},goog.Dependency.prototype.onLoad=function(e){this.loaded_?e():this.loadCallbacks_.push(e)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var e=this.loadCallbacks_;this.loadCallbacks_=[];for(var t=0;t<e.length;t++)e[t]()}
1,goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(e){var t=Math.random().toString(32);return goog.Dependency.callbackMap_[t]=e,t},goog.Dependency.unregisterCallback_=function(e){delete goog.Dependency.callbackMap_[e]},goog.Dependency.callback_=function(e,t){if(e in goog.Dependency.callbackMap_){for(var r=goog.Dependency.callbackMap_[e],i=[],n=1;n<arguments.length;n++)i.push(arguments[n]);r.apply(void 0,i)}else throw Error("Callback key "+e+" does not exist (was base.js loaded more than once?).")},goog.Dependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document;if("complete"==t.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path))return void e.loaded();throw Error('Cannot write "'+this.path+'" after document load')}var r=goog.getScriptNonce_();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var i=function(t){t.readyState&&"complete"!=t.readyState?t.onload=i:(goog.Dependency.unregisterCallback_(n),e.loaded())},n=goog.Dependency.registerCallback_(i);r=r?' nonce="'+r+'"':"";var a='<script src="'+this.path+'"'+r+(goog.Dependency.defer_?" defer":"")+' id="script-'+n+'"><\/script>';a+="<script"+r+">",a=(goog.Dependency.defer_?a+("document.getElementById('script-"+n+"').onload = function() {\n  goog.Dependency.callback_('")+n+"', this);\n};\n":a+("goog.Dependency.callback_('"+n+"', document.getElementById('script-")+n+"'));")+"<\/script>",t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(a):a)}else{var o=t.createElement("script");o.defer=goog.Dependency.defer_,o.async=!1,r&&(o.nonce=r),o.onload=function(){o.onload=null,e.loaded()},o.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,t.head.appendChild(o)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),e.loaded()):e.pause()},goog.Es6ModuleDependency=function(e,t,r,i,n){goog.Dependency.call(this,e,t,r,i,n)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(e){function t(e,t){var r="",n=goog.getScriptNonce_();n&&(r=' nonce="'+n+'"'),e=t?'<script type="module" crossorigin'+r+">"+t+"<\/script>":'<script type="module" crossorigin src="'+e+'"'+r+"><\/script>",i.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(e):e)}function r(e,t){var r=i.createElement("script");r.defer=!0,r.async=!1,r.type="module",r.setAttribute("crossorigin",!0);var n=goog.getScriptNonce_();n&&(r.nonce=n),t?r.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(t):t:r.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(e):e,i.head.appendChild(r)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var i=goog.global.document,n=this;if(goog.isDocumentLoading_()){var a=t;goog.Dependency.defer_=!0}else a=r;var o=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(o),e.setModuleState(goog.ModuleType.ES6)});a(void 0,'goog.Dependency.callback_("'+o+'")'),a(this.path,void 0);var s=goog.Dependency.registerCallback_(function(t){goog.Dependency.unregisterCallback_(s),e.registerEs6ModuleExports(n.path,t,goog.moduleLoaderState_.moduleName)});a(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+s+'", m)');var l=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(l),e.clearModuleState(),e.loaded()});a(void 0,'goog.Dependency.callback_("'+l+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),e.pause()},goog.TransformedDependency=function(e,t,r,i,n){goog.Dependency.call(this,e,t,r,i,n),this.contents_=null,this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(e){function t(){n.contents_=goog.loadFileSync_(n.path),n.contents_&&(n.contents_=n.transform(n.contents_),n.contents_&&(n.contents_+="\
1n//# sourceURL="+n.path))}function r(){if(n.lazyFetch_&&t(),n.contents_){a&&e.setModuleState(goog.ModuleType.ES6);try{var r=n.contents_;if(n.contents_=null,goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(r)),a)var i=goog.moduleLoaderState_.moduleName}finally{a&&e.clearModuleState()}a&&goog.global.$jscomp.require.ensure([n.getPathName()],function(){e.registerEs6ModuleExports(n.path,goog.global.$jscomp.require(n.getPathName()),i)}),e.loaded()}}function i(){var e=goog.global.document,t=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(t),r()}),i=goog.getScriptNonce_();i="<script"+(i?' nonce="'+i+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+t+'");')+"<\/script>",e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(i):i)}var n=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)t(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,e.loaded()):e.pause();else{var a=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||t();var o=1<e.pending().length;if(goog.Dependency.defer_&&(o||goog.isDocumentLoading_()))e.defer(function(){r()});else{var s=goog.global.document;if(o=goog.inHtmlDocument_()&&("ActiveXObject"in goog.global||goog.isEdge_()),a&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!o){goog.Dependency.defer_=!0,e.pause();var l=s.onreadystatechange;s.onreadystatechange=function(){"interactive"==s.readyState&&(s.onreadystatechange=l,r(),e.resume()),"function"==typeof l&&l.apply(void 0,arguments)}}else goog.inHtmlDocument_()&&goog.isDocumentLoading_()?i():r()}}},goog.TransformedDependency.prototype.transform=function(e){},goog.PreTranspiledEs6ModuleDependency=function(e,t,r,i,n){goog.TransformedDependency.call(this,e,t,r,i,n)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(e){return e},goog.GoogModuleDependency=function(e,t,r,i,n){goog.TransformedDependency.call(this,e,t,r,i,n)},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(e){return goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(e+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+e+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.prototype.addDependency=function(e,t,r,i){t=t||[],e=e.replace(/\\/g,"/");var n=goog.normalizePath_(goog.basePath+e);for(i&&"boolean"!=typeof i||(i=i?{module:goog.ModuleType.GOOG}:{}),r=this.factory_.createDependency(n,e,t,r,i),this.dependencies_[n]=r,r=0;r<t.length;r++)this.idToPath_[t[r]]=n;this.idToPath_[e]=n},goog.DependencyFactory=function(){},goog.DependencyFactory.prototype.createDependency=function(e,t,r,i,n){return n.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(e,t,r,i,n):n.module==goog.ModuleType.ES6?goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(e,t,r,i,n):new goog.Es6ModuleDependency(e,t,r,i,n):new goog.Dependency(e,t,r,i,n)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(e){goog.debugLoader_.setDependencyFactory(e)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(e,t){goog.debugLoader_.bootstrap(e,t)}),!COMPILED){var isChrome87=!1;try{isChrome87=eval(goog.global.trustedTypes.emptyScript)!==goog.global.trustedTypes.emptyScript}catch(a){}goog.CLOSURE_EVAL_PREFILTER_=goog.global.trustedTypes&&isChrome87&&goog.createTrustedTypesPolicy("goog#base#devonly#eval")||{createScript:goog.identity_}}goog.asserts=function(){},goog.asserts.assert=function(e,t){},goog.asserts.ENABLE_ASSERTS=!0,goog.asserts.ENABLE_ASSERTS&&console.assert&&console.assert.bind&&(goog.asserts.assert=console.assert.bind(console));var shaka={abr:{}};shaka.abr.Ewma=function(e){goog.asserts.assert(0<e,"expected halfLife to be positive"),this.alpha_=Math.exp(Math.log(.5)/e),this.totalWeight_=this.estimate_=0},shaka.abr.Ewma.prototype.updateAlpha=function(e){goog.asserts.assert(0<e,"expected halfLife to be positive"),this.alpha_=Math.exp(Math.log(.5)/e)},shaka.abr.Ewma.prototype.sample=function(e,t){var r=Math.pow(this.alpha_,e);isNaN(t=t*(1-r)+r*this.estimate_)||(this.estimate_=t,this.totalWeight_+=e)},shaka.abr.Ewma.prototype.getEstimate=function(){return this.estimate_/(1-Math.pow(this.alpha_,this.totalWeight_))},shaka.abr.EwmaBandwidthEstimator=function(){this.fast_=new shaka.abr.Ewma(2),this.slow_
1=new shaka.abr.Ewma(5),this.bytesSampled_=0,this.minTotalBytes_=128e3,this.minBytes_=16e3},shaka.abr.EwmaBandwidthEstimator.prototype.configure=function(e){this.minTotalBytes_=e.minTotalBytes,this.minBytes_=e.minBytes,this.fast_.updateAlpha(e.fastHalfLife),this.slow_.updateAlpha(e.slowHalfLife)},shaka.abr.EwmaBandwidthEstimator.prototype.sample=function(e,t){if(!(t<this.minBytes_)){var r=8e3*t/e;e/=1e3,this.bytesSampled_+=t,this.fast_.sample(e,r),this.slow_.sample(e,r)}},shaka.abr.EwmaBandwidthEstimator.prototype.getBandwidthEstimate=function(e){return this.bytesSampled_<this.minTotalBytes_?e:Math.min(this.fast_.getEstimate(),this.slow_.getEstimate())},shaka.abr.EwmaBandwidthEstimator.prototype.hasGoodEstimate=function(){return this.bytesSampled_>=this.minTotalBytes_},shaka.log=function(){},shaka.log.alwaysError=function(){},shaka.log.alwaysWarn=function(){},shaka.log.warnOnce=function(e){var t=$jscomp.getRestArguments.apply(1,arguments);shaka.log.oneTimeWarningIssued_.has(e)||(shaka.log.oneTimeWarningIssued_.add(e),shaka.log.alwaysWarn.apply(shaka.log,$jscomp.arrayFromIterable(t)))},shaka.log.error=function(){},shaka.log.warning=function(){},shaka.log.info=function(){},shaka.log.debug=function(){},shaka.log.v1=function(){},shaka.log.v2=function(){},shaka.log.Level={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4,V1:5,V2:6},shaka.log.MAX_LOG_LEVEL=4,shaka.log.oneTimeWarningIssued_=new Set,window.console&&(shaka.log.logMap_=(new Map).set(shaka.log.Level.ERROR,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.error.apply(console,$jscomp.arrayFromIterable(e))}).set(shaka.log.Level.WARNING,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.warn.apply(console,$jscomp.arrayFromIterable(e))}).set(shaka.log.Level.INFO,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.info.apply(console,$jscomp.arrayFromIterable(e))}).set(shaka.log.Level.DEBUG,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.log.apply(console,$jscomp.arrayFromIterable(e))}).set(shaka.log.Level.V1,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.debug.apply(console,$jscomp.arrayFromIterable(e))}).set(shaka.log.Level.V2,function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.debug.apply(console,$jscomp.arrayFromIterable(e))}),shaka.log.alwaysWarn=function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.warn.apply(console,$jscomp.arrayFromIterable(e))},shaka.log.alwaysError=function(){var e=$jscomp.getRestArguments.apply(0,arguments);return console.error.apply(console,$jscomp.arrayFromIterable(e))},goog.DEBUG?(goog.exportSymbol("shaka.log",shaka.log),shaka.log.setLevel=function(e){var t=function(t){return t<=e?(goog.asserts.assert(shaka.log.logMap_.has(t),"Unexpected log level"),shaka.log.logMap_.get(t)):function(){}};shaka.log.currentLevel=e,shaka.log.error=t(shaka.log.Level.ERROR),shaka.log.warning=t(shaka.log.Level.WARNING),shaka.log.info=t(shaka.log.Level.INFO),shaka.log.debug=t(shaka.log.Level.DEBUG),shaka.log.v1=t(shaka.log.Level.V1),shaka.log.v2=t(shaka.log.Level.V2)},shaka.log.setLevel(shaka.log.MAX_LOG_LEVEL)):(shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.ERROR&&(shaka.log.error=shaka.log.logMap_.get(shaka.log.Level.ERROR)),shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.WARNING&&(shaka.log.warning=shaka.log.logMap_.get(shaka.log.Level.WARNING)),shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.INFO&&(shaka.log.info=shaka.log.logMap_.get(shaka.log.Level.INFO)),shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.DEBUG&&(shaka.log.debug=shaka.log.logMap_.get(shaka.log.Level.DEBUG)),shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.V1&&(shaka.log.v1=shaka.log.logMap_.get(shaka.log.Level.V1)),shaka.log.MAX_LOG_LEVEL>=shaka.log.Level.V2&&(shaka.log.v2=shaka.log.logMap_.get(shaka.log.Level.V2)))),shaka.util={},shaka.util.IReleasable=function(){},shaka.util.IReleasable.prototype.release=function(){},shaka.util.MultiMap=function(){this.map_=new Map},shaka.util.MultiMap.prototype.push=function(e,t){this.map_.has(e)?this.map_.get(e).push(t):this.map_.set(e,[t])},shaka.util.MultiMap.prototype.get=function(e){return this.map_.has(e)?this.map_.get(e).slice():null},shaka.util.MultiMap.prototype.getAll=function(){for(var e=[],t=$jscomp.makeIterator(this.map_.values()),r=t.next();!r.done;r=t.next())e.push.apply(e,$jscomp.arrayFromIterable(r.value));return e},shaka.util.MultiMap.prototype.remove=function(e,t){if(this.map_.has(e)){var r=this.map_.get(e).filter(function(e){return e!=t});this.map_.set(e,r),r.length||this.map_.delete(e)}},shaka.util.MultiMap.prototype.clear=function(){this.map_.clear()},shaka.util.MultiMap.prototype.forEach=function(e){this.map_.forEach(function(t,r){e(r,t)})},shaka.util.MultiMap.prototype.size=function(){return this.map_.size},shaka.util.MultiMap.prototype.keys=function(){return Array.from(this.map_.keys())},shaka.util.EventManager=function(){this.bindingMap_=new shaka.util.MultiMap},shaka.util.EventManager.prototype.release=function(){this.removeAll(),this.bindingMap_=null},shaka.util.EventManager.prototype.listen=function(e,t,r,i){this.bindingMap_&&(e=new shaka.util.EventManager.Binding_(e,t,r,i
1),this.bindingMap_.push(t,e))},shaka.util.EventManager.prototype.listenOnce=function(e,t,r,i){var n=this,a=function(i){n.unlisten(e,t,a),r(i)};this.listen(e,t,a,i)},shaka.util.EventManager.prototype.unlisten=function(e,t,r){if(this.bindingMap_){var i=this.bindingMap_.get(t)||[];i=$jscomp.makeIterator(i);for(var n=i.next();!n.done;n=i.next())(n=n.value).target!=e||r!=n.listener&&r||(n.unlisten(),this.bindingMap_.remove(t,n))}},shaka.util.EventManager.prototype.removeAll=function(){if(this.bindingMap_){var e=this.bindingMap_.getAll();e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())t.value.unlisten();this.bindingMap_.clear()}},goog.exportSymbol("shaka.util.EventManager",shaka.util.EventManager),goog.exportProperty(shaka.util.EventManager.prototype,"removeAll",shaka.util.EventManager.prototype.removeAll),goog.exportProperty(shaka.util.EventManager.prototype,"unlisten",shaka.util.EventManager.prototype.unlisten),goog.exportProperty(shaka.util.EventManager.prototype,"listenOnce",shaka.util.EventManager.prototype.listenOnce),goog.exportProperty(shaka.util.EventManager.prototype,"listen",shaka.util.EventManager.prototype.listen),goog.exportProperty(shaka.util.EventManager.prototype,"release",shaka.util.EventManager.prototype.release),shaka.util.EventManager.Binding_=function(e,t,r,i){this.target=e,this.type=t,this.listener=r,this.options=shaka.util.EventManager.Binding_.convertOptions_(e,i),this.target.addEventListener(t,r,this.options)},shaka.util.EventManager.Binding_.prototype.unlisten=function(){goog.asserts.assert(this.target,"Missing target"),this.target.removeEventListener(this.type,this.listener,this.options),this.listener=this.target=null,this.options=!1},shaka.util.EventManager.Binding_.convertOptions_=function(e,t){if(void 0==t)return!1;if("boolean"==typeof t)return t;var r=new Set(["passive","capture"]),i=Object.keys(t).filter(function(e){return!r.has(e)});return goog.asserts.assert(0==i.length,"Unsupported flag(s) to addEventListener: "+i.join(",")),shaka.util.EventManager.Binding_.doesSupportObject_(e)?t:t.capture||!1},shaka.util.EventManager.Binding_.doesSupportObject_=function(e){var t=shaka.util.EventManager.Binding_.supportsObject_;if(void 0==t){t=!1;try{var r={},i={get:function(){return t=!0,!1}};Object.defineProperty(r,"passive",i),Object.defineProperty(r,"capture",i),i=function(){},e.addEventListener("test",i,r),e.removeEventListener("test",i,r)}catch(e){t=!1}shaka.util.EventManager.Binding_.supportsObject_=t}return t||!1},shaka.util.EventManager.Binding_.supportsObject_=void 0,shaka.media={},shaka.media.Capabilities=function(){},shaka.media.Capabilities.isTypeSupported=function(e){var t=shaka.media.Capabilities.MediaSourceTypeSupportMap;if(t.has(e))return t.get(e);var r=window.ManagedMediaSource||window.MediaSource;return!!r&&(r=r.isTypeSupported(e),t.set(e,r),r)},shaka.media.Capabilities.isChangeTypeSupported=function(){var e=window.ManagedSourceBuffer||window.SourceBuffer;return!!e&&!!e.prototype&&!!e.prototype.changeType},shaka.media.Capabilities.isInfiniteLiveStreamDurationSupported=function(){var e=window.ManagedMediaSource||window.MediaSource;return!!e&&!!e.prototype&&!!e.prototype.setLiveSeekableRange&&!!e.prototype.clearLiveSeekableRange},shaka.media.Capabilities.MediaSourceTypeSupportMap=new Map,shaka.deprecate={},shaka.deprecate.Version=function(e,t){this.major_=e,this.minor_=t},shaka.deprecate.Version.prototype.major=function(){return this.major_},shaka.deprecate.Version.prototype.minor=function(){return this.minor_},shaka.deprecate.Version.prototype.compareTo=function(e){var t=this.minor_-e.minor_;return this.major_-e.major_||t},shaka.deprecate.Version.prototype.toString=function(){return"v"+this.major_+"."+this.minor_},shaka.deprecate.Version.parse=function(e){return e=e.substring(1).split(".",2),new shaka.deprecate.Version(Number(e[0]),Number(e[1]))},shaka.deprecate.Enforcer=function(e,t,r){this.libraryVersion_=e,this.onPending_=t,this.onExpired_=r},shaka.deprecate.Enforcer.prototype.enforce=function(e,t,r){(0<e.compareTo(this.libraryVersion_)?this.onPending_:this.onExpired_)(this.libraryVersion_,e,t,r)},shaka.Deprecate=function(){},shaka.Deprecate.init=function(e){goog.asserts.assert(null==shaka.Deprecate.enforcer_,"Deprecate.init should only be called once."),shaka.Deprecate.enforcer_=new shaka.deprecate.Enforcer(shaka.deprecate.Version.parse(e),shaka.Deprecate.onPending_,shaka.Deprecate.onExpired_)},shaka.Deprecate.deprecateFeature=function(e,t,r){var i=shaka.Deprecate.enforcer_;goog.asserts.assert(i,"Missing deprecation enforcer. Was |init| called?"),e=new shaka.deprecate.Version(e,0),i.enforce(e,t,r)},shaka.Deprecate.onPending_=function(e,t,r,i){shaka.log.alwaysWarn([r,"has been deprecated and will be removed in",t,". We are currently at version",e,". Additional information:",i].join(" "))},shaka.Deprecate.onExpired_=function(e,t,r,i){e=[r,"has been deprecated and has been removed in",t,". We are now at version",e,". Additional information:",i].join(" "),shaka.log.alwaysError(e),goog.asserts.assert(!1,e)},shaka.Deprecate.enforcer_=null,shaka.cea={},shaka.cea.DummyCaptionDecoder=function(){},shaka.cea.DummyCaptionDecoder.prototype.extract=function(e,t){},shaka.cea.DummyCaptionDecoder.prototype.decode=function(){return[]},shaka.cea.DummyCaptionDecoder.prototype.clear=function(){},shaka.cea.DummyCaptionDecoder.prototype.getStreams=function(){return[]},shaka.cea.DummyCeaParser=function(){},shaka.cea.DummyCeaParser.prototype.init=function(e){},shaka.cea.DummyCeaParser.prototype.parse=function(e){return[]},shaka.util.BufferUtils=function(){},shaka.util.BufferUtils.equal=function(e,t){var r=shaka.util.BufferUtils;if(!e&&!t)return!0;
1if(!e||!t||e.byteLength!=t.byteLength)return!1;if(r.unsafeGetArrayBuffer_(e)==r.unsafeGetArrayBuffer_(t)&&(e.byteOffset||0)==(t.byteOffset||0))return!0;r=shaka.util.BufferUtils.toUint8(e),t=shaka.util.BufferUtils.toUint8(t);for(var i=0;i<e.byteLength;i++)if(r[i]!=t[i])return!1;return!0},shaka.util.BufferUtils.unsafeGetArrayBuffer_=function(e){return ArrayBuffer.isView(e)?e.buffer:e},shaka.util.BufferUtils.toArrayBuffer=function(e){return ArrayBuffer.isView(e)?0==e.byteOffset&&e.byteLength==e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer:e},shaka.util.BufferUtils.toUint8=function(e,t,r){return r=void 0===r?1/0:r,shaka.util.BufferUtils.view_(e,void 0===t?0:t,r,Uint8Array)},shaka.util.BufferUtils.toUint16=function(e,t,r){return r=void 0===r?1/0:r,shaka.util.BufferUtils.view_(e,void 0===t?0:t,r,Uint16Array)},shaka.util.BufferUtils.toDataView=function(e,t,r){return r=void 0===r?1/0:r,shaka.util.BufferUtils.view_(e,void 0===t?0:t,r,DataView)},shaka.util.BufferUtils.view_=function(e,t,r,i){var n=shaka.util.BufferUtils.unsafeGetArrayBuffer_(e),a=1;"BYTES_PER_ELEMENT"in i&&(a=i.BYTES_PER_ELEMENT);var o=((e.byteOffset||0)+e.byteLength)/a;return new i(n,e=Math.floor(Math.max(0,Math.min(((e.byteOffset||0)+t)/a,o))),Math.floor(Math.min(e+Math.max(r,0),o))-e)},goog.exportSymbol("shaka.util.BufferUtils",shaka.util.BufferUtils),goog.exportProperty(shaka.util.BufferUtils,"toDataView",shaka.util.BufferUtils.toDataView),goog.exportProperty(shaka.util.BufferUtils,"toUint16",shaka.util.BufferUtils.toUint16),goog.exportProperty(shaka.util.BufferUtils,"toUint8",shaka.util.BufferUtils.toUint8),goog.exportProperty(shaka.util.BufferUtils,"toArrayBuffer",shaka.util.BufferUtils.toArrayBuffer),goog.exportProperty(shaka.util.BufferUtils,"equal",shaka.util.BufferUtils.equal),shaka.media.IClosedCaptionParser=function(){},shaka.media.IClosedCaptionParser.prototype.init=function(e,t){},shaka.media.IClosedCaptionParser.prototype.parseFrom=function(e){},shaka.media.IClosedCaptionParser.prototype.reset=function(){},shaka.media.IClosedCaptionParser.prototype.getStreams=function(){},goog.exportSymbol("shaka.media.IClosedCaptionParser",shaka.media.IClosedCaptionParser),shaka.media.ClosedCaptionParser=function(e){this.ceaParser_=new shaka.cea.DummyCeaParser,(e=shaka.media.ClosedCaptionParser.findParser(e.toLowerCase()))&&(this.ceaParser_=e()),this.ceaDecoder_=new shaka.cea.DummyCaptionDecoder,(e=shaka.media.ClosedCaptionParser.findDecoder())&&(this.ceaDecoder_=e())},shaka.media.ClosedCaptionParser.prototype.init=function(e,t){t=void 0!==t&&t,shaka.log.debug("Passing new init segment to CEA parser"),t||this.reset(),this.ceaParser_.init(e)},shaka.media.ClosedCaptionParser.prototype.parseFrom=function(e){e=this.ceaParser_.parse(e),e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next()){t=t.value;var r=shaka.util.BufferUtils.toUint8(t.packet);0<r.length&&this.ceaDecoder_.extract(r,t.pts)}return this.ceaDecoder_.decode()},shaka.media.ClosedCaptionParser.prototype.reset=function(){this.ceaDecoder_.clear()},shaka.media.ClosedCaptionParser.prototype.getStreams=function(){return this.ceaDecoder_.getStreams()},shaka.media.ClosedCaptionParser.registerParser=function(e,t){shaka.media.ClosedCaptionParser.parserMap_.set(e,t)},shaka.media.ClosedCaptionParser.unregisterParser=function(e){shaka.media.ClosedCaptionParser.parserMap_.delete(e)},shaka.media.ClosedCaptionParser.findParser=function(e){return shaka.media.ClosedCaptionParser.parserMap_.get(e)},shaka.media.ClosedCaptionParser.registerDecoder=function(e){shaka.media.ClosedCaptionParser.decoderFactory_=e},shaka.media.ClosedCaptionParser.unregisterDecoder=function(){shaka.media.ClosedCaptionParser.decoderFactory_=null},shaka.media.ClosedCaptionParser.findDecoder=function(){return shaka.media.ClosedCaptionParser.decoderFactory_},goog.exportSymbol("shaka.media.ClosedCaptionParser",shaka.media.ClosedCaptionParser),goog.exportProperty(shaka.media.ClosedCaptionParser,"findDecoder",shaka.media.ClosedCaptionParser.findDecoder),goog.exportProperty(shaka.media.ClosedCaptionParser,"unregisterDecoder",shaka.media.ClosedCaptionParser.unregisterDecoder),goog.exportProperty(shaka.media.ClosedCaptionParser,"registerDecoder",shaka.media.ClosedCaptionParser.registerDecoder),goog.exportProperty(shaka.media.ClosedCaptionParser,"findParser",shaka.media.ClosedCaptionParser.findParser),goog.exportProperty(shaka.media.ClosedCaptionParser,"unregisterParser",shaka.media.ClosedCaptionParser.unregisterParser),goog.exportProperty(shaka.media.ClosedCaptionParser,"registerParser",shaka.media.ClosedCaptionParser.registerParser),shaka.media.ClosedCaptionParser.parserMap_=new Map,shaka.media.ClosedCaptionParser.decoderFactory_=null,shaka.text={},shaka.text.CueRegion=function(){var e=shaka.text.CueRegion;this.id="",this.regionAnchorY=this.regionAnchorX=this.viewportAnchorY=this.viewportAnchorX=0,this.height=this.width=100,this.viewportAnchorUnits=this.widthUnits=this.heightUnits=e.units.PERCENTAGE,this.scroll=e.scrollMode.NONE}
1,goog.exportSymbol("shaka.text.CueRegion",shaka.text.CueRegion),shaka.text.CueRegion.units={PX:0,PERCENTAGE:1,LINES:2},goog.exportProperty(shaka.text.CueRegion,"units",shaka.text.CueRegion.units),shaka.text.CueRegion.scrollMode={NONE:"",UP:"up"},goog.exportProperty(shaka.text.CueRegion,"scrollMode",shaka.text.CueRegion.scrollMode),shaka.util.ArrayUtils=function(){},shaka.util.ArrayUtils.defaultEquals=function(e,t){return!!("number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t))||e===t},shaka.util.ArrayUtils.remove=function(e,t){-1<(t=e.indexOf(t))&&e.splice(t,1)},shaka.util.ArrayUtils.count=function(e,t){var r=0;e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())r+=+!!t(i.value);return r},shaka.util.ArrayUtils.hasSameElements=function(e,t,r){if(r||(r=shaka.util.ArrayUtils.defaultEquals),e.length!=t.length)return!1;t=t.slice(),e=$jscomp.makeIterator(e);for(var i=e.next(),n={};!i.done;n={item$jscomp$28:void 0},i=e.next()){if(n.item$jscomp$28=i.value,-1==(i=t.findIndex(function(e){return function(t){return r(e.item$jscomp$28,t)}}(n))))return!1;t[i]=t[t.length-1],t.pop()}return 0==t.length},shaka.util.ArrayUtils.equal=function(e,t,r){if(r||(r=shaka.util.ArrayUtils.defaultEquals),e.length!=t.length)return!1;for(var i=0;i<e.length;i++)if(!r(e[i],t[i]))return!1;return!0},shaka.util.Error=function(e,t,r){var i=$jscomp.getRestArguments.apply(3,arguments);if(this.severity=e,this.category=t,this.code=r,this.data=i,this.handled=!1,i="Shaka Error "+this.code,goog.DEBUG){var n,a=i="UNKNOWN";for(n in shaka.util.Error.Category)shaka.util.Error.Category[n]==this.category&&(i=n);for(var o in shaka.util.Error.Code)shaka.util.Error.Code[o]==this.code&&(a=o);i="Shaka Error "+i+"."+a+" ("+this.data.toString()+")"}if(this.message=i,shaka.util.Error.createStack)try{throw Error(this.message||"Shaka Error")}catch(e){this.stack=e.stack}},shaka.util.Error.prototype.toString=function(){return"shaka.util.Error "+JSON.stringify(this,null,"  ")},goog.exportSymbol("shaka.util.Error",shaka.util.Error),shaka.util.Error.createStack=!0,shaka.util.Error.Severity={RECOVERABLE:1,CRITICAL:2},goog.exportProperty(shaka.util.Error,"Severity",shaka.util.Error.Severity),shaka.util.Error.Category={NETWORK:1,TEXT:2,MEDIA:3,MANIFEST:4,STREAMING:5,DRM:6,PLAYER:7,CAST:8,STORAGE:9,ADS:10},goog.exportProperty(shaka.util.Error,"Category",shaka.util.Error.Category),shaka.util.Error.Code={UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,REQUEST_FILTER_ERROR:1006,RESPONSE_FILTER_ERROR:1007,MALFORMED_TEST_URI:1008,UNEXPECTED_TEST_REQUEST:1009,ATTEMPTS_EXHAUSTED:1010,SEGMENT_MISSING:1011,INVALID_TEXT_HEADER:2e3,INVALID_TEXT_CUE:2001,UNABLE_TO_DETECT_ENCODING:2003,BAD_ENCODING:2004,INVALID_XML:2005,INVALID_MP4_TTML:2007,INVALID_MP4_VTT:2008,UNABLE_TO_EXTRACT_CUE_START_TIME:2009,INVALID_MP4_CEA:2010,TEXT_COULD_NOT_GUESS_MIME_TYPE:2011,CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS:2012,TEXT_ONLY_WEBVTT_SRC_EQUALS:2013,MISSING_TEXT_PLUGIN:2014,UNSUPPORTED_EXTERNAL_THUMBNAILS_URI:2017,BUFFER_READ_OUT_OF_BOUNDS:3e3,JS_INTEGER_OVERFLOW:3001,EBML_OVERFLOW:3002,EBML_BAD_FLOATING_POINT_SIZE:3003,MP4_SIDX_WRONG_BOX_TYPE:3004,MP4_SIDX_INVALID_TIMESCALE:3005,MP4_SIDX_TYPE_NOT_SUPPORTED:3006,WEBM_CUES_ELEMENT_MISSING:3007,WEBM_EBML_HEADER_ELEMENT_MISSING:3008,WEBM_SEGMENT_ELEMENT_MISSING:3009,WEBM_INFO_ELEMENT_MISSING:3010,WEBM_DURATION_ELEMENT_MISSING:3011,WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING:3012,WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOURCE_OPERATION_THREW:3015,VIDEO_ERROR:3016,QUOTA_EXCEEDED_ERROR:3017,TRANSMUXING_FAILED:3018,CONTENT_TRANSFORMATION_FAILED:3019,MSS_MISSING_DATA_FOR_TRANSMUXING:3020,MSS_TRANSMUXING_FAILED:3022,TRANSMUXING_NO_VIDEO_DATA:3023,UNABLE_TO_GUESS_MANIFEST_TYPE:4e3,DASH_INVALID_XML:4001,DASH_NO_SEGMENT_INFO:4002,DASH_EMPTY_ADAPTATION_SET:4003,DASH_EMPTY_PERIOD:4004,DASH_WEBM_MISSING_INIT:4005,DASH_UNSUPPORTED_CONTAINER:4006,DASH_PSSH_BAD_ENCODING:4007,DASH_NO_COMMON_KEY_SYSTEM:4008,DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED:4009,DASH_CONFLICTING_KEY_IDS:4010,RESTRICTIONS_CANNOT_BE_MET:4012,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,DASH_UNSUPPORTED_XLINK_ACTUATE:4027,DASH_XLINK_DEPTH_
1LIMIT:4028,CONTENT_UNSUPPORTED_BY_BROWSER:4032,CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM:4033,NO_VARIANTS:4036,PERIOD_FLATTENING_FAILED:4037,INCONSISTENT_DRM_ACROSS_PERIODS:4038,HLS_VARIABLE_NOT_FOUND:4039,HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED:4040,HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4041,NO_WEB_CRYPTO_API:4042,CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM:4045,MSS_INVALID_XML:4046,MSS_LIVE_CONTENT_NOT_SUPPORTED:4047,AES_128_INVALID_IV_LENGTH:4048,AES_128_INVALID_KEY_LENGTH:4049,DASH_CONFLICTING_AES_128:4050,DASH_UNSUPPORTED_AES_128:4051,DASH_INVALID_PATCH:4052,HLS_EMPTY_MEDIA_PLAYLIST:4053,DASH_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4054,CANNOT_ADD_EXTERNAL_CHAPTERS_TO_LIVE_STREAM:4054,STREAMING_ENGINE_STARTUP_INVALID_STATE:5006,NO_RECOGNIZED_KEY_SYSTEMS:6e3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,LICENSE_RESPONSE_REJECTED:6008,ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,SERVER_CERTIFICATE_REQUIRED:6015,INIT_DATA_TRANSFORM_ERROR:6016,SERVER_CERTIFICATE_REQUEST_FAILED:6017,MIN_HDCP_VERSION_NOT_MATCH:6018,ERROR_CHECKING_HDCP_VERSION:6019,MISSING_EME_SUPPORT:6020,LOAD_INTERRUPTED:7e3,OPERATION_ABORTED:7001,NO_VIDEO_ELEMENT:7002,OBJECT_DESTROYED:7003,CONTENT_NOT_LOADED:7004,SRC_EQUALS_PRELOAD_NOT_SUPPORTED:7005,PRELOAD_DESTROYED:7006,CAST_API_UNAVAILABLE:8e3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9e3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,MODIFY_OPERATION_NOT_SUPPORTED:9016,INDEXED_DB_INIT_TIMED_OUT:9017,CS_IMA_SDK_MISSING:1e4,CS_AD_MANAGER_NOT_INITIALIZED:10001,SS_IMA_SDK_MISSING:10002,SS_AD_MANAGER_NOT_INITIALIZED:10003,CURRENT_DAI_REQUEST_NOT_FINISHED:10004,MT_AD_MANAGER_NOT_INITIALIZED:10005,INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED:10006,VAST_INVALID_XML:10007},goog.exportProperty(shaka.util.Error,"Code",shaka.util.Error.Code),shaka.util.Lazy=function(e){this.gen_=e,this.value_=void 0},shaka.util.Lazy.prototype.value=function(){return void 0===this.value_&&(this.value_=this.gen_(),goog.asserts.assert(void 0!==this.value_,"Unable to create lazy value")),this.value_},shaka.util.Lazy.prototype.reset=function(){this.value_=void 0},shaka.drm={},shaka.drm.DrmUtils=function(){},shaka.drm.DrmUtils.isBrowserSupported=function(){return!!window.MediaKeys&&!!window.navigator&&!!window.navigator.requestMediaKeySystemAccess&&!!window.MediaKeySystemAccess&&!!window.MediaKeySystemAccess.prototype.getConfiguration},shaka.drm.DrmUtils.areDrmCompatible=function(e,t){if(e===t||!e.length||!t.length)return!0;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){if(r=r.value,shaka.drm.DrmUtils.isClearKeyWihRawKey_(r))return!0;for(var i=$jscomp.makeIterator(t),n=i.next();!n.done;n=i.next())if(n=n.value,r.keySystem===n.keySystem||shaka.drm.DrmUtils.isClearKeyWihRawKey_(n))return!0}return!1},shaka.drm.DrmUtils.getCommonDrmInfos=function(e,t){if(!e.length)return t;if(!t.length)return e;var r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;for(var n=$jscomp.makeIterator(t),a=n.next();!a.done;a=n.next())if(a=a.value,i.keySystem==a.keySystem){n=new Map;var o=(i.initData||[]).concat(a.initData||[]);o=$jscomp.makeIterator(o);for(var s=o.next();!s.done;s=o.next())s=s.value,n.set(s.keyId,s);n=Array.from(n.values()),o=i.keyIds&&a.keyIds?new Set([].concat($jscomp.arrayFromIterable(i.keyIds),$jscomp.arrayFromIterable(a.keyIds))):i.keyIds||a.keyIds,r.push({keySystem:i.keySystem,licenseServerUri:i.licenseServerUri||a.licenseServerUri,distinctiveIdentifierRequired:i.distinctiveIdentifierRequired||a.distinctiveIdentifierRequired,persistentStateRequired:i.persistentStateRequired||a.persistentStateRequired,videoRobustness:i.videoRobustness||a.videoRobustness,audioR
1obustness:i.audioRobustness||a.audioRobustness,serverCertificate:i.serverCertificate||a.serverCertificate,serverCertificateUri:i.serverCertificateUri||a.serverCertificateUri,initData:n,keyIds:o});break}else shaka.drm.DrmUtils.isClearKeyWihRawKey_(i)?r.push(i):shaka.drm.DrmUtils.isClearKeyWihRawKey_(a)&&r.push(a)}return r},shaka.drm.DrmUtils.keySystem=function(e){return e?e.keySystem:""},shaka.drm.DrmUtils.isClearKeySystem=function(e){return"org.w3.clearkey"===e},shaka.drm.DrmUtils.isWidevineKeySystem=function(e){return!!e&&!!e.match(/^com\.widevine\.alpha/)},shaka.drm.DrmUtils.isPlayReadyKeySystem=function(e){return!!e&&!!e.match(/^com\.(microsoft|chromecast)\.playready/)},shaka.drm.DrmUtils.isFairPlayKeySystem=function(e){return!!e&&!!e.match(/^com\.apple\.fps/)},shaka.drm.DrmUtils.isWisePlayKeySystem=function(e){return"com.huawei.wiseplay"===e},shaka.drm.DrmUtils.isClearKeyWihRawKey_=function(e){return!!(e=e.licenseServerUri)&&e.startsWith("data:application/json;base64,")},shaka.drm.DrmUtils.generateKeySystemCacheKey_=function(e,t,r){return e+"#"+t+"#"+r},shaka.drm.DrmUtils.hasMediaKeySystemAccess=function(e,t,r){var i=shaka.drm.DrmUtils;return e=i.generateKeySystemCacheKey_(e,t,r),i.memoizedMediaKeySystemAccessRequests_.has(e)},shaka.drm.DrmUtils.getMediaKeySystemAccess=function(e,t,r){var i=shaka.drm.DrmUtils;return e=i.generateKeySystemCacheKey_(e,t,r),i.memoizedMediaKeySystemAccessRequests_.get(e)||null},shaka.drm.DrmUtils.setMediaKeySystemAccess=function(e,t,r,i){var n=shaka.drm.DrmUtils;e=n.generateKeySystemCacheKey_(e,t,r),n.memoizedMediaKeySystemAccessRequests_.set(e,i)},shaka.drm.DrmUtils.clearMediaKeySystemAccessMap=function(){shaka.drm.DrmUtils.memoizedMediaKeySystemAccessRequests_.clear()},shaka.drm.DrmUtils.DUMMY_KEY_ID=new shaka.util.Lazy(function(){return shaka.util.BufferUtils.toArrayBuffer(new Uint8Array([0]))}),shaka.drm.DrmUtils.memoizedMediaKeySystemAccessRequests_=new Map,shaka.util.DelayedTick=function(e){this.onTick_=e,this.cancelPending_=null},shaka.util.DelayedTick.prototype.tickAfter=function(e){var t=this;this.stop();var r=!0,i=null;return this.cancelPending_=function(){window.clearTimeout(i),r=!1},i=window.setTimeout(function(){r&&t.onTick_()},1e3*e),this},shaka.util.DelayedTick.prototype.stop=function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)},shaka.util.Timer=function(e){this.onTick_=e,this.ticker_=null},shaka.util.Timer.prototype.tickNow=function(){return this.stop(),this.onTick_(),this},shaka.util.Timer.prototype.tickAfter=function(e){var t=this;return this.stop(),this.ticker_=new shaka.util.DelayedTick(function(){t.onTick_()}).tickAfter(e),this},shaka.util.Timer.prototype.tickEvery=function(e){var t=this;return this.stop(),goog.DEBUG&&shaka.util.Timer.activeTimers.set(this,Error("Timer created").stack),this.ticker_=new shaka.util.DelayedTick(function(){t.ticker_.tickAfter(e),t.onTick_()}).tickAfter(e),this},shaka.util.Timer.prototype.stop=function(){this.ticker_&&(this.ticker_.stop(),this.ticker_=null),goog.DEBUG&&shaka.util.Timer.activeTimers.delete(this)},goog.exportSymbol("shaka.util.Timer",shaka.util.Timer),goog.exportProperty(shaka.util.Timer.prototype,"stop",shaka.util.Timer.prototype.stop),goog.exportProperty(shaka.util.Timer.prototype,"tickEvery",shaka.util.Timer.prototype.tickEvery),goog.exportProperty(shaka.util.Timer.prototype,"tickAfter",shaka.util.Timer.prototype.tickAfter),goog.exportProperty(shaka.util.Timer.prototype,"tickNow",shaka.util.Timer.prototype.tickNow),goog.DEBUG&&(shaka.util.Timer.activeTimers=new Map),shaka.util.Platform=function(){},shaka.util.Platform.supportsMediaSource=function(){var e=window.ManagedMediaSource||window.MediaSource;return!!e&&!!e.isTypeSupported},shaka.util.Platform.supportsMediaType=function(e){return""!=shaka.util.Platform.anyMediaElement().canPlayType(e)},shaka.util.Platform.isEdge=function(){return!!navigator.userAgent.match(/Edge?\//)},shaka.util.Platform.isLegacyEdge=function(){return!!navigator.userAgent.match(/Edge\//)},shaka.util.Platform.isIE=function(){return shaka.util.Platform.userAgentContains_("Trident/")},shaka.util.Platform.isXboxOne=function(){return shaka.util.Platform.userAgentContains_("Xbox One")},shaka.util.Platform.isTizen=function(){return shaka.util.Platform.userAgentContains_("Tizen")},shaka.util.Platform.isTizen6=function(){return shaka.util.Platform.userAgentContains_("Tizen 6")},shaka.util.Platform.isTizen5_0=function(){return shaka.util.Platform.userAgentContains_("Tizen 5.0")},shaka.util.Platform.isTizen5=function(){return shaka.util.Platform.userAgentContains_("Tizen 5")},shaka.util.Platform.isTizen4=function(){return shaka.util.Platform.userAgentContains_("Tizen 4")},shaka.util.Platform.isTizen3=function(){return shaka.util.Platform.userAgentContains_("Tizen 3")},shaka.util.Platform.isTizen2=function(){return shaka.util.Platform.userAgentContains_("Tizen 2")},shaka.util.Platform.isWebOS=function(){return shaka.util.Platform.userAgentContains_("Web0S")},shaka.util.Platform.isWebOS3=function(){return shaka.util.Platform.isWebOS()&&38===shaka.util.Platform.chromeVersion()},shaka.util.Platform.isWebOS4=function(){return shaka.util.Platform.isWebOS()&&53===shaka.util.Platform.chromeVersion()},shaka.util.Platform.isWebOS5=function(){return shaka.util.Platform.isWebOS()&&68===shaka.util.Platform.chromeVersion()},shaka.util.Platform.isWebOS6=function(){return shaka.util.Platform.isWebOS()&&79===shaka.util.Platform.chromeVersion()},shaka.util.Platform.isChromecast=function(){return shaka.util.Platform.userAgentContains_("CrKey")},shaka.util.Platform.isOlderChromecast=function(){var e=shaka.util.Platform;return e.isChromecast()&&!e.isAndroid()&&!e.isFuchsia()},shaka.util.Platform.isAndroidCastDevice=function(){var e=shaka.util.Platform;return e.isChromecast()&&e.isAndroid()},shaka.util.Platform.isFuchsiaCastDevice=function(){var e=shaka.util.Platform;return e.isChromecast()&&e.isFuchsia()},shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var e=navigator.userAgent.match(/Chrome\/(\d+)/);return e?parseInt(e[1],10):null},shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()},shaka.util.Platform.isFirefox=function(){return shaka.util.Platform.userAgentContains_("Firefox")},shaka.util.Platform.isApple=function(){return shaka.util.Platform.isAppleVendor_()&&(shaka.util.Platform.isMac()||shaka.util.Platform.isIOS())},shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")},shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")},shaka.util.Platform.isSonyTV=function(){return shaka.util.Platform.userAgentContains_("sony.hbbtv.tv.G5")},shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")},shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")},shaka.util.Platform.isSkyQ=function(){return shaka.util.Platform.userAgentContains_("Sky_STB")},shaka.util.Platform.isZenterio=function(){return shaka.util.Platform.userAgentContains_("DT_STB_BCM")},shaka.util.Platform.safariVersion=function(){if(!shaka.util.Platform.isApple()&&!shaka.util.Platform.isWebkitSTB())return null;var e=navigator.userAgent.match(/Version\/(\d+)/);return e||(e=navigator.userAgent.match(/OS (\d+)(?:_\d+)?/))?parseInt(e[1],10):null},shaka.util.Platform.isIOS=function(){return!!/(?:iPhone|iPad|iPod)/.test(navigator.userAgent)||shaka.util.Platform.isAppleVendor_()&&1<navigator.maxTouchPoints},shaka.util.Platform.isMobile=function(){return navigator.userAgentData?navigator.userAgentData.mobile:shaka.util.Platform.isIOS()||shaka.util.Platform.isAndroid()},shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"macos"==navigator.userAgentData.platform.toLowerCase():!!navigator.platform&&navigator.platform.toLowerCase().includes("mac")},shaka.util.Platform.isVisionOS=function(){return!!(shaka.util.Platform.isMac()&&"xr"in navigator)},shaka.util.Platform.isWebkitSTB=function(){return shaka.util.Platform.isAppleVendor_()&&!shaka.util.Platform.isApple()},shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():!!navigator.platform&&navigator.platform.toLowerCase().includes("win32")},shaka.util.Platform.isAndroid=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"android"==navigator.userAgentData.platform.toLowerCase():shaka.util.Platform.userAgentContains_("Android")},shaka.util.Platform.isFuchsia=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"fuchsia"==navigator.userAgentData.platform.toLowerCase():shaka.util.Platform.userAgentContains_("Fuchsia")},shaka.util.Platform.isSmartTV=function(){var e=shaka.util.Platform;return!!(e.isTizen()||e.isWebOS()||e.isXboxOne()||e.isPS4()||e.isPS5()||e.isChromecast()||e.isHisense()||e.isWebkitSTB())}
1,shaka.util.Platform.userAgentContains_=function(e){return(navigator.userAgent||"").includes(e)},shaka.util.Platform.isAppleVendor_=function(){return(navigator.vendor||"").includes("Apple")},shaka.util.Platform.anyMediaElement=function(){var e=shaka.util.Platform;return e.cachedMediaElement_||(e.cacheExpirationTimer_||(e.cacheExpirationTimer_=new shaka.util.Timer(function(){e.cachedMediaElement_=null})),e.cachedMediaElement_=document.getElementsByTagName("video")[0]||document.getElementsByTagName("audio")[0],e.cachedMediaElement_||(e.cachedMediaElement_=document.createElement("video")),e.cacheExpirationTimer_.tickAfter(1)),e.cachedMediaElement_},shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(e){var t=shaka.util.Platform;return e=shaka.drm.DrmUtils.isPlayReadyKeySystem(e),t.isTizen()||t.isXboxOne()||t.isOrange()||t.isEdge()&&t.isWindows()&&e},shaka.util.Platform.requiresEC3InitSegments=function(){return shaka.util.Platform.isTizen3()},shaka.util.Platform.supportsSequenceMode=function(){var e=shaka.util.Platform;if(e.isTizen3()||e.isTizen2()||e.isWebOS3()||e.isPS4()||e.isPS5())return!1;var t=e.safariVersion();return!e.isWebkitSTB()||null==t||!(15>t)},shaka.util.Platform.supportsSmoothCodecSwitching=function(){var e=shaka.util.Platform;return!(e.isTizen()||e.isPS4()||e.isPS5()||e.isWebOS6()||e.isOlderChromecast()||e.isWindows()&&e.isEdge())},shaka.util.Platform.isSeekingSlow=function(){var e=shaka.util.Platform;return!(!e.isChromecast()||e.isAndroidCastDevice())},shaka.util.Platform.isMediaKeysPolyfilled=function(e){return e===window.shakaMediaKeysPolyfill},shaka.util.Platform.detectMaxHardwareResolution=function(){var e,t,r,i,n,a,o,s,l,u,d,c,p,m,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:if(e=shaka.util.Platform,t={width:1/0,height:1/0},e.isChromecast()){if(p=window.cast&&cast.__platform__&&cast.__platform__.canDisplayType,t.width=1280,t.height=720,h.setCatchFinallyBlocks(14),!(m=p)){h.jumpTo(16);break}return h.yield(cast.__platform__.canDisplayType('video/mp4; codecs="avc1.640028"; width=3840; height=2160'),17)}if(e.isTizen()){r=window.devicePixelRatio,t.width=1920<window.screen.width*r?3840:1920,t.height=1080<window.screen.height*r?2160:1080;try{webapis.systeminfo&&webapis.systeminfo.getMaxVideoResolution?(i=webapis.systeminfo.getMaxVideoResolution(),t.width=i.width,t.height=i.height):webapis.productinfo.is8KPanelSupported&&webapis.productinfo.is8KPanelSupported()?(t.width=7680,t.height=4320):webapis.productinfo.isUdPanelSupported&&webapis.productinfo.isUdPanelSupported()&&(t.width=3840,t.height=2160)}catch(e){shaka.log.alwaysWarn("Tizen: Error detecting screen size, default screen size 1920x1080.")}h.jumpTo(3);break}if(e.isWebOS()){try{n=JSON.parse(window.PalmSystem.deviceInfo),t.width=Math.max(1920,n.screenWidth),t.height=Math.max(1080,n.screenHeight)}catch(e){shaka.log.alwaysWarn("WebOS: Error detecting screen size, default screen size 1920x1080."),t.width=1920,t.height=1080}h.jumpTo(3);break}if(e.isHisense()){if(a=null,window.Hisense_Get4KSupportState)try{a=window.Hisense_Get4KSupportState()}catch(e){shaka.log.debug("Hisense: Failed to get 4K support state",e)}null==a&&(a=e.userAgentContains_("UHD")),a?(t.width=3840,t.height=2160):(t.width=1920,t.height=1080),h.jumpTo(3);break}if(!e.isPS4()&&!e.isPS5()){o=void 0;try{o="u">typeof Windows?Windows:chrome.webview.hostObjects.sync.Windows}catch(e){}if(o){t.width=1920,t.height=1080;try{s=new o.Media.Protection.ProtectionCapabilities,l=o.Media.Protection.ProtectionCapabilityResult,u=null;do u=s.isTypeSupported('video/mp4;codecs="hvc1,mp4a";features="decode-res-x=3840,decode-res-y=2160,decode-bitrate=20000,decode-fps=30,decode-bpc=10,display-res-x=3840,display-res-y=2160,display-bpc=8"',"com.microsoft.playready.recommendation");while(u===l.maybe);u===l.probably&&(t.width=3840,t.height=2160)}catch(e){shaka.log.alwaysWarn("Xbox: Error detecting screen size, default screen size 1920x1080.")}}else e.isXboxOne()&&(t.width=1920,t.height=1080,shaka.log.alwaysWarn("Xbox: Error detecting screen size, default screen size 1920x1080."));h.jumpTo(3);break}return d=!1,h.setCatchFinallyBlocks(8),h.yield(window.msdk.device.getDisplayInfo(),10);case 10:case 13:d="4K"===h.yieldResult.resolution,h.leaveTryBlock(9);break;case 8:return h.enterCatchBlock(),h.setCatchFinallyBlocks(11),h.yield(window.msdk.device.getDisplayInfoImmediate(),13);case 11:c=h.enterCatchBlock(),shaka.log.alwaysWarn("PlayStation: Failed to get the display info:",c);case 9:d?(t.width=3840,t.height=2160):(t.width=1920,t.height=1080),h.jumpTo(3);break;case 17:m=h.yieldResult;case 16:if(m){t.width=3840,t.height=2160,h.jumpTo(18);break}
1if(!(f=p)){h.jumpTo(19);break}return h.yield(cast.__platform__.canDisplayType('video/mp4; codecs="avc1.640028"; width=1920; height=1080'),20);case 20:f=h.yieldResult;case 19:f&&(t.width=1920,t.height=1080);case 18:h.leaveTryBlock(3);break;case 14:g=h.enterCatchBlock(),shaka.log.alwaysError("Failed to check canDisplayType:",g);case 3:return h.return(t)}})},shaka.util.Platform.getHdrLevel=function(e){return void 0!==window.matchMedia&&window.matchMedia("(color-gamut: p3)").matches?e?"HLG":"PQ":"SDR"},shaka.util.Platform.cacheExpirationTimer_=null,shaka.util.Platform.cachedMediaElement_=null,shaka.util.StringUtils=function(){},shaka.util.StringUtils.fromUTF8=function(e){if(!e)return"";if(239==(e=shaka.util.BufferUtils.toUint8(e))[0]&&187==e[1]&&191==e[2]&&(e=e.subarray(3)),window.TextDecoder&&!shaka.util.Platform.isPS4())return(e=(new TextDecoder).decode(e)).includes("�")&&shaka.log.alwaysError('Decoded string contains an "unknown character" codepoint.  That probably means the UTF8 encoding was incorrect!'),e;for(var t="",r=0;r<e.length;++r){var i=65533;if(0==(128&e[r])?i=e[r]:e.length>=r+2&&192==(224&e[r])&&128==(192&e[r+1])?(i=(31&e[r])<<6|63&e[r+1],r+=1):e.length>=r+3&&224==(240&e[r])&&128==(192&e[r+1])&&128==(192&e[r+2])?(i=(15&e[r])<<12|(63&e[r+1])<<6|63&e[r+2],r+=2):e.length>=r+4&&240==(241&e[r])&&128==(192&e[r+1])&&128==(192&e[r+2])&&128==(192&e[r+3])&&(i=(7&e[r])<<18|(63&e[r+1])<<12|(63&e[r+2])<<6|63&e[r+3],r+=3),65535>=i)t+=String.fromCharCode(i);else{var n=1023&(i-=65536);t+=String.fromCharCode(55296+(i>>10)),t+=String.fromCharCode(56320+n)}}return t},shaka.util.StringUtils.fromUTF16=function(e,t,r){if(!e)return"";if(!r&&0!=e.byteLength%2)throw shaka.log.error("Data has an incorrect length, must be even."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.BAD_ENCODING);var i=new Uint16Array(r=Math.floor(e.byteLength/2));e=shaka.util.BufferUtils.toDataView(e);for(var n=0;n<r;n++)i[n]=e.getUint16(2*n,t);return shaka.util.StringUtils.fromCharCode(i)},shaka.util.StringUtils.fromBytesAutoDetect=function(e){var t=shaka.util.StringUtils;if(!e)return"";var r=shaka.util.BufferUtils.toUint8(e);if(239==r[0]&&187==r[1]&&191==r[2])return t.fromUTF8(r);if(254==r[0]&&255==r[1])return t.fromUTF16(r.subarray(2),!1);if(255==r[0]&&254==r[1])return t.fromUTF16(r.subarray(2),!0);var i=function(e){return r.byteLength<=e||9<=r[e]&&126>=r[e]};if(shaka.log.debug("Unable to find byte-order-mark, making an educated guess."),0==r[0]&&0==r[2])return t.fromUTF16(e,!1);if(0==r[1]&&0==r[3])return t.fromUTF16(e,!0);if(i(0)&&i(1)&&i(2)&&i(3))return t.fromUTF8(e);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.UNABLE_TO_DETECT_ENCODING)},shaka.util.StringUtils.toUTF8=function(e){if(window.TextEncoder&&!shaka.util.Platform.isPS4()){var t=new TextEncoder;return shaka.util.BufferUtils.toArrayBuffer(t.encode(e))}t=new Uint8Array((e=unescape(e=encodeURIComponent(e))).length);for(var r=0;r<e.length;r++)t[r]=e[r].charCodeAt(0);return shaka.util.BufferUtils.toArrayBuffer(t)},shaka.util.StringUtils.toUTF16=function(e,t){for(var r=new ArrayBuffer(2*e.length),i=new DataView(r),n=0;n<e.length;++n){var a=e.charCodeAt(n);i.setUint16(2*n,a,t)}return r},shaka.util.StringUtils.fromCharCode=function(e){return shaka.util.StringUtils.fromCharCodeImpl_.value()(e)},shaka.util.StringUtils.resetFromCharCode=function(){shaka.util.StringUtils.fromCharCodeImpl_.reset()},shaka.util.StringUtils.htmlUnescape=function(e){var t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&apos;":"'","&nbsp;":"\xa0","&lrm;":"‎","&rlm;":"‏"},r=/&(?:amp|lt|gt|quot|apos|nbsp|lrm|rlm|#[xX]?[0-9a-fA-F]+);/g,i=RegExp(r.source);return e&&i.test(e)?e.replace(r,function(e){return"#"==e[1]?0<=(e="x"==e[2]||"X"==e[2]?parseInt(e.substring(3),16):parseInt(e.substring(2),10))&&1114111>=e?String.fromCodePoint(e):"":t[e]||"'"}):e||""},goog.exportSymbol("shaka.util.StringUtils",shaka.util.StringUtils),goog.exportProperty(shaka.util.StringUtils,"resetFromCharCode",shaka.util.StringUtils.resetFromCharCode),goog.exportProperty(shaka.util.StringUtils,"toUTF16",shaka.util.StringUtils.toUTF16),goog.exportProperty(shaka.util.StringUtils,"toUTF8",shaka.util.StringUtils.toUTF8),goog.exportProperty(shaka.util.StringUtils,"fromBytesAutoDetect",shaka.util.StringUtils.fromBytesAutoDetect),goog.exportProperty(shaka.util.StringUtils,"fromUTF16",shaka.util.StringUtils.fromUTF16),goog.exportProperty(shaka.util.StringUtils,"fromUTF8",shaka.util.StringUtils.fromUTF8),shaka.util.StringUtils.fromCharCodeImpl_=new shaka.util.Lazy(function(){for(var e=function(e){try{var t=new Uint8Array(e),r=String.fromCharCode.apply(null,t);return goog.asserts.assert(r,"Should get value"),0<r.length}catch(e){return!1}},t={size$jscomp$22:65536};0<t.size$jscomp$22;t={size$jscomp$22:t.size$jscomp$22},t.size$jscomp$22/=2)if(e(t.size$jscomp$22))return function(e){return function(t){for(var r="",i=0;i<t.length;i+=e.size$jscomp$22){var n=t.subarray(i,i+e.size$jscomp$22);r+=String.fromCharCode.apply(null,n)}return r}}(t);return goog.asserts.assert(!1,"Unable to create a fromCharCode method"),null}),shaka.util.TextParser=function(e){this.data_=e||"",this.position_=0},shaka.util.TextParser.prototype.atEnd=function(){return this.position_==this.data_.length},shaka.util.TextParser.prototype.readLine=function(){return this.readRegexReturnCapture_(/(.*?)(\n|$)/gm,1)},shaka.util.TextParser.prototype.readWord=function(){return this.readRegexReturnCapture_(/[^ \t\n]*/gm,0)},shaka.util.TextParser.prototype.skipWhitespace=function(){this.readRegex(/[ \t]+/gm)},shaka.util.TextParser.prototype.readRegex=function(e){return(e=this.indexOf_(e),this.atEnd()||null==e||e.position!=this.position_)?null:(this.position_+=e.length,e.results)},shaka.util.TextParser.prototype.readRegexReturnCapture_=function(e,t){return this.atEnd()?null:(e=this.readRegex(e))?e[t]:null},shaka.util.TextParser.prototype.indexOf_=function(e){return goog.asserts.assert(e.global,"global flag should be set"),e.lastIndex=this.position_,null==(e=e.exec(this.data_))?null:{position:e.index,length:e[0].length,results:e}},shaka.util.TextParser.prototype.parseTime=function(){var e=this.readRegex(shaka.util.TextParser.timeFormat_);if(null==e)return null;var t=Number(e[2]),r=Number(e[3]);return 59<t||59<r?null:(Number(e[6])||0)/1e3+r+60*t+3600*(Number(e[1])||0)},shaka.util.TextParser.parseTime=function(e){return e?new shaka.util.TextParser(e).parseTime():null},shaka.util.TextParser.timeFormat_=/(?:(\d{1,}):)?(\d{2}):(\d{2})((\.(\d{1,3})))?/g,shaka.util.ObjectUtils=function(){},shaka.util.ObjectUtils.cloneObject=function(e){var t=new WeakSet,r=function(e){switch(typeof e){case"undefined":case"boolean":case"number":case"string":case"symbol":case"function":return e;default:if(!e||ArrayBuffer.isView(e))return e;if(t.has(e))return null;var i=Array.isArray(e);if(e.constructor!=Object&&!i)return null;t.add(e);var n,a=i?[]:{};for(n in e)a[n]=r(e[n]);return i&&(a.length=e.length),a}};return r(e)},shaka.util.ObjectUtils.shallowCloneObject=function(e){var t,r={};for(t in e)r[t]=e[t];return r}
1,shaka.util.ObjectUtils.alphabeticalKeyOrderStringify=function(e){return Array.isArray(e)?shaka.util.ObjectUtils.arrayStringify_(e):"function"==typeof e?"":e instanceof Object?shaka.util.ObjectUtils.objectStringify_(e):JSON.stringify(e)},shaka.util.ObjectUtils.objectStringify_=function(e){var t=Object.keys(e);t.sort();var r=[];t=$jscomp.makeIterator(t);for(var i=t.next();!i.done;i=t.next()){var n=i.value;i=JSON.stringify(n),void 0!==(n=e[n])&&(n=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(n))&&r.push(i+":"+n)}return"{"+r.join(",")+"}"},shaka.util.ObjectUtils.arrayStringify_=function(e){for(var t=[],r=0;r<e.length;r++){var i=r.toString(),n=e[r];void 0!==n&&(n=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(n))&&t.push(i+":"+n)}return"["+t.join(",")+"]"},shaka.util.TXml=function(){},shaka.util.TXml.parseXml=function(e,t,r){return r=void 0!==r&&r,e=shaka.util.StringUtils.fromBytesAutoDetect(e),shaka.util.TXml.parseXmlString(e,t,r)},shaka.util.TXml.parseXmlString=function(e,t,r){return(e=shaka.util.TXml.parse(e,void 0!==r&&r),!t&&e.length)?e[0]:(e=e.find(function(e){return t.split(",").includes(e.tagName)}))?e:(shaka.log.error("parseXml root element not found!"),null)},shaka.util.TXml.getKnownNameSpace=function(e){return shaka.util.TXml.uriToNameSpace_.has(e)?shaka.util.TXml.uriToNameSpace_.get(e):""},shaka.util.TXml.getKnownSchema=function(e){return shaka.util.TXml.nameSpaceToUri_.has(e)?shaka.util.TXml.nameSpaceToUri_.get(e):""},shaka.util.TXml.setKnownNameSpace=function(e,t){shaka.util.TXml.uriToNameSpace_.set(e,t),shaka.util.TXml.nameSpaceToUri_.set(t,e)},shaka.util.TXml.parse=function(e,t){function r(a,o){o=void 0!==o&&o;for(var s=[];e[n];)if(60==e.charCodeAt(n)){if(47===e.charCodeAt(n+1)){o=n+2,n=e.indexOf(">",n);var l=(o=e.substring(o,n)).indexOf(a);if(-1==l){var u=a.indexOf(".");0<u&&(a=a.substring(0,u),l=o.indexOf(a))}if(-1==l)throw Error("Unexpected close tag\nLine: "+((s=e.substring(0,n).split("\n")).length-1)+"\nColumn: "+(s[s.length-1].length+1)+"\nChar: "+e[n]);n+1&&(n+=1);break}if(33===e.charCodeAt(n+1)){if(45==e.charCodeAt(n+2)){for(;-1!==n&&(62!==e.charCodeAt(n)||45!=e.charCodeAt(n-1)||45!=e.charCodeAt(n-2)||-1==n);)n=e.indexOf(">",n+1);-1===n&&(n=e.length)}else if(91===e.charCodeAt(n+2)&&91===e.charCodeAt(n+8)&&"cdata"===e.substr(n+3,5).toLowerCase()){-1==(l=e.indexOf("]]>",n))?(s.push(e.substr(n+9)),n=e.length):(s.push(e.substring(n+9,l)),n=l+3);continue}n++;continue}e:{u=o,n++;var d=i(),c={};for(l=[];62!==e.charCodeAt(n)&&e[n];){var p=e.charCodeAt(n);if(64<p&&91>p||96<p&&123>p){p=i();for(var m=e.charCodeAt(n);m&&39!==m&&34!==m&&!(64<m&&91>m||96<m&&123>m)&&62!==m;)n++,m=e.charCodeAt(n);var f=n+1;if(n=e.indexOf(e[n],f),f=e.slice(f,n),39===m||34===m){if(-1===n){
1if(u={tagName:d,attributes:c,children:l,parent:null},t)for(d=0;d<l.length;d++)"string"!=typeof l[d]&&(l[d].parent=u);l=u;break e}}else f=null,n--;p.startsWith("xmlns:")&&(m=p.split(":"),shaka.util.TXml.setKnownNameSpace(f,m[1])),"tt"===d&&"xml:space"===p&&"preserve"===f&&(u=!0),c[p]=f}n++}for(47!==e.charCodeAt(n-1)?(n++,l=r(d,u)):n++,u={tagName:d,attributes:c,children:l,parent:null},d=l.length,c=0;c<d;c++)"string"!=typeof(p=l[c])?t&&(p.parent=u):c==d-1&&"\n"==p&&l.pop();l=u}if(s.push(l),"string"==typeof l)break;"?"===l.tagName[0]&&l.children&&(s.push.apply(s,$jscomp.arrayFromIterable(l.children)),l.children=[])}else l=n,-2==(n=e.indexOf("<",n)-1)&&(n=e.length),l=e.slice(l,n+1),o?0<l.length&&s.push(l):s.length&&1==l.length&&"\n"==l[0]?s.push(l):0<l.trim().length&&s.push(l),n++;return s}function i(){for(var t=n;-1==="\r\n	>/= ".indexOf(e[n])&&e[n];)n++;return e.slice(t,n)}var n=0;return r("")},shaka.util.TXml.isNode=function(e){return!!e.tagName},shaka.util.TXml.isText=function(e){return"string"==typeof e},shaka.util.TXml.getChildNodes=function(e){var t=[];if(!e.children)return[];e=$jscomp.makeIterator(e.children);for(var r=e.next();!r.done;r=e.next())"string"!=typeof(r=r.value)&&t.push(r);return t},shaka.util.TXml.findChildren=function(e,t){var r=[];if(!e.children)return[];e=$jscomp.makeIterator(e.children);for(var i=e.next();!i.done;i=e.next())(i=i.value).tagName===t&&r.push(i);return r},shaka.util.TXml.getTextContents=function(e){var t=shaka.util.StringUtils;return"string"==typeof e?t.htmlUnescape(e):""===(e=e.children.reduce(function(e,t){return"string"==typeof t?e+t:e},""))?null:t.htmlUnescape(e)},shaka.util.TXml.getContents=function(e){return Array.from(e.children).every(function(e){return"string"==typeof e})?((e=shaka.util.TXml.getTextContents(e))&&(e=e.trim()),e):null},shaka.util.TXml.getElementsByTagName=function(e,t,r){if(r=void 0===r?[]:r,e.tagName===t&&r.push(e),e.children){e=$jscomp.makeIterator(e.children);for(var i=e.next();!i.done;i=e.next())shaka.util.TXml.getElementsByTagName(i.value,t,r)}return r},shaka.util.TXml.findChild=function(e,t){return 1!=(e=shaka.util.TXml.findChildren(e,t)).length?null:e[0]},shaka.util.TXml.findChildNS=function(e,t,r){return 1!=(e=shaka.util.TXml.findChildrenNS(e,t,r)).length?null:e[0]},shaka.util.TXml.parseAttr=function(e,t,r,i){i=void 0===i?null:i;var n=null;return null!=(e=e.attributes[t])&&(n=r(e)),null==n?i:n},shaka.util.TXml.getAttributeNS=function(e,t,r){return t=shaka.util.TXml.getKnownNameSpace(t),e.attributes[t+":"+r]||null},shaka.util.TXml.findChildrenNS=function(e,t,r){var i=shaka.util.TXml.getKnownNameSpace(t);if(t=[],e.children)for(r=i?i+":"+r:r,i=(e=$jscomp.makeIterator(e.children)).next();!i.done;i=e.next())(i=i.value)&&i.tagName===r&&t.push(i);return t},shaka.util.TXml.getAttributeNSList=function(e,t,r){t=$jscomp.makeIterator(t);for(var i=t.next();!i.done;i=t.next())if(i=shaka.util.TXml.getAttributeNS(e,i.value,r))return i;return null},shaka.util.TXml.parseDate=function(e){return e?(/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(e)&&(e+="Z"),isNaN(e=Date.parse(e))?null:e/1e3):null},shaka.util.TXml.parseDuration=function(e){if(!e)return null;var t=RegExp("^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$","i").exec(e);return t?isFinite(e=31536e3*Number(t[1]||null)+2592e3*Number(t[2]||null)+86400*Number(t[3]||null)+3600*Number(t[4]||null)+60*Number(t[5]||null)+Number(t[6]||null))?e:null:(shaka.log.warning("Invalid duration string:",e),null)},shaka.util.TXml.parseRange=function(e){var t=/([0-9]+)-([0-9]+)/.exec(e);return t&&isFinite(e=Number(t[1]))&&isFinite(t=Number(t[2]))?{start:e,end:t}:null},shaka.util.TXml.parseInt=function(e){return 0==(e=Number(e))%1?e:null},shaka.util.TXml.parsePositiveInt=function(e){return 0==(e=Number(e))%1&&0<e?e:null},shaka.util.TXml.parseNonNegativeInt=function(e){return 0==(e=Number(e))%1&&0<=e?e:null},shaka.util.TXml.parseFloat=function(e){return isNaN(e=Number(e))?null:e},shaka.util.TXml.parseBoolean=function(e){return!!e&&"true"===e.toLowerCase()},shaka.util.TXml.evalDivision=function(e){var t,r=(t=e.match(/^(\d+)\/(\d+)$/))?Number(t[1])/Number(t[2]):Number(e);return isNaN(r)?null:r},shaka.util.TXml.parseXpath=function(e){var t=[];e=shaka.util.StringUtils.htmlUnescape(e).split(/\/+(?=(?:[^'"]*['"][^'"]*['"])*[^'"]*$)/),e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){var i=(r=r.value).match(/^([\w]+)/);if(i){var n=r.match(/(@id='(.*?)')/),a=r.match(/(@t='(\d+)')/),o=r.match(/(@n='(\d+)')/),s=r.match(/\[(\d+)\]/);t.push({name:i[0],id:n?n[0].match(/'(.*?)'/)[0].replace(/'/gm,""):null,t:a?Number(a[0].match(/'(.*?)'/)[0].replace(/'/gm,"")):null,n:o?Number(o[0].match(/'(.*?)'/)[0].replace(/'/gm,"")):null,position:s?Number(s[1])-1:null,attribute:r.split("/@")[1]||null})}else r.startsWith("@")&&t.length&&(t[t.length-1].attribute=r.slice(1))}return t},shaka.util.TXml.modifyNodes=function(e,t){var r=shaka.util.TXml,i=r.parseXpath(t.attributes.sel||"");if(i.length){var n=i[i.length-1],a=t.attributes.pos||null;null==(i=n.position)&&(null!==n.t&&(i=r.nodePositionByAttribute_(e,"t",n.t)),null!==n.n&&(i=r.nodePositionByAttribute_(e,"n",n.n))),null===i?i="prepend"===a?0:e.length:"prepend"===a?--i:"after"===a&&++i,a=t.tagName,(n=n.attribute)&&e[i]?r.modifyNodeAttribute(e[i],a,n,r.getContents(t)||""):("remove"!==a&&"replace"!==a||e.splice(i,1),"add"!==a&&"replace"!==a||e.splice.apply(e,[i,0].concat($jscomp.arrayFromIterable(t.children))))}},shaka.util.TXml.nodePositionByAttribute_=function(e,t,r){var i=0;e=$jscomp.makeIterator(e);for(var n=e.next();!n.done;n=e.next()){if(Number(n.value.attributes[t])===r)return i;i++}return null},shaka.util.TXml.modifyNodeAttribute=function(e,t,r,i){"remove"===t?delete e.attributes[r]:("add"===t||"replace"===t)&&(e.attributes[r]=i)},shaka.util.TXml.txmlNodeToDomElement=function(e){var t=shaka.util.TXml,r="",i=e.tagName.split(":");for(var n in 0<i.length&&(r=t.getKnownSchema(i[0])),r=document.createElementNS(r,e.tagName),e.attributes)r.setAttribute(n,e.attributes[n]);for(n=(e=$jscomp.makeIterator(e.children)).next();!n.done;n=e.next())n="string"==typeof(n=n.value)?new Text(n):t.txmlNodeToDomElement(n),r.appendChild(n);return r},shaka.util.TXml.cloneNode=function(e){if(!e)return null;var t={tagName:e.tagName,attributes:shaka.util.ObjectUtils.shallowCloneObject(e.attributes),children:[],parent:null};e=$jscomp.makeIterator(e.children);for(var r=e.next();!r.done;r=e.next())"string"==typeof(r=r.value)||((r=shaka.util.TXml.cloneNode(r)).parent=t),t.children.push(r);return t},shaka.util.TXml.uriToNameSpace_=new Map,shaka.util.TXml.nameSpaceToUri_=new Map,shaka.text.Cue=function(e,t,r){var i=shaka.text.Cue;this.startTime=e,this.endTime=t,this.payload=r,this.region=new shaka.text.CueRegion,this.position=null,this.positionAlign=i.positionAlign.AUTO,this.size=0,this.textAlign=i.textAlign.CENTER,this.direction=i.direction.HORIZONTAL_LEFT_TO_RIGHT,this.writingMode=i.writingMode.HORIZONTAL_TOP_TO_BOTTOM,this.lineInterpretation=i.lineInterpretation.LINE_NUMBER,this.line=null,this.lineHeight="",this.lineAlign=i.lineAlign.START,this.displayAlign=i.displayAlign.AFTER,this.fontSize=this.border=this.backgroundImage=this.backgroundColor=this.color="",this.fontWeight=i.fontWeight.NORMAL,this.fontStyle=i.fontStyle.NORMAL,this.linePadding=this.letterSpacing=this.fontFamily="",this.opacity=1,this.textCombineUpright="",this.textDecoration=[],this.textStrokeWidth=this.textStrokeColor=this.textShadow="",this.wrapLine=!0,this.id="",this.nestedCues=[],this.lineBreak=this.isContainer=!1,this.rubyTag=null,this.cellResolution={columns:32,rows:15}},shaka.text.Cue.lineBreak=function(e,t){return(e=new shaka.text.Cue(e,t,"")).lineBreak=!0,e},shaka.text.Cue.prototype.clone=function(){var e,t=new shaka.text.Cue(0,0,"");for(e in this)t[e]=this[e],Array.isArray(t[e])&&(t[e]=t[e].slice());return t},shaka.text.Cue.equal=function(e,t){if(e.payload!=t.payload||!(.001>Math.abs(e.startTime-t.startTime)&&.001>Math.abs(e.endTime-t.endTime)))return!1;for(var r in e)if("startTime"!=r&&"endTime"!=r&&"payload"!=r){if("nestedCues"==r){if(!shaka.util.ArrayUtils.equal(e.nestedCues,t.nestedCues,shaka.text.Cue.equal))return!1}else if("region"==r||"cellResolution"==r){for(var i in e[r])if(e[r][i]!=t[r][i])return!1}else if(Array.isArray(e[r])){if(!shaka.util.ArrayUtils.equal(e[r],t[r]))return!1}else if(e[r]!=t[r])return!1}return!0},shaka.text.Cue.parseCuePayload=function(e,t){t=void 0===t?new Map:t;var r=shaka.util.StringUtils,i=shaka.util.TXml,n=e.payload;if(n.includes("<")){0===t.size&&shaka.text.Cue.addDefaultTextColor(t),n=shaka.text.Cue.replaceKaraokeStylePayload_(n),n=shaka.text.Cue.replaceVoiceStylePayload_(n),n=shaka.text.Cue.escapeInvalidChevrons_(n),e.payload="";try{var a=i.parseXmlString("<span>"+n+"</span>","span")}catch(e){shaka.log.warning("cue parse fail: ",e)}if(a)if(1!=(a=a.children).length||i.isNode(a[0]))for(i=(r=$jscomp.makeIterator(a)).next();!i.done;i=r.next())shaka.text.Cue.generateCueFromElement_(i.value,e,t);else e.payload=r.htmlUnescape(n);else shaka.log.warning("The cue's markup could not be parsed: ",n),e.payload=r.htmlUnescape(n)}else e.payload=r.htmlUnescape(n)},shaka.text.Cue.addDefaultTextColor=function(e){for(var t=$jscomp.makeIterator(Object.entries(shaka.text.Cue.defaultTextColor)),r=t.next();!r.done;r=t.next()){var i=$jscomp.makeIterator(r.value);r=i.next().value,i=i.next().value;var n=new shaka.text.Cue(0,0,"");n.color=i,e.set("."+r,n)}for(r=(t=$jscomp.makeIterator(Object.entries(shaka.text.Cue.defaultTextBackgroun
1dColor))).next();!r.done;r=t.next())r=(i=$jscomp.makeIterator(r.value)).next().value,i=i.next().value,(n=new shaka.text.Cue(0,0,"")).backgroundColor=i,e.set("."+r,n)},shaka.text.Cue.replaceKaraokeStylePayload_=function(e){for(var t=[],r=-1,i=0;i<e.length;i++)"<"===e[i]?r=i+1:">"===e[i]&&0<r&&((r=e.substr(r,i-r)).match(shaka.text.Cue.timeFormat_)&&t.push(r),r=-1);for(i=(t=$jscomp.makeIterator(t)).next();!i.done;i=t.next())i=i.value,e=e.replace("<"+i+">",'<div time="'+i+'">')+"</div>";return e},shaka.text.Cue.replaceVoiceStylePayload_=function(e){for(var t=[],r=-1,i="",n=!1,a=0;a<e.length;a++)if("/"===e[a]){var o=e.indexOf(">",a);if(-1===o)return e;if((o=e.substring(a+1,o))&&"v"==o){n=!0;var s=null;if(t.length&&(s=t[t.length-1]),s){if(s===o)i+="/"+o+">";else{if(!s.startsWith("v")){i+=e[a];continue}i+="/"+s+">"}a+=o.length+1}else i+=e[a]}else i+=e[a]}else"<"===e[a]?"v"!=e[r=a+1]&&(r=-1):">"===e[a]&&0<r&&(t.push(e.substr(r,a-r)),r=-1),i+=e[a];for(t=(e=$jscomp.makeIterator(t)).next();!t.done;t=e.next())r=(t=t.value).replace(" ",".voice-"),i=(i=i.replace("<"+t+">","<"+r+">")).replace("</"+t+">","</"+r+">"),n||(i+="</"+r+">");return i},shaka.text.Cue.escapeInvalidChevrons_=function(e){var t={"< ":""," >":" &gt;"},r=/(< +>|<\s|\s>)/g,i=RegExp(r.source);return e&&i.test(e)?e.replace(r,function(e){return t[e]||""}):e||""},shaka.text.Cue.generateCueFromElement_=function(e,t,r){var i=shaka.util.TXml,n=t.clone();if(n.nestedCues=[],n.payload="",n.rubyTag="",n.line=null,n.region=new shaka.text.CueRegion,n.position=null,n.size=0,n.textAlign=shaka.text.Cue.textAlign.CENTER,i.isNode(e)){var a=shaka.text.Cue.fontWeight.BOLD,o=shaka.text.Cue.fontStyle.ITALIC,s=shaka.text.Cue.textDecoration.UNDERLINE,l=e.tagName.split(/(?=[ .])+/g);l=$jscomp.makeIterator(l);for(var u=l.next();!u.done;u=l.next()){var d=u=u.value;if(d.startsWith(".voice-")){var c=d.split("-").pop();d='v[voice="'+c+'"]',r.has(d)||(d="v[voice="+c+"]")}switch(r.has(d)&&shaka.text.Cue.mergeStyle_(n,r.get(d)),u){case"br":n=shaka.text.Cue.lineBreak(n.startTime,n.endTime),t.nestedCues.push(n);return;case"b":n.fontWeight=a;break;case"i":n.fontStyle=o;break;case"u":n.textDecoration.push(s);break;case"font":(u=e.attributes.color)&&(n.color=u);break;case"div":if(!(u=e.attributes.time))break;(u=shaka.util.TextParser.parseTime(u))&&(n.startTime=u);break;case"ruby":case"rp":case"rt":n.rubyTag=u}}}if(a=e.children,i.isText(e)||1==a.length&&i.isText(a[0]))for(r=i.getTextContents(e).split("\n"),e=!0,i=(r=$jscomp.makeIterator(r)).next();!i.done;i=r.next())i=i.value,e||(e=shaka.text.Cue.lineBreak(n.startTime,n.endTime),t.nestedCues.push(e)),0<i.length&&((e=n.clone()).payload=shaka.util.StringUtils.htmlUnescape(i),t.nestedCues.push(e)),e=!1;else for(t.nestedCues.push(n),e=(t=$jscomp.makeIterator(a)).next();!e.done;e=t.next())shaka.text.Cue.generateCueFromElement_(e.value,n,r)},shaka.text.Cue.mergeStyle_=function(e,t){t&&(e.backgroundColor=shaka.text.Cue.getOrDefault_(t.backgroundColor,e.backgroundColor),e.color=shaka.text.Cue.getOrDefault_(t.color,e.color),e.fontFamily=shaka.text.Cue.getOrDefault_(t.fontFamily,e.fontFamily),e.fontSize=shaka.text.Cue.getOrDefault_(t.fontSize,e.fontSize),e.textShadow=shaka.text.Cue.getOrDefault_(t.textShadow,e.textShadow),e.fontWeight=t.fontWeight,e.fontStyle=t.fontStyle,e.opacity=t.opacity,e.rubyTag=t.rubyTag,e.textCombineUpright=t.textCombineUpright,e.wrapLine=t.wrapLine)},shaka.text.Cue.getOrDefault_=function(e,t){return e&&0<e.length?e:t},goog.exportSymbol("shaka.text.Cue",shaka.text.Cue),goog.exportProperty(shaka.text.Cue,"parseCuePayload",shaka.text.Cue.parseCuePayload),goog.exportProperty(shaka.text.Cue,"equal",shaka.text.Cue.equal),goog.exportProperty(shaka.text.Cue.prototype,"clone",shaka.text.Cue.prototype.clone),shaka.text.Cue.positionAlign={LEFT:"line-left",RIGHT:"line-right",CENTER:"center",AUTO:"auto"},goog.exportProperty(shaka.text.Cue,"positionAlign",shaka.text.Cue.positionAlign),shaka.text.Cue.textAlign={LEFT:"left",RIGHT:"right",CENTER:"center",START:"start",END:"end"},goog.exportProperty(shaka.text.Cue,"textAlign",shaka.text.Cue.textAlign),shaka.text.Cue.displayAlign={BEFORE:"before",CENTER:"center",AFTER:"after"},goog.exportProperty(shaka.text.Cue,"displayAlign",shaka.text.Cue.displayAlign),shaka.text.Cue.direction={HORIZONTAL_LEFT_TO_RIGHT:"ltr",HORIZONTAL_RIGHT_TO_LEFT:"rtl"},goog.exportProperty(shaka.text.Cue,"direction",shaka.text.Cue.direction),shaka.text.Cue.writingMode={HORIZONTAL_TOP_TO_BOTTOM:"horizontal-tb",VERTICAL_LEFT_TO_RIGHT:"vertical-lr",VERTICAL_RIGHT_TO_LEFT:"vertical-rl"},goog.exportProperty(shaka.text.Cue,"writingMode",shaka.text.Cue.writingMode),shaka.text.Cue.lineInterpretation={LINE_NUMBER:0,PERCENTAGE:1},goog.exportProperty(shaka.text.Cue,"lineInterpretation",shaka.text.Cue.lineInterpretation),shaka.text.Cue.lineAlign={CENTER:"center",START:"start",END:"end"},goog.exportProperty(shaka.text.Cue,"lineAlign",shaka.text.Cue.lineAlign),shaka.text.Cue.defaultTextColor={white:"white",lime:"lime",cyan:"cyan",red:"red",yellow:"yellow",magenta:"magenta",blue:"blue",black:"black"},goog.exportProperty(shaka.text.Cue,"defaultTextColor",shaka.text.Cue.defaultTextColor),shaka.text.Cue.defaultTextBackgroun
1dColor={bg_white:"white",bg_lime:"lime",bg_cyan:"cyan",bg_red:"red",bg_yellow:"yellow",bg_magenta:"magenta",bg_blue:"blue",bg_black:"black"},goog.exportProperty(shaka.text.Cue,"defaultTextBackgroundColor",shaka.text.Cue.defaultTextBackgroundColor),shaka.text.Cue.fontWeight={NORMAL:400,BOLD:700},goog.exportProperty(shaka.text.Cue,"fontWeight",shaka.text.Cue.fontWeight),shaka.text.Cue.fontStyle={NORMAL:"normal",ITALIC:"italic",OBLIQUE:"oblique"},goog.exportProperty(shaka.text.Cue,"fontStyle",shaka.text.Cue.fontStyle),shaka.text.Cue.textDecoration={UNDERLINE:"underline",LINE_THROUGH:"lineThrough",OVERLINE:"overline"},goog.exportProperty(shaka.text.Cue,"textDecoration",shaka.text.Cue.textDecoration),shaka.text.Cue.timeFormat_=/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g,shaka.util.IDestroyable=function(){},shaka.util.IDestroyable.prototype.destroy=function(){},shaka.transmuxer={},shaka.transmuxer.TransmuxerEngine=function(){},shaka.transmuxer.TransmuxerEngine.prototype.destroy=function(){},shaka.transmuxer.TransmuxerEngine.registerTransmuxer=function(e,t,r){var i=shaka.transmuxer.TransmuxerEngine;e=i.normalizeMimeType_(e),i.transmuxerMap_.set(e+"-"+r,{priority:r,plugin:t})},shaka.transmuxer.TransmuxerEngine.unregisterTransmuxer=function(e,t){var r=shaka.transmuxer.TransmuxerEngine;e=r.normalizeMimeType_(e),r.transmuxerMap_.delete(e+"-"+t)},shaka.transmuxer.TransmuxerEngine.findTransmuxer=function(e,t){for(var r=shaka.transmuxer.TransmuxerEngine,i=r.normalizeMimeType_(e),n=$jscomp.makeIterator([r.PluginPriority.APPLICATION,r.PluginPriority.PREFERRED,r.PluginPriority.PREFERRED_SECONDARY,r.PluginPriority.FALLBACK]),a=n.next();!a.done;a=n.next())if(a=r.transmuxerMap_.get(i+"-"+a.value)){var o=a.plugin(),s=o.isSupported(e,t);if(o.destroy(),s)return a.plugin}return null},shaka.transmuxer.TransmuxerEngine.normalizeMimeType_=function(e){return e.toLowerCase().split(";")[0]},shaka.transmuxer.TransmuxerEngine.isSupported=function(e,t){return!!shaka.transmuxer.TransmuxerEngine.findTransmuxer(e)},shaka.transmuxer.TransmuxerEngine.convertCodecs=function(e,t){var r=shaka.transmuxer.TransmuxerEngine.findTransmuxer(t);return r?(e=(r=r()).convertCodecs(e,t),r.destroy(),e):t},goog.exportSymbol("shaka.transmuxer.TransmuxerEngine",shaka.transmuxer.TransmuxerEngine),goog.exportProperty(shaka.transmuxer.TransmuxerEngine,"findTransmuxer",shaka.transmuxer.TransmuxerEngine.findTransmuxer),goog.exportProperty(shaka.transmuxer.TransmuxerEngine,"unregisterTransmuxer",shaka.transmuxer.TransmuxerEngine.unregisterTransmuxer),goog.exportProperty(shaka.transmuxer.TransmuxerEngine,"registerTransmuxer",shaka.transmuxer.TransmuxerEngine.registerTransmuxer),goog.exportProperty(shaka.transmuxer.TransmuxerEngine.prototype,"destroy",shaka.transmuxer.TransmuxerEngine.prototype.destroy),shaka.transmuxer.TransmuxerEngine.transmuxerMap_=new Map,shaka.transmuxer.TransmuxerEngine.PluginPriority={FALLBACK:1,PREFERRED_SECONDARY:2,PREFERRED:3,APPLICATION:4},goog.exportProperty(shaka.transmuxer.TransmuxerEngine,"PluginPriority",shaka.transmuxer.TransmuxerEngine.PluginPriority),goog.uri={},goog.uri.utils={},goog.uri.utils.splitRe_=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7},goog.uri.utils.split=function(e){return e.match(goog.uri.utils.splitRe_)},goog.Uri=function(e){var t;e instanceof goog.Uri?(this.setScheme(e.getScheme()),this.setUserInfo(e.getUserInfo()),this.setDomain(e.getDomain()),this.setPort(e.getPort()),this.setPath(e.getPath()),this.setQueryData(e.getQueryData().clone()),this.setFragment(e.getFragment())):e&&(t=goog.uri.utils.split(String(e)))?(this.setScheme(t[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(t[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(t[goog.uri.utils.ComponentIndex.DOMAIN]||"",!0),this.setPort(t[goog.uri.utils.ComponentIndex.PORT]),this.setPath(t[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(t[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(t[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):this.queryData_=new goog.Uri.QueryData(null,null)},goog.Uri.prototype.scheme_="",goog.Uri.prototype.userInfo_="",goog.Uri.prototype.domain_="",goog.Uri.prototype.port_=null,goog.Uri.prototype.path_="",goog.Uri.prototype.fragment_="",goog.Uri.prototype.toString=function(){var e=[],t=this.getScheme();if(t&&e.push(goog.Uri.encodeSpecialChars_(t,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),":"),t=this.getDomain()){e.push("//");var r=this.getUserInfo();r&&e.push(goog.Uri.encodeSpecialChars_(r,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),"@"),e.push(goog.Uri.removeDoubleEncoding_(encodeURIComponent(t))),null!=(t=this.getPort())&&e.push(":",String(t))}return(t=this.getPath())&&(this.hasDomain()&&"/"!=t.charAt(0)&&e.push("/"),e.push(goog.Uri.encodeSpecialChars_(t,"/"==t.charAt(0)?goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_,!0))
1),(t=this.getEncodedQuery())&&e.push("?",t),(t=this.getFragment())&&e.push("#",goog.Uri.encodeSpecialChars_(t,goog.Uri.reDisallowedInFragment_)),e.join("")},goog.Uri.prototype.resolve=function(e){var t=this.clone();"data"===t.scheme_&&(t=new goog.Uri);var r=e.hasScheme();r?t.setScheme(e.getScheme()):r=e.hasUserInfo(),r?t.setUserInfo(e.getUserInfo()):r=e.hasDomain(),r?t.setDomain(e.getDomain()):r=e.hasPort();var i=e.getPath();if(r)t.setPort(e.getPort());else if(r=e.hasPath()){if("/"!=i.charAt(0))if(this.hasDomain()&&!this.hasPath())i="/"+i;else{var n=t.getPath().lastIndexOf("/");-1!=n&&(i=t.getPath().substr(0,n+1)+i)}i=goog.Uri.removeDotSegments(i)}return r?t.setPath(i):r=e.hasQuery(),r?t.setQueryData(e.getQueryData().clone()):r=e.hasFragment(),r&&t.setFragment(e.getFragment()),t},goog.Uri.prototype.clone=function(){return new goog.Uri(this)},goog.Uri.prototype.getScheme=function(){return this.scheme_},goog.Uri.prototype.setScheme=function(e,t){return(this.scheme_=t?goog.Uri.decodeOrEmpty_(e,!0):e)&&(this.scheme_=this.scheme_.replace(/:$/,"")),this},goog.Uri.prototype.hasScheme=function(){return!!this.scheme_},goog.Uri.prototype.getUserInfo=function(){return this.userInfo_},goog.Uri.prototype.setUserInfo=function(e,t){return this.userInfo_=t?goog.Uri.decodeOrEmpty_(e):e,this},goog.Uri.prototype.hasUserInfo=function(){return!!this.userInfo_},goog.Uri.prototype.getDomain=function(){return this.domain_},goog.Uri.prototype.setDomain=function(e,t){return this.domain_=t?goog.Uri.decodeOrEmpty_(e,!0):e,this},goog.Uri.prototype.hasDomain=function(){return!!this.domain_},goog.Uri.prototype.getPort=function(){return this.port_},goog.Uri.prototype.setPort=function(e){if(e){if(isNaN(e=Number(e))||0>e)throw Error("Bad port number "+e);this.port_=e}else this.port_=null;return this},goog.Uri.prototype.hasPort=function(){return null!=this.port_},goog.Uri.prototype.getPath=function(){return this.path_},goog.Uri.prototype.setPath=function(e,t){return this.path_=t?goog.Uri.decodeOrEmpty_(e,!0):e,this},goog.Uri.prototype.hasPath=function(){return!!this.path_},goog.Uri.prototype.hasQuery=function(){return""!==this.queryData_.toString()},goog.Uri.prototype.setQueryData=function(e,t){return e instanceof goog.Uri.QueryData?this.queryData_=e:(t||(e=goog.Uri.encodeSpecialChars_(e,goog.Uri.reDisallowedInQuery_)),this.queryData_=new goog.Uri.QueryData(e,null)),this},goog.Uri.prototype.getEncodedQuery=function(){return this.queryData_.toString()},goog.Uri.prototype.getDecodedQuery=function(){return this.queryData_.toDecodedString()},goog.Uri.prototype.getQueryData=function(){return this.queryData_},goog.Uri.prototype.getFragment=function(){return this.fragment_},goog.Uri.prototype.setFragment=function(e,t){return this.fragment_=t?goog.Uri.decodeOrEmpty_(e):e,this},goog.Uri.prototype.hasFragment=function(){return!!this.fragment_},goog.Uri.removeDotSegments=function(e){if(".."==e||"."==e)return"";if(-1==e.indexOf("./")&&-1==e.indexOf("/."))return e;var t=0==e.lastIndexOf("/",0);e=e.split("/");for(var r=[],i=0;i<e.length;){var n=e[i++];"."==n?t&&i==e.length&&r.push(""):".."==n?((1<r.length||1==r.length&&""!=r[0])&&r.pop(),t&&i==e.length&&r.push("")):(r.push(n),t=!0)}return r.join("/")},goog.Uri.decodeOrEmpty_=function(e,t){return e?t?decodeURI(e):decodeURIComponent(e):""},goog.Uri.encodeSpecialChars_=function(e,t,r){return null!=e?(e=encodeURI(e).replace(t,goog.Uri.encodeChar_),r&&(e=goog.Uri.removeDoubleEncoding_(e)),e):null},goog.Uri.encodeChar_=function(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)},goog.Uri.removeDoubleEncoding_=function(e){return e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")},goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g,goog.Uri.reDisallowedInRelativePath_=/[#\?:]/g,goog.Uri.reDisallowedInAbsolutePath_=/[#\?]/g,goog.Uri.reDisallowedInQuery_=/[#\?@]/g,goog.Uri.reDisallowedInFragment_=/#/g,goog.Uri.QueryData=function(e,t){this.encodedQuery_=e||null},goog.Uri.QueryData.prototype.ensureKeyMapInitialized_=function(){if(!this.keyMap_&&(this.keyMap_=new Map,this.count_=0,this.encodedQuery_))for(var e=this.encodedQuery_.split("&"),t=0;t<e.length;t++){var r=e[t].indexOf("="),i=null;if(0<=r){var n=e[t].substring(0,r);i=e[t].substring(r+1)}else n=e[t];n=decodeURIComponent(n.replace(/\+/g," ")),i=i||"",this.add(n,decodeURIComponent(i.replace(/\+/g," ")))}},goog.Uri.QueryData.prototype.keyMap_=null,goog.Uri.QueryData.prototype.count_=null,goog.Uri.QueryData.prototype.getCount=function(){return this.ensureKeyMapInitialized_(),this.count_},goog.Uri.QueryData.prototype.add=function(e,t){this.ensureKeyMapInitialized_(),this.encodedQuery_=null;var r=this.keyMap_.has(e)?this.keyMap_.get(e):null;return r||this.keyMap_.set(e,r=[]),r.push(t),goog.asserts.assert(null!=this.count_,"Should not be null."),this.count_++,this},goog.Uri.QueryData.prototype.set=function(e,t){return this.ensureKeyMapInitialized_(),this.encodedQuery_=null,this.keyMap_.has(e)?this.keyMap_.set(e,[t]):this.add(e,t),this},goog.Uri.QueryData.prototype.get=function(e){return this.ensureKeyMapInitialized_(),this.keyMap_.get(e)||[]},goog.Uri.QueryData.prototype.toString=function(){if(this.encodedQuery_)return this.encodedQuery_;if(!this.keyMap_||!this.keyMap_.size)return"";for(var e=[],t=$jscomp.makeIterator(this.keyMap_.keys()),r=t.next();!r.done;r=t.next()){var i=r.value;r=encodeURIComponent(i),i=this.keyMap_.get(i);for(var n=0;n<i.length;n++){var a=r;""!==i[n]&&(a+="="+encodeURIComponent(i[n])),e.push(a)}}return this.encodedQuery_=e.join("&")},goog.Uri.QueryData.prototype.toDecodedString=function(){return goog.Uri.decodeOrEmpty_(this.toString())},goog.Uri.QueryData.prototype.clone=function(){var e=new goog.Uri.QueryData;if(e.encodedQuery_=this.encodedQuery_,this.keyMap_){for(var t=new Map,r=$jscomp.makeIterator(this.keyMap_),i=r.next();!i.done;i=r.next()){var n=$jscomp.makeIterator(i.value);
1i=n.next().value,n=n.next().value,t.set(i,n.concat())}e.keyMap_=t,e.count_=this.count_}return e},shaka.util.Uint8ArrayUtils=function(){},shaka.util.Uint8ArrayUtils.toStandardBase64=function(e){return btoa(e=shaka.util.StringUtils.fromCharCode(shaka.util.BufferUtils.toUint8(e)))},shaka.util.Uint8ArrayUtils.toBase64=function(e,t){return t=void 0==t||t,e=shaka.util.Uint8ArrayUtils.toStandardBase64(e).replace(/\+/g,"-").replace(/\//g,"_"),t?e:e.replace(/[=]*$/,"")},shaka.util.Uint8ArrayUtils.fromBase64=function(e){e=window.atob(e.replace(/-/g,"+").replace(/_/g,"/"));for(var t=new Uint8Array(e.length),r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t},shaka.util.Uint8ArrayUtils.fromHex=function(e){for(var t=e.length/2,r=new Uint8Array(t),i=0;i<t;i++)r[i]=window.parseInt(e.substr(2*i,2),16);return r},shaka.util.Uint8ArrayUtils.toHex=function(e){var t=shaka.util.BufferUtils.toUint8(e);e="",t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next())1==(r=(r=r.value).toString(16)).length&&(r="0"+r),e+=r;return e},shaka.util.Uint8ArrayUtils.concat=function(){for(var e=$jscomp.getRestArguments.apply(0,arguments),t=shaka.util.BufferUtils,r=0,i=0;i<e.length;++i)r+=e[i].byteLength;r=new Uint8Array(r);for(var n=i=0;n<e.length;++n){var a=e[n];ArrayBuffer.isView(a)&&1===a.BYTES_PER_ELEMENT?r.set(a,i):r.set(t.toUint8(a),i),i+=a.byteLength}return r},goog.exportSymbol("shaka.util.Uint8ArrayUtils",shaka.util.Uint8ArrayUtils),goog.exportProperty(shaka.util.Uint8ArrayUtils,"concat",shaka.util.Uint8ArrayUtils.concat),goog.exportProperty(shaka.util.Uint8ArrayUtils,"toHex",shaka.util.Uint8ArrayUtils.toHex),goog.exportProperty(shaka.util.Uint8ArrayUtils,"fromHex",shaka.util.Uint8ArrayUtils.fromHex),goog.exportProperty(shaka.util.Uint8ArrayUtils,"fromBase64",shaka.util.Uint8ArrayUtils.fromBase64),goog.exportProperty(shaka.util.Uint8ArrayUtils,"toBase64",shaka.util.Uint8ArrayUtils.toBase64),goog.exportProperty(shaka.util.Uint8ArrayUtils,"toStandardBase64",shaka.util.Uint8ArrayUtils.toStandardBase64),shaka.util.ManifestParserUtils=function(){},shaka.util.ManifestParserUtils.resolveUris=function(e,t,r){if(r=void 0===r?"":r,0==t.length)return e;if(1==e.length&&1==t.length){var i=new goog.Uri(e[0]);return t=new goog.Uri(t[0]),t=i.resolve(t),r&&t.setQueryData(r),[t.toString()]}t=t.map(function(e){return new goog.Uri(e)}),i=[],e=$jscomp.makeIterator(e);for(var n=e.next();!n.done;n=e.next()){n=new goog.Uri(n.value);for(var a=$jscomp.makeIterator(t),o=a.next();!o.done;o=a.next())o=n.resolve(o.value),r&&o.setQueryData(r),i.push(o.toString())}return i},shaka.util.ManifestParserUtils.createDrmInfo=function(e,t,r,i){return e={keySystem:e,encryptionScheme:t,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,serverCertificateUri:"",sessionType:"",initData:r||[],keyIds:new Set},i&&(e.keySystemUris=new Set([i])),e},shaka.util.ManifestParserUtils.createDrmInfoFromClearKeys=function(e,t){t=void 0===t?"cenc":t;var r=shaka.util.StringUtils,i=shaka.util.Uint8ArrayUtils,n=[],a=[],o=[];e.forEach(function(e,t){var r=t;22!=r.length&&(r=i.toBase64(i.fromHex(t),!1));var s=e;22!=s.length&&(s=i.toBase64(i.fromHex(e),!1)),e={kty:"oct",kid:r,k:s},n.push(e),a.push(e.kid),o.push(t)}),e=JSON.stringify({keys:n});var s=JSON.stringify({kids:a});return r=[{initData:shaka.util.BufferUtils.toUint8(r.toUTF8(s)),initDataType:"keyids"}],{keySystem:"org.w3.clearkey",encryptionScheme:t,licenseServerUri:"data:application/json;base64,"+window.btoa(e),distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,serverCertificateUri:"",sessionType:"",initData:r,keyIds:new Set(o)}},shaka.util.ManifestParserUtils.guessCodecs=function(e,t){if(1==t.length)return t[0];if(null!=(e=shaka.util.ManifestParserUtils.guessCodecsSafe(e,t)))return e;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_COULD_NOT_GUESS_CODECS,t)},shaka.util.ManifestParserUtils.guessCodecsSafe=function(e,t){var r=shaka.util.ManifestParserUtils.CODEC_REGEXPS_BY_CONTENT_TYPE_.get(e);r=$jscomp.makeIterator(r);for(var i=r.next();!i.done;i=r.next()){i=i.value;for(var n=$jscomp.makeIterator(t),a=n.next();!a.done;a=n.next())if(a=a.value,i.test(a.trim()))return a.trim()}return e==shaka.util.ManifestParserUtils.ContentType.TEXT?"":null}
1,shaka.util.ManifestParserUtils.guessAllCodecsSafe=function(e,t){var r=[];e=shaka.util.ManifestParserUtils.CODEC_REGEXPS_BY_CONTENT_TYPE_.get(e),e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;for(var n=$jscomp.makeIterator(t),a=n.next();!a.done;a=n.next())a=a.value,i.test(a.trim())&&r.push(a.trim())}return r},shaka.util.ManifestParserUtils.ContentType={VIDEO:"video",AUDIO:"audio",TEXT:"text",IMAGE:"image",APPLICATION:"application"},shaka.util.ManifestParserUtils.TextStreamKind={SUBTITLE:"subtitle",CLOSED_CAPTION:"caption"},shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS=1/15,shaka.util.ManifestParserUtils.VIDEO_CODEC_REGEXPS_=[/^avc/,/^hev/,/^hvc/,/^vvc/,/^vvi/,/^vp0?[89]/,/^av01/,/^dvh/,/^dva/,/^dav/],shaka.util.ManifestParserUtils.AUDIO_CODEC_REGEXPS_=[/^vorbis$/,/^Opus$/,/^opus$/,/^fLaC$/,/^flac$/,/^mp4a/,/^[ae]c-3$/,/^ac-4/,/^dts[cex]$/,/^iamf/,/^mhm[12]/,/^ac3$/,/^eac3$/],shaka.util.ManifestParserUtils.TEXT_CODEC_REGEXPS_=[/^vtt$/,/^wvtt/,/^stpp/],shaka.util.ManifestParserUtils.CODEC_REGEXPS_BY_CONTENT_TYPE_=(new Map).set("audio",shaka.util.ManifestParserUtils.AUDIO_CODEC_REGEXPS_).set("video",shaka.util.ManifestParserUtils.VIDEO_CODEC_REGEXPS_).set("text",shaka.util.ManifestParserUtils.TEXT_CODEC_REGEXPS_),shaka.util.MimeUtils=function(){},shaka.util.MimeUtils.getFullType=function(e,t){var r=e;return t&&!shaka.util.MimeUtils.RAW_FORMATS.includes(e)&&(r+='; codecs="'+t+'"'),r},shaka.util.MimeUtils.getFullTypeWithAllCodecs=function(e,t){return t&&(e+='; codecs="'+t+'"'),e},shaka.util.MimeUtils.getFullOrConvertedType=function(e,t,r){var i=shaka.util.MimeUtils,n=i.getFullType(e,t);t=i.getFullTypeWithAllCodecs(e,t),i=shaka.util.ManifestParserUtils.ContentType;var a=shaka.transmuxer.TransmuxerEngine;return a.isSupported(t,r)?a.convertCodecs(r,t):"video/mp2t"!=e&&r==i.AUDIO?n.replace("video","audio"):n},shaka.util.MimeUtils.getExtendedType=function(e,t,r){var i=[t];return shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_.forEach(function(t,n){var a=e[n];"codecs"==n?shaka.util.MimeUtils.RAW_FORMATS.includes(e.mimeType)||i.push('codecs="'+r+'"'):a&&i.push(t+'="'+a+'"')}),"PQ"==e.hdr&&i.push('eotf="smpte2084"'),i.join(";")},shaka.util.MimeUtils.getContainerType=function(e){return e.split(";")[0].split("/")[1]},shaka.util.MimeUtils.splitCodecs=function(e){return e.split(",")},shaka.util.MimeUtils.getNormalizedCodec=function(e){var t=shaka.util.MimeUtils.getCodecParts_(e);switch(e=t[0],t=t[1].toLowerCase(),!0){case"mp4a"===e&&"69"===t:case"mp4a"===e&&"6b"===t:case"mp4a"===e&&"40.34"===t:return"mp3";case"mp4a"===e&&"66"===t:case"mp4a"===e&&"67"===t:case"mp4a"===e&&"68"===t:case"mp4a"===e&&"40.2"===t:case"mp4a"===e&&"40.02"===t:case"mp4a"===e&&"40.5"===t:case"mp4a"===e&&"40.05"===t:case"mp4a"===e&&"40.29"===t:case"mp4a"===e&&"40.42"===t:return"aac";case"mp4a"===e&&"a5"===t:case"ac3"===e:case"ac-3"===e:return"ac-3";case"mp4a"===e&&"a6"===t:case"eac3"===e:case"ec-3"===e:return"ec-3";case"ac-4"===e:return"ac-4";case"mp4a"===e&&"b2"===t:return"dtsx";case"mp4a"===e&&"a9"===t:return"dtsc";case"vp09"===e:case"vp9"===e:return"vp9";case"avc1"===e:case"avc3"===e:return"avc";case"hvc1"===e:case"hev1"===e:return"hevc";case"vvc1"===e:case"vvi1"===e:return"vvc";case"dvh1"===e:case"dvhe"===e:return t&&t.startsWith("05")?"dovi-p5":"dovi-hevc";case"dvav"===e:case"dva1"===e:return"dovi-avc";case"dav1"===e:return"dovi-av1";case"dvc1"===e:case"dvi1"===e:return"dovi-vvc"}return e},shaka.util.MimeUtils.getCodecBase=function(e){var t=[];e=$jscomp.makeIterator(e.split(","));for(var r=e.next();!r.done;r=e.next())t.push((r=shaka.util.MimeUtils.getCodecParts_(r.value))[0]);return t.sort().join(",")},shaka.util.MimeUtils.getBasicType=function(e){return e.split(";")[0]},shaka.util.MimeUtils.getCodecs=function(e){return(e=e.split(/ *; */)).shift(),(e=e.find(function(e){return e.startsWith("codecs=")}))?e.split("=")[1].replace(/^"|"$/g,""):""},shaka.util.MimeUtils.isHlsType=function(e){return"application/x-mpegurl"===e||"application/vnd.apple.mpegurl"===e},shaka.util.MimeUtils.isDashType=function(e){return"application/dash+xml"===e||"video/vnd.mpeg.dash.mpd"===e},shaka.util.MimeUtils.getCodecParts_=function(e){var t=e.split(".");return e=t[0],t.shift(),[e,t=t.join(".")]},goog.exportSymbol("shaka.util.MimeUtils",shaka.util.MimeUtils),goog.exportProperty(shaka.util.MimeUtils,"getFullTypeWithAllCodecs",shaka.util.MimeUtils.getFullTypeWithAllCodecs),goog.exportProperty(shaka.util.MimeUtils,"getFullType",shaka.util.MimeUtils.getFullType),shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_=(new Map).set("co
1decs","codecs").set("frameRate","framerate").set("bandwidth","bitrate").set("width","width").set("height","height").set("channelsCount","channels"),shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE="application/cea-608",shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE="application/cea-708",shaka.util.MimeUtils.RAW_FORMATS=["audio/aac","audio/ac3","audio/ec3","audio/mpeg"],shaka.text.TextEngine=function(e){this.parser_=null,this.displayer_=e,this.segmentRelativeVttTiming_=!1,this.appendWindowStart_=this.timestampOffset_=0,this.appendWindowEnd_=1/0,this.bufferEnd_=this.bufferStart_=null,this.selectedClosedCaptionId_="",this.modifyCueCallback_=function(e,t){},this.closedCaptionsMap_=new Map},shaka.text.TextEngine.registerParser=function(e,t){shaka.text.TextEngine.parserMap_.set(e,t)},shaka.text.TextEngine.unregisterParser=function(e){shaka.text.TextEngine.parserMap_.delete(e)},shaka.text.TextEngine.findParser=function(e){return shaka.text.TextEngine.parserMap_.get(e)},shaka.text.TextEngine.isTypeSupported=function(e){return!!shaka.text.TextEngine.parserMap_.has(e)||(e==shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE||e==shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE)&&!!shaka.media.ClosedCaptionParser.findDecoder()},shaka.text.TextEngine.prototype.destroy=function(){return this.displayer_=this.parser_=null,this.closedCaptionsMap_.clear(),Promise.resolve()},shaka.text.TextEngine.prototype.setDisplayer=function(e){this.displayer_=e},shaka.text.TextEngine.prototype.initParser=function(e,t,r,i){e==shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE||e==shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE?this.parser_=null:(e=shaka.text.TextEngine.parserMap_.get(e),goog.asserts.assert(e,"Text type negotiation should have happened already"),this.parser_=e(),this.parser_.setSequenceMode?this.parser_.setSequenceMode(t):shaka.Deprecate.deprecateFeature(5,"Text parsers w/ setSequenceMode",'Text parsers should have a "setSequenceMode" method!'),this.parser_.setManifestType?this.parser_.setManifestType(i):shaka.Deprecate.deprecateFeature(5,"Text parsers w/ setManifestType",'Text parsers should have a "setManifestType" method!'),this.segmentRelativeVttTiming_=r)},shaka.text.TextEngine.prototype.setModifyCueCallback=function(e){this.modifyCueCallback_=e},shaka.text.TextEngine.prototype.appendBuffer=function(e,t,r,i){var n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return goog.asserts.assert(c.parser_,"The parser should already be initialized"),p.yield(Promise.resolve(),2);if(!c.parser_||!c.displayer_)return p.return();if(null==t||null==r)return c.parser_.parseInit(shaka.util.BufferUtils.toUint8(e)),p.return();for(n=c.segmentRelativeVttTiming_?t:c.timestampOffset_,a={periodStart:c.timestampOffset_,segmentStart:t,segmentEnd:r,vttOffset:n},o=c.parser_.parseMedia(shaka.util.BufferUtils.toUint8(e),a,i,[]),l=(s=$jscomp.makeIterator(o)).next();!l.done;l=s.next())u=l.value,c.modifyCueCallback_(u,i||null,a);d=o.filter(function(e){return e.startTime>=c.appendWindowStart_&&e.startTime<c.appendWindowEnd_}),c.displayer_.append(d),null==c.bufferStart_?c.bufferStart_=Math.max(t,c.appendWindowStart_):(goog.asserts.assert(null!=c.bufferEnd_,"There should already be a buffered range end."),goog.asserts.assert(1>=t-c.bufferEnd_,"There should not be a gap in text references >1s")),c.bufferEnd_=Math.min(r,c.appendWindowEnd_),p.jumpToEnd()})},shaka.text.TextEngine.prototype.remove=function(e,t){var r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return i.yield(Promise.resolve(),2);r.displayer_&&r.displayer_.remove(e,t)&&(null==r.bufferStart_?goog.asserts.assert(null==r.bufferEnd_,"end must be null if startTime is null"):(goog.asserts.assert(null!=r.bufferEnd_,"end must be non-null if startTime is non-null"),t<=r.bufferStart_||e>=r.bufferEnd_||(e<=r.bufferStart_&&t>=r.bufferEnd_?r.bufferStart_=r.bufferEnd_=null:e<=r.bufferStart_&&t<r.bufferEnd_?r.bufferStart_=t:e>r.bufferStart_&&t>=r.bufferEnd_?r.bufferEnd_=e:goog.asserts.assert(!1,"removal from the middle is not supported by TextEngine")))),i.jumpToEnd()})},shaka.text.TextEngine.prototype.setTimestampOffset=function(e){this.timestampOffset_=e},shaka.text.TextEngine.prototype.setAppendWindow=function(e,t){this.appendWindowStart_=e,this.appendWindowEnd_=t},shaka.text.TextEngine.prototype.bufferStart=function(){return this.bufferStart_},shaka.text.TextEngine.prototype.bufferEnd=function(){return this.bufferEnd_},shaka.text.TextEngine.prototype.isBuffered=function(e){return null!=this.bufferStart_&&null!=this.bufferEnd_&&e>=this.bufferStart_&&e<this.bufferEnd_},shaka.text.TextEngine.prototype.bufferedAheadOf=function(e){return null==this.bufferEnd_||this.bufferEnd_<e?0:(goog.asserts.assert(null!=this.bufferStart_,"start should not be null if end is not null"),this.bufferEnd_-Math.max(e,this.bufferStart_))},shaka.text.TextEngine.prototype.setSelectedClosedCaptionId=function(e,t){if(this.selectedClosedCaptionId_=e,e=this.closedCaptionsMap_.get(e))for(var r=$jscomp.makeIterator(e.keys()),i=r.next();!i.done;i=r.next())(i=e.get(i.value).filter(function(e){return e.endTime<=t}))&&this.displayer_.append(i)},shaka.text.TextEngine.prototype.applyVideoTimestampOffsetRecursive_=function(e,t){e.startTime+=t,e.endTime+=t,e=$jscomp.makeIterator(e.nestedCues);for(var r=e.next();!r.done;r=e.next())this.applyVideoTimestampOffsetRecursive_(r.value,t)},shaka.text.TextEngine.prototype.storeAndAppendClosedCaptions=function(e,t,r,i){var n=t+" "+r,a=new Map;e=$jscomp.makeIterator(e);for(var o=e.next();!o.done;o=e.next()){var s=o.value;o=s.stream,s=s.cue,a.has(o)||a.set(o,new Map),a.get(o).has(n)||a.get(o).set(n,[]),this.applyVideoTimestampOffsetRecursive_(s,i),s.startTime>=this.appendWindowStart_&&s.startTime<this.appendWindowEnd_&&(a.get(o).get(n).push(s),o==this.selectedClosedCaptionId_&&this.displayer_.append([s]))}for(n=(i=$jscomp.makeIterator(a.keys())).next();!n.done;n=i.next())for(n=n.value,this.closedCaptionsMap_.has(n)||this.closedCaptionsMap_.set(n,new Map),o=(e=$jscomp.makeIterator(a.get(n).keys())).next();!o.done;o=e.next())o=o.value,s=a.get(n).get(o),this.closedCaptionsMap_.get(n).set(o,s);this.bufferStart_=null==this.bufferStart_?Math.max(t,this.appendWindowStart_):Math.min(this.bufferStart_,Math.max(t,this.appendWindowStart_)),this.bufferEnd_=Math.max(this.bufferEnd_,Math.min(r,this.appendWindowEnd_))},shaka.text.TextEngine.prototype.getNumberOfClosedCaptionChannels=function(){return this.closedCaptionsMap_.size},shaka.text.TextEngine.prototype.getNumberOfClosedCaptionsInChannel=function(e){return(e=this.closedCaptionsMap_.get(e))?e.size:0},goog.exportSymbol("shaka.text.TextEngine",shaka.text.TextEngine),goog.exportProperty(shaka.text.TextEngine.prototype,"destroy",shaka.text.TextEngine.prototype.destroy),goog.exportProperty(shaka.text.TextEngine,"findParser",shaka.text.TextEngine.findParser),goog.exportProperty(shaka.text.TextEngine,"unregisterParser",shaka.text.TextEngine.unregisterParser),goog.exportProperty(shaka.text.TextEngine,"registerParser",shaka.text.TextEngine.registerParser),shaka.text.TextEngine.parserMap_=new Map,shaka.util.Functional=function(){},shaka.util.Functional.createFallbackPromiseChain=function(e,t){return e.reduce(function(e,r){return e.catch(function(){return t(r)})},Promise.reject())},shaka.util.Functional.collapseArrays=function(e,t){return e.concat(t)},shaka.util.Functional.ignored=function(){},shaka.util.Functional.noop=function(){},shaka.util.Functional.isNotNull=function(e){return null!=e},shaka.util.Functional.promiseWithTimeout=function(e,t){return Promise.race([t,new Promise(function(t,r){new shaka.util.Timer(r).tickAfter(e)})])},shaka.util.LanguageUtils=function(){},shaka.util.LanguageUtils.areLocaleCompatible=function(e,t){var r=shaka.util.LanguageUtils;return(e=r.normalize(e))==(t=r.normalize(t))},shaka.util.LanguageUtils.areLanguageCompatible=function(e,t){var r=shaka.util.LanguageUtils;return e=r.normalize(e),t=r.normalize(t),e=r.disassembleLocale_(e),t=r.disassembleLocale_(t),e[0]==t[0]},shaka.util.LanguageUtils.isParentOf=function(e,t){var r=shaka.util.LanguageUtils;return e=r.normalize(e),t=r.normalize(t),e=r.disassembleLocale_(e),t=r.disassembleLocale_(t),e[0]==t[0]&&1==e.length&&2==t.length},shaka.util.LanguageUtils.isSiblingOf=function(e,t){var r=shaka.util.LanguageUtils;return e=r.normalize(e),t=r.normalize(t),e=r.disassembleLocale_(e),t=r.disassembleLocale_(t),2==e.length&&2==t.length&&e[0]==t[0]},shaka.util.LanguageUtils.normalize=function(e){var t=shaka.util.LanguageUtils,r=(e
1=$jscomp.makeIterator(e.split("-x-"))).next().value;r=void 0===r?"":r,e=void 0===(e=e.next().value)?"":e;var i=$jscomp.makeIterator(r.split("-"));return r=void 0===(r=i.next().value)?"":r,i=void 0===(i=i.next().value)?"":i,e=e?"x-"+e:"",r=r.toLowerCase(),r=t.isoMap_.get(r)||r,""+((t=i.toUpperCase())?r+"-"+t:r)+(e?"-"+e:"")},shaka.util.LanguageUtils.areSiblings=function(e,t){var r=shaka.util.LanguageUtils,i=r.getBase(e);return r=r.getBase(t),e!=i&&t!=r&&i==r},shaka.util.LanguageUtils.relatedness=function(e,t){var r=shaka.util.LanguageUtils;return e=r.normalize(e),(t=r.normalize(t))==e?4:r.isParentOf(t,e)?3:r.isSiblingOf(t,e)?2:+!!r.isParentOf(e,t)},shaka.util.LanguageUtils.getBase=function(e){var t=shaka.util.LanguageUtils,r=e.indexOf("-");return e=(e=0<=r?e.substring(0,r):e).toLowerCase(),t.isoMap_.get(e)||e},shaka.util.LanguageUtils.getLocaleForText=function(e){var t=shaka.util.LanguageUtils;return goog.asserts.assert(e.type==shaka.util.ManifestParserUtils.ContentType.TEXT,"Can only get language from text streams"),t.normalize(e.language||"und")},shaka.util.LanguageUtils.getLocaleForVariant=function(e){var t=shaka.util.LanguageUtils;return e.language?t.normalize(e.language):e.audio&&e.audio.language?t.normalize(e.audio.language):e.video&&e.video.language?t.normalize(e.video.language):"und"},shaka.util.LanguageUtils.findClosestLocale=function(e,t){var r=shaka.util.LanguageUtils;e=r.normalize(e);var i=new Set;t=$jscomp.makeIterator(t);for(var n=t.next();!n.done;n=t.next())i.add(r.normalize(n.value));for(n=(t=$jscomp.makeIterator(i)).next();!n.done;n=t.next())if((n=n.value)==e)return n;for(n=(t=$jscomp.makeIterator(i)).next();!n.done;n=t.next())if(n=n.value,r.isParentOf(n,e))return n;for(n=(t=$jscomp.makeIterator(i)).next();!n.done;n=t.next())if(n=n.value,r.isSiblingOf(n,e))return n;for(t=(i=$jscomp.makeIterator(i)).next();!t.done;t=i.next())if(t=t.value,r.isParentOf(e,t))return t;return null},shaka.util.LanguageUtils.disassembleLocale_=function(e){var t=e.split("-");return goog.asserts.assert(2>=t.length,["Locales should not have more than 2 components. ",e," has too many components."].join()),t},goog.exportSymbol("shaka.util.LanguageUtils",shaka.util.LanguageUtils),goog.exportProperty(shaka.util.LanguageUtils,"findClosestLocale",shaka.util.LanguageUtils.findClosestLocale),goog.exportProperty(shaka.util.LanguageUtils,"getLocaleForVariant",shaka.util.LanguageUtils.getLocaleForVariant),goog.exportProperty(shaka.util.LanguageUtils,"getLocaleForText",shaka.util.LanguageUtils.getLocaleForText),goog.exportProperty(shaka.util.LanguageUtils,"getBase",shaka.util.LanguageUtils.getBase),goog.exportProperty(shaka.util.LanguageUtils,"relatedness",shaka.util.LanguageUtils.relatedness),goog.exportProperty(shaka.util.LanguageUtils,"areSiblings",shaka.util.LanguageUtils.areSiblings),goog.exportProperty(shaka.util.LanguageUtils,"normalize",shaka.util.LanguageUtils.normalize),goog.exportProperty(shaka.util.LanguageUtils,"isSiblingOf",shaka.util.LanguageUtils.isSiblingOf),goog.exportProperty(shaka.util.LanguageUtils,"isParentOf",shaka.util.LanguageUtils.isParentOf),goog.exportProperty(shaka.util.LanguageUtils,"areLanguageCompatible",shaka.util.LanguageUtils.areLanguageCompatible),goog.exportProperty(shaka.util.LanguageUtils,"areLocaleCompatible",shaka.util.LanguageUtils.areLocaleCompatible),shaka.util.LanguageUtils.isoMap_=new Map([["aar","aa"],["abk","ab"],["afr","af"],["aka","ak"],["alb","sq"],["amh","am"],["ara","ar"],["arg","an"],["arm","hy"],["asm","as"],["ava","av"],["ave","ae"],["aym","ay"],["aze","az"],["bak","ba"],["bam","bm"],["baq","eu"],["bel","be"],["ben","bn"],["bih","bh"],["bis","bi"],["bod","bo"],["bos","bs"],["bre","br"],["bul","bg"],["bur","my"],["cat","ca"],["ces","cs"],["cha","ch"],["che","ce"],["chi","zh"],["chu","cu"],["chv","cv"],["cor","kw"],["cos","co"],["cre","cr"],["cym","cy"],["cze","cs"],["dan","da"],["deu","de"],["div","dv"],["dut","nl"],["dzo","dz"],["ell","el"],["eng","en"],["epo","eo"],["est","et"],["eus","eu"],["ewe","ee"],["fao","fo"],["fas","fa"],["fij","fj"],["fin","fi"],["fra","fr"],["fre","fr"],["fry","fy"],["ful","ff"],["geo","ka"],["ger","de"],["gla","gd"],["gle","ga"],["glg","gl"],["glv","gv"],["gre","el"],["grn","gn"],["guj","gu"],["hat","ht"],["hau","ha"],["heb","he"],["her","hz"],["hin","hi"],["hmo","ho"],["hrv","hr"],["hun","hu"],["hye","hy"],["
1ibo","ig"],["ice","is"],["ido","io"],["iii","ii"],["iku","iu"],["ile","ie"],["ina","ia"],["ind","id"],["ipk","ik"],["isl","is"],["ita","it"],["jav","jv"],["jpn","ja"],["kal","kl"],["kan","kn"],["kas","ks"],["kat","ka"],["kau","kr"],["kaz","kk"],["khm","km"],["kik","ki"],["kin","rw"],["kir","ky"],["kom","kv"],["kon","kg"],["kor","ko"],["kua","kj"],["kur","ku"],["lao","lo"],["lat","la"],["lav","lv"],["lim","li"],["lin","ln"],["lit","lt"],["ltz","lb"],["lub","lu"],["lug","lg"],["mac","mk"],["mah","mh"],["mal","ml"],["mao","mi"],["mar","mr"],["may","ms"],["mkd","mk"],["mlg","mg"],["mlt","mt"],["mon","mn"],["mri","mi"],["msa","ms"],["mya","my"],["nau","na"],["nav","nv"],["nbl","nr"],["nde","nd"],["ndo","ng"],["nep","ne"],["nld","nl"],["nno","nn"],["nob","nb"],["nor","no"],["nya","ny"],["oci","oc"],["oji","oj"],["ori","or"],["orm","om"],["oss","os"],["pan","pa"],["per","fa"],["pli","pi"],["pol","pl"],["por","pt"],["pus","ps"],["que","qu"],["roh","rm"],["ron","ro"],["rum","ro"],["run","rn"],["rus","ru"],["sag","sg"],["san","sa"],["sin","si"],["slk","sk"],["slo","sk"],["slv","sl"],["sme","se"],["smo","sm"],["sna","sn"],["snd","sd"],["som","so"],["sot","st"],["spa","es"],["sqi","sq"],["srd","sc"],["srp","sr"],["ssw","ss"],["sun","su"],["swa","sw"],["swe","sv"],["tah","ty"],["tam","ta"],["tat","tt"],["tel","te"],["tgk","tg"],["tgl","tl"],["tha","th"],["tib","bo"],["tir","ti"],["ton","to"],["tsn","tn"],["tso","ts"],["tuk","tk"],["tur","tr"],["twi","tw"],["uig","ug"],["ukr","uk"],["urd","ur"],["uzb","uz"],["ven","ve"],["vie","vi"],["vol","vo"],["wel","cy"],["wln","wa"],["wol","wo"],["xho","xh"],["yid","yi"],["yor","yo"],["zha","za"],["zho","zh"],["zul","zu"]]),shaka.util.StreamUtils=function(){},shaka.util.StreamUtils.chooseCodecsAndFilterManifest=function(e,t,r,i,n){var a=shaka.util.StreamUtils,o=shaka.util.MimeUtils;if(n.length){var s=e.textStreams;n=$jscomp.makeIterator(n);for(var l=n.next(),u={};!l.done;u={textFormat:void 0},l=n.next())if(u.textFormat=l.value,(l=s.filter(function(e){return function(t){return!!(t.codecs.startsWith(e.textFormat)||t.mimeType.startsWith(e.textFormat))}}(u))).length){s=l;break}e.textStreams=s}if(s=e.variants,(t.length||r.length)&&(s=a.choosePreferredCodecs(s,t,r)),i.length){for(t=new shaka.util.MultiMap,a=(r=$jscomp.makeIterator(s)).next();!a.done;a=r.next())a=a.value,t.push(String(a.video.width||0),a);var d=[];t.forEach(function(e,t){e=0;var r=[];t=$jscomp.makeIterator(t);for(var n=t.next(),a={};!n.done;a={variant$jscomp$3:void 0},n=t.next())a.variant$jscomp$3=n.value,(n=i.filter(function(e){return function(t){return e.variant$jscomp$3.decodingInfos[0][t]}}(a)).length)>e?(e=n,r=[a.variant$jscomp$3]):n==e&&r.push(a.variant$jscomp$3);d.push.apply(d,$jscomp.arrayFromIterable(r))}),s=d}for(r=new Set,t=new Set,s=(a=$jscomp.makeIterator(s)).next();!s.done;s=a.next())(s=s.value).audio&&r.add(s.audio),s.video&&t.add(s.video);a=Array.from(r).sort(function(e,t){return e.bandwidth-t.bandwidth});var c=[];for(r=new Map,s=(a=$jscomp.makeIterator(a)).next();!s.done;s=a.next()){if(n=(s=s.value).language+(s.channelsCount||0)+(s.audioSamplingRate||0)+s.roles.join(",")+s.label+s.groupId+s.fastSwitching,(l=r.get(n)||[]).length){u=l[l.length-1];var p=o.getNormalizedCodec(u.codecs),m=o.getNormalizedCodec(s.codecs);p!=m||s.bandwidth&&u.bandwidth&&!(s.bandwidth>u.bandwidth)||(l.push(s),c.push(s.id))}else l.push(s),c.push(s.id);r.set(n,l)}var f={vp8:1,avc:1,"dovi-avc":.95,vp9:.9,vp09:.9,hevc:.85,"dovi-hevc":.8,"dovi-p5":.75,av01:.7,"dovi-av1":.65,vvc:.6};a=Array.from(t).sort(function(e,t){if(!e.bandwidth||!t.bandwidth||e.bandwidth==t.bandwidth){if(e.codecs&&t.codecs&&e.codecs!=t.codecs&&e.width==t.width){var r=o.getNormalizedCodec(e.codecs),i=o.getNormalizedCodec(t.codecs);if(r!=i)return(f[r]||1)-(f[i]||1)}return e.width-t.width}return e.bandwidth-t.bandwidth}),t=shaka.media.Capabilities.isChangeTypeSupported();var g=[];for(r=new Map,s=(a=$jscomp.makeIterator(a)).next();!s.done;s=a.next()){if(n=Math.round((s=s.value).frameRate||0)+(s.hdr||"")+s.fastSwitching,(l=r.get(n)||[]).length){if(u=l[l.length-1],!t&&(p=o.getNormalizedCodec(u.codecs))!==(m=o.getNormalizedCodec(s.codecs)))continue;s.width==u.width&&s.height==u.height?(p=o.getNormalizedCodec(u.codecs))!=(m=o.getNormalizedCodec(s.codecs))||s.bandwidth&&u.bandwidth&&!(s.bandwidth>u.bandwidth)||(l.push(s),g.push(s.id)):(s.width>u.width||s.height>u.height||s.bandwidth>u.bandwidth)&&(l.push(s),g.push(s.id))}else l.push(s),g.push(s.id);r.set(n,l)}e.variants=e.variants.filter(function(e){var t=e.audio,r=e.video;return(!t||!!c.includes(t.id))&&(!r||!!g.includes(r.id))||(shaka.log.debug("Dropping Variant (better codec available)",e),!1)})}
1,shaka.util.StreamUtils.choosePreferredCodecs=function(e,t,r){t=$jscomp.makeIterator(t);for(var i=t.next(),n={};!i.done;n={videoCodec$jscomp$4:void 0},i=t.next())if(n.videoCodec$jscomp$4=i.value,(i=e.filter(function(e){return function(t){return t.video&&t.video.codecs.startsWith(e.videoCodec$jscomp$4)}}(n))).length){e=i;break}for(t=(r=$jscomp.makeIterator(r)).next(),i={};!t.done;i={audioCodec$jscomp$4:void 0},t=r.next())if(i.audioCodec$jscomp$4=t.value,(t=e.filter(function(e){return function(t){return t.audio&&t.audio.codecs.startsWith(e.audioCodec$jscomp$4)}}(i))).length){e=t;break}return e},shaka.util.StreamUtils.filterByRestrictions=function(e,t,r){e.variants=e.variants.filter(function(e){return shaka.util.StreamUtils.meetsRestrictions(e,t,r)})},shaka.util.StreamUtils.meetsRestrictions=function(e,t,r){var i=function(e,t,r){return e>=t&&e<=r},n=e.video;if(n&&n.width&&n.height){var a=n.width,o=n.height;if(o>a&&(a=(o=$jscomp.makeIterator([o,a])).next().value,o=o.next().value),!i(a,t.minWidth,Math.min(t.maxWidth,r.width))||!i(o,t.minHeight,Math.min(t.maxHeight,r.height))||!i(n.width*n.height,t.minPixels,t.maxPixels))return!1}return(!e||!e.video||!e.video.frameRate||!!i(e.video.frameRate,t.minFrameRate,t.maxFrameRate))&&(!e||!e.audio||!e.audio.channelsCount||!!i(e.audio.channelsCount,t.minChannelsCount,t.maxChannelsCount))&&!!i(e.bandwidth,t.minBandwidth,t.maxBandwidth)},shaka.util.StreamUtils.applyRestrictions=function(e,t,r){var i=!1;e=$jscomp.makeIterator(e);for(var n=e.next();!n.done;n=e.next()){var a=(n=n.value).allowedByApplication;n.allowedByApplication=shaka.util.StreamUtils.meetsRestrictions(n,t,r),a!=n.allowedByApplication&&(i=!0)}return i},shaka.util.StreamUtils.filterManifest=function(e,t,r,i){return r=void 0===r?[]:r,i=void 0===i?{}:i,$jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?n.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(e,t,0<t.offlineSessionIds.length,r,i),2):(shaka.util.StreamUtils.filterTextStreams_(t),n.yield(shaka.util.StreamUtils.filterImageStreams_(t),0))})},shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(e,t,r,i,n){var a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),shaka.util.Platform.isXboxOne()&&shaka.util.StreamUtils.overrideDolbyVisionCodecs(t.variants),l.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(t.variants,r,!1,i),2);a=null,e&&(o=e.getDrmInfo())&&(a=o.keySystem),s=shaka.util.StreamUtils,t.variants=t.variants.filter(function(e){var t=s.checkVariantSupported_(e,a,n);return t||shaka.log.debug("Dropping variant - not compatible with platform",s.getVariantSummaryString_(e)),t}),l.jumpToEnd()})},shaka.util.StreamUtils.overrideDolbyVisionCodecs=function(e){var t=(new Map).set("dvav","avc3").set("dva1","avc1").set("dvhe","hev1").set("dvh1","hvc1").set("dvc1","vvc1").set("dvi1","vvi1"),r=new Set;e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())(i=i.value).video&&r.add(i.video);for(e=(r=$jscomp.makeIterator(r)).next();!e.done;e=r.next()){e=e.value,i=$jscomp.makeIterator(t);for(var n=i.next();!n.done;n=i.next()){var a=$jscomp.makeIterator(n.value);if(n=a.next().value,a=a.next().value,e.codecs.includes(n)){e.codecs=e.codecs.replace(n,a);break}}}},shaka.util.StreamUtils.checkVariantSupported_=function(e,t,r){if(!e.decodingInfos.some(function(e){return!!e.supported&&(!t||!(e=e.keySystemAccess)||(r[e.keySystem]||e.keySystem)==t)}))return!1;var i=shaka.util.Platform.isXboxOne(),n=shaka.util.Platform.isFirefox()&&shaka.util.Platform.isAndroid(),a=e.video,o=a&&a.width||0,s=a&&a.height||0;return!(i&&a&&(1920<o||1080<s)&&(a.codecs.includes("avc1.")||a.codecs.includes("avc3.")))&&(e=e.audio,!(n&&e&&e.encrypted&&e.codecs.toLowerCase().includes("opus")))},shaka.util.StreamUtils.getDecodingInfosForVariant_=function(e,t){var r,i,n,a,o,s,l,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){for(r=function(e,t){if(e){var r=shaka.util.ObjectUtils.shallowCloneObject(e);return r.supported=e.supported&&t.supported,r.powerEfficient=e.powerEfficient&&t.powerEfficient,r.smooth=e.smooth&&t.smooth,t.keySystemAccess&&!r.keySystemAccess&&(r.keySystemAccess=t.keySystemAccess),r}return t},i=shaka.util.StreamUtils,n=null,a=[],s=(o=$jscomp.makeIterator(t)).next(),l={};!s.done;l={cache:void 0,cacheKey:void 0}
1,s=o.next())u=s.value,l.cacheKey=shaka.util.ObjectUtils.alphabeticalKeyOrderStringify(u),l.cache=i.decodingConfigCache_,l.cache.has(l.cacheKey)?(shaka.log.v2("Using cached results of mediaCapabilities.decodingInfo","for key",l.cacheKey),n=r(n,l.cache.get(l.cacheKey))):a.push(i.checkEachDecodingConfigCombination_(u).then(function(e){return function(t){var i=null;t=$jscomp.makeIterator(t||[]);for(var a=t.next();!a.done;a=t.next())i=r(i,a.value);i&&(e.cache.set(e.cacheKey,i),n=r(n,i))}}(l)));return d.yield(Promise.all(a),2)}n&&e.decodingInfos.push(n),d.jumpToEnd()})},shaka.util.StreamUtils.checkEachDecodingConfigCombination_=function(e){var t=[""];e.video&&(t=shaka.util.MimeUtils.getCodecs(e.video.contentType).split(","));var r=[""];e.audio&&(r=shaka.util.MimeUtils.getCodecs(e.audio.contentType).split(","));var i=[];t=$jscomp.makeIterator(t);for(var n=t.next();!n.done;n=t.next()){n=n.value;for(var a=$jscomp.makeIterator(r),o=a.next(),s={};!o.done;s={copy$jscomp$1:void 0},o=a.next()){if(o=o.value,s.copy$jscomp$1=shaka.util.ObjectUtils.cloneObject(e),e.video){var l=shaka.util.MimeUtils.getBasicType(s.copy$jscomp$1.video.contentType);s.copy$jscomp$1.video.contentType=shaka.util.MimeUtils.getFullType(l,n)}e.audio&&(l=shaka.util.MimeUtils.getBasicType(s.copy$jscomp$1.audio.contentType),s.copy$jscomp$1.audio.contentType=shaka.util.MimeUtils.getFullType(l,o)),i.push(new Promise(function(e){return function(t,r){(shaka.util.Platform.isAndroid()?shaka.util.Functional.promiseWithTimeout(5,navigator.mediaCapabilities.decodingInfo(e.copy$jscomp$1)):navigator.mediaCapabilities.decodingInfo(e.copy$jscomp$1)).then(function(e){t(e)}).catch(r)}}(s)))}}return Promise.all(i).catch(function(t){return shaka.log.info("MediaCapabilities.decodingInfo() failed.",JSON.stringify(e),t),null})},shaka.util.StreamUtils.getDecodingInfosForVariants=function(e,t,r,i){var n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(P){switch(P.nextAddress){case 1:if(n=e.some(function(e){return e.decodingInfos.length}))return shaka.log.debug("Already got the variants' decodingInfo."),P.return();o=(a=$jscomp.makeIterator(i)).next(),s={};case 2:if(o.done){P.jumpTo(4);break}s.preferredKeySystem=o.value,l=!1,d=(u=$jscomp.makeIterator(e)).next();case 5:var x;if(d.done){P.jumpTo(7);break}c=d.value,p=shaka.util.StreamUtils.getDecodingConfigs_(c,t,r).filter((x=s,function(e){return((e=e[0]).keySystemConfiguration&&e.keySystemConfiguration.keySystem)===x.preferredKeySystem})),f=(m=$jscomp.makeIterator(p)).next();case 8:if(f.done){P.jumpTo(10);break}return g=f.value,P.yield(shaka.util.StreamUtils.getDecodingInfosForVariant_(c,g),9);case 9:f=m.next(),P.jumpTo(8);break;case 10:c.decodingInfos.length&&(l=!0),d=u.next(),P.jumpTo(5);break;case 7:if(l)return P.return();s={preferredKeySystem:void 0},o=a.next(),P.jumpTo(2);break;case 4:y=(h=$jscomp.makeIterator(e)).next();case 12:if(y.done){P.jumpTo(0);break}_=y.value,S=shaka.util.StreamUtils.getDecodingConfigs_(_,t,r).filter(function(e){return!(e=(e=e[0]).keySystemConfiguration&&e.keySystemConfiguration.keySystem)||!i.includes(e)}),T=(v=$jscomp.makeIterator(S)).next();case 15:if(T.done){y=h.next(),P.jumpTo(12);break}return E=T.value,P.yield(shaka.util.StreamUtils.getDecodingInfosForVariant_(_,E),16);case 16:T=v.next(),P.jumpTo(15)}})},shaka.util.StreamUtils.getDecodingConfigs_=function(e,t,r){var i=e.audio,n=e.video,a=shaka.util.ManifestParserUtils.ContentType,o=shaka.util.ManifestParserUtils,s=shaka.util.MimeUtils,l=shaka.util.StreamUtils,u=[],d=[];if(n)for(var c=$jscomp.makeIterator(n.fullMimeTypes),p=c.next();!p.done;p=c.next()){p=p.value;var m=s.getCodecs(p);if(m.includes(",")&&!i){var f=m.split(","),g=s.getBasicType(p);m=o.guessCodecs(a.VIDEO,f),f=o.guessCodecs(a.AUDIO,f),f=l.getCorrectAudioCodecs(f,g),g=s.getFullOrConvertedType(g,f,a.AUDIO),d.push({contentType:g,channels:2,bitrate:e.bandwidth||1,samplerate:1,spatialRendering:!1})}if(m=l.getCorrectVideoCodecs(m),p={contentType:s.getFullOrConvertedType(s.getBasicType(p),m,a.VIDEO),width:n.width||64,height:n.height||64,bitrate:n.bandwidth||e.bandwidth||1,framerate:n.frameRate||1},n.hdr)switch(n.hdr){case"SDR":p.transferFunction="srgb";break;case"PQ":p.transferFunction="pq";break;case"HLG":p.transferFunction="hlg"}n.colorGamut&&(p.colorGamut=n.colorGamut),u.push(p)}if(i)for(c=(o=$jscomp.makeIterator(i.fullMimeTypes)).next();!c.done;c=o.next())p=c.value,c=s.getBasicType(p),p=l.getCorrectAudioCodecs(s.getCodecs(p),c),c=s.getFullOrConvertedType(c,p,a.AUDIO),d.push({contentType:c,channels:i.channelsCount||2,bitrate:i.bandwidth||e.bandwidth||1,samplerate:i.audioSamplingRate||1,spatialRendering:i.spatialAudio});for(a=[],0==u.length&&u.push(null),0==d.length&&d.push(null),s=(u=$jscomp.makeIterator(u)).next();!s.done;s=u.next())for(s=s.value,o=(l=$jscomp.makeIterator(d)).next();!o.done;o=l.next())o=o.value,c={type:r?"file":"media-source"},s&&(c.video=s),o&&(c.audio=o),a.push(c);if(!(d=(e.video?e.video.drmInfos:[]).concat(e.audio?e.audio.drmInfos:[])).length)return[a];for(e=[],r=new Map,u=(d=$jscomp.makeIterator(d)).next();!u.done;u=d.next())u=u.value,r.get(u.keySystem)||r.set(u.keySystem,[]),r.get(u.keySystem).push(u);for(d=t?"required":"optional",t=t?["persistent-license"]:["temporary"],s=(u=$jscomp.makeIterator(r.keys())).next();!s.done;s=u.next()){for(s=s.value,o=r.get(s),l=new Map,c=(o=$jscomp.makeIterator(o)).next();!c.done;c=o.next())p=(c=c.value).videoRobustness+","+c.audioRobustness,l.get(p)||l.set(p,[]),l.get(p).push(c);for(o=(l=$jscomp.makeIterator(l.values())).next();!o.done;o=l.next()){for(o=o.value,c=[],m=(p=$jscomp.makeIterator(a)).next();!m.done;m=p.next()){m=Object.assign({},m.value),g={keySystem:s,initDataType:"cenc",persistentState:d,distinctiveIdentifier:"optional",sessionTypes:t},f=$jscomp.makeIterator(o);for(var h=f.next();!h.done;h=f.next()){if((h=h.value).initData&&h.initData.length){for(var y=new Set,_=$jscomp.makeIterator(h.initData),S=_.next();!S.done;S=_.next())y.add(S.value.initDataType);1<y.size&&shaka.log.v2("DrmInfo contains more than one initDataType,","and we use the initDataType of the first initData.",h),g.initDataType=h.initData[0].initDataType}h.distinctiveIdentifierRequired&&(g.distinctiveIdentifier="required"),h.persistentStateRequired&&(g.persistentState="required"),h.sessionType&&(g.sessionTypes=[h.sessionType]),i&&(g.audio?(h.encryptionScheme&&(g.audio.encryptionScheme=g.audio.encryptionScheme||h.encryptionScheme),g.audio.robustness=g.audio.robustness||h.audioR
1obustness):(g.audio={robustness:h.audioRobustness},h.encryptionScheme&&(g.audio.encryptionScheme=h.encryptionScheme)),""==g.audio.robustness&&delete g.audio.robustness),n&&(g.video?(h.encryptionScheme&&(g.video.encryptionScheme=g.video.encryptionScheme||h.encryptionScheme),g.video.robustness=g.video.robustness||h.videoRobustness):(g.video={robustness:h.videoRobustness},h.encryptionScheme&&(g.video.encryptionScheme=h.encryptionScheme)),""==g.video.robustness&&delete g.video.robustness)}m.keySystemConfiguration=g,c.push(m)}e.push(c)}}return e},shaka.util.StreamUtils.getCorrectAudioCodecs=function(e,t){return"flac"==e.toLowerCase()?shaka.util.Platform.isApple()?"fLaC":"flac":"opus"===e.toLowerCase()?shaka.util.Platform.isApple()&&"mp4"==shaka.util.MimeUtils.getContainerType(t)?"Opus":"opus":"ac-3"==e.toLowerCase()&&shaka.util.Platform.requiresEC3InitSegments()?"ec-3":e},shaka.util.StreamUtils.getCorrectVideoCodecs=function(e){if(e.includes("avc1")){var t=e.split(".");if(3==t.length)return t.shift()+"."+parseInt(t.shift(),10).toString(16)+("000"+parseInt(t.shift(),10).toString(16)).slice(-4)}else if("vp9"==e)return"vp09.00.41.08";return e},shaka.util.StreamUtils.filterManifestByCurrentVariant=function(e,t){var r=shaka.util.StreamUtils;t.variants=t.variants.filter(function(t){var i=t.audio;return t=t.video,i&&e&&e.audio&&!r.areStreamsCompatible_(i,e.audio)?(shaka.log.debug("Dropping variant - not compatible with active audio","active audio",r.getStreamSummaryString_(e.audio),"variant.audio",r.getStreamSummaryString_(i)),!1):!t||!e||!e.video||!!r.areStreamsCompatible_(t,e.video)||(shaka.log.debug("Dropping variant - not compatible with active video","active video",r.getStreamSummaryString_(e.video),"variant.video",r.getStreamSummaryString_(t)),!1)})},shaka.util.StreamUtils.filterTextStreams_=function(e){e.textStreams=e.textStreams.filter(function(e){var t=shaka.util.MimeUtils.getFullType(e.mimeType,e.codecs);return(t=shaka.text.TextEngine.isTypeSupported(t))||shaka.log.debug("Dropping text stream. Is not supported by the platform.",e),t})},shaka.util.StreamUtils.filterImageStreams_=function(e){var t,r,i,n,a,o,s,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:t=[],i=(r=$jscomp.makeIterator(e.imageStreams)).next();case 2:if(i.done){u.jumpTo(4);break}if("application/mp4"==(a=(n=i.value).mimeType)&&"mjpg"==n.codecs&&(a="image/jpg"),shaka.util.StreamUtils.supportedImageMimeTypes_.has(a)){u.jumpTo(5);break}if(!(o=shaka.util.StreamUtils.minImage_.get(a))){shaka.util.StreamUtils.supportedImageMimeTypes_.set(a,!1),u.jumpTo(5);break}return u.yield(shaka.util.StreamUtils.isImageSupported_(o),7);case 7:s=u.yieldResult,shaka.util.StreamUtils.supportedImageMimeTypes_.set(a,s);case 5:(l=shaka.util.StreamUtils.supportedImageMimeTypes_.get(a))?t.push(n):shaka.log.debug("Dropping image stream. Is not supported by the platform.",n),i=r.next(),u.jumpTo(2);break;case 4:e.imageStreams=t,u.jumpToEnd()}})},shaka.util.StreamUtils.isImageSupported_=function(e){return new Promise(function(t){var r=new Image;r.src=e,"decode"in r?r.decode().then(function(){t(!0)}).catch(function(){t(!1)}):r.onload=r.onerror=function(){t(2===r.height)}})},shaka.util.StreamUtils.areStreamsCompatible_=function(e,t){return e.mimeType==t.mimeType&&e.codecs.split(".")[0]==t.codecs.split(".")[0]},shaka.util.StreamUtils.variantToTrack=function(e){var t=shaka.util.ManifestParserUtils,r=shaka.util.ManifestParserUtils.ContentType,i=e.audio,n=e.video,a=i?i.mimeType:null,o=n?n.mimeType:null,s=i?i.codecs:null,l=n?n.codecs:null,u=[];l&&u.push(l),s&&u.push(s);var d=[];n&&d.push(n.mimeType),i&&d.push(i.mimeType),d=d[0]||null;var c=[];i&&c.push(i.kind),n&&c.push(n.kind),c=c[0]||null;var p=new Set;if(i)for(var m=$jscomp.makeIterator(i.roles),f=m.next();!f.done;f=m.next())p.add(f.value);if(n)for(f=(m=$jscomp.makeIterator(n.roles)).next();!f.done;f=m.next())p.add(f.value);if(e={id:e.id,active:!1,type:"variant",bandwidth:e.bandwidth,language:e.language,label:null,kind:c,width:null,height:null,frameRate:null,pixelAspectRatio:null,hdr:null,colorGamut:null,videoLayout:null,mimeType:d,audioMimeType:a,videoMimeType:o,codecs:u.join(", "),audioCodec:s,videoCodec:l,primary:e.primary,roles:Array.from(p),audioRoles:null,forced:!1,videoId:null,audioId:null,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,tilesLayout:null,audio
1Bandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:null,originalImageId:null,accessibilityPurpose:null,originalLanguage:null},n&&(e.videoId=n.id,e.originalVideoId=n.originalId,e.width=n.width||null,e.height=n.height||null,e.frameRate=n.frameRate||null,e.pixelAspectRatio=n.pixelAspectRatio||null,e.videoBandwidth=n.bandwidth||null,e.hdr=n.hdr||null,e.colorGamut=n.colorGamut||null,e.videoLayout=n.videoLayout||null,l.includes(","))){e.channelsCount=n.channelsCount,e.audioSamplingRate=n.audioSamplingRate,e.spatialAudio=n.spatialAudio,e.originalLanguage=n.originalLanguage,e.audioMimeType=o,n=l.split(",");try{e.videoCodec=t.guessCodecs(r.VIDEO,n),e.audioCodec=t.guessCodecs(r.AUDIO,n)}catch(e){}}return i&&(e.audioId=i.id,e.originalAudioId=i.originalId,e.channelsCount=i.channelsCount,e.audioSamplingRate=i.audioSamplingRate,e.audioBandwidth=i.bandwidth||null,e.spatialAudio=i.spatialAudio,e.label=i.label,e.audioRoles=i.roles,e.accessibilityPurpose=i.accessibilityPurpose,e.originalLanguage=i.originalLanguage),e},shaka.util.StreamUtils.textStreamToTrack=function(e){return{id:e.id,active:!1,type:shaka.util.ManifestParserUtils.ContentType.TEXT,bandwidth:0,language:e.language,label:e.label,kind:e.kind||null,width:null,height:null,frameRate:null,pixelAspectRatio:null,hdr:null,colorGamut:null,videoLayout:null,mimeType:e.mimeType,audioMimeType:null,videoMimeType:null,codecs:e.codecs||null,audioCodec:null,videoCodec:null,primary:e.primary,roles:e.roles,audioRoles:null,forced:e.forced,videoId:null,audioId:null,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,tilesLayout:null,audioBandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:e.originalId,originalImageId:null,accessibilityPurpose:e.accessibilityPurpose,originalLanguage:e.originalLanguage}},shaka.util.StreamUtils.imageStreamToTrack=function(e){var t=shaka.util.ManifestParserUtils.ContentType,r=e.width||null,i=e.height||null,n=null;e.segmentIndex&&(n=e.segmentIndex.earliestReference());var a=e.tilesLayout;return n&&(a=n.getTilesLayout()||a),a&&null!=r&&(r/=Number(a.split("x")[0])),a&&null!=i&&(i/=Number(a.split("x")[1])),{id:e.id,active:!1,type:t.IMAGE,bandwidth:e.bandwidth||0,language:"",label:null,kind:null,width:r,height:i,frameRate:null,pixelAspectRatio:null,hdr:null,colorGamut:null,videoLayout:null,mimeType:e.mimeType,audioMimeType:null,videoMimeType:null,codecs:e.codecs||null,audioCodec:null,videoCodec:null,primary:!1,roles:[],audioRoles:null,forced:!1,videoId:null,audioId:null,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,tilesLayout:a||null,audio
1Bandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:null,originalImageId:e.originalId,accessibilityPurpose:null,originalLanguage:null}},shaka.util.StreamUtils.html5TrackId=function(e){return e.__shaka_id||(e.__shaka_id=shaka.util.StreamUtils.nextTrackId_++),e.__shaka_id},shaka.util.StreamUtils.html5TextTrackToTrack=function(e){var t=shaka.util.StreamUtils.html5TrackToGenericShakaTrack_(e);return t.active="disabled"!=e.mode,t.type="text",t.originalTextId=e.id,"captions"==e.kind&&(t.mimeType="unknown"),"subtitles"==e.kind&&(t.mimeType="text/vtt"),e.kind&&(t.roles=[e.kind]),"forced"==e.kind&&(t.forced=!0),t},shaka.util.StreamUtils.html5AudioTrackToTrack=function(e){var t=shaka.util.StreamUtils.html5TrackToGenericShakaTrack_(e);return t.active=e.enabled,t.type="variant",t.originalAudioId=e.id,"main"==e.kind&&(t.primary=!0),e.kind&&(t.roles=[e.kind],t.audioRoles=[e.kind],t.label=e.label),t},shaka.util.StreamUtils.html5TrackToGenericShakaTrack_=function(e){var t=e.language;return{id:shaka.util.StreamUtils.html5TrackId(e),active:!1,type:"",bandwidth:0,language:shaka.util.LanguageUtils.normalize(t||"und"),label:e.label,kind:e.kind,width:null,height:null,frameRate:null,pixelAspectRatio:null,hdr:null,colorGamut:null,videoLayout:null,mimeType:null,audioMimeType:null,videoMimeType:null,codecs:null,audioCodec:null,videoCodec:null,primary:!1,roles:[],forced:!1,audioR
1oles:null,videoId:null,audioId:null,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,tilesLayout:null,audioBandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:null,originalImageId:null,accessibilityPurpose:null,originalLanguage:t}},shaka.util.StreamUtils.isPlayable=function(e){return e.allowedByApplication&&e.allowedByKeySystem&&0==e.disabledUntilTime},shaka.util.StreamUtils.getPlayableVariants=function(e){return e.filter(function(e){return shaka.util.StreamUtils.isPlayable(e)})},shaka.util.StreamUtils.filterStreamsByLanguageAndRole=function(e,t,r,i){var n=shaka.util.LanguageUtils,a=e,o=e.filter(function(e){return e.primary});o.length&&(a=o);var s=a.length?a[0].language:"";if(a=a.filter(function(e){return e.language==s}),t){var l=n.findClosestLocale(n.normalize(t),e.map(function(e){return e.language}));l&&(a=e.filter(function(e){return n.normalize(e.language)==l}))}if(a=a.filter(function(e){return e.forced==i}),r){if((e=shaka.util.StreamUtils.filterStreamsByRole_(a,r)).length)return e;shaka.log.warning("No exact match for the text role could be found.")}else if((e=a.filter(function(e){return 0==e.roles.length})).length)return e;return(e=a.map(function(e){return e.roles}).reduce(shaka.util.Functional.collapseArrays,[])).length?shaka.util.StreamUtils.filterStreamsByRole_(a,e[0]):a},shaka.util.StreamUtils.filterStreamsByRole_=function(e,t){return e.filter(function(e){return e.roles.includes(t)})},shaka.util.StreamUtils.isAudio=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.AUDIO},shaka.util.StreamUtils.isVideo=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.VIDEO},shaka.util.StreamUtils.getVariantStreams=function(e){var t=[];return e.audio&&t.push(e.audio),e.video&&t.push(e.video),t},shaka.util.StreamUtils.isFastSwitching=function(e){return!!e.audio&&!!e.audio.fastSwitching||!!e.video&&!!e.video.fastSwitching},shaka.util.StreamUtils.setBetterIFrameStream=function(e,t){t.length&&(t=t.filter(function(t){return shaka.util.MimeUtils.getNormalizedCodec(e.codecs)==shaka.util.MimeUtils.getNormalizedCodec(t.codecs)}).sort(function(e,t){return e.bandwidth&&t.bandwidth&&e.bandwidth!=t.bandwidth?e.bandwidth-t.bandwidth:(e.width||0)-(t.width||0)}),e.trickModeVideo=t[0],1<t.length&&(t=t.find(function(t){return e.width==t.width&&e.height==t.height})))&&(e.trickModeVideo=t)},shaka.util.StreamUtils.getVariantSummaryString_=function(e){var t=[];return e.audio&&t.push(shaka.util.StreamUtils.getStreamSummaryString_(e.audio)),e.video&&t.push(shaka.util.StreamUtils.getStreamSummaryString_(e.video)),t.join(", ")},shaka.util.StreamUtils.getStreamSummaryString_=function(e){return shaka.util.StreamUtils.isAudio(e)?"type=audio codecs="+e.codecs+" bandwidth="+e.bandwidth+" channelsCount="+e.channelsCount+" audioSamplingRate="+e.audioSamplingRate:shaka.util.StreamUtils.isVideo(e)?"type=video codecs="+e.codecs+" bandwidth="+e.bandwidth+" frameRate="+e.frameRate+" width="+e.width+" height="+e.height:"unexpected stream type"},shaka.util.StreamUtils.clearDecodingConfigCache=function(){shaka.util.StreamUtils.decodingConfigCache_.clear()},goog.exportSymbol("shaka.util.StreamUtils",shaka.util.StreamUtils),goog.exportProperty(shaka.util.StreamUtils,"meetsRestrictions",shaka.util.StreamUtils.meetsRestrictions),shaka.util.StreamUtils.decodingConfigCache_=new Map,shaka.util.StreamUtils.nextTrackId_=0,shaka.util.StreamUtils.DecodingAttributes={SMOOTH:"smooth",POWER:"powerEfficient"},shaka.util.StreamUtils.supportedImageMimeTypes_=(new Map).set("image/svg+xml",!0).set("image/png",!0).set("image/jpeg",!0).set("image/jpg",!0),shaka.util.StreamUtils.minWebPImage_="data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA",shaka.util.StreamUtils.minAvifImage_="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
1FDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",shaka.util.StreamUtils.minImage_=(new Map).set("image/webp",shaka.util.StreamUtils.minWebPImage_).set("image/avif",shaka.util.StreamUtils.minAvifImage_),shaka.abr.SimpleAbrManager=function(){var e=this;this.switch_=null,this.enabled_=!1,this.bandwidthEstimator_=new shaka.abr.EwmaBandwidthEstimator,this.eventManager_=new shaka.util.EventManager,navigator.connection&&navigator.connection.addEventListener&&this.eventManager_.listen(navigator.connection,"change",function(){if(e.enabled_&&e.config_.useNetworkInformation){e.bandwidthEstimator_=new shaka.abr.EwmaBandwidthEstimator,e.config_&&e.bandwidthEstimator_.configure(e.config_.advanced);var t=e.chooseVariant();t&&navigator.onLine&&e.switch_(t,e.config_.clearBufferSwitch,e.config_.safeMarginSwitch)}}),this.variants_=[],this.playbackRate_=1,this.startupComplete_=!1,this.resizeObserver_=this.mediaElement_=this.config_=this.lastTimeChosenMs_=null,this.resizeObserverTimer_=new shaka.util.Timer(function(){if(e.enabled_&&(e.config_.restrictToElementSize||e.config_.restrictToScreenSize)){var t=e.chooseVariant();t&&e.switch_(t,e.config_.clearBufferSwitch,e.config_.safeMarginSwitch)}}),this.windowToCheck_=window,"documentPictureInPicture"in window&&this.eventManager_.listen(window.documentPictureInPicture,"enter",function(){e.windowToCheck_=window.documentPictureInPicture.window,e.resizeObserverTimer_&&e.resizeObserverTimer_.tickNow(),e.eventManager_.listenOnce(e.windowToCheck_,"pagehide",function(){e.windowToCheck_=window,e.resizeObserverTimer_&&e.resizeObserverTimer_.tickNow()})}),this.cmsdManager_=this.pictureInPictureWindow_=null},shaka.abr.SimpleAbrManager.prototype.stop=function(){this.switch_=null,this.enabled_=!1,this.variants_=[],this.playbackRate_=1,this.mediaElement_=this.lastTimeChosenMs_=null,this.resizeObserver_&&(this.resizeObserver_.disconnect(),this.resizeObserver_=null),this.resizeObserverTimer_.stop(),this.cmsdManager_=this.pictureInPictureWindow_=null},shaka.abr.SimpleAbrManager.prototype.release=function(){this.eventManager_.release(),this.resizeObserverTimer_=null},shaka.abr.SimpleAbrManager.prototype.init=function(e){this.switch_=e},shaka.abr.SimpleAbrManager.prototype.chooseVariant=function(){var e=1/0,t=1/0;if(this.config_.restrictToScreenSize){var r=this.config_.ignoreDevicePixelRatio?1:this.windowToCheck_.devicePixelRatio;e=this.windowToCheck_.screen.height*r,t=this.windowToCheck_.screen.width*r}if(this.resizeObserver_&&this.config_.restrictToElementSize){r=this.config_.ignoreDevicePixelRatio?1:this.windowToCheck_.devicePixelRatio;var i=this.mediaElement_.clientHeight,n=this.mediaElement_.clientWidth;this.pictureInPictureWindow_&&document.pictureInPictureElement&&document.pictureInPictureElement==this.mediaElement_&&(i=this.pictureInPictureWindow_.height,n=this.pictureInPictureWindow_.width),e=Math.min(e,i*r),t=Math.min(t,n*r)}if((r=this.variants_.filter(function(e){return e&&!shaka.util.StreamUtils.isFastSwitching(e)})).length||(r=this.variants_),i=r,r.length!=this.variants_.length&&(i=this.variants_.filter(function(e){return e&&shaka.util.StreamUtils.isFastSwitching(e)})),r=this.filterAndSortVariants_(this.config_.restrictions,i,1/0,1/0),1/0!=e||1/0!=t){for(r=this.getResolutionList_(r),n=(r=$jscomp.makeIterator(r)).next();!n.done;n=r.next())if((n=n.value).height>=e&&n.width>=t){e=n.height,t=n.width;break}r=this.filterAndSortVariants_(this.config_.restrictions,i,e,t)}for(e=this.getBandwidthEstimate(),i.length&&!r.length&&(shaka.log.warning("No variants met the ABR restrictions. Choosing a variant by lowest bandwidth."),r=[(r=this.filterAndSortVariants_(null,i,1/0,1/0))[0]]),t=r[0]||null,i=0;i<r.length;i++){n=r[i];for(var a=isNaN(this.playbackRate_)?1:Math.abs(this.playbackRate_),o=a*n.bandwidth,s=o/this.config_.bandwidthDowngradeTarget,l={bandwidth:1/0},u=i+1;u<r.length;u++)if(n.bandwidth!=r[u].bandwidth){l=r[u];break}a=a*l.bandwidth/this.config_.bandwidthUpgradeTarget,shaka.log.v2("Bandwidth ranges:",(o/1e6).toFixed(3),(s/1e6).toFixed(3),(a/1e6).toFixed(3)),e>=s&&e<=a&&(t.bandwidth!=n.bandwidth||this.isSameBandwidthAndHigherResolution_(t,n))&&(t=n)}return this.lastTimeChosenMs_=Date.now(),t},shaka.abr.SimpleAbrManager.prototype.enable=function(){this.enabled_=!0},shaka.abr.SimpleAbrManager.prototype.disable=function(){this.enabled_=!1},shaka.abr.SimpleAbrManager.prototype.segmentDownloaded=function(e,t,r,i){e<this.config_.cacheLoadThreshold||(shaka.log.v2("Segment downloaded:","contentType="+(i&&i.contentType),"deltaTimeMs="+e,"numBytes="+t,"lastTimeChosenMs="+this.lastTimeChosenMs_,"enabled="+this.enabled_),goog.asserts.assert(0<=e,"expected a non-negative duration"),this.bandwidthEstimator_.sample(e,t),r&&null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_())},shaka.abr.SimpleAbrManager.prototype.trySuggestStreams=function(){null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()},shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate=function(){var e=this.getDefaultBandwidth_();return navigator.connection&&navigator.connection.downlink&&this.config_.useNetworkInformation&&this.config_.preferNetworkInformationBandwidth?e:(e=this.bandwidthEstimator_.getBandwidthEstimate(e),this.cmsdManager_?this.cmsdManager_.getBandwidthEstimate(e):e)},shaka.abr.SimpleAbrManager.prototype.setVariants=function(e){this.variants_=e},shaka.abr.SimpleAbrManager.prototype.playbackRateChanged=function(e){this.playbackRate_=e},shaka.abr.SimpleAbrManager.prototype.setMediaElement=function(e){var t=this;this.mediaElement_=e,this.resizeObserver_&&(this.resizeObserver_.disconnect(),this.resizeObserver_=null);var r=function(){t.resizeObserverTimer_.tickAfter(shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME)};this.mediaElement_&&"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(r),this.resizeObserver_.observe(this.mediaElement_)),this.eventManager_.listen(e,"enterpictureinpicture",function(e){e.pictureInPictureWindow&&(t.pictureInPictureWindow_=e.pictureInPictureWindow,t.eventManager_.listen(t.pictureInPictureWindow_,"resize",r))}),this.eventManager_.listen(e,"leavepictureinpicture",function(){t.pictureInPictureWindow_&&t.eventManager_.unlisten(t.pictureInPictureWindow_,"resize",r),t.pictureInPictureWindow_=null})},shaka.abr.SimpleAbrManager.prototype.setCmsdManager=function(e){this.cmsdManager_=e},shaka.abr.SimpleAbrManager.prototype.configure=function(e){this.config_=e,this.bandwidthEstimator_&&this.config_&&this.bandwidthEstimator_.configure(this.config_.advanced)},shaka.abr.SimpleAbrManager.prototype.suggestStreams_=function(){if(shaka.log.v2("Suggesting Streams..."),goog.asserts.assert(null!=this.lastTimeChosenMs_,"lastTimeChosenMs_ should not be null"),!this.startupComplete_){if(!this.bandwidthEstimator_.hasGoodEstimate())return void shaka.log.v2("Still waiting for a good estimate...");this.startupComplete_=!0,this.lastTimeChosenMs_-=1e3*(this.config_.switchInterval-this.config_.minTimeToSwitch)}
1if(Date.now()-this.lastTimeChosenMs_<1e3*this.config_.switchInterval)shaka.log.v2("Still within switch interval...");else{var e=this.chooseVariant(),t=this.getBandwidthEstimate();t=Math.round(t/1e3),e&&(shaka.log.debug("Calling switch_(), bandwidth="+t+" kbps"),this.switch_(e,this.config_.clearBufferSwitch,this.config_.safeMarginSwitch))}},shaka.abr.SimpleAbrManager.prototype.getDefaultBandwidth_=function(){var e=this.config_.defaultBandwidthEstimate;return navigator.connection&&navigator.connection.downlink&&this.config_.useNetworkInformation&&(e=1e6*navigator.connection.downlink),e},shaka.abr.SimpleAbrManager.prototype.filterAndSortVariants_=function(e,t,r,i){if(this.cmsdManager_){var n=this.cmsdManager_.getMaxBitrate();n&&(t=t.filter(function(e){return!e.bandwidth||!n||e.bandwidth<=n}))}return e&&(t=t.filter(function(t){return goog.asserts.assert(e,"Restrictions should exist!"),shaka.util.StreamUtils.meetsRestrictions(t,e,{width:i,height:r})})),t.sort(function(e,t){return e.bandwidth-t.bandwidth})},shaka.abr.SimpleAbrManager.prototype.getResolutionList_=function(e){var t=[];e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())(r=r.value.video)&&r.height&&r.width&&t.push({height:r.height,width:r.width});return t.sort(function(e,t){return e.width-t.width})},shaka.abr.SimpleAbrManager.prototype.isSameBandwidthAndHigherResolution_=function(e,t){return e.bandwidth==t.bandwidth&&!!e.video&&!!t.video&&(e.video.width<t.video.width||e.video.height<t.video.height)},goog.exportSymbol("shaka.abr.SimpleAbrManager",shaka.abr.SimpleAbrManager),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"configure",shaka.abr.SimpleAbrManager.prototype.configure),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setCmsdManager",shaka.abr.SimpleAbrManager.prototype.setCmsdManager),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setMediaElement",shaka.abr.SimpleAbrManager.prototype.setMediaElement),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"playbackRateChanged",shaka.abr.SimpleAbrManager.prototype.playbackRateChanged),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setVariants",shaka.abr.SimpleAbrManager.prototype.setVariants),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"getBandwidthEstimate",shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"trySuggestStreams",shaka.abr.SimpleAbrManager.prototype.trySuggestStreams),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"segmentDownloaded",shaka.abr.SimpleAbrManager.prototype.segmentDownloaded),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"disable",shaka.abr.SimpleAbrManager.prototype.disable),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"enable",shaka.abr.SimpleAbrManager.prototype.enable),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"chooseVariant",shaka.abr.SimpleAbrManager.prototype.chooseVariant),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"init",shaka.abr.SimpleAbrManager.prototype.init),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"release",shaka.abr.SimpleAbrManager.prototype.release),goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"stop",shaka.abr.SimpleAbrManager.prototype.stop),shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME=1,shaka.config={},shaka.config.AutoShowText={NEVER:0,ALWAYS:1,IF_PREFERRED_TEXT_LANGUAGE:2,IF_SUBTITLES_MAY_BE_NEEDED:3},goog.exportSymbol("shaka.config.AutoShowText",shaka.config.AutoShowText),shaka.debug={},shaka.debug.RunningInLab=!1,shaka.net={},shaka.net.Backoff=function(e,t){t=void 0!==t&&t;var r=shaka.net.Backoff.defaultRetryParameters();this.maxAttempts_=null==e.maxAttempts?r.maxAttempts:e.maxAttempts,goog.asserts.assert(1<=this.maxAttempts_,"maxAttempts should be >= 1"),this.baseDelay_=null==e.baseDelay?r.baseDelay:e.baseDelay,goog.asserts.assert(0<=this.baseDelay_,"baseDelay should be >= 0"),this.fuzzFactor_=null==e.fuzzFactor?r.fuzzFactor:e.fuzzFactor,goog.asserts.assert(0<=this.fuzzFactor_,"fuzzFactor should be >= 0"),this.backoffFactor_=null==e.backoffFactor?r.backoffFactor:e.backoffFactor,goog.asserts.assert(0<=this.backoffFactor_,"backoffFactor should be >= 0"),this.numAttempts_=0,this.nextUnfuzzedDelay_=this.baseDelay_,(this.autoReset_=t)&&(goog.asserts.assert(2<=this.maxAttempts_,"maxAttempts must be >= 2 for autoReset == true"),this.numAttempts_=1)},shaka.net.Backoff.prototype.attempt=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress){if(r.numAttempts_>=r.maxAttempts_)if(r.autoReset_)r.reset_();else throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.ATTEMPTS_EXHAUSTED);return(e=r.numAttempts_,r.numAttempts_++,0==e)?(goog.asserts.assert(!r.autoReset_,"Failed to delay with auto-reset!"),i.return()):(t=shaka.net.Backoff.fuzz_(r.nextUnfuzzedDelay_,r.fuzzFactor_),i.yield(new Promise(function(e){shaka.net.Backoff.defer(t,e)}),2))}r.nextUnfuzzedDelay_*=r.backoffFactor_,i.jumpToEnd()})},shaka.net.Backoff.defaultRetryParameters=function(){return{maxAttempts:2,baseDelay:1e3,backoffFactor:2,fuzzFactor:.5,timeout:3e4,stallTimeout:5e3,connectionTimeout:1e4}},shaka.net.Backoff.fuzz_=function(e,t){return e*(1+(2*Math.random()-1)*t)},shaka.net.Backoff.prototype.reset_=function(){goog.asserts.assert(this.autoReset_,"Should only be used for auto-reset!"),this.numAttempts_=1,this.nextUnfuzzedDelay_=this.baseDelay_},shaka.net.Backoff.defer=function(e,t){new shaka.util.Timer(t).tickAfter(e/1e3)},shaka.util.PublicPromise=function(){var e,t,r=new Promise(function(r,i){e=r,t=i});return r.resolve=e,r.reject=t,r},shaka.util.PublicPromise.prototype.resolve=function(e){},shaka.util.PublicPromise.prototype.reject=function(e){},shaka.util.AbortableOperation=function(e,t){this.promise=e,this.onAbort_=t,this.abortPromise_=null},shaka.util.AbortableOperation.failed=function(e){return new shaka.util.AbortableOperation(Promise.reject(e),function(){return Promise.resolve()})},shaka.util.AbortableOperation.aborted=function(){var e=Promise.reject(shaka.util.AbortableOperation.abortError());return e.catch(function(){}),new shaka.util.AbortableOperation(e,function(){return Promise.resolve()})},shaka.util.AbortableOperation.abortError=function(){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED)},shaka.util.AbortableOperation.completed=function(e){return new shaka.util.AbortableOperation(Promise.resolve(e),function(){return Promise.resolve()})},shaka.util.AbortableOperation.notAbortable=function(e){return new shaka.util.AbortableOperation(e,function(){return e.catch(function(){})})},shaka.util.AbortableOperation.prototype.abort=function(){return this.abortPromise_||(this.abortPromise_=this.onAbort_()),this.abortPromise_},shaka.util.AbortableOperation.all=function(e){return new shaka.util.AbortableOperation(Promise.all(e.map(function(e){return e.promise})),function(){return Promise.all(e.map(function(e){return e.abort()}))})},shaka.util.AbortableOperation.prototype.finally=function(e){return this.promise.then(function(t){return e(!0)},function(t){return e(!1)}),this},shaka.util.AbortableOperation.prototype.chain=function(e,t){var r=this,i=new shaka.util.PublicPromise;i.catch(function(){});var n=shaka.util.AbortableOperation.abortError(),a=function(){return i.reject(n),r.abort()},o=function(o){return function(s){if(r.abortPromise_&&o)i.reject(n);else{var l=o?e:t;l?a=shaka.util.AbortableOperation.wrapChainCallback_(l,s,i):(o?i.resolve:i.reject)(s)}}};return this.promise.then(o(!0),o(!1)),new shaka.util.AbortableOperation(i,function(){return a()})},shaka.util.AbortableOperation.wrapChainCallback_=function(e,t,r){try{var i=e(t);if(i&&i.promise&&i.abort)return r.resolve(i.promise),function(){return i.abort()};return r.resolve(i),function(){return Promise.resolve(i).then(function(){},function(){})}}catch(e){return r.reject(e),function(){return Promise.resolve()}}},$jscomp.global.Object.defineProperties(shaka.util.AbortableOperation.prototype,{aborted:{configurable:!0,enumerable:!0,get:function(){return null!==this.abortPromise_}}}),goog.exportSymbol("shaka.util.AbortableOperation",shaka.util.AbortableOperation),goog.exportProperty(shaka.util.AbortableOperation.prototype,"chain",shaka.util.AbortableOperation.prototype.chain),goog.exportProperty(shaka.util.AbortableOperation.prototype,"finally",shaka.util.AbortableOperation.prototype.finally),goog.exportProperty(shaka.util.AbortableOperation,"all",shaka.util.AbortableOperation.all),goog.exportProperty(shaka.util.AbortableOperation.prototype,"abort",shaka.util.AbortableOperation.prototype.abort),goog.exportProperty(shaka.util.AbortableOperation,"notAbortable",shaka.util.AbortableOperation.notAbortable),goog.exportProperty(shaka.util.AbortableOperation,"completed",shaka.util.AbortableOperation.completed),goog.exportProperty(shaka.util.AbortableOperation,"aborted",shaka.util.AbortableOperation.aborted),goog.exportProperty(shaka.util.AbortableOperation,"failed",shaka.util.AbortableOperation.failed),shaka.util.FakeEvent=function(e,t){if(t)if(t instanceof Map)for(var r=$jscomp.makeIterator(t.keys()),i=r.next();!i.done;i=r.next())Object.defineProperty(this,i=i.value,{value:t.get(i),writable:!0,enumerable:!0});else for(r in t=shaka.util.FakeEvent.recastDictAsObject_(t))Object.defineProperty(this,r,{value:t[r],writable:!0,enumerable:!0});this.defaultPrevented=this.cancelable=this.bubbles=!1,this.timeStamp=window.performance&&window.performance.now?window.performance.now():Date.now(),this.type=e,this.isTrusted=!1,this.target=this.currentTarget=null,this.stopped=!1},shaka.util.FakeEvent.fromRealEvent=function(e){var t,r=new shaka.util.FakeEvent(e.type);for(t in e)Object.defineProperty(r,t,{value:e[t],writable:!0,enumerable:!0});return r},shaka.util.FakeEvent.recastDictAsObject_=function(e){return goog.asserts.assert(!(e instanceof Map),"dict should not be a map"),e},shaka.util.FakeEvent.prototype.preventDefault=function(){this.cancelable&&(this.defaultPrevented=!0)},shaka.util.FakeEvent.prototype.stopImmediatePropagation=function(){this.stopped=!0},shaka.util.FakeEvent.prototype.stopPropagation=function(){},goog.exportSymbol("shaka.util.FakeEvent",shaka.util.FakeEvent),shaka.util.FakeEvent.EventName={AbrStatusChanged:"abrstatuschanged",Adaptation:"adaptation",AudioTrackChanged:"audiotrackchanged",Buffering:"buffering",Complete:"complete",DownloadCompleted:"downloadcompleted",DownloadFailed:"downloadfailed",DownloadHeadersReceived:"downloadheadersreceived",DrmSessionUpdate:"drmsessionupdate",Emsg:"emsg",Prft:"prft",Error:"error",ExpirationUpdated:"expirationupdated",FirstQuartile:"firstquartile",GapJumped:"gapjumped",KeyStatusChanged:"keystatuschanged",Loaded:"loaded",Loading:"loading",ManifestParsed:"manifestparsed",ManifestUpdated:"manifestupdated",MediaQualityChanged:"mediaqualitychanged",MediaSourceRecovered:"mediasourcerecovered",Metadata:"metadata",Midpoint:"midpoint",NoSpatialVideoInfoEvent:"nospatialvideoinfo",OnStateChange:"onstatechange",RateChange:"ratechange",SegmentAppended:"segmentappended",SessionDataEvent:"sessiondata",SpatialVideoInfoEvent:"spatialvideoinfo",StallDetected:"stalldetected",Started:"started",StateChanged:"statechanged",Streaming:"streaming",TextChanged:"textchanged",TextTrackVisibility:"texttrackvisibility",ThirdQuartile:"thirdquartile",TimelineRegionAdded:"timelineregi
1onadded",TimelineRegionEnter:"timelineregionenter",TimelineRegionExit:"timelineregionexit",TracksChanged:"trackschanged",Unloading:"unloading",VariantChanged:"variantchanged"},shaka.util.FakeEventTarget=function(){this.listeners_=new shaka.util.MultiMap,this.dispatchTarget=this},shaka.util.FakeEventTarget.prototype.addEventListener=function(e,t,r){this.listeners_&&this.listeners_.push(e,t)},shaka.util.FakeEventTarget.prototype.listenToAllEvents=function(e){this.addEventListener(shaka.util.FakeEventTarget.ALL_EVENTS_,e)},shaka.util.FakeEventTarget.prototype.removeEventListener=function(e,t,r){this.listeners_&&this.listeners_.remove(e,t)},shaka.util.FakeEventTarget.prototype.dispatchEvent=function(e){if(goog.asserts.assert(e instanceof shaka.util.FakeEvent,"FakeEventTarget can only dispatch FakeEvents!"),!this.listeners_)return!0;var t=this.listeners_.get(e.type)||[],r=this.listeners_.get(shaka.util.FakeEventTarget.ALL_EVENTS_);for(r&&(t=t.concat(r)),r=(t=$jscomp.makeIterator(t)).next();!r.done;r=t.next()){r=r.value,e.target=this.dispatchTarget,e.currentTarget=this.dispatchTarget;try{r.handleEvent?r.handleEvent(e):r.call(this,e)}catch(e){shaka.log.error("Uncaught exception in event handler",e,e?e.message:null,e?e.stack:null)}if(e.stopped)break}return e.defaultPrevented},shaka.util.FakeEventTarget.prototype.release=function(){this.listeners_=null},shaka.util.FakeEventTarget.ALL_EVENTS_="All",shaka.util.OperationManager=function(){this.operations_=[]},shaka.util.OperationManager.prototype.manage=function(e){var t=this;this.operations_.push(e.finally(function(){shaka.util.ArrayUtils.remove(t.operations_,e)}))},shaka.util.OperationManager.prototype.destroy=function(){for(var e=[],t=$jscomp.makeIterator(this.operations_),r=t.next();!r.done;r=t.next())(r=r.value).promise.catch(function(){}),e.push(r.abort());return this.operations_=[],Promise.all(e)},shaka.net.NetworkingEngine=function(e,t,r,i,n,a,o){shaka.util.FakeEventTarget.call(this),this.destroyed_=!1,this.operationManager_=new shaka.util.OperationManager,this.requestFilters_=new Set,this.responseFilters_=new Set,this.onProgressUpdated_=e||null,this.onHeadersReceived_=t||null,this.onDownloadCompleted_=r||null,this.onDownloadFailed_=i||null,this.onRequest_=n||null,this.onRetry_=a||null,this.onResponse_=o||null,this.forceHTTPS_=this.forceHTTP_=!1,this.minBytesForProgressEvents_=16e3,this.hostCommonAccessTokenMap_=new Map},$jscomp.inherits(shaka.net.NetworkingEngine,shaka.util.FakeEventTarget),shaka.net.NetworkingEngine.prototype.setForceHTTP=function(e){this.forceHTTP_=e},shaka.net.NetworkingEngine.prototype.setForceHTTPS=function(e){this.forceHTTPS_=e},shaka.net.NetworkingEngine.prototype.setMinBytesForProgressEvents=function(e){this.minBytesForProgressEvents_=e},shaka.net.NetworkingEngine.registerScheme=function(e,t,r,i){i=void 0!==i&&i,goog.asserts.assert(void 0==r||0<r,"explicit priority must be > 0"),r=r||shaka.net.NetworkingEngine.PluginPriority.APPLICATION;var n=shaka.net.NetworkingEngine.schemes_.get(e);(!n||r>=n.priority)&&shaka.net.NetworkingEngine.schemes_.set(e,{priority:r,plugin:t,progressSupport:i})},shaka.net.NetworkingEngine.unregisterScheme=function(e){shaka.net.NetworkingEngine.schemes_.delete(e)},shaka.net.NetworkingEngine.prototype.copyFiltersInto=function(e){for(var t=$jscomp.makeIterator(this.requestFilters_),r=t.next();!r.done;r=t.next())e.requestFilters_.add(r.value);for(r=(t=$jscomp.makeIterator(this.responseFilters_)).next();!r.done;r=t.next())e.responseFilters_.add(r.value)},shaka.net.NetworkingEngine.prototype.registerRequestFilter=function(e){this.requestFilters_.add(e)},shaka.net.NetworkingEngine.prototype.unregisterRequestFilter=function(e){this.requestFilters_.delete(e)},shaka.net.NetworkingEngine.prototype.clearAllRequestFilters=function(){this.requestFilters_.clear()},shaka.net.NetworkingEngine.prototype.registerResponseFilter=function(e){this.responseFilters_.add(e)},shaka.net.NetworkingEngine.prototype.unregisterResponseFilter=function(e){this.responseFilters_.delete(e)},shaka.net.NetworkingEngine.prototype.clearAllResponseFilters=function(){this.responseFilters_.clear()},shaka.net.NetworkingEngine.prototype.clearCommonAccessTokenMap=function(){this.hostCommonAccessTokenMap_.clear()},shaka.net.NetworkingEngine.defaultRetryParameters=function(){return shaka.net.Backoff.defaultRetryParameters()},shaka.net.NetworkingEngine.makeRequest=function(e,t,r){return{uris:e,method:"GET",body:null,headers:{},allowCrossSiteCredentials:!1,retryParameters:t,licenseRequestType:null,sessionId:null,drmInfo:null,initData:null,initDataType:null,streamDataCallback:void 0===r?null:r}},shaka.net.NetworkingEngine.prototype.destroy=function(){return this.destroyed_=!0,this.requestFilters_.clear(),this.responseFilters_.clear(),this.hostCommonAccessTokenMap_.clear(),shaka.util.FakeEventTarget.prototype.release.call(this),this.operationManager_.destroy()},shaka.net.NetworkingEngine.prototype.request=function(e,t,r){var i=this,n=shaka.util.ObjectUtils,a=new shaka.net.NetworkingEngine.NumBytesRemainingClass;if(this.destroyed_)return(n=Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED))).c
1atch(function(){}),new shaka.net.NetworkingEngine.PendingRequest(n,function(){return Promise.resolve()},a);goog.asserts.assert(t.uris&&t.uris.length,"Request without URIs!"),t.method=t.method||"GET",t.headers=t.headers||{},t.retryParameters=t.retryParameters?n.cloneObject(t.retryParameters):shaka.net.NetworkingEngine.defaultRetryParameters(),t.uris=n.cloneObject(t.uris);var o=(n=this.filterRequest_(e,t,r)).chain(function(){return i.makeRequestWithRetry_(e,t,r,a)}),s=o.chain(function(t){return i.filterResponse_(e,t,r)}),l=Date.now(),u=0;n.promise.then(function(){u=Date.now()-l},function(){});var d=0;o.promise.then(function(){d=Date.now()},function(){});var c=s.chain(function(n){var a=Date.now()-d,o=n.response;return o.timeMs+=u,o.timeMs+=a,n.gotProgress||!i.onProgressUpdated_||o.fromCache||"HEAD"==t.method||e!=shaka.net.NetworkingEngine.RequestType.SEGMENT||(n=i.allowSwitch_(r),i.onProgressUpdated_(o.timeMs,o.data.byteLength,n)),i.onResponse_&&i.onResponse_(e,o,r),o},function(e){throw e&&(goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type"),e.severity=shaka.util.Error.Severity.CRITICAL),e});return n=new shaka.net.NetworkingEngine.PendingRequest(c.promise,function(){return c.abort()},a),this.operationManager_.manage(n),n},shaka.net.NetworkingEngine.prototype.filterRequest_=function(e,t,r){var i=shaka.util.AbortableOperation.completed(void 0),n=function(n){i=i.chain(function(){return t.body&&(t.body=shaka.util.BufferUtils.toArrayBuffer(t.body)),n(e,t,r)})};this.onRequest_&&n(this.onRequest_);for(var a=$jscomp.makeIterator(this.requestFilters_),o=a.next();!o.done;o=a.next())n(o.value);return i.chain(void 0,function(e){if(e instanceof shaka.util.Error&&e.code==shaka.util.Error.Code.OPERATION_ABORTED)throw e;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.REQUEST_FILTER_ERROR,e)})},shaka.net.NetworkingEngine.prototype.makeRequestWithRetry_=function(e,t,r,i){var n=new shaka.net.Backoff(t.retryParameters,!1);return this.send_(e,t,r,n,0,null,i)},shaka.net.NetworkingEngine.prototype.send_=function(e,t,r,i,n,a,o){var s=this;this.forceHTTP_&&(t.uris[n]=t.uris[n].replace("https://","http://")),this.forceHTTPS_&&(t.uris[n]=t.uris[n].replace("http://","https://")),0<n&&this.onRetry_&&this.onRetry_(e,r,t.uris[n],t.uris[n-1]);var l=new goog.Uri(t.uris[n]),u=l.getScheme(),d=!1;u||(u=shaka.net.NetworkingEngine.getLocationProtocol_(),goog.asserts.assert(":"==u[u.length-1],"location.protocol expected to end with a colon!"),u=u.slice(0,-1),l.setScheme(u),t.uris[n]=l.toString()),u=u.toLowerCase();var c=(u=shaka.net.NetworkingEngine.schemes_.get(u))?u.plugin:null;if(!c)return shaka.util.AbortableOperation.failed(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.UNSUPPORTED_SCHEME,l));var p=u.progressSupport;(l=this.hostCommonAccessTokenMap_.get(l.getDomain()))&&(t.headers[shaka.net.NetworkingEngine.CommonAccessTokenHeaderName_]=l);var m,f=null,g=null,h=!1,y=!1;return shaka.util.AbortableOperation.notAbortable(i.attempt()).chain(function(){if(s.destroyed_)return shaka.util.AbortableOperation.aborted();m=Date.now();var i=shaka.net.NetworkingEngine.RequestType.SEGMENT,a=0;t.requestStartTime=Date.now();var l=c(t.uris[n],t,e,function(n,l,u){if(f&&f.stop(),g&&g.tickAfter(_/1e3),s.onProgressUpdated_&&e==i){t.packetNumber=++a;var c=s.allowSwitch_(r);s.onProgressUpdated_(n,l,c,t),d=!0,o.setBytes(u)}},function(r){y=!0,t.timeToFirstByte=Date.now()-t.requestStartTime,s.onHeadersReceived_&&s.onHeadersReceived_(r,t,e)},{minBytesForProgressEvents:s.minBytesForProgressEvents_});if(!p)return l;var u=t.retryParameters.connectionTimeout;u&&(f=new shaka.util.Timer(function(){h=!0,l.abort()})).tickAfter(u/1e3);var _=t.retryParameters.stallTimeout;return _&&(g=new shaka.util.Timer(function(){h=!0,l.abort()})),l}).chain(function(r){f&&f.stop(),g&&g.stop(),void 0==r.timeMs&&(r.timeMs=Date.now()-m);var i=r.headers[shaka.net.NetworkingEngine.CommonAccessTokenHeaderName_];if(i){var n=new goog.Uri(r.uri);s.hostCommonAccessTokenMap_.set(n.getDomain(),i)}return i={response:r,gotProgress:d},!y&&s.onHeadersReceived_&&s.onHeadersReceived_(r.headers,t,e),s.onDownloadCompleted_&&s.onDownloadCompleted_(t,r),i},function(l){if(f&&f.stop(),g&&g.stop(),s.onDownloadFailed_){var u=null,d=0;l instanceof shaka.util.Error&&(u=l,l.code==shaka.util.Error.Code.BAD_HTTP_STATUS&&(d=l.data[1])),s.onDownloadFailed_(t,u,d,h)}if(s.destroyed_)return shaka.util.AbortableOperation.aborted();if(h&&(l=new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,t.uris[n],e)),l instanceof shaka.util.Error){if(l.code==shaka.util.Error.Code.OPERATION_ABORTED)throw l;if(l.code==shaka.util.Error.Code.ATTEMPTS_EXHAUSTED)throw goog.asserts.assert(a,"Should have last error"),a;if(l.severity==shaka.util.Error.Severity.RECOVERABLE){if(u=(new Map).set("error",l),(u=new shaka.util.FakeEvent("retry",u)).cancelable=!0,s.dispatchEvent(u),u.defaultPrevented)throw l;return n=(n+1)%t.uris.length,s.send_(e,t,r,i,n,l,o)}}throw l})},shaka.net.NetworkingEngine.prototype.filterResponse_=function(e,t,r){for(var i=shaka.util.AbortableOperation.completed(void 0),n=$jscomp.makeIterator(this.responseFilters_),a=n.next(),o={};!a.done;o={responseFilter:void 0},a=n.next())o.responseFilter=a.value,i=i.chain(function(i){return function(){var n=t.response;return n.data&&(n.data=shaka.util.BufferUtils.toArrayBuffer(n.data)),(0,i.responseFilter)(e,n,r)}}(o));return i.chain(function(){return t},function(e){var t=shaka.util.Error.Severity.CRITICAL;if(e instanceof shaka.util.Error){if(e.code==shaka.util.Error.Code.OPERATION_ABORTED)throw e;t=e.severity}throw new shaka.util.Error(t,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.RESPONSE_FILTER_ERROR,e)})},shaka.net.NetworkingEngine.prototype.allowSwitch_=function(e){if(e){var t=e.segment;if(e=e.stream,t&&e&&e.fastSwitching&&t.isPartial())return!1}return!0},shaka.net.NetworkingEngine.getLocationProtocol_=function(){return location.protocol},goog.exportSymbol("shaka.net.NetworkingEngine",shaka.net.NetworkingEngine),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"request",shaka.net.NetworkingEngine.prototype.request),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"destroy",shaka.net.NetworkingEngine.prototype.destroy),goog.exportProperty(shaka.net.NetworkingEngine,"makeRequest",shaka.net.NetworkingEngine.makeRequest),goog.exportProperty(shaka.net.NetworkingEngine,"defaultRetryParameters",shaka.net.NetworkingEngine.defaultRetryParameters),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearCommonAccessTokenMap",shaka.net.NetworkingEngine.prototype.clearCommonAccessTokenMap),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllResponseFilters",shaka.net.NetworkingEngine.prototype.clearAllResponseFilters),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterResponseFilter",shaka.net.NetworkingEngine.prototype.unregisterResponseFilter),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerResponseFilter",shaka.net.NetworkingEngine.prototype.registerResponseFilter),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllRequestFilters",shaka.net.NetworkingEngine.prototype.clearAllRequestFilters),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterRequestFilter",shaka.net.NetworkingEngine.prototype.unregisterRequestFilter),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerRequestFilter",shaka.net.NetworkingEngine.prototype.registerRequestFilter),goog.exportProperty(shaka.net.NetworkingEngine,"unregisterScheme",shaka.net.NetworkingEngine.unregisterScheme),goog.exportProperty(shaka.net.NetworkingEngine,"registerScheme",shaka.net.NetworkingEngine.registerScheme),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"setForceHTTPS",shaka.net.NetworkingEngine.prototype.setForceHTTPS),goog.exportProperty(shaka.net.NetworkingEngine.prototype,"setForceHTTP",shaka.net.NetworkingEngine.prototype.setForceHTTP),shaka.net.NetworkingEngine.NumBytesRemainingClass=function(){this.bytesToLoad_=0},shaka.net.NetworkingEngine.NumBytesRemainingClass.prototype.setBytes=function(e){this.bytesToLoad_=e},shaka.net.NetworkingEngine.NumBytesRemainingClass.prototype.getBytes=function(){return this.bytesToLoad_},goog.exportProperty(shaka.net.NetworkingEngine,"NumBytesRemainingClass",shaka.net.NetworkingEngine.NumBytesRemainingClass),shaka.net.NetworkingEngine.PendingRequest=function(e,t,r){shaka.util.AbortableOperation.call(this,e,t),this.bytesRemaining_=r},$jscomp.inherits(shaka.net.NetworkingEngine.PendingRequest,shaka.util.AbortableOperation),shaka.net.NetworkingEngine.PendingRequest.prototype.getBytesRemaining=function(){return this.bytesRemaining_.getBytes()},goog.exportProperty(shaka.net.NetworkingEngine,"PendingRequest",shaka.net.NetworkingEngine.PendingRequest),shaka.net.NetworkingEngine.CommonAccessTokenHeaderName_="common-access-token",shaka.net.NetworkingEngine.RequestType={MANIFEST:0,SEGMENT:1,LICENSE:2,APP:3,TIMING:4,SERVER_CERTIFICATE:5,KEY:6,ADS:7,CONTENT_STEERING:8},goog.exportProperty(shaka.net.NetworkingEngine,"RequestType",shaka.net.NetworkingEngine.RequestType),shaka.net.NetworkingEngine.AdvancedRequestType={INIT_SEGMENT:0,MEDIA_SEGMENT:1,MEDIA_PLAYLIST:2,MASTER_PLAYLIST:3,MPD:4,MSS:5,MPD_PATCH:6,MEDIATAILOR_SESSION_INFO:7,MEDIATAILOR_TRACKING_INFO:8,MEDIATAILOR_STATIC_RESOURCE:9,MEDIATAILOR_TRACKING_EVENT:10,INTERSTITIAL_ASSET_LIST:11,INTERSTITIAL_AD_URL:12},goog.exportProperty(shaka.net.NetworkingEngine,"AdvancedRequestType",shaka.net.NetworkingEngine.AdvancedRequestType),shaka.net.NetworkingEngine.PluginPriority={FALLBACK:1,PREFERRED:2,APPLICATION:3},goog.exportProperty(shaka.net.NetworkingEngine,"PluginPriority",shaka.net.NetworkingEngine.PluginPriority),shaka.net.NetworkingEngine.schemes_=new Map,shaka.util.Destroyer=function(e){this.destroyed_=!1,this.waitOnDestroy_=new shaka.util.PublicPromise,this.onDestroy_=e},shaka.util.Destroyer.prototype.destroyed=function(){return this.destroyed_},shaka.util.Destroyer.prototype.destroy=function(){var e=this;return this.destroyed_?this.waitOnDestroy_:(this.destroyed_=!0,this.onDestroy_().then(function(){e.waitOnDestroy_.resolve()},function(){e.waitOnDestroy_.resolve()}))},shaka.util.Destroyer.prototype.ensureNotDestroyed=function(e){if(this.destroyed_){if(e instanceof shaka.util.Error&&e.code==shaka.util.Error.Code.OBJECT_DESTROYED)throw e;throw shaka.util.Destroyer.destroyedError(e)}},shaka.util.Destroyer.destroyedError=function(e){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OBJECT_DESTROYED,e)},shaka.util.Iterables=function(){},shaka.util.Iterables.map=function(e,t){var r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())r.push(t(i.value));return r},shaka.util.Iterables.every=function(e,t){e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())if(!t(r.value))return!1;return!0},shaka.util.Iterables.some=function(e,t){e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())if(t(r.value))return!0;return!1},shaka.util.Iterables.filter=function(e,t){var r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())t(i=i.value)&&r.push(i);return r},shaka.util.MapUtils=function(){},shaka.util.MapUtils.asMap=function(e){for(var t=new Map,r=$jscomp.makeIterator(Object.keys(e)),i=r.next();!i.done;i=r.next())i=i.value,t.set(i,e[i]);return t},shaka.util.MapUtils.asObject=function(e){var t={};return e.forEach(function(e,r){t[r]=e}),t},shaka.util.MapUtils.hasSameElements=function(e,t){if(!e&&!t)return!0;
1if(e&&!t||t&&!e||e.size!=t.size)return!1;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){var i=$jscomp.makeIterator(r.value);if(r=i.next().value,i=i.next().value,!t.has(r)||(r=t.get(r))!=i||void 0==r)return!1}return!0},shaka.util.DataViewReader=function(e,t){this.dataView_=shaka.util.BufferUtils.toDataView(e),this.littleEndian_=t==shaka.util.DataViewReader.Endianness.LITTLE_ENDIAN,this.position_=0},shaka.util.DataViewReader.prototype.getDataView=function(){return this.dataView_},shaka.util.DataViewReader.prototype.hasMoreData=function(){return this.position_<this.dataView_.byteLength},shaka.util.DataViewReader.prototype.getPosition=function(){return this.position_},shaka.util.DataViewReader.prototype.getLength=function(){return this.dataView_.byteLength},shaka.util.DataViewReader.prototype.readUint8=function(){try{var e=this.dataView_.getUint8(this.position_);return this.position_+=1,e}catch(e){throw this.outOfBounds_()}},shaka.util.DataViewReader.prototype.readUint16=function(){try{var e=this.dataView_.getUint16(this.position_,this.littleEndian_);return this.position_+=2,e}catch(e){throw this.outOfBounds_()}},shaka.util.DataViewReader.prototype.readUint32=function(){try{var e=this.dataView_.getUint32(this.position_,this.littleEndian_);return this.position_+=4,e}catch(e){throw this.outOfBounds_()}},shaka.util.DataViewReader.prototype.readInt32=function(){try{var e=this.dataView_.getInt32(this.position_,this.littleEndian_);return this.position_+=4,e}catch(e){throw this.outOfBounds_()}},shaka.util.DataViewReader.prototype.readUint64=function(){try{if(this.littleEndian_)var e=this.dataView_.getUint32(this.position_,!0),t=this.dataView_.getUint32(this.position_+4,!0);else t=this.dataView_.getUint32(this.position_,!1),e=this.dataView_.getUint32(this.position_+4,!1)}catch(e){throw this.outOfBounds_()}if(2097151<t)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.JS_INTEGER_OVERFLOW);return this.position_+=8,0x100000000*t+e},shaka.util.DataViewReader.prototype.readBytes=function(e){if(goog.asserts.assert(0<=e,"Bad call to DataViewReader.readBytes"),this.position_+e>this.dataView_.byteLength)throw this.outOfBounds_();var t=shaka.util.BufferUtils.toUint8(this.dataView_,this.position_,e);return this.position_+=e,t},shaka.util.DataViewReader.prototype.skip=function(e){if(goog.asserts.assert(0<=e,"Bad call to DataViewReader.skip"),this.position_+e>this.dataView_.byteLength)throw this.outOfBounds_();this.position_+=e},shaka.util.DataViewReader.prototype.rewind=function(e){if(goog.asserts.assert(0<=e,"Bad call to DataViewReader.rewind"),this.position_<e)throw this.outOfBounds_();this.position_-=e},shaka.util.DataViewReader.prototype.seek=function(e){if(goog.asserts.assert(0<=e,"Bad call to DataViewReader.seek"),0>e||e>this.dataView_.byteLength)throw this.outOfBounds_();this.position_=e},shaka.util.DataViewReader.prototype.readTerminatedString=function(){for(var e=this.position_;this.hasMoreData()&&0!=this.dataView_.getUint8(this.position_);)this.position_+=1;return e=shaka.util.BufferUtils.toUint8(this.dataView_,e,this.position_-e),this.position_+=1,shaka.util.StringUtils.fromUTF8(e)},shaka.util.DataViewReader.prototype.outOfBounds_=function(){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS)},goog.exportSymbol("shaka.util.DataViewReader",shaka.util.DataViewReader),goog.exportProperty(shaka.util.DataViewReader.prototype,"readTerminatedString",shaka.util.DataViewReader.prototype.readTerminatedString),goog.exportProperty(shaka.util.DataViewReader.prototype,"seek",shaka.util.DataViewReader.prototype.seek),goog.exportProperty(shaka.util.DataViewReader.prototype,"rewind",shaka.util.DataViewReader.prototype.rewind),goog.exportProperty(shaka.util.DataViewReader.prototype,"skip",shaka.util.DataViewReader.prototype.skip),goog.exportProperty(shaka.util.DataViewReader.prototype,"readBytes",shaka.util.DataViewReader.prototype.readBytes),goog.exportProperty(shaka.util.DataViewReader.prototype,"readUint64",shaka.util.DataViewReader.prototype.readUint64),goog.exportProperty(shaka.util.DataViewReader.prototype,"readInt32",shaka.util.DataViewReader.prototype.readInt32),goog.exportProperty(shaka.util.DataViewReader.prototype,"readUint32",shaka.util.DataViewReader.prototype.readUint32),goog.exportProperty(shaka.util.DataViewReader.prototype,"readUint16",shaka.util.DataViewReader.prototype.readUint16),goog.exportProperty(shaka.util.DataViewReader.prototype,"readUint8",shaka.util.DataViewReader.prototype.readUint8),goog.exportProperty(shaka.util.DataViewReader.prototype,"getLength",shaka.util.DataViewReader.prototype.getLength),goog.exportProperty(shaka.util.DataViewReader.prototype,"getPosition",shaka.util.DataViewReader.prototype.getPosition),goog.exportProperty(shaka.util.DataViewReader.prototype,"hasMoreData",shaka.util.DataViewReader.prototype.hasMoreData),shaka.util.DataViewReader.Endianness={BIG_ENDIAN:0,LITTLE_ENDIAN:1},goog.exportProperty(shaka.util.DataViewReader,"Endianness",shaka.util.DataViewReader.Endianness),shaka.util.Mp4Parser=function(){this.headers_=new Map,this.boxDefinitions_=new Map,this.done_=!1},shaka.util.Mp4Parser.prototype.box=function(e,t){return e=shaka.util.Mp4Parser.typeFromString_(e),this.headers_.set(e,shaka.util.Mp4Parser.BoxType_.BASIC_BOX),this.boxDefinitions_.set(e,t),this},shaka.util.Mp4Parser.prototype.fullBox=function(e,t){return e=shaka.util.Mp4Parser.typeFromString_(e),this.headers_.set(e,shaka.util.Mp4Parser.BoxType_.FULL_BOX),this.boxDefinitions_.set(e,t),this},shaka.util.Mp4Parser.prototype.stop=function(){this.done_=!0},shaka.util.Mp4Parser.prototype.parse=function(e,t,r){for(e=new shaka.util.DataViewReader(e,shaka.util.DataViewReader.Endianness.BIG_ENDIAN),this.done_=!1;
1e.hasMoreData()&&!this.done_;)this.parseNext(0,e,t,r)},shaka.util.Mp4Parser.prototype.parseNext=function(e,t,r,i){var n=t.getPosition();if(i&&n+8>t.getLength())this.done_=!0;else{var a=t.readUint32(),o=t.readUint32(),s=shaka.util.Mp4Parser.typeToString(o),l=!1;switch(shaka.log.v2("Parsing MP4 box",s),a){case 0:a=t.getLength()-n;break;case 1:if(i&&t.getPosition()+8>t.getLength()){this.done_=!0;return}a=t.readUint64(),l=!0}var u=this.boxDefinitions_.get(o);if(u){var d=null,c=null;if(this.headers_.get(o)==shaka.util.Mp4Parser.BoxType_.FULL_BOX){if(i&&t.getPosition()+4>t.getLength()){this.done_=!0;return}d=(c=t.readUint32())>>>24,c&=0xffffff}o=n+a,r&&o>t.getLength()&&(o=t.getLength()),i&&o>t.getLength()?this.done_=!0:(t=0<(i=o-t.getPosition())?t.readBytes(i):new Uint8Array(0),u({name:s,parser:this,partialOkay:r||!1,version:d,flags:c,reader:t=new shaka.util.DataViewReader(t,shaka.util.DataViewReader.Endianness.BIG_ENDIAN),size:a,start:n+e,has64BitSize:l}))}else e=Math.min(n+a-t.getPosition(),t.getLength()-t.getPosition()),t.skip(e)}},shaka.util.Mp4Parser.children=function(e){for(var t=shaka.util.Mp4Parser.headerSize(e);e.reader.hasMoreData()&&!e.parser.done_;)e.parser.parseNext(e.start+t,e.reader,e.partialOkay)},shaka.util.Mp4Parser.sampleDescription=function(e){for(var t=shaka.util.Mp4Parser.headerSize(e),r=e.reader.readUint32(),i=0;i<r&&(e.parser.parseNext(e.start+t,e.reader,e.partialOkay),!e.parser.done_);i++);},shaka.util.Mp4Parser.visualSampleEntry=function(e){var t=shaka.util.Mp4Parser.headerSize(e);for(e.reader.skip(78);e.reader.hasMoreData()&&!e.parser.done_;)e.parser.parseNext(e.start+t,e.reader,e.partialOkay)},shaka.util.Mp4Parser.audioSampleEntry=function(e){var t=shaka.util.Mp4Parser.headerSize(e);e.reader.skip(8);var r=e.reader.readUint16();for(e.reader.skip(6),2==r?e.reader.skip(48):e.reader.skip(12),1==r&&e.reader.skip(16);e.reader.hasMoreData()&&!e.parser.done_;)e.parser.parseNext(e.start+t,e.reader,e.partialOkay)},shaka.util.Mp4Parser.allData=function(e){return function(t){var r=t.reader.getLength()-t.reader.getPosition();e(t.reader.readBytes(r))}},shaka.util.Mp4Parser.typeFromString_=function(e){goog.asserts.assert(4==e.length,"Mp4 box names must be 4 characters long");var t=0;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())t=t<<8|r.value.charCodeAt(0);return t},shaka.util.Mp4Parser.typeToString=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},shaka.util.Mp4Parser.headerSize=function(e){return 8+8*!!e.has64BitSize+4*(null!=e.flags)},goog.exportSymbol("shaka.util.Mp4Parser",shaka.util.Mp4Parser),goog.exportProperty(shaka.util.Mp4Parser,"headerSize",shaka.util.Mp4Parser.headerSize),goog.exportProperty(shaka.util.Mp4Parser,"typeToString",shaka.util.Mp4Parser.typeToString),goog.exportProperty(shaka.util.Mp4Parser,"allData",shaka.util.Mp4Parser.allData),goog.exportProperty(shaka.util.Mp4Parser,"audioSampleEntry",shaka.util.Mp4Parser.audioSampleEntry),goog.exportProperty(shaka.util.Mp4Parser,"visualSampleEntry",shaka.util.Mp4Parser.visualSampleEntry),goog.exportProperty(shaka.util.Mp4Parser,"sampleDescription",shaka.util.Mp4Parser.sampleDescription),goog.exportProperty(shaka.util.Mp4Parser,"children",shaka.util.Mp4Parser.children),goog.exportProperty(shaka.util.Mp4Parser.prototype,"parseNext",shaka.util.Mp4Parser.prototype.parseNext),goog.exportProperty(shaka.util.Mp4Parser.prototype,"parse",shaka.util.Mp4Parser.prototype.parse),goog.exportProperty(shaka.util.Mp4Parser.prototype,"stop",shaka.util.Mp4Parser.prototype.stop),goog.exportProperty(shaka.util.Mp4Parser.prototype,"fullBox",shaka.util.Mp4Parser.prototype.fullBox),goog.exportProperty(shaka.util.Mp4Parser.prototype,"box",shaka.util.Mp4Parser.prototype.box),shaka.util.Mp4Parser.BoxType_={BASIC_BOX:0,FULL_BOX:1},shaka.util.Pssh=function(e){var t=this;this.systemIds=[],this.cencKeyIds=[],this.data=[],(new shaka.util.Mp4Parser).box("moov",shaka.util.Mp4Parser.children).box("moof",shaka.util.Mp4Parser.children).fullBox("pssh",function(e){return t.parsePsshBox_(e)}).parse(e),0==this.data.length&&shaka.log.v2("No pssh box found!")},shaka.util.Pssh.prototype.parsePsshBox_=function(e){if(goog.asserts.assert(null!=e.version,"PSSH boxes are full boxes and must have a valid version"),goog.asserts.assert(null!=e.flags,"PSSH boxes are full boxes and must have a valid flag"),1<e.version)shaka.log.warning("Unrecognized PSSH version found!");else{var t=e.reader.getDataView();if(goog.asserts.assert(12<=t.byteOffset,"DataView at incorrect position"),t=shaka.util.BufferUtils.toUint8(t,-12,e.size),this.data.push(t),this.systemIds.push(shaka.util.Uint8ArrayUtils.toHex(e.reader.readBytes(16))),0<e.version){t=e.reader.readUint32();for(var r=0;r<t;r++){var i=shaka.util.Uint8ArrayUtils.toHex(e.reader.readBytes(16));this.cencKeyIds.push(i)}}}},shaka.util.Pssh.createPssh=function(e,t,r,i){goog.asserts.assert(16==t.byteLength,"Invalid system ID length");var n=e.length,a=12+t.length+4+n;0<i&&(a+=4+16*r.size);var o=new Uint8Array(a),s=shaka.util.BufferUtils.toDataView(o),l=0;if(s.setUint32(l,a),l+=4,s.setUint32(l,0x70737368),l+=4,1>i?s.setUint32(l,0):s.setUint32(l,0x1000000),l+=4,o.set(t,l),l+=t.length,0<i)for(s.setUint32(l,r.size),l+=4,t=shaka.util.Uint8ArrayUtils,i=(r=$jscomp.makeIterator(r)).next();!i.done;i=r.next())i=t.fromHex(i.value),o.set(i,l),l+=i.length;return s.setUint32(l,n),l+=4,o.set(e,l),goog.asserts.assert(l+n===a,"PSSH invalid length."),o},shaka.util.Pssh.getPsshData=function(e){var t=8,r=(e=shaka.util.BufferUtils.toDataView(e)).getUint8(t);return t+=20,0<r&&(t+=4+16*e.getUint32(t)),shaka.util.BufferUtils.toUint8(e,t+4)},shaka.util.Pssh.normaliseInitData=function(e){if(!e)return e;var t=new shaka.util.Pssh(e);if(1>=t.data.length)return e;e=[],t=$jscomp.makeIterator(t.data);for(var r=t.next(),i={};!r.done;i={initData$jscomp$10:void 0},r=t.next())i.initData$jscomp$10=r.value,e.some(function(e){return function(t){return shaka.util.BufferUtils.equal(t,e.initData$jscomp$10)}}(i))||e.push(i.initData$jscomp$10);return shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(e))},shaka.drm.DrmEngine=function(e){var t=this;this.playerInterface_=e,this.video_=this.mediaKeys_=null,this.initializedForStorage_=this.initialized_=!1,this.licenseTimeSeconds_=0,this.currentDrmInfo_=null,this.eventManager_=new shaka.util.EventManager,this.activeSessions_=new Map,this.activeRequests_=[],this.storedPersistentSessions_=new Map,this.hasInitData_=!1,this.allSessionsLoaded_=new shaka.util.PublicPromise,this.config_=null,this.onError_=function(r){r.severity==shaka.util.Error.Severity.CRITICAL&&t.allSessionsLoaded_.reject(r),e.onError(r)},this.keyStatusByKeyId_=new Map,this.announcedKeyStatusByKeyId_=new Map,this.keyStatusTimer_=new shaka.util.Timer(function(){return t.processKeyStatusChanges_()}),this.usePersistentLicenses_=!1,this.mediaKeyMessageEvents_=[],this.initialRequestsSent_=!1,this.expirationTimer_=new shaka.util.Timer(function(){t.pollExpiration_()}),this.allSessionsLoaded_.catch(function(){}),this.destroyer_=new shaka.util.Destroyer(function(){return t.destroyNow_()}),this.srcEquals_=!1,this.manifestInitData_=this.mediaKeysAttached_=null,this.isPreload_=function(){return!1}},shaka.drm.DrmEngine.prototype.destroy=function(){return this.destroyer_.destroy()},shaka.drm.DrmEngine.prototype.destroyNow_=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:return t.eventManager_.release(),t.eventManager_=null,t.allSessionsLoaded_.reject(),t.expirationTimer_.stop(),t.expirationTimer_=null,t.keyStatusTimer_.stop(),t.keyStatusTimer_=null,r.yield(t.closeOpenSessions_(),2);case 2:if(!t.video_){r.jumpTo(3);break}return shaka.util.Platform.isMediaKeysPolyfilled("webkit")||goog.asserts.assert(!t.video_.src&&!t.video_.getElementsByTagName("source").length,"video src must be removed first!"),r.setCatchFinallyBlocks(4),r.yield(t.video_.setMediaKeys(null),6);case 6:r.leaveTryBlock(5);break;case 4:e=r.enterCatchBlock(),shaka.log.debug("DrmEngine.destroyNow_ exception",e);case 5:t.video_=null;case 3:t.currentDrmInfo_=null,t.mediaKeys_=null,t.storedPersistentSessions_=new Map,t.config_=null,t.onError_=function(){},t.playerInterface_=null,t.srcEquals_=!1,t.mediaKeysAttached_=null,r.jumpToEnd()}})},shaka.drm.DrmEngine.prototype.configure=function(e,t){this.config_=e,t&&(this.isPreload_=t),this.expirationTimer_&&this.expirationTimer_.tickEvery(this.config_.updateExpirationTime)},shaka.drm.DrmEngine.prototype.setSrcEquals=function(e){this.srcEquals_=e},shaka.drm.DrmEngine.prototype.initForStorage=function(e,t){return this.initializedForStorage_=!0,this.storedPersistentSessions_=new Map,this.usePersistentLicenses_=t,this.init_(e,!1)},shaka.drm.DrmEngine.prototype.initForPlayback=function(e,t,r){r=void 0===r||r,this.storedPersistentSessions_=new Map,t=$jscomp.makeIterator(t);for(var i=t.next();!i.done;i=t.next())this.storedPersistentSessions_.set(i.value,{initData:null,initDataType:null});for(i=(t=$jscomp.makeIterator(this.config_.persistentSessionsMetadata)).next();!i.done;i=t.next())i=i.value,this.storedPersistentSessions_.set(i.sessionId,{initData:i.initData,initDataType:i.initDataType});return this.usePersistentLicenses_=0<this.storedPersistentSessions_.size,this.init_(e,r)},shaka.drm.DrmEngine.prototype.initForRemoval=function(e,t,r,i,n){var a=new Map;return(i={audioCapabilities:i,videoCapabilities:n,distinctiveIdentifier:"optional",persistentState:"required",sessionTypes:["persistent-license"],label:e}).drmInfos=[{keySystem:e,licenseServerUri:t,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,audioR
1obustness:"",videoRobustness:"",serverCertificate:r,serverCertificateUri:"",initData:null,keyIds:null}],a.set(e,i),this.queryMediaKeys_(a,[])},shaka.drm.DrmEngine.prototype.init_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){if(1==E.nextAddress){for(goog.asserts.assert(T.config_,"DrmEngine configure() must be called before init()!"),shaka.drm.DrmEngine.configureClearKey(T.config_.clearKeys,e),(r=e.some(function(e){return!!e.video&&!!e.video.drmInfos.length||!!e.audio&&!!e.audio.drmInfos.length}))||!t||(i=shaka.util.MapUtils.asMap(T.config_.servers),shaka.drm.DrmEngine.replaceDrmInfo_(e,i)),n=new Set,o=(a=$jscomp.makeIterator(e)).next();!o.done;o=a.next())for(s=o.value,l=T.getVariantDrmInfos_(s),d=(u=$jscomp.makeIterator(l)).next();!d.done;d=u.next())c=d.value,n.add(c);for(m=(p=$jscomp.makeIterator(n)).next();!m.done;m=p.next())f=m.value,shaka.drm.DrmEngine.fillInDrmInfoDefaults_(f,shaka.util.MapUtils.asMap(T.config_.servers),shaka.util.MapUtils.asMap(T.config_.advanced||{}),T.config_.keySystemsMapping);for(g=function(e,t){var r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){var n=(i=i.value)[t]||T.config_.advanced&&T.config_.advanced[i.keySystem]&&T.config_.advanced[i.keySystem][t]||"";if(""==n&&shaka.drm.DrmUtils.isWidevineKeySystem(i.keySystem)&&("audioRobustness"==t?n=[T.config_.defaultAudioRobustnessForWidevine]:"videoRobustness"==t&&(n=[T.config_.defaultVideoRobustnessForWidevine])),"string"==typeof n)r.push(i);else if(Array.isArray(n)){0===n.length&&(n=[""]),n=$jscomp.makeIterator(n);for(var a=n.next();!a.done;a=n.next()){var o={};r.push(Object.assign({},i,(o[t]=a.value,o)))}}}return r},h=new Set,_=(y=$jscomp.makeIterator(e)).next();!_.done;_=y.next())(S=_.value).video&&!h.has(S.video)&&(S.video.drmInfos=g(S.video.drmInfos,"videoRobustness"),S.video.drmInfos=g(S.video.drmInfos,"audioRobustness"),h.add(S.video)),S.audio&&!h.has(S.audio)&&(S.audio.drmInfos=g(S.audio.drmInfos,"videoRobustness"),S.audio.drmInfos=g(S.audio.drmInfos,"audioRobustness"),h.add(S.audio));return h.clear(),E.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(e,T.usePersistentLicenses_,T.srcEquals_,T.config_.preferredKeySystems),2)}return(T.destroyer_.ensureNotDestroyed(),r||Object.keys(T.config_.servers).length)?(v=T.queryMediaKeys_(void 0,e),E.return(r?v:v.catch(function(){}))):(T.initialized_=!0,E.return(Promise.resolve()))})},shaka.drm.DrmEngine.prototype.attachMediaKeys_=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:if(t.video_.mediaKeys)return r.return();if(!t.mediaKeysAttached_){r.jumpTo(2);break}return r.yield(t.mediaKeysAttached_,3);case 3:return t.destroyer_.ensureNotDestroyed(),r.return();case 2:return r.setCatchFinallyBlocks(4),t.mediaKeysAttached_=t.video_.setMediaKeys(t.mediaKeys_),r.yield(t.mediaKeysAttached_,6);case 6:r.leaveTryBlock(5);break;case 4:e=r.enterCatchBlock(),goog.asserts.assert(e instanceof Error,"Wrong error type!"),t.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_ATTACH_TO_VIDEO,e.message));case 5:t.destroyer_.ensureNotDestroyed(),r.jumpToEnd()}})},shaka.drm.DrmEngine.prototype.onEncryptedEvent_=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return r.yield(t.attachMediaKeys_(),2);t.newInitData(e.initDataType,shaka.util.BufferUtils.toUint8(e.initData)),r.jumpToEnd()})},shaka.drm.DrmEngine.prototype.attach=function(e){var t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return i.video_===e?n.return():i.mediaKeys_?(i.video_=e,i.eventManager_.listenOnce(i.video_,"play",function(){return i.onPlay_()}),i.video_.remote?(i.eventManager_.listen(i.video_.remote,"connect",function(){return i.closeOpenSessions_()}),i.eventManager_.listen(i.video_.remote,"connecting",function(){return i.closeOpenSessions_()}),i.eventManager_.listen(i.video_.remote,"disconnect",function(){return i.closeOpenSessions_()})):"webkitCurrentPlaybackTargetIsWireless"in i.video_&&i.eventManager_.listen(i.video_,"webkitcurrentplaybacktargetiswirelesschanged",function(){return i.closeOpenSessions_()}),i.manifestInitData_=i.currentDrmInfo_&&i.currentDrmInfo_.initData.find(function(e){return 0<e.initData.length})||null,(r=(t=i.currentDrmInfo_.keySystem).startsWith("com.microsoft.playready.recommendation")||"com.apple.fps"==t)||!(i.manifestInitData_||i.storedPersistentSessions_.size||i.config_.parseInbandPsshEnabled)?(i.eventManager_.listen(i.video_,"encrypted",function(e){return i.onEncryptedEvent_(e)}),n.jumpTo(2)):n.yield(i.attachMediaKeys_(),2)):(i.eventManager_.listenOnce(e,"encrypted",function(e){i.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.ENCRYPTED_CONTENT_WITHOUT_DRM_INFO))}),n.return());i.createOrLoad().catch(function(){}),n.jumpToEnd()})},shaka.drm.DrmEngine.prototype.hasManifestInitData=function(){return!!this.manifestInitData_},shaka.drm.DrmEngine.prototype.setServerCertificate=function(){var e,t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){switch(s.nextAddress){case 1:if(goog.asserts.assert(o.initialized_,"Must call init() before setServerCertificate"),!o.mediaKeys_||!o.currentDrmInfo_)return s.return();if(!o.currentDrmInfo_.serverCertificateUri||o.currentDrmInfo_.serverCertificate&&o.currentDrmInfo_.serverCertificate.length){s.jumpTo(2);break}
1return e=shaka.net.NetworkingEngine.makeRequest([o.currentDrmInfo_.serverCertificateUri],o.config_.retryParameters),s.setCatchFinallyBlocks(3),t=o.playerInterface_.netEngine.request(shaka.net.NetworkingEngine.RequestType.SERVER_CERTIFICATE,e,{isPreload:o.isPreload_()}),s.yield(t.promise,5);case 5:r=s.yieldResult,o.currentDrmInfo_.serverCertificate=shaka.util.BufferUtils.toUint8(r.data),s.leaveTryBlock(4);break;case 3:throw i=s.enterCatchBlock(),goog.asserts.assert(i instanceof shaka.util.Error,"Wrong NetworkingEngine error type!"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.SERVER_CERTIFICATE_REQUEST_FAILED,i);case 4:if(o.destroyer_.destroyed())return s.return();case 2:if(!o.currentDrmInfo_.serverCertificate||!o.currentDrmInfo_.serverCertificate.length)return s.return();return s.setCatchFinallyBlocks(6),s.yield(o.mediaKeys_.setServerCertificate(o.currentDrmInfo_.serverCertificate),8);case 8:(n=s.yieldResult)||shaka.log.warning("Server certificates are not supported by the key system.  The server certificate has been ignored."),s.leaveTryBlock(0);break;case 6:throw a=s.enterCatchBlock(),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.INVALID_SERVER_CERTIFICATE,a.message)}})},shaka.drm.DrmEngine.prototype.removeSession=function(e){var t,r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?(goog.asserts.assert(n.mediaKeys_,"Must call init() before removeSession"),a.yield(n.loadOfflineSession_(e,{initData:null,initDataType:null}),2)):3!=a.nextAddress?(t=a.yieldResult)?(r=[],(i=n.activeSessions_.get(t))&&(i.updatePromise=new shaka.util.PublicPromise,r.push(i.updatePromise)),shaka.log.v2("Attempting to remove session",e),r.push(t.remove()),a.yield(Promise.all(r),3)):(shaka.log.v2("Ignoring attempt to remove missing session",e),a.return()):void(n.activeSessions_.delete(t),a.jumpToEnd())})},shaka.drm.DrmEngine.prototype.createOrLoad=function(){var e,t,r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){if(1==a.nextAddress)return n.storedPersistentSessions_.size?(n.storedPersistentSessions_.forEach(function(e,t){n.loadOfflineSession_(t,e)}),a.yield(n.allSessionsLoaded_,3)):a.jumpTo(2);if(2!=a.nextAddress){if(0<(n.currentDrmInfo_&&n.currentDrmInfo_.keyIds||new Set([])).size&&n.areAllKeysUsable_())return a.return(n.allSessionsLoaded_);n.hasInitData_=!1,n.allSessionsLoaded_=new shaka.util.PublicPromise,n.allSessionsLoaded_.catch(function(){})}for(e=(n.currentDrmInfo_?n.currentDrmInfo_.initData:[])||[],r=(t=$jscomp.makeIterator(e)).next();!r.done;r=t.next())i=r.value,n.newInitData(i.initDataType,i.initData);return n.areAllSessionsLoaded_()&&n.allSessionsLoaded_.resolve(),a.return(n.allSessionsLoaded_)})},shaka.drm.DrmEngine.prototype.newInitData=function(e,t){if(t.length){if(this.config_.ignoreDuplicateInitData){var r=this.activeSessions_.values();r=$jscomp.makeIterator(r);for(var i=r.next();!i.done;i=r.next())if(shaka.util.BufferUtils.equal(t,i.value.initData))return void shaka.log.debug("Ignoring duplicate init data.");var n=!1;if(this.storedPersistentSessions_.forEach(function(e,r){!n&&shaka.util.BufferUtils.equal(t,e.initData)&&(n=!0)}),n)return void shaka.log.debug("Ignoring duplicate init data.")}this.hasInitData_=!0,0<this.activeSessions_.size&&this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),this.hasInitData_=!1,this.allSessionsLoaded_=new shaka.util.PublicPromise,this.allSessionsLoaded_.catch(function(){})),this.createSession(e,t,this.currentDrmInfo_.sessionType)}},shaka.drm.DrmEngine.prototype.initialized=function(){return this.initialized_},shaka.drm.DrmEngine.prototype.getSessionIds=function(){var e=this.activeSessions_.keys();return Array.from(e=shaka.util.Iterables.map(e,function(e){return e.sessionId}))},shaka.drm.DrmEngine.prototype.getActiveSessionsMetadata=function(){var e=this,t=this.activeSessions_.keys();return Array.from(t=shaka.util.Iterables.map(t,function(t){var r=e.activeSessions_.get(t);return{sessionId:t.sessionId,sessionType:r.type,initData:r.initData,initDataType:r.initDataType}}))},shaka.drm.DrmEngine.prototype.getExpiration=function(){var e=1/0,t=this.activeSessions_.keys();t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next())isNaN((r=r.value).expiration)||(e=Math.min(e,r.expiration));return e},shaka.drm.DrmEngine.prototype.getLicenseTime=function(){return this.licenseTimeSeconds_?this.licenseTimeSeconds_:NaN},shaka.drm.DrmEngine.prototype.getDrmInfo=function(){return this.currentDrmInfo_},shaka.drm.DrmEngine.prototype.getMediaKeys=function(){return this.mediaKeys_},shaka.drm.DrmEngine.prototype.getKeyStatuses=function(){return shaka.util.MapUtils.asObject(this.announcedKeyStatusByKeyId_)},shaka.drm.DrmEngine.prototype.queryMediaKeys_=function(e,t){var r,i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:if(r=new Map,t.length){i=d.getKeySystemAccessFromVariants_(t,r),c.jumpTo(2);break}return c.yield(d.getKeySystemAccessByConfigs_(e),3);case 3:i=c.yieldResult;case 2:if(!(n=i)){if(!navigator.requestMediaKeySystemAccess)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.MISSING_EME_SUPPORT);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.REQUESTED_
1KEY_SYSTEM_CONFIG_UNAVAILABLE)}if(d.destroyer_.ensureNotDestroyed(),c.setCatchFinallyBlocks(4),a=n.getConfiguration(),shaka.log.v2("Got MediaKeySystemAccess with configuration",a),o=d.config_.keySystemsMapping[n.keySystem]||n.keySystem,d.currentDrmInfo_=t.length?d.createDrmInfoByInfos_(o,r.get(o)):shaka.drm.DrmEngine.createDrmInfoByConfigs_(o,e.get(o)),!d.currentDrmInfo_.licenseServerUri)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_LICENSE_SERVER_GIVEN,d.currentDrmInfo_.keySystem);return c.yield(n.createMediaKeys(),6);case 6:if(s=c.yieldResult,d.destroyer_.ensureNotDestroyed(),shaka.log.info("Created MediaKeys object for key system",d.currentDrmInfo_.keySystem),d.mediaKeys_=s,!(""!=d.config_.minHdcpVersion&&"getStatusForPolicy"in d.mediaKeys_)){c.jumpTo(7);break}return c.setCatchFinallyBlocks(8),c.yield(d.mediaKeys_.getStatusForPolicy({minHdcpVersion:d.config_.minHdcpVersion}),10);case 10:if("usable"!=c.yieldResult)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.MIN_HDCP_VERSION_NOT_MATCH);d.destroyer_.ensureNotDestroyed(),c.leaveTryBlock(7,4);break;case 8:if((l=c.enterCatchBlock(4))instanceof shaka.util.Error)throw l;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.ERROR_CHECKING_HDCP_VERSION,l.message);case 7:return d.initialized_=!0,c.yield(d.setServerCertificate(),11);case 11:d.destroyer_.ensureNotDestroyed(),c.leaveTryBlock(0);break;case 4:if(u=c.enterCatchBlock(),d.destroyer_.ensureNotDestroyed(u),d.currentDrmInfo_=null,u instanceof shaka.util.Error)throw u;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_CREATE_CDM,u.message)}})},shaka.drm.DrmEngine.prototype.getKeySystemAccessFromVariants_=function(e,t){for(var r=$jscomp.makeIterator(e),i=r.next();!i.done;i=r.next()){i=this.getVariantDrmInfos_(i.value),i=$jscomp.makeIterator(i);for(var n=i.next();!n.done;n=i.next())n=n.value,t.has(n.keySystem)||t.set(n.keySystem,[]),t.get(n.keySystem).push(n)}if(1==t.size&&t.has(""))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_RECOGNIZED_KEY_SYSTEMS);(r=this.config_.preferredKeySystems).length||1==(i=shaka.util.MapUtils.asMap(this.config_.servers)).size&&(r=Array.from(i.keys()));var a=(i=$jscomp.makeIterator(r)).next();for(n={};!a.done;n={preferredKeySystem$jscomp$1:void 0},a=i.next()){n.preferredKeySystem$jscomp$1=a.value,a=$jscomp.makeIterator(e);for(var o=a.next();!o.done;o=a.next())if(o=o.value.decodingInfos.find(function(e){return function(t){return t.supported&&null!=t.keySystemAccess&&t.keySystemAccess.keySystem==e.preferredKeySystem$jscomp$1}}(n)))return o.keySystemAccess}for(n=(i=$jscomp.makeIterator([!0,!1])).next();!n.done;n=i.next())for(n=n.value,o=(a=$jscomp.makeIterator(e)).next();!o.done;o=a.next()){o=$jscomp.makeIterator(o.value.decodingInfos);for(var s=o.next();!s.done;s=o.next())if((s=s.value).supported&&s.keySystemAccess){var l=s.keySystemAccess.keySystem;if(!r.includes(l)){var u=t.get(l);for(!u&&this.config_.keySystemsMapping[l]&&(u=t.get(this.config_.keySystemsMapping[l])),u=(l=$jscomp.makeIterator(u)).next();!u.done;u=l.next())if(!!u.value.licenseServerUri==n)return s.keySystemAccess}}}return null},shaka.drm.DrmEngine.prototype.getKeySystemAccessByConfigs_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:if(1==e.size&&e.has(""))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.NO_RECOGNIZED_KEY_SYSTEMS);for(i=(r=$jscomp.makeIterator(e.values())).next();!i.done;i=r.next())0==(n=i.value).audioCapabilities.length&&delete n.audioCapabilities,0==n.videoCapabilities.length&&delete n.videoCapabilities;o=(a=$jscomp.makeIterator(_.config_.preferredKeySystems)).next();case 2:if(o.done){S.jumpTo(4);break}if(s=o.value,!e.has(s)){S.jumpTo(3);break}return l=e.get(s),S.setCatchFinallyBlocks(6),S.yield(navigator.requestMediaKeySystemAccess(s,[l]),8);case 8:return t=S.yieldResult,S.return(t);case 6:u=S.enterCatchBlock(),shaka.log.v2("Requesting",s,"failed with config",l,u);case 7:_.destroyer_.ensureNotDestroyed();case 3:o=a.next(),S.jumpTo(2);break;
1case 4:c=(d=$jscomp.makeIterator([!0,!1])).next();case 9:if(c.done){S.jumpTo(11);break}p=c.value,f=(m=$jscomp.makeIterator(e.keys())).next();case 12:if(f.done){c=d.next(),S.jumpTo(9);break}if(g=f.value,(h=e.get(g)).drmInfos.some(function(e){return!!e.licenseServerUri})!=p){S.jumpTo(13);break}return S.setCatchFinallyBlocks(15),S.yield(navigator.requestMediaKeySystemAccess(g,[h]),17);case 17:return t=S.yieldResult,S.return(t);case 15:y=S.enterCatchBlock(),shaka.log.v2("Requesting",g,"failed with config",h,y);case 16:_.destroyer_.ensureNotDestroyed();case 13:f=m.next(),S.jumpTo(12);break;case 11:return S.return(t)}})},shaka.drm.DrmEngine.prototype.checkSessionsLoaded_=function(){this.areAllSessionsLoaded_()&&this.allSessionsLoaded_.resolve()},shaka.drm.DrmEngine.prototype.setLoadSessionTimeoutTimer_=function(e){var t=this;new shaka.util.Timer(function(){e.loaded=!0,t.checkSessionsLoaded_()}).tickAfter(shaka.drm.DrmEngine.SESSION_LOAD_TIMEOUT_)},shaka.drm.DrmEngine.prototype.loadOfflineSession_=function(e,t){var r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:try{shaka.log.v1("Attempting to load an offline session",e),r=u.mediaKeys_.createSession("persistent-license")}catch(e){return i=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_CREATE_SESSION,e.message),u.onError_(i),d.return(Promise.reject(i))}return u.eventManager_.listen(r,"message",function(e){return u.onSessionMessage_(e)}),u.eventManager_.listen(r,"keystatuseschange",function(e){return u.onKeyStatusesChange_(e)}),n={initData:t.initData,initDataType:t.initDataType,loaded:!1,oldExpiration:1/0,updatePromise:null,type:"persistent-license"},u.activeSessions_.set(r,n),d.setCatchFinallyBlocks(2),d.yield(r.load(e),4);case 4:return a=d.yieldResult,u.destroyer_.ensureNotDestroyed(),shaka.log.v2("Loaded offline session",e,a),a||(u.activeSessions_.delete(r),o=u.config_.persistentSessionOnlinePlayback?shaka.util.Error.Severity.RECOVERABLE:shaka.util.Error.Severity.CRITICAL,u.onError_(new shaka.util.Error(o,shaka.util.Error.Category.DRM,shaka.util.Error.Code.OFFLINE_SESSION_REMOVED)),n.loaded=!0),u.setLoadSessionTimeoutTimer_(n),u.checkSessionsLoaded_(),d.return(r);case 2:s=d.enterCatchBlock(),u.destroyer_.ensureNotDestroyed(s),u.activeSessions_.delete(r),l=u.config_.persistentSessionOnlinePlayback?shaka.util.Error.Severity.RECOVERABLE:shaka.util.Error.Severity.CRITICAL,u.onError_(new shaka.util.Error(l,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_CREATE_SESSION,s.message)),n.loaded=!0,u.checkSessionsLoaded_();case 3:return d.return(Promise.resolve())}})},shaka.drm.DrmEngine.prototype.createSession=function(e,t,r){var i=this;goog.asserts.assert(this.mediaKeys_,"mediaKeys_ should be valid when creating temporary session.");try{shaka.log.info("Creating new",r,"session");var n=this.mediaKeys_.createSession(r)}catch(e){this.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_CREATE_SESSION,e.message));return}this.eventManager_.listen(n,"message",function(e){return i.onSessionMessage_(e)}),this.eventManager_.listen(n,"keystatuseschange",function(e){return i.onKeyStatusesChange_(e)}),this.activeSessions_.set(n,{initData:t,initDataType:e,loaded:!1,oldExpiration:1/0,updatePromise:null,type:r});try{t=this.config_.initDataTransform(t,e,this.currentDrmInfo_)}catch(t){e=t,t instanceof shaka.util.Error||(e=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.INIT_DATA_TRANSFORM_ERROR,t)),this.onError_(e);return}this.config_.logLicenseExchange&&(r=shaka.util.Uint8ArrayUtils.toBase64(t),shaka.log.info("EME init data: type=",e,"data=",r)),n.generateRequest(e,t).catch(function(e){if(!i.destroyer_.destroyed()){goog.asserts.assert(e instanceof Error,"Wrong error type!"),i.activeSessions_.delete(n);var t=e.errorCode;if(t&&t.systemCode){var r=t.systemCode;0>r&&(r+=0x100000000),r="0x"+r.toString(16)}i.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_GENERATE_LICENSE_REQUEST,e.message,e,r))}})},shaka.drm.DrmEngine.prototype.onSessionMessage_=function(e){this.delayLicenseRequest_()?this.mediaKeyMessageEvents_.pu
1sh(e):this.sendLicenseRequest_(e)},shaka.drm.DrmEngine.prototype.delayLicenseRequest_=function(){return!!this.video_&&this.config_.delayLicenseRequestUntilPlayed&&this.video_.paused&&!this.initialRequestsSent_},shaka.drm.DrmEngine.prototype.waitForActiveRequests=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?e.hasInitData_?t.yield(e.allSessionsLoaded_,3):t.jumpTo(0):t.yield(Promise.all(e.activeRequests_.map(function(e){return e.promise})),0)})},shaka.drm.DrmEngine.prototype.sendLicenseRequest_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:if(t=e.target,shaka.log.v1("Sending license request for session",t.sessionId,"of type",e.messageType),_.config_.logLicenseExchange&&(r=shaka.util.Uint8ArrayUtils.toBase64(e.message),shaka.log.info("EME license request",r)),i=_.activeSessions_.get(t),n=_.currentDrmInfo_.licenseServerUri,a=_.config_.advanced[_.currentDrmInfo_.keySystem],"individualization-request"==e.messageType&&a&&a.individualizationServer&&(n=a.individualizationServer),o=shaka.net.NetworkingEngine.RequestType.LICENSE,(s=shaka.net.NetworkingEngine.makeRequest([n],_.config_.retryParameters)).body=e.message,s.method="POST",s.licenseRequestType=e.messageType,s.sessionId=t.sessionId,s.drmInfo=_.currentDrmInfo_,i&&(s.initData=i.initData,s.initDataType=i.initDataType),a&&a.headers)for(l in a.headers)s.headers[l]=a.headers[l];return shaka.drm.DrmUtils.isClearKeySystem(_.currentDrmInfo_.keySystem)&&_.fixClearKeyRequest_(s,_.currentDrmInfo_),shaka.drm.DrmUtils.isPlayReadyKeySystem(_.currentDrmInfo_.keySystem)&&_.unpackPlayReadyRequest_(s),u=Date.now(),S.setCatchFinallyBlocks(2),c=_.playerInterface_.netEngine.request(o,s,{isPreload:_.isPreload_()}),_.activeRequests_.push(c),S.yield(c.promise,4);case 4:d=S.yieldResult,shaka.util.ArrayUtils.remove(_.activeRequests_,c),S.leaveTryBlock(3);break;case 2:if(p=S.enterCatchBlock(),_.destroyer_.destroyed())return S.return();return goog.asserts.assert(p instanceof shaka.util.Error,"Wrong NetworkingEngine error type!"),m=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.LICENSE_REQUEST_FAILED,p),1==_.activeSessions_.size?(_.onError_(m),i&&i.updatePromise&&i.updatePromise.reject(m)):(i&&i.updatePromise&&i.updatePromise.reject(m),_.activeSessions_.delete(t),_.areAllSessionsLoaded_()&&(_.allSessionsLoaded_.resolve(),_.keyStatusTimer_.tickAfter(.1))),S.return();case 3:if(_.destroyer_.destroyed())return S.return();return _.licenseTimeSeconds_+=(Date.now()-u)/1e3,_.config_.logLicenseExchange&&(f=shaka.util.Uint8ArrayUtils.toBase64(d.data),shaka.log.info("EME license response",f)),S.setCatchFinallyBlocks(5),shaka.log.v1("Updating session",t.sessionId),S.yield(t.update(d.data),7);case 7:S.leaveTryBlock(6);break;case 5:return g=S.enterCatchBlock(),h=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.LICENSE_RESPONSE_REJECTED,g.message),_.onError_(h),i&&i.updatePromise&&i.updatePromise.reject(h),S.return();case 6:if(_.destroyer_.destroyed())return S.return();y=new shaka.util.FakeEvent("drmsessionupdate"),_.playerInterface_.onEvent(y),i&&(i.updatePromise&&i.updatePromise.resolve(),_.setLoadSessionTimeoutTimer_(i)),S.jumpToEnd()}})},shaka.drm.DrmEngine.prototype.unpackPlayReadyRequest_=function(e){var t=shaka.util.TXml,r=shaka.util.StringUtils.fromUTF16(e.body,!0,!0);if(r.includes("PlayReadyKeyMessage")){shaka.log.debug("Unwrapping PlayReady request."),r=t.parseXmlString(r,"PlayReadyKeyMessage"),goog.asserts.assert(r,"Failed to parse PlayReady XML!");var i=t.getElementsByTagName(r,"HttpHeader");i=$jscomp.makeIterator(i);for(var n=i.next();!n.done;n=i.next()){var a=n.value;n=t.getElementsByTagName(a,"name")[0],a=t.getElementsByTagName(a,"value")[0],goog.asserts.assert(n&&a,"Malformed PlayReady headers!"),e.headers[shaka.util.TXml.getTextContents(n)]=shaka.util.TXml.getTextContents(a)}t=t.getElementsByTagName(r,"Challenge")[0],goog.asserts.assert(t,"Malformed PlayReady challenge!"),goog.asserts.assert("base64encoded"==t.attributes.encoding,"Unexpected PlayReady challenge encoding!"),e.body=shaka.util.Uint8ArrayUtils.fromBase64(shaka.util.TXml.getTextContents(t))}else shaka.log.debug("PlayReady request is already unwrapped."),e.headers["Content-Type"]="text/xml; charset=utf-8"},shaka.drm.DrmEngine.prototype.fixClearKeyRequest_=function(e,t){try{var r=shaka.util.StringUtils.fromBytesAutoDetect(e.body);if(r){var i=JSON.parse(r);i.type||(i.type=t.sessionType,e.body=shaka.util.StringUtils.toUTF8(JSON.stringify(i)))}}catch(e){shaka.log.info("Error unpacking ClearKey license",e)}},shaka.drm.DrmEngine.prototype.onKeyStatusesChange_=function(e){var t=this;e=e.target,shaka.log.v2("Key status changed for session",e.sessionId);var r=this.activeSessions_.get(e),i=!1;
1e.keyStatuses.forEach(function(e,n){if("string"==typeof n){var a=n;n=e,e=a}if(shaka.drm.DrmUtils.isPlayReadyKeySystem(t.currentDrmInfo_.keySystem)&&16==n.byteLength&&(shaka.util.Platform.isEdge()||shaka.util.Platform.isPS4()||shaka.util.Platform.isSonyTV())){var o=(a=shaka.util.BufferUtils.toDataView(n)).getUint32(0,!0),s=a.getUint16(4,!0),l=a.getUint16(6,!0);a.setUint32(0,o,!1),a.setUint16(4,s,!1),a.setUint16(6,l,!1)}"status-pending"!=e&&(r.loaded=!0),r||goog.asserts.assert("usable"!=e,"Usable keys found in closed session"),"expired"==e&&(i=!0),n=shaka.util.Uint8ArrayUtils.toHex(n).slice(0,32),t.keyStatusByKeyId_.set(n,e)});var n=e.expiration-Date.now();(0>n||i&&1e3>n)&&r&&!r.updatePromise&&(shaka.log.debug("Session has expired",e.sessionId),this.activeSessions_.delete(e),this.closeSession_(e)),this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),this.keyStatusTimer_.tickAfter(shaka.drm.DrmEngine.KEY_STATUS_BATCH_TIME))},shaka.drm.DrmEngine.prototype.processKeyStatusChanges_=function(){var e=this.keyStatusByKeyId_,t=this.announcedKeyStatusByKeyId_;t.clear(),e.forEach(function(e,r){return t.set(r,e)}),(e=Array.from(t.values())).length&&e.every(function(e){return"expired"==e})&&this.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.EXPIRED)),this.playerInterface_.onKeyStatus(shaka.util.MapUtils.asObject(t))},shaka.drm.DrmEngine.probeSupport=function(){var e,t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress){if(e="org.w3.clearkey com.widevine.alpha com.widevine.alpha.experiment com.microsoft.playready com.microsoft.playready.hardware com.microsoft.playready.recommendation com.microsoft.playready.recommendation.3000 com.microsoft.playready.recommendation.3000.clearlead com.chromecast.playready com.apple.fps.1_0 com.apple.fps com.huawei.wiseplay".split(" "),!shaka.drm.DrmUtils.isBrowserSupported()){for(t={},i=(r=$jscomp.makeIterator(e)).next();!i.done;i=r.next())t[i.value]=null;return k.return(t)}for(n="1.0 1.1 1.2 1.3 1.4 2.0 2.1 2.2 2.3".split(" "),o={"com.widevine.alpha":a=["SW_SECURE_CRYPTO","SW_SECURE_DECODE","HW_SECURE_CRYPTO","HW_SECURE_DECODE","HW_SECURE_ALL"],"com.widevine.alpha.experiment":a,"com.microsoft.playready.recommendation":["150","2000","3000"]},u={videoCapabilities:s=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}],audioCapabilities:l=[{contentType:'audio/mp4; codecs="mp4a.40.2"'},{contentType:'audio/webm; codecs="opus"'}],initDataTypes:["cenc","sinf","skd","keyids"]},d=[null,"cenc","cbcs","cbcs-1-9"],c=new Map,p=function(e,t){var r,i,a,o,s,l,u,d,p,m,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:if(y.setCatchFinallyBlocks(2),goog.DEBUG&&shaka.util.Platform.isWindows()&&shaka.util.Platform.isFirefox()&&shaka.debug.RunningInLab)throw Error("Suppressing Firefox Windows DRM in testing!");return y.yield(t.createMediaKeys(),5);case 5:r=y.yieldResult;case 4:y.leaveTryBlock(3);break;case 2:return y.enterCatchBlock(),y.return();case 3:if(a=!!(i=t.getConfiguration().sessionTypes)&&i.includes("persistent-license"),shaka.util.Platform.isTizen3()&&(a=!1),o=t.getConfiguration().videoCapabilities,s=t.getConfiguration().audioCapabilities,l={persistentState:a,encryptionSchemes:[],videoRobustnessLevels:[],audioRobustnessLevels:[],minHdcpVersions:[]},c.has(e)&&c.get(e)?l=c.get(e):c.set(e,l),(u=o[0].encryptionScheme)&&!l.encryptionSchemes.includes(u)&&l.encryptionSchemes.push(u),(d=o[0].robustness)&&!l.videoRobustnessLevels.includes(d)&&l.videoRobustnessLevels.push(d),(p=s[0].robustness)&&!l.audioRobustnessLevels.includes(p)&&l.audioRobustnessLevels.push(p),"getStatusForPolicy"in r){for(m=[],g=(f=$jscomp.makeIterator(n)).next(),h={};!g.done;h={hdcpVersion:void 0},g=f.next())h.hdcpVersion=g.value,l.minHdcpVersions.includes(h.hdcpVersion)||m.push(r.getStatusForPolicy({minHdcpVersion:h.hdcpVersion}).then(function(e){return function(t){"usable"!=t||l.minHdcpVersions.includes(e.hdcpVersion)||l.minHdcpVersions.push(e.hdcpVersion)}}(h)));return y.yield(Promise.all(m),0)}y.jumpTo(0)}})},m=function(e,t,r,i){var n,a,o,s,l,d,c,m,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:for(h.setCatchFinallyBlocks(2),n=shaka.util.ObjectUtils.cloneObject(u),o=(a=$jscomp.makeIterator(n.videoCapabilities)).next();!o.done;o=a.next())(s=o.value).encryptionScheme=t,s.robustness=r;for(d=(l=$jscomp.makeIterator(n.audioCapabilities)).next();!d.done;d=l.next())(c=d.value).encryptionScheme=t,c.robustness=i;return(m=shaka.util.ObjectUtils.cloneObject(n)).persistentState="required",m.sessionTypes=["persistent-license"],f=[m,n],shaka.util.Platform.isAndroid()?h.yield(shaka.util.Functional.promiseWithTimeout(5,navigator.requestMediaKeySystemAccess(e,f)),7):h.yield(navigator.requestMediaKeySystemAccess(e,f),6);case 6:g=h.yieldResult,h.jumpTo(5);break;case 7:g=h.yieldResult;case 5:return h.yield(p(e,g),8);case 8:h.leaveTryBlock(0);break;case 2:h.enterCatchBlock(),h.jumpToEnd()}})},f=function(e,t,r,i){var n,a,o,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),n={type:"media-source",video:{contentType:s[0].contentType,width:640,height:480,bitrate:1,framerate:1},audio:{contentType:l[0].contentType,channels:2,bitrate:1,samplerate:1},keySystemConfiguration:{keySystem:e,video:{encryptionScheme:t,robustness:r},audio:{encryptionScheme:t,robustness:i}}},shaka.util.Platform.isAndroid()?d.yield(shaka.util.Functional.promiseWithTimeout(5,navigator.mediaCapabilities.decodingInfo(n)),7):d.yield(navigator.mediaCapabilities.decodingInfo(n),6);case 6:a=d.yieldResult,d.jumpTo(5);break;case 7:a=d.yieldResult;case 5:return o=a.keySystemAccess,d.yield(p(e,o),8);case 8:d.leaveTryBlock(0);break;case 2:u=d.enterCatchBlock(),shaka.log.v2("Failed to probe support for",e,u),d.jumpToEnd()}})},h=(g=$jscomp.makeIterator(e)).next();!h.done;h=g.next())y=h.value,c.set(y,null);for(_=function(e){return!(shaka.drm.DrmUtils.isClearKeySystem(e)&&shaka.util.Platform.isApple())},S=[],T=(v=$jscomp.makeIterator(d)).next();!T.done;T=v.next())for(E=T.value,x=(P=$jscomp.makeIterator(e)).next();!x.done;x=P.next())_(A=x.value)&&(S.push(m(A,E,"","")),S.push(f(A,E,"","")));for(M=(C=$jscomp.makeIterator(e)).next();!M.done;M=C.next())for(I=M.value,D=(b=$jscomp.makeIterator(o[I]||[])).next();!D.done;D=b.next())R=D.value,_(I)&&(S.push(m(I,null,R,"")),S.push(m(I,null,"",R)),S.push(f(I,null,R,"")),S.push(f(I,null,"",R)));return k.yield(Promise.all(S),2)}return k.return(shaka.util.MapUtils.asObject(c))})}
1,shaka.drm.DrmEngine.prototype.onPlay_=function(){for(var e=$jscomp.makeIterator(this.mediaKeyMessageEvents_),t=e.next();!t.done;t=e.next())this.sendLicenseRequest_(t.value);this.initialRequestsSent_=!0,this.mediaKeyMessageEvents_=[]},shaka.drm.DrmEngine.prototype.closeSession_=function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?(t.setCatchFinallyBlocks(2),t.yield(shaka.util.Functional.promiseWithTimeout(shaka.drm.DrmEngine.CLOSE_TIMEOUT_,Promise.all([e.close().catch(function(){}),e.closed])),4)):2!=t.nextAddress?t.leaveTryBlock(0):void(t.enterCatchBlock(),shaka.log.warning("Timeout waiting for session close"),t.jumpToEnd())})},shaka.drm.DrmEngine.prototype.closeOpenSessions_=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return e=Array.from(t.activeSessions_.entries()),t.activeSessions_.clear(),r.yield(Promise.all(e.map(function(e){var r,i=(e=$jscomp.makeIterator(e)).next().value,n=e.next().value;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return 1==e.nextAddress?(e.setCatchFinallyBlocks(2),t.initializedForStorage_||t.storedPersistentSessions_.has(i.sessionId)||"persistent-license"!==n.type||t.config_.persistentSessionOnlinePlayback)?(shaka.log.v1("Closing session",i.sessionId,n),e.yield(t.closeSession_(i),5)):(shaka.log.v1("Removing session",i.sessionId),e.yield(i.remove(),5)):2!=e.nextAddress?e.leaveTryBlock(0):void(r=e.enterCatchBlock(),shaka.log.error("Failed to close or remove the session",r),e.jumpToEnd())})})),0)})},shaka.drm.DrmEngine.prototype.getVariantDrmInfos_=function(e){return(e.video?e.video.drmInfos:[]).concat(e.audio?e.audio.drmInfos:[])},shaka.drm.DrmEngine.prototype.pollExpiration_=function(){var e=this;this.activeSessions_.forEach(function(t,r){var i=t.oldExpiration,n=r.expiration;isNaN(n)&&(n=1/0),n!=i&&(e.playerInterface_.onExpirationUpdated(r.sessionId,n),t.oldExpiration=n)})},shaka.drm.DrmEngine.prototype.areAllSessionsLoaded_=function(){var e=this.activeSessions_.values();return shaka.util.Iterables.every(e,function(e){return e.loaded})},shaka.drm.DrmEngine.prototype.areAllKeysUsable_=function(){var e=this.currentDrmInfo_&&this.currentDrmInfo_.keyIds||new Set([]);e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())if("usable"!==this.keyStatusByKeyId_.get(t.value))return!1;return!0},shaka.drm.DrmEngine.replaceDrmInfo_=function(e,t){var r=[];for(t.forEach(function(e,t){r.push({keySystem:t,licenseServerUri:e,distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,serverCertificateUri:"",initData:[],keyIds:new Set})}),t=(e=$jscomp.makeIterator(e)).next();!t.done;t=e.next())(t=t.value).video&&(t.video.drmInfos=r),t.audio&&(t.audio.drmInfos=r)},shaka.drm.DrmEngine.prototype.createDrmInfoByInfos_=function(e,t){var r=[],i=[],n=[],a=[],o=[],s=new Set,l=new Set;shaka.drm.DrmEngine.processDrmInfos_(t,r,i,a,n,o,s,l),1<r.length&&shaka.log.warning("Multiple unique encryption schemes found! Only the first will be used."),1<a.length&&shaka.log.warning("Multiple unique server certificates found! Only the first will be used."),1<i.length&&shaka.log.warning("Multiple unique license server URIs found! Only the first will be used."),1<n.length&&shaka.log.warning("Multiple unique server certificate URIs found! Only the first will be used.");var u=this.usePersistentLicenses_?"persistent-license":"temporary";for(e={keySystem:e,encryptionScheme:r[0],licenseServerUri:i[0],distinctiveIdentifierRequired:t[0].distinctiveIdentifierRequired,persistentStateRequired:t[0].persistentStateRequired,sessionType:t[0].sessionType||u,audioRobustness:t[0].audioRobustness||"",videoRobustness:t[0].videoRobustness||"",serverCertificate:a[0],serverCertificateUri:n[0],initData:o,keyIds:s},0<l.size&&(e.keySystemUris=l),l=(t=$jscomp.makeIterator(t)).next();!l.done;l=t.next())(l=l.value).distinctiveIdentifierRequired&&(e.distinctiveIdentifierRequired=l.distinctiveIdentifierRequired),l.persistentStateRequired&&(e.persistentStateRequired=l.persistentStateRequired);return e},shaka.drm.DrmEngine.createDrmInfoByConfigs_=function(e,t){var r=[],i=[],n=[],a=[],o=[],s=new Set;return shaka.drm.DrmEngine.processDrmInfos_(t.drmInfos,r,i,a,n,o,s),1<r.length&&shaka.log.warning("Multiple unique encryption schemes found! Only the first will be used."),1<a.length&&shaka.log.warning("Multiple unique server certificates found! Only the first will be used."),1<n.length&&shaka.log.warning("Multiple unique server certificate URIs found! Only the first will be used."),1<i.length&&shaka.log.warning("Multiple unique license server URIs found! Only the first will be used."),{keySystem:e,encryptionScheme:r[0],licenseServerUri:i[0],distinctiveIdentifierRequired:"required"==t.distinctiveIdentifier,persistentStateRequired:"required"==t.persistentState,sessionType:t.sessionTypes[0]||"temporary",audioRobustness:(t.audioCapabilities?t.audioCapabilities[0].robustness:"")||"",videoRobustness:(t.videoCapabilities?t.videoCapabilities[0].robustness:"")||"",serverCertificate:a[0],serverCertificateUri:n[0],initData:o,keyIds:s}},shaka.drm.DrmEngine.processDrmInfos_=function(e,t,r,i,n,a,o,s){var l=[];e=$jscomp.makeIterator(e);for(var u=e.next(),d={};!u.done;d={drmInfo$jscomp$6:void 0},u=e.next()){if(d.drmInfo$jscomp$6=u.value,t.includes(d.drmInfo$jscomp$6.encryptionScheme)||t.push(d.drmInfo$jscomp$6.encryptionScheme),"org.w3.clearkey"==d.drmInfo$jscomp$6.keySystem&&d.drmInfo$jscomp$6.licenseServerUri.startsWith("data:application/json;base64,")?l.includes(d.drmInfo$jscomp$6.licenseServerUri)||l.push(d.drmInfo$jscomp$6.licenseServerUri):r.includes(d.drmInfo$jscomp$6.licenseServerUri)||r.push(d.drmInfo$jscomp$6.licenseServerUri),n.includes(d.drmInfo$jscomp$6.serverCertificateUri)||n.push(d.drmInfo$jscomp$6.serverCertificateUri),d.drmInfo$jscomp$6.serverCertificate&&(i.some(function(e){return function(t){return shaka.util.BufferUtils.equal(t,e.drmInfo$jscomp$6.serverCertificate)}}(d))||i.push(d.drmInfo$jscomp$6.serverCertificate)),d.drmInfo$jscomp$6.initData){u=$jscomp.makeIterator(d.drmInfo$jscomp$6.initData);for(var c=u.next(),p={};!c.done;p={initDataOverride$jscomp$2:void 0},c=u.next())p.initDataOverride$jscomp$2=c.value,a.some(function(e){return function(t){var r=e.initDataOverride$jscomp$2;return!!t.keyId&&t.keyId==r.keyId||t.initDataType==r.initDataType&&shaka.util.BufferUtils.equal(t.initData,r.initData)}}(p))||a.push(p.initDataOverride$jscomp$2)}if(d.drmInfo$jscomp$6.keyIds)for(c=(u=$jscomp.makeIterator(d.drmInfo$jscomp$6.keyIds)).next();!c.done;c=u.next())o.add(c.value);if(d.drmInfo$jscomp$6.keySystemUris&&s)for(u=(d=$jscomp.makeIterator(d.drmInfo$jscomp$6.keySystemUris)).next();!u.done;u=d.next())s.add(u.value)}if(1==l.length)r.push(l[0]);else if(0<l.length){for(t=[],i=(l=$jscomp.makeIterator(l)).next();!i.done;i=l.next())i=JSON.parse(i=window.atob(i.value.split("data:application/json;base64,").pop())),t.push.apply(t,$jscomp.arrayFromIterable(i.keys));l=JSON.stringify({keys:t}),r.push("data:application/json;base64,"+window.btoa(l))}},shaka.drm.DrmEngine.fillInDrmInfoDefaults_=function(e,t,r,i){var n=e.keySystem;n&&("org.w3.clearkey"!=n||!e.licenseServerUri)&&(t.size&&t.get(n)&&(e.licenseServerUri=t=t.get(n)),e.keyIds||(e.keyIds=new Set),(r=r.get(n))&&(e.distinctiveIdentifierRequired||(e.distinctiveIdentifierRequired=r.distinctiveIdentifierRequired),e.persistentStateRequired||(e.persistentStateRequired=r.persistentStateRequired),e.serverCertificate||(e.serverCertificate=r.serverCertificate),r.sessionType&&(e.sessionType=r.sessionType),e.serverCertificateUri||(e.serverCertificateUri=r.serverCertificateUri)),i[n]&&(e.keySystem=i[n]),window.cast&&window.cast.__platform__&&"com.microsoft.playready"==n&&(e.keySystem="com.chromecast.playready"))},shaka.drm.DrmEngine.prototype.parseInbandPssh=function(e,t){if(!this.config_.parseInbandPsshEnabled||this.manifestInitData_)return Promise.resolve();var r=shaka.util.ManifestParserUtils.ContentType;if(![r.AUDIO,r.VIDEO].includes(e))return Promise.resolve();e=new shaka.util.Pssh(shaka.util.BufferUtils.toUint8(t)),t=0,r=$jscomp.makeIterator(e.data);for(var i=r.next();!i.done;i=r.next())t+=i.value.length;if(0==t)return Promise.resolve();for(t=new Uint8Array(t),r=0,i=(e=$jscomp.makeIterator(e.data)).next();!i.done;i=e.next())i=i.value,t.set(i,r),r+=i.length;return this.newInitData("cenc",t),this.allSessionsLoaded_},shaka.drm.DrmEngine.configureClearKey=function(e,t){if(0!=(e=shaka.util.MapUtils.asMap(e)).size){e=shaka.util.ManifestParserUtils.createDrmInfoFromClearKeys(e),t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next())(r=r.value).video&&(r.video.drmInfos=[e]),r.audio&&(r.audio.drmInfos=[e])}},shaka.drm.DrmEngine.CLOSE_TIMEOUT_=1,shaka.drm.DrmEngine.SESSION_LOAD_TIMEOUT_=5,shaka.drm.DrmEngine.KEY_STATUS_BATCH_TIME=.5,shaka.media.AdaptationSet=function(e,t,r){for(r=void 0===r||r,this.root_=e,this.variants_=new Set([e]),t=t||[],t=(e=$jscomp.makeIterator(t)).next();!t.done;t=e.next())this.add(t.value,r)},shaka.media.AdaptationSet.prototype.add=function(e,t){return this.canInclude(e,t)?(this.variants_.add(e),!0):(shaka.log.warning("Rejecting variant - not compatible with root."),!1)},shaka.media.AdaptationSet.prototype.canInclude=function(e,t){return shaka.media.AdaptationSet.areAdaptable(this.root_,e,void 0===t||t)},shaka.media.AdaptationSet.areAdaptable=function(e,t,r){var i=shaka.media.AdaptationSet;return!!e.audio==!!t.audio&&!!e.video==!!t.video&&e.language==t.language&&(goog.asserts.assert(!!e.audio==!!t.audio,"Both should either have audio or not have audio."),(!e.audio||!t.audio||!!i.areAudiosCompatible_(e.audio,t.audio,r))&&(goog.asserts.assert(!!e.video==!!t.video,"Both should either have video or not have video."),!e.video||!t.video||!!i.areVideosCompatible_(e.video,t.video,r)))},shaka.media.AdaptationSet.prototype.values=function(){return this.variants_.values()},shaka.media.AdaptationSet.areAudiosCompatible_=function(e,t,r){var i=shaka.media.AdaptationSet;return(!!e.channelsCount&&!!t.channelsCount&&!(2<e.channelsCount)&&!(2<t.channelsCount)||e.channelsCount==t.channelsCount)&&e.spatialAudio===t.spatialAudio&&(!r||!!i.canTransitionBetween_(e,t))&&!!i.areRolesEqual_(e.roles,t.roles)&&e.groupId===t.groupId&&!0},shaka.media.AdaptationSet.areVideosCompatible_=function(e,t,r){var i=shaka.media.AdaptationSet;return(!r||!!i.canTransitionBetween_(e,t))&&!!i.areRolesEqual_(e.roles,t.roles)},shaka.media.AdaptationSet.canTransitionBetween_=function(e,t){if(e.mimeType!=t.mimeType||(e=shaka.util.MimeUtils.splitCodecs(e.codecs).map(function(e){return shaka.util.MimeUtils.getCodecBase(e)}),t=shaka.util.MimeUtils.splitCodecs(t.codecs).map(function(e){return shaka.util.MimeUtils.getCodecBase(e)}),e.length!=t.length))return!1;e.sort(),t.sort();for(var r=0;r<e.length;r++)if(e[r]!=t[r])return!1;return!0},shaka.media.AdaptationSet.areRolesEqual_=function(e,t){if(e=new Set(e),t=new Set(t),e.delete("main"),t.delete("main"),e.size!=t.size)return!1;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())if(!t.has(r.value))return!1;return!0},goog.exportSymbol("shaka.media.AdaptationSet",shaka.media.AdaptationSet),shaka.config.CodecSwitchingStrategy={RELOAD:"reload",SMOOTH:"smooth"},goog.exportSymbol("shaka.config.CodecSwitchingStrategy",shaka.config.CodecSwitchingStrategy),shaka.media.AdaptationSetCriteria=function(){},shaka.media.AdaptationSetCriteria.prototype.create=function(e){},shaka.media.AdaptationSetCriteria.prototype.configure=function(e){},goog.exportSymbol("shaka.media.AdaptationSetCriteria",shaka.media.AdaptationSetCriteria),shaka.media.BufferingObserver=function(e,t){var r=shaka.media.BufferingObserver.
1State;this.previousState_=r.SATISFIED,this.thresholds_=(new Map).set(r.SATISFIED,t).set(r.STARVING,e),this.lastRebufferTime_=0},shaka.media.BufferingObserver.prototype.setThresholds=function(e,t){var r=shaka.media.BufferingObserver.State;this.thresholds_.set(r.SATISFIED,t).set(r.STARVING,e)},shaka.media.BufferingObserver.prototype.update=function(e,t){var r=shaka.media.BufferingObserver.State,i=this.thresholds_.get(this.previousState_),n=this.previousState_;return this.previousState_=e=t||e>=i&&0<e?r.SATISFIED:r.STARVING,(n=n!=e)&&e===r.SATISFIED&&(this.lastRebufferTime_=Date.now()),n},shaka.media.BufferingObserver.prototype.setState=function(e){this.previousState_=e},shaka.media.BufferingObserver.prototype.getState=function(){return this.previousState_},shaka.media.BufferingObserver.prototype.getLastRebufferTime=function(){return this.lastRebufferTime_},shaka.media.BufferingObserver.prototype.resetLastRebufferTime=function(){this.lastRebufferTime_=0},shaka.media.BufferingObserver.State={STARVING:0,SATISFIED:1},shaka.media.ManifestFilterer=function(e,t,r){goog.asserts.assert(e,"Must have config"),this.config_=e,this.maxHwRes_=t,this.drmEngine_=r},shaka.media.ManifestFilterer.prototype.setDrmEngine=function(e){this.drmEngine_=e},shaka.media.ManifestFilterer.prototype.filterManifest=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?(goog.asserts.assert(e,"Manifest should exist!"),r.yield(shaka.util.StreamUtils.filterManifest(t.drmEngine_,e,t.config_.drm.preferredKeySystems,t.config_.drm.keySystemsMapping),2)):(t.config_.streaming.dontChooseCodecs||shaka.util.StreamUtils.chooseCodecsAndFilterManifest(e,t.config_.preferredVideoCodecs,t.config_.preferredAudioCodecs,t.config_.preferredDecodingAttributes,t.config_.preferredTextFormats),t.checkPlayableVariants_(e),r.return(t.filterManifestWithRestrictions(e)))})},shaka.media.ManifestFilterer.prototype.applyRestrictions=function(e){return shaka.util.StreamUtils.applyRestrictions(e.variants,this.config_.restrictions,this.maxHwRes_)},shaka.media.ManifestFilterer.prototype.filterManifestWithRestrictions=function(e){var t=this.applyRestrictions(e);if(e){var r=this.drmEngine_?this.drmEngine_.getDrmInfo():null;if(r&&this.drmEngine_.getMediaKeys()){for(var i=new Set,n=$jscomp.makeIterator(e.variants),a=n.next();!a.done;a=n.next())(a=a.value).audio&&i.add(a.audio),a.video&&i.add(a.video);for(n=(i=$jscomp.makeIterator(i)).next();!n.done;n=i.next())this.processDrmInfos(r.keySystem,n.value)}this.checkRestrictedVariants(e)}return t},shaka.media.ManifestFilterer.prototype.checkPlayableVariants_=function(e){if(!e.variants.some(shaka.util.StreamUtils.isPlayable))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CONTENT_UNSUPPORTED_BY_BROWSER)},shaka.media.ManifestFilterer.prototype.processDrmInfos=function(e,t){t=$jscomp.makeIterator(t.drmInfos);for(var r=t.next();!r.done;r=t.next())if((r=r.value).keySystem==e){r=$jscomp.makeIterator(r.initData||[]);for(var i=r.next();!i.done;i=r.next())i=i.value,this.drmEngine_.newInitData(i.initDataType,i.initData)}},shaka.media.ManifestFilterer.prototype.checkRestrictedVariants=function(e){var t=shaka.media.ManifestFilterer.restrictedStatuses,r=this.drmEngine_?this.drmEngine_.getKeyStatuses():{},i=Object.keys(r);i=i.length&&"00"==i[0];var n=!1,a=!1,o=new Set,s=new Set,l=new Set;e=$jscomp.makeIterator(e.variants);for(var u=e.next();!u.done;u=e.next())(u=u.value).audio&&l.add(u.audio),u.video&&l.add(u.video),u.allowedByApplication?u.allowedByKeySystem&&(n=!0):a=!0;for(e=(l=$jscomp.makeIterator(l)).next();!e.done;e=l.next())if((e=e.value).keyIds.size)for(u=(e=$jscomp.makeIterator(e.keyIds)).next();!u.done;u=e.next()){u=u.value;var d=r[i?"00":u];d?t.includes(d)&&s.add(d):o.add(u)}if(!n)throw t={hasAppRestrictions:a,missingKeys:Array.from(o),restrictedKeyStatuses:Array.from(s)},new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.RESTRICTIONS_CANNOT_BE_MET,t)},shaka.media.ManifestFilterer.restrictedStatuses=["output-restricted","internal-error"],shaka.media.ManifestParser=function(){},shaka.media.ManifestParser.registerParserByExtension=function(e,t){shaka.Deprecate.deprecateFeature
1(5,"ManifestParser.registerParserByExtension","Please use an ManifestParser with registerParserByMime function.")},shaka.media.ManifestParser.registerParserByMime=function(e,t){shaka.media.ManifestParser.parsersByMime.set(e,t)},shaka.media.ManifestParser.unregisterParserByMime=function(e){shaka.media.ManifestParser.parsersByMime.delete(e)},shaka.media.ManifestParser.probeSupport=function(){var e=shaka.media.ManifestParser,t={};if(shaka.util.Platform.supportsMediaSource())for(var r=$jscomp.makeIterator(e.parsersByMime.keys()),i=r.next();!i.done;i=r.next())t[i.value]=!0;for(i=(r=$jscomp.makeIterator(["application/dash+xml","application/x-mpegurl","application/vnd.apple.mpegurl","application/vnd.ms-sstr+xml"])).next();!i.done;i=r.next())i=i.value,shaka.util.Platform.supportsMediaSource()?t[i]=e.parsersByMime.has(i):t[i]=shaka.util.Platform.supportsMediaType(i);return t},shaka.media.ManifestParser.getFactory=function(e,t){var r=shaka.media.ManifestParser;if(t){if(r=r.parsersByMime.get(t.toLowerCase()))return r;shaka.log.warning("Could not determine manifest type using MIME type ",t)}throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.UNABLE_TO_GUESS_MANIFEST_TYPE,e,t)},shaka.media.ManifestParser.isSupported=function(e){return!!shaka.util.Platform.supportsMediaSource()&&shaka.media.ManifestParser.parsersByMime.has(e)},goog.exportSymbol("shaka.media.ManifestParser",shaka.media.ManifestParser),goog.exportProperty(shaka.media.ManifestParser,"unregisterParserByMime",shaka.media.ManifestParser.unregisterParserByMime),goog.exportProperty(shaka.media.ManifestParser,"registerParserByMime",shaka.media.ManifestParser.registerParserByMime),goog.exportProperty(shaka.media.ManifestParser,"registerParserByExtension",shaka.media.ManifestParser.registerParserByExtension),shaka.media.ManifestParser.HLS="HLS",shaka.media.ManifestParser.DASH="DASH",shaka.media.ManifestParser.MSS="MSS",shaka.media.ManifestParser.UNKNOWN="UNKNOWN",shaka.media.ManifestParser.AccessibilityPurpose={VISUALLY_IMPAIRED:"visually impaired",HARD_OF_HEARING:"hard of hearing"},goog.exportProperty(shaka.media.ManifestParser,"AccessibilityPurpose",shaka.media.ManifestParser.AccessibilityPurpose),shaka.media.ManifestParser.parsersByMime=new Map,shaka.util.Mp4Generator=function(e){shaka.util.Mp4Generator.initStaticProperties_(),this.streamInfos_=e},shaka.util.Mp4Generator.prototype.initSegment=function(){var e=shaka.util.Mp4Generator,t=this.moov_(),r=new Uint8Array(e.FTYP_.byteLength+t.byteLength);return r.set(e.FTYP_),r.set(t,e.FTYP_.byteLength),r},shaka.util.Mp4Generator.prototype.moov_=function(){goog.asserts.assert(0<this.streamInfos_.length,"StreamInfos must have elements");for(var e=shaka.util.Mp4Generator,t=[],r=$jscomp.makeIterator(this.streamInfos_),i=r.next();!i.done;i=r.next())t.push(this.trak_(i.value));return t=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(t)),r=this.streamInfos_[0],e.box("moov",this.mvhd_(r),t,this.mvex_(),this.pssh_(r))},shaka.util.Mp4Generator.prototype.mvhd_=function(e){var t=shaka.util.Mp4Generator,r=e.duration*e.timescale,i=Math.floor(r/(t.UINT32_MAX_+1));return r=Math.floor(r%(t.UINT32_MAX_+1)),e=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.timescale,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(i,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,4)),[0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255])),t.box("mvhd",e)},shaka.util.Mp4Generator.prototype.trak_=function(e){return shaka.util.Mp4Generator.box("trak",this.tkhd_(e),this.mdia_(e))},shaka.util.Mp4Generator.prototype.tkhd_=function(e){var t=shaka.util.Mp4Generator,r=e.id+1,i=e.stream.width||0,n=e.stream.height||0;e.type==shaka.util.ManifestParserUtils.ContentType.AUDIO&&(n=i=0);var a=e.duration*e.timescale;return e=Math.floor(a/(t.UINT32_MAX_+1)),a=Math.floor(a%(t.UINT32_MAX_+1)),r=new 
1Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,4)),[0,0,0,0],$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(a,4)),[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0],$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(i,2)),[0,0],$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(n,2)),[0,0])),t.box("tkhd",r)},shaka.util.Mp4Generator.prototype.mdia_=function(e){return shaka.util.Mp4Generator.box("mdia",this.mdhd_(e),this.hdlr_(e),this.minf_(e))},shaka.util.Mp4Generator.prototype.mdhd_=function(e){var t=shaka.util.Mp4Generator,r=e.duration*e.timescale,i=Math.floor(r/(t.UINT32_MAX_+1));r=Math.floor(r%(t.UINT32_MAX_+1));var n=e.stream.language;return n=n.charCodeAt(0)-96<<10|n.charCodeAt(1)-96<<5|n.charCodeAt(2)-96,e=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.timescale,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(i,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(n,2)),[0,0])),t.box("mdhd",e)},shaka.util.Mp4Generator.prototype.hdlr_=function(e){var t=shaka.util.Mp4Generator,r=shaka.util.ManifestParserUtils.ContentType,i=new Uint8Array([]);switch(e.type){case r.VIDEO:i=t.HDLR_TYPES_.video;break;case r.AUDIO:i=t.HDLR_TYPES_.audio}return t.box("hdlr",i)},shaka.util.Mp4Generator.prototype.minf_=function(e){var t=shaka.util.Mp4Generator,r=shaka.util.ManifestParserUtils.ContentType;switch(e.type){case r.VIDEO:return t.box("minf",t.box("vmhd",t.VMHD_),t.DINF_,this.stbl_(e));case r.AUDIO:return t.box("minf",t.box("smhd",t.SMHD_),t.DINF_,this.stbl_(e))}return new Uint8Array([])},shaka.util.Mp4Generator.prototype.stbl_=function(e){var t=shaka.util.Mp4Generator;return t.box("stbl",this.stsd_(e),t.box("stts",t.STTS_),t.box("stsc",t.STSC_),t.box("stsz",t.STSZ_),t.box("stco",t.STCO_))},shaka.util.Mp4Generator.prototype.stsd_=function(e){var t=shaka.util.Mp4Generator,r=shaka.util.ManifestParserUtils.ContentType,i="aac";e.codecs.includes("mp3")?i="mp3":e.codecs.includes("ac-3")?i=shaka.util.Platform.requiresEC3InitSegments()?"ec-3":"ac-3":e.codecs.includes("ec-3")?i="ec-3":e.codecs.includes("opus")&&(i="opus");var n=new Uint8Array([]);switch(e.type){case r.VIDEO:e.codecs.includes("avc1")?n=this.avc1_(e):e.codecs.includes("hvc1")&&(n=this.hvc1_(e));break;case r.AUDIO:n="mp3"==i?this.mp3_(e):"ac-3"==i?this.ac3_(e):"ec-3"==i?this.ec3_(e):"opus"==i?this.opus_(e):this.mp4a_(e)}return t.box("stsd",t.STSD_,n)},shaka.util.Mp4Generator.prototype.avc1_=function(e){var t=shaka.util.Mp4Generator,r=e.stream.width||0,i=e.stream.height||0,n=0<e.videoConfig.byteLength?t.box("avcC",e.videoConfig):t.box("avcC",this.avcC_(e));r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,2)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(i,2)),[0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17])),i="avc1";var a=this.pasp_(e),o=new Uint8Array([]);return e.encrypted&&(o=this.sinf(e.stream,e.codecs),i="encv"),t.box(i,r,n,a,o)},shaka.util.Mp4Generator.prototype.avcC_=function(e){for(var t=7,r=[],i=[],n=0,a=0,o=0,s=0;s<e.videoNalus.length;s++){var l=this.hexStringToBuffer_(e.videoNalus[s]);switch(31&l[0]){case 7:r.push(l),t+=l.length+2;break;case 8:i.push(l),t+=l.length+2}}for(0<r.length&&(n=r[0][1],o=r[0][2],a=r[0][3]),e=new Uint8Array(t),t=0,e[t++]=1,e[t++]=n,e[t++]=o,e[t++]=a,e[t++]=255,e[t++]=224|r.length,n=0;n<r.length;n++)e[t++]=(65280&r[n].length)>>8,e[t++]=255&r[n].length,e.set(r[n],t),t+=r[n].length;for(e[t++]=i.length,r=0;r<i.length;r++)e[t++]=(65280&i[r].length)>>8,e[t++]=255&i[r].length,e.set(i[r],t),t+=i[r].length;return e},shaka.util.Mp4Generator.prototype.hvc1_=function(e){var t=shaka.util.Mp4Generator,r=e.stream.width||0,i=e.stream.height||0,n=new Uint8Array([]);0<e.videoConfig.byteLength&&(n=t.box("hvcC",e.videoConfig)),r=new 
1Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,2)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(i,2)),[0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17])),i="hvc1";var a=this.pasp_(e),o=new Uint8Array([]);return e.encrypted&&(o=this.sinf(e.stream,e.codecs),i="encv"),t.box(i,r,n,a,o)},shaka.util.Mp4Generator.prototype.pasp_=function(e){if(!e.hSpacing&&!e.vSpacing)return new Uint8Array([]);var t=shaka.util.Mp4Generator,r=e.vSpacing;return e=new Uint8Array([].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.hSpacing,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,4)))),t.box("pasp",e)},shaka.util.Mp4Generator.prototype.audioStsd_=function(e){return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.stream.channelsCount||2,0,16,0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.stream.audioSamplingRate||44100,2)),[0,0]))},shaka.util.Mp4Generator.prototype.mp3_=function(e){return shaka.util.Mp4Generator.box(".mp3",this.audioStsd_(e))},shaka.util.Mp4Generator.prototype.ac3_=function(e){var t=shaka.util.Mp4Generator,r=t.box("dac3",e.audioConfig),i="ac-3",n=new Uint8Array([]);return e.encrypted&&(n=this.sinf(e.stream,e.codecs),i="enca"),t.box(i,this.audioStsd_(e),r,n)},shaka.util.Mp4Generator.prototype.ec3_=function(e){var t=shaka.util.Mp4Generator,r=t.box("dec3",e.audioConfig),i="ec-3",n=new Uint8Array([]);return e.encrypted&&(n=this.sinf(e.stream,e.codecs),i="enca"),t.box(i,this.audioStsd_(e),r,n)},shaka.util.Mp4Generator.prototype.opus_=function(e){var t=shaka.util.Mp4Generator,r=t.box("dOps",e.audioConfig),i="Opus",n=new Uint8Array([]);return e.encrypted&&(n=this.sinf(e.stream,e.codecs),i="enca"),t.box(i,this.audioStsd_(e),r,n)},shaka.util.Mp4Generator.prototype.mp4a_=function(e){var t=shaka.util.Mp4Generator,r=0<e.audioConfig.byteLength?t.box("esds",e.audioConfig):t.box("esds",this.esds_(e)),i="mp4a",n=new Uint8Array([]);return e.encrypted&&(n=this.sinf(e.stream,e.codecs),i="enca"),t.box(i,this.audioStsd_(e),r,n)},shaka.util.Mp4Generator.prototype.esds_=function(e){var t=e.id+1,r=e.stream.channelsCount||2,i=e.stream.audioSamplingRate||44100,n=shaka.util.ManifestParserUtils.guessCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,e.codecs.split(",")),a={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12};return e=a[i],("mp4a.40.5"===n||"mp4a.40.29"===n)&&(e=a[2*i]),i=parseInt(n.split(".").pop(),10),new Uint8Array([0,0,0,0,3,25].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(t,2)),[0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,i<<3|e>>>1,e<<7|r<<3,6,1,2]))},shaka.util.Mp4Generator.prototype.mvex_=function(){for(var e=shaka.util.Mp4Generator,t=[],r=$jscomp.makeIterator(this.streamInfos_),i=r.next();!i.done;i=r.next())t.push(this.trex_(i.value));return t=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(t)),e.box("mvex",t)},shaka.util.Mp4Generator.prototype.trex_=function(e){var t=shaka.util.Mp4Generator;return e=new Uint8Array([0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.id+1,4)),[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),t.box("trex",e)},shaka.util.Mp4Generator.prototype.pssh_=function(e){var t=[];if(!e.encrypted)return new Uint8Array([]);e=$jscomp.makeIterator(e.stream.drmInfos);for(var r=e.next();!r.done;r=e.next())if((r=r.value).initData){r=$jscomp.makeIterator(r.initData);for(var i=r.next();!i.done;i=r.next())t.push(i.value.initData)}return shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(t))},shaka.util.Mp4Generator.prototype.sinf=function(e,t){return shaka.util.Mp4Generator.box("sinf",this.frma_(t),this.schm_(e),this.schi_(e))},shaka.util.Mp4Generator.prototype.frma_=function(e){var t=e.split(".")[0];return e=shaka.util.Mp4Generator,t=this.stringToCharCode_(t),t=new Uint8Array([].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(t,4)))),e.box("frma",t)},shaka.util.Mp4Generator.prototype.schm_=function(e){var t="cenc";return(e=e.drmInfos[0])&&e.encryptionScheme&&(t=e.encryptionScheme),e=shaka.util.Mp4Generator,t=this.stringToCharCode_(t),t=new Uint8Array([0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(t,4)),[0,1,0,0])),e.box("schm",t)},shaka.util.Mp4Generator.prototype.schi_=function(e){return shaka.util.Mp4Generator.box("schi",this.tenc_(e))},shaka.util.Mp4Generator.prototype.tenc_=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);e=$jscomp.makeIterator(e.drmInfos);for(var r=e.next();!r.done;r=e.next())if((r=r.value)&&r.keyIds&&r.keyIds.size){r=$jscomp.makeIterator(r.keyIds);for(var i=r.next();!i.done;i=r.next())t=this.hexStringToBuffer_(i.value)}return e=shaka.util.Mp4Generator,r=new Uint8Array([0,0,0,0,0,0,1,8]),goog.asserts.assert(t,"Default KID should be non-null"),e.box("tenc",r,t)},shaka.util.Mp4Generator.prototype.segmentData=function(){for(var e=[],t=$jscomp.makeIterator(this.streamInfos_),r=t.next();!r.done;r=t.next())r=r.value,e.push.apply(e,[this.moof_(r),this.mdat_(r)]);return shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(e))},shaka.util.Mp4Generator.prototype.moof_=function(e){return shaka.util.Mp4Generator.box("moof",this.mfhd_(e),this.traf_(e))},shaka.util.Mp4Generator.prototype.mfhd_=function(e){var t=shaka.util.Mp4Generator;return e=new Uint8Array([0,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.data?e.data.sequenceNumber:0,4)))),t.box("mfhd",e)},shaka.util.Mp4Generator.prototype.traf_=function(e){var t=shaka.util.Mp4Generator,r=this.sdtp_(e),i=r.length+32+20+8+16+8+8;return t.box("traf",this.tfhd_(e),this.tfdt_(e),this.trun_(e,i),r)},shaka.util.Mp4Generator.prototype.sdtp_=function(e){var t=shaka.util.Mp4Generator;e=e.data?e.data.samples:[];
1for(var r=new Uint8Array(4+e.length),i=0;i<e.length;i++){var n=e[i].flags;r[i+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy}return t.box("sdtp",r)},shaka.util.Mp4Generator.prototype.tfhd_=function(e){var t=shaka.util.Mp4Generator;return e=new Uint8Array([0,0,0,58].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(e.id+1,4)),[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),t.box("tfhd",e)},shaka.util.Mp4Generator.prototype.tfdt_=function(e){var t=shaka.util.Mp4Generator,r=Math.floor((e=e.data?e.data.baseMediaDecodeTime:0)%(t.UINT32_MAX_+1));return e=new Uint8Array([1,0,0,0].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(Math.floor(e/(t.UINT32_MAX_+1)),4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(r,4)))),t.box("tfdt",e)},shaka.util.Mp4Generator.prototype.trun_=function(e,t){var r=shaka.util.ManifestParserUtils.ContentType,i=shaka.util.Mp4Generator,n=e.data?e.data.samples:[],a=n.length,o=12+16*a,s=new Uint8Array(o);for(t+=8+o,s.set([+(e.type===r.VIDEO),0,15,1].concat($jscomp.arrayFromIterable(this.breakNumberIntoBytes_(a,4)),$jscomp.arrayFromIterable(this.breakNumberIntoBytes_(t,4))),0),e=0;e<a;e++){var l=n[e];t=this.breakNumberIntoBytes_(l.duration,4),r=this.breakNumberIntoBytes_(l.size,4),o=l.flags,l=this.breakNumberIntoBytes_(l.cts,4),s.set([].concat($jscomp.arrayFromIterable(t),$jscomp.arrayFromIterable(r),[o.isLeading<<2|o.dependsOn,o.isDependedOn<<6|o.hasRedundancy<<4|o.isNonSync,61440&o.degradPrio,15&o.degradPrio],$jscomp.arrayFromIterable(l)),12+16*e)}return i.box("trun",s)},shaka.util.Mp4Generator.prototype.mdat_=function(e){var t=shaka.util.Mp4Generator;return e=(e.data?e.data.samples:[]).map(function(e){return e.data}),e=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(e)),t.box("mdat",e)},shaka.util.Mp4Generator.prototype.breakNumberIntoBytes_=function(e,t){var r=[];for(--t;0<=t;t--)r.push(e>>8*t&255);return r},shaka.util.Mp4Generator.prototype.hexStringToBuffer_=function(e){for(var t=new Uint8Array(e.length/2),r=0;r<e.length/2;r+=1)t[r]=parseInt(String(e[2*r]+e[2*r+1]),16);return t},shaka.util.Mp4Generator.prototype.stringToCharCode_=function(e){for(var t=0,r=0;r<e.length;r+=1)t|=e.charCodeAt(r)<<8*(e.length-r-1);return t},shaka.util.Mp4Generator.initStaticProperties_=function(){var e=shaka.util.Mp4Generator;if(!e.initialized_){e.initialized_=!0;
1var t=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),i=new Uint8Array([0,0,0,1]);e.FTYP_=e.box("ftyp",t,i,t,r),t=e.box("dref",e.DREF_),e.DINF_=e.box("dinf",t)}},shaka.util.Mp4Generator.box=function(e){var t=$jscomp.getRestArguments.apply(1,arguments),r=shaka.util.Mp4Generator.BOX_TYPES_.get(e);r||(r=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)],shaka.util.Mp4Generator.BOX_TYPES_.set(e,r));for(var i=8,n=t.length-1;0<=n;n--)i+=t[n].byteLength;for((n=new Uint8Array(i))[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=255&i,n.set(r,4),r=0,i=8;r<t.length;r++)n.set(t[r],i),i+=t[r].byteLength;return n},shaka.util.Mp4Generator.initialized_=!1,shaka.util.Mp4Generator.UINT32_MAX_=0xffffffff,shaka.util.Mp4Generator.BOX_TYPES_=new Map,shaka.util.Mp4Generator.HDLR_TYPES_={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])},shaka.util.Mp4Generator.STTS_=new Uint8Array([0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.STSC_=new Uint8Array([0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.STCO_=new Uint8Array([0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.STSZ_=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.VMHD_=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.SMHD_=new Uint8Array([0,0,0,0,0,0,0,0]),shaka.util.Mp4Generator.STSD_=new Uint8Array([0,0,0,0,0,0,0,1]),shaka.util.Mp4Generator.FTYP_=new Uint8Array([]),shaka.util.Mp4Generator.DREF_=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),shaka.util.Mp4Generator.DINF_=new Uint8Array([]),shaka.media.ContentWorkarounds=function(){},shaka.media.ContentWorkarounds.fakeEncryption=function(e,t,r){var i,n=shaka.media.ContentWorkarounds,a=t=shaka.util.BufferUtils.toUint8(t),o=!1,s=[],l=function(e){s.push(e),shaka.util.Mp4Parser.children(e)},u=function(e){o=!0,e.parser.stop()},d=[];if((new shaka.util.Mp4Parser).box("moov",l).box("trak",l).box("mdia",l).box("minf",l).box("stbl",l).fullBox("stsd",function(e){i=e,s.push(e),shaka.util.Mp4Parser.sampleDescription(e)}).fullBox("encv",u).fullBox("enca",u).fullBox("dvav",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("dva1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("dvh1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("dvhe",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("dvc1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("dvi1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("hev1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("hvc1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("avc1",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("avc3",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCV_})}).fullBox("ac-3",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCA_})}).fullBox("ec-3",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCA_})}).fullBox("ac-4",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCA_})}).fullBox("mp4a",function(e){d.push({box:e,newType:n.BOX_TYPE_ENCA_})}).parse(t),o)return shaka.log.debug("Init segment already indicates encryption."),t;if(0==d.length||!i)throw shaka.log.error("Failed to find boxes needed to fake encryption!"),shaka.log.v2("Failed init segment (hex):",shaka.util.Uint8ArrayUtils.toHex(t)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.CONTENT_TRANSFORMATION_FAILED,r);for(d.reverse(),l=(r=$jscomp.makeIterator(d)).next();!l.done;l=r.next())l=l.value,u=shaka.util.Mp4Parser.typeToString(l.newType),shaka.log.debug('Inserting "'+u+'" box into init segment.'),a=n.insertEncryptionMetadata_(e,a,i,l.box,s,l.newType);return shaka.util.Platform.isEdge()&&shaka.util.Platform.isWindows()&&!shaka.util.Platform.isXboxOne()?((e=new Uint8Array(t.byteLength+a.byteLength)).set(a),e.set(t,a.byteLength),e):a},shaka.media.ContentWorkarounds.insertEncryptionMetadata_=function(e,t,r,i,n,a){var o=shaka.media.ContentWorkarounds;a=o.createEncryptionMetadata_(e,t,i,a),e=new Uint8Array(t.byteLength+a.byteLength),i=shaka.util.Platform.isXboxOne()||shaka.util.Platform.isEdge()?i.start:i.start+i.size;var s=t.subarray(0,i);for(t=t.subarray(i),e.set(s),e.set(a,i),e.set(t,i+a.byteLength),t=(n=$jscomp.makeIterator(n)).next();!t.done;t=n.next())t=t.value,goog.asserts.assert(t.start<i,"Ancestor MP4 box found in the wrong location!  Modified init segment will not make sense!"),o.updateBoxSize_(e,t.start,t.size+a.byteLength);return o=shaka.util.BufferUtils.toDataView(e,r.start),r=shaka.util.Mp4Parser.headerSize(r),a=o.getUint32(r),o.setUint32(r,a+1),e},shaka.media.ContentWorkarounds.createEncryptionMetadata_=function(e,t,r,i){var n=shaka.media.ContentWorkarounds;e=new shaka.util.Mp4Generator([]).sinf(e,r.name),t=t.subarray(r.start,r.start+r.size);var a=new Uint8Array(r.size+e.byteLength);return a.set(t,0),shaka.util.BufferUtils.toDataView(a).setUint32(n.BOX_TYPE_OFFSET_,i),a.set(e,r.size),n.updateBoxSize_(a,0,a.byteLength),a},shaka.media.ContentWorkarounds.updateBoxSize_=function(e,t,r){var i=shaka.media.ContentWorkarounds;0!=(t=(e=shaka.util.BufferUtils.toDataView(e,t)).getUint32(i.BOX_SIZE_OFFSET_))&&(1==t?(e.setUint32(i.BOX_SIZE_64_OFFSET_,r>>32),e.setUint32(i.BOX_SIZE_64_OFFSET_+4,0|r)):e.setUint32(i.BOX_SIZE_OFFSET_,r))},shaka.media.ContentWorkarounds.fakeEC3=function(e){var t=shaka.media.ContentWorkarounds,r=shaka.util.BufferUtils.toUint8(e),i=[];return e=function(e){i.push({start:e.start,size:e.size}),shaka.util.Mp4Parser.children(e)},(new shaka.util.Mp4Parser).box("moov",e).box("trak",e).box("mdia",e).box("minf",e).box("stbl",e).box("stsd",function(e){i.push({start:e.start,size:e.size});
1for(var n=shaka.util.BufferUtils.toDataView(r,e.start),a=0;a<e.size;a++){var o=n.getUint32(a);o==t.BOX_TYPE_AC_3_?n.setUint32(a,t.BOX_TYPE_EC_3_):o==t.BOX_TYPE_DAC3_&&n.setUint32(a,t.BOX_TYPE_DEC3_)}}).parse(r),r},shaka.media.ContentWorkarounds.BOX_SIZE_OFFSET_=0,shaka.media.ContentWorkarounds.BOX_TYPE_OFFSET_=4,shaka.media.ContentWorkarounds.BOX_SIZE_64_OFFSET_=8,shaka.media.ContentWorkarounds.BOX_TYPE_ENCV_=0x656e6376,shaka.media.ContentWorkarounds.BOX_TYPE_ENCA_=0x656e6361,shaka.media.ContentWorkarounds.BOX_TYPE_AC_3_=0x61632d33,shaka.media.ContentWorkarounds.BOX_TYPE_DAC3_=0x64616333,shaka.media.ContentWorkarounds.BOX_TYPE_EC_3_=0x65632d33,shaka.media.ContentWorkarounds.BOX_TYPE_DEC3_=0x64656333,shaka.media.InitSegmentReference=function(e,t,r,i,n,a,o,s){this.getUris=e,this.startByte=t,this.endByte=r,this.mediaQuality=void 0===i?null:i,this.timescale=void 0===n?null:n,this.segmentData=void 0===a?null:a,this.aesKey=void 0===o?null:o,this.mimeType=this.codecs=null,this.encrypted=void 0!==s&&s},shaka.media.InitSegmentReference.prototype.getStartByte=function(){return this.startByte},shaka.media.InitSegmentReference.prototype.getEndByte=function(){return this.endByte},shaka.media.InitSegmentReference.prototype.getSize=function(){return this.endByte?this.endByte-this.startByte:null},shaka.media.InitSegmentReference.prototype.getMediaQuality=function(){return this.mediaQuality},shaka.media.InitSegmentReference.prototype.setSegmentData=function(e){this.segmentData=e},shaka.media.InitSegmentReference.prototype.getSegmentData=function(){return this.segmentData},shaka.media.InitSegmentReference.equal=function(e,t){var r=shaka.util.ArrayUtils,i=shaka.util.BufferUtils;return e===t||(e&&t?e.getStartByte()==t.getStartByte()&&e.getEndByte()==t.getEndByte()&&r.equal(e.getUris().sort(),t.getUris().sort())&&i.equal(e.getSegmentData(),t.getSegmentData()):e==t)},goog.exportSymbol("shaka.media.InitSegmentReference",shaka.media.InitSegmentReference),goog.exportProperty(shaka.media.InitSegmentReference.prototype,"getEndByte",shaka.media.InitSegmentReference.prototype.getEndByte),goog.exportProperty(shaka.media.InitSegmentReference.prototype,"getStartByte",shaka.media.InitSegmentReference.prototype.getStartByte),shaka.media.SegmentReference=function(e,t,r,i,n,a,o,s,l,u,d,c,p,m,f,g){for(u=void 0===u?[]:u,d=void 0===d?"":d,c=void 0===c?null:c,p=void 0===p?null:p,m=void 0===m?shaka.media.SegmentReference.Status.AVAILABLE:m,f=void 0===f?null:f,g=void 0!==g&&g,goog.asserts.assert(e<=t,"startTime must be less than or equal to endTime"),goog.asserts.assert(null==n||i<n,"startByte must be < endByte"),this.startTime=e,this.trueEndTime=this.endTime=t,this.getUrisInner=r,this.startByte=i,this.endByte=n,this.initSegmentReference=a,this.timestampOffset=o,this.appendWindowStart=s,this.appendWindowEnd=l,this.partialReferences=u,this.tilesLayout=d,this.tileDuration=c,this.syncTime=p,this.status=m,this.preload=!1,this.independent=!0,this.byterangeOptimization=!1,this.aesKey=f,this.thumbnailSprite=null,this.discontinuitySequence=-1,this.allPartialSegments=g,this.lastPartial=this.partial=!1,t=(e=$jscomp.makeIterator(this.partialReferences)).next();!t.done;t=e.next())t.value.markAsPartial();this.allPartialSegments&&this.partialReferences.length&&this.partialReferences[this.partialReferences.length-1].markAsLastPartial(),this.segmentData=this.bandwidth=this.mimeType=this.codecs=null,this.removeSegmentDataOnGet=!1},shaka.media.SegmentReference.prototype.getUris=function(){return this.getUrisInner()},shaka.media.SegmentReference.prototype.getStartTime=function(){return this.startTime},shaka.media.SegmentReference.prototype.getEndTime=function(){return this.endTime},shaka.media.SegmentReference.prototype.getStartByte=function(){return this.startByte},shaka.media.SegmentReference.prototype.getEndByte=function(){return this.endByte},shaka.media.SegmentReference.prototype.getSize=function(){return this.endByte?this.endByte-this.startByte:null},shaka.media.SegmentReference.prototype.hasPartialSegments=function(){return 0<this.partialReferences.length},shaka.media.SegmentReference.prototype.hasAllPartialSegments=function(){return this.allPartialSegments},shaka.media.SegmentReference.prototype.getTilesLayout=function(){return this.tilesLayout},shaka.media.SegmentReference.prototype.getTileDuration=function(){return this.tileDuration},shaka.media.SegmentReference.prototype.getStatus=function(){return this.status},shaka.media.SegmentReference.prototype.markAsUnavailable=function(){this.status=shaka.media.SegmentReference.Status.UNAVAILABLE},shaka.media.SegmentReference.prototype.markAsPreload=function(){this.preload=!0},shaka.media.SegmentReference.prototype.isPreload=function(){return this.preload},shaka.media.SegmentReference.prototype.markAsNonIndependent=function(){this.independent=!1},shaka.media.SegmentReference.prototype.isIndependent=function(){return this.independent},shaka.media.SegmentReference.prototype.markAsPartial=function(){this.partial=!0},shaka.media.SegmentReference.prototype.isPartial=function(){return this.partial}
1,shaka.media.SegmentReference.prototype.markAsLastPartial=function(){this.lastPartial=!0},shaka.media.SegmentReference.prototype.isLastPartial=function(){return this.lastPartial},shaka.media.SegmentReference.prototype.markAsByterangeOptimization=function(){this.byterangeOptimization=!0},shaka.media.SegmentReference.prototype.hasByterangeOptimization=function(){return this.byterangeOptimization},shaka.media.SegmentReference.prototype.setThumbnailSprite=function(e){this.thumbnailSprite=e},shaka.media.SegmentReference.prototype.getThumbnailSprite=function(){return this.thumbnailSprite},shaka.media.SegmentReference.prototype.offset=function(e){this.startTime+=e,this.endTime+=e,this.trueEndTime+=e;for(var t=$jscomp.makeIterator(this.partialReferences),r=t.next();!r.done;r=t.next())r=r.value,r.startTime+=e,r.endTime+=e,r.trueEndTime+=e},shaka.media.SegmentReference.prototype.syncAgainst=function(e){null==this.syncTime?shaka.log.alwaysError("Sync attempted without sync time!"):.001<=Math.abs(e=this.syncTime-e-this.startTime)&&this.offset(e)},shaka.media.SegmentReference.prototype.setSegmentData=function(e,t){this.segmentData=e,this.removeSegmentDataOnGet=void 0!==t&&t},shaka.media.SegmentReference.prototype.getSegmentData=function(e){var t=this.segmentData;return(void 0===e||e)&&this.removeSegmentDataOnGet&&(this.segmentData=null),t},shaka.media.SegmentReference.prototype.updateInitSegmentReference=function(e){this.initSegmentReference=e;for(var t=$jscomp.makeIterator(this.partialReferences),r=t.next();!r.done;r=t.next())r.value.updateInitSegmentReference(e)},goog.exportSymbol("shaka.media.SegmentReference",shaka.media.SegmentReference),goog.exportProperty(shaka.media.SegmentReference.prototype,"getSegmentData",shaka.media.SegmentReference.prototype.getSegmentData),goog.exportProperty(shaka.media.SegmentReference.prototype,"setSegmentData",shaka.media.SegmentReference.prototype.setSegmentData),goog.exportProperty(shaka.media.SegmentReference.prototype,"syncAgainst",shaka.media.SegmentReference.prototype.syncAgainst),goog.exportProperty(shaka.media.SegmentReference.prototype,"offset",shaka.media.SegmentReference.prototype.offset),goog.exportProperty(shaka.media.SegmentReference.prototype,"getThumbnailSprite",shaka.media.SegmentReference.prototype.getThumbnailSprite),goog.exportProperty(shaka.media.SegmentReference.prototype,"setThumbnailSprite",shaka.media.SegmentReference.prototype.setThumbnailSprite),goog.exportProperty(shaka.media.SegmentReference.prototype,"hasByterangeOptimization",shaka.media.SegmentReference.prototype.hasByterangeOptimization),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsByterangeOptimization",shaka.media.SegmentReference.prototype.markAsByterangeOptimization),goog.exportProperty(shaka.media.SegmentReference.prototype,"isLastPartial",shaka.media.SegmentReference.prototype.isLastPartial),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsLastPartial",shaka.media.SegmentReference.prototype.markAsLastPartial),goog.exportProperty(shaka.media.SegmentReference.prototype,"isPartial",shaka.media.SegmentReference.prototype.isPartial),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsPartial",shaka.media.SegmentReference.prototype.markAsPartial),goog.exportProperty(shaka.media.SegmentReference.prototype,"isIndependent",shaka.media.SegmentReference.prototype.isIndependent),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsNonIndependent",shaka.media.SegmentReference.prototype.markAsNonIndependent),goog.exportProperty(shaka.media.SegmentReference.prototype,"isPreload",shaka.media.SegmentReference.prototype.isPreload),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsPreload",shaka.media.SegmentReference.prototype.markAsPreload),goog.exportProperty(shaka.media.SegmentReference.prototype,"markAsUnavailable",shaka.media.SegmentReference.prototype.markAsUnavailable),goog.exportProperty(shaka.media.SegmentReference.prototype,"getStatus",shaka.media.SegmentReference.prototype.getStatus),goog.exportProperty(shaka.media.SegmentReference.prototype,"getTileDuration",shaka.media.SegmentReference.prototype.getTileDuration),goog.exportProperty(shaka.media.SegmentReference.prototype,"getTilesLayout",shaka.media.SegmentReference.prototype.getTilesLayout),goog.exportProperty(shaka.media.SegmentReference.prototype,"getEndByte",shaka.media.SegmentReference.prototype.getEndByte),goog.exportProperty(shaka.media.SegmentReference.prototype,"getStartByte",shaka.media.SegmentReference.prototype.getStartByte),goog.exportProperty(shaka.media.SegmentReference.prototype,"getEndTime",shaka.media.SegmentReference.prototype.getEndTime),goog.exportProperty(shaka.media.SegmentReference.prototype,"getStartTime",shaka.media.SegmentReference.prototype.getStartTime),goog.exportProperty(shaka.media.SegmentReference.prototype,"getUris",shaka.media.SegmentReference.prototype.getUris),shaka.media.SegmentReference.Status={AVAILABLE:0,UNAVAILABLE:1,MISSING:2},goog.exportProperty(shaka.media.SegmentReference,"Status",shaka.media.SegmentReference.Status),shaka.media.TimeRangesUtils=function(){},shaka.media.TimeRangesUtils.isBufferNegligible_=function(e){return 1==e.length&&1e-4>e.end(0)-e.start(0)},shaka.media.TimeRangesUtils.bufferStart=function(e){return!e||shaka.media.TimeRangesUtils.isBufferNegligible_(e)?null:1==e.length&&0>e.start(0)?0:e.length?e.start(0):null},shaka.media.TimeRangesUtils.bufferEnd=function(e){return!e||shaka.media.TimeRangesUtils.isBufferNegligible_(e)?null:e.length?e.end(e.length-1):null},shaka.media.TimeRangesUtils.isBuffered=function(e,t){return!(!e||!e.length||shaka.media.TimeRangesUtils.isBufferNegligible_(e)||t>e.end(e.length-1))&&t>=e.start(0)},shaka.media.TimeRangesUtils.bufferedAheadOf=function(e,t){if(!e||!e.length||shaka.media.TimeRangesUtils.isBufferNegligible_(e))return 0;var r=0;e=$jscomp.makeIterator(shaka.media.TimeRangesUtils.getBufferedInfo(e));for(var i=e.next();!i.done;i=e.next()){var n=i.value;i=n.start,(n=n.end)>t&&(r+=n-Math.max(i,t))}return r},shaka.media.TimeRangesUtils.getGapIndex=function(e,t,r){var i=shaka.media.TimeRangesUtils;return!e||!e.length||shaka.media.TimeRangesUtils.isBufferNegligible_(e)?null:0<=(e=i.getBufferedInfo(e).findIndex(function(e,i,n){return e.start>t&&(0==i||n[i-1].end-t<=r)}))?e:null},shaka.media.TimeRangesUtils.getBufferedInfo=function(e){if(!e)return[];for(var t=[],r=0;r<e.length;r++)t.push({start:e.start(r),end:e.end(r)});return t},shaka.media.TimeRangesUtils.computeAddedRange=function(e,t){var r=shaka.media.TimeRangesUtils;if(!e||!e.length)return null;if(!t||!t.length)return r.getBufferedInfo(t).pop();for(t=r.getBufferedInfo(t).reverse(),e=r.getBufferedInfo(e).reverse(),t=(r=$jscomp.makeIterator(t)).next();!t.done;t=r.next()){t=t.value;for(var i=!1,n=$jscomp.makeIterator(e),a=n.next();!a.done;a=n.next())if((a=a.value).end>=t.start&&a.end<=t.end&&(i=!0,t.end>a.end))return{start:a.end,end:t.end};if(!i)return t}return null},shaka.util.Dom=function(){},shaka.util.Dom.createHTMLElement=function(e){return document.createElement(e)},shaka.util.Dom.createButton=function(){var e=document.createElement("button");return e.setAttribute("type","button"),e},shaka.util.Dom.createSourceElement=function(e,t){t=void 0===t?"":t;var r=document.createElement("source");return r.src=e,r.type=t,r},shaka.util.Dom.asHTMLElement=function(e){return e},shaka.util.Dom.asHTMLCanvasElement=function(e){return e},shaka.util.Dom.asHTMLMediaElement=function(e){return e},shaka.util.Dom.getElementByClassName=function(e,t){return t=t.getElementsByClassName(e),goog.asserts.assert(1==t.length,"Should only be one element with class name "+e),shaka.util.Dom.asHTMLElement(t[0])},shaka.util.Dom.removeAllChildren=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},shaka.util.Dom.addFont=function(e,t){var r,i,n,a,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){if(1==s.nextAddress)return"fonts"in document&&"FontFace"in window?s.yield(document.fonts.ready,2):s.return();if(!("entries"in document.fonts))return s.return();for(r=function(e){e=e.entries();for(var t=[],r=e.next();!1===r.done;)t.push(r.value),r=e.next();return t},n=(i=$jscomp.makeIterator(r(document.fonts))).next();!n.done;n=i.next())if((a=n.value).family===e&&"swap"===a.display)return s.return();o=new FontFace(e,"url("+t+")",{display:"swap"}),document.fonts.add(o),s.jumpToEnd()})},goog.exportSymbol("shaka.util.Dom",shaka.util.Dom),goog.exportProperty(shaka.util.Dom,"removeAllChildren",shaka.util.Dom.removeAllChildren),shaka.util.Id3Utils=function(){},shaka.util.Id3Utils.isHeader_=function(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&255>e[t+3]&&255>e[t+4]&&128>e[t+6]&&128>e[t+7]&&128>e[t+8]&&128>e[t+9]||!1},shaka.util.Id3Utils.isFooter_=function(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&255>e[t+3]&&255>e[t+4]&&128>e[t+6]&&128>e[t+7]&&128>e[t+8]&&128>e[t+9]||!1},shaka.util.Id3Utils.readSize_=function(e,t){var r=(127&e[t])<<21;return r|=(127&e[t+1])<<14,(r|=(127&e[t+2])<<7)|127&e[t+3]},shaka.util.Id3Utils.getFrameData_=function(e){var t=String.fromCharCode(e[0],e[1],e[2],e[3]),r=shaka.util.Id3Utils.readSize_(e,4);return{type:t,size:r,data:e.subarray(10,10+r)}},shaka.util.Id3Utils.decodeFrame_=function(e){var t=shaka.util.BufferUtils,r
1=shaka.util.StringUtils,i={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if("APIC"===e.type){if(2>e.size)return null;if(e.data[0]!==shaka.util.Id3Utils.UTF8_encoding)return shaka.log.warning("Ignore frame with unrecognized character encoding"),null;var n=e.data.subarray(1).indexOf(0);if(-1===n)return null;var a=r.fromUTF8(t.toUint8(e.data,1,n)),o=e.data[2+n],s=e.data.subarray(3+n).indexOf(0);if(-1===s)return null;var l=r.fromUTF8(t.toUint8(e.data,3+n,s));return e="--\x3e"===a?r.fromUTF8(t.toUint8(e.data,4+n+s)):t.toArrayBuffer(e.data.subarray(4+n+s)),i.mimeType=a,i.pictureType=o,i.description=l,i.data=e,i}return"TXXX"===e.type||"WXXX"===e.type?2>e.size?null:e.data[0]!==shaka.util.Id3Utils.UTF8_encoding?(shaka.log.warning("Ignore frame with unrecognized character encoding"),null):-1===(o=e.data.subarray(1).indexOf(0))?null:(a=r.fromUTF8(t.toUint8(e.data,1,o)),e=r.fromUTF8(t.toUint8(e.data,2+o)).replace(/\0*$/,""),i.description=a,i.data=e,i):"PRIV"===e.type?2>e.size||-1===(a=e.data.indexOf(0))?null:(i.description=r=r.fromUTF8(t.toUint8(e.data,
10,a)),"com.apple.streaming.transportStreamTimestamp"==r?(e=1&(t=e.data.subarray(r.length+1))[3],t=((t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7])/45,e&&(t+=47721858.84),i.data=t):i.data=e=t.toArrayBuffer(e.data.subarray(r.length+1)),i):"T"===e.type[0]?2>e.size?null:e.data[0]!==shaka.util.Id3Utils.UTF8_encoding?(shaka.log.warning("Ignore frame with unrecognized character encoding"),null):(i.data=e=r.fromUTF8(e.data.subarray(1)).replace(/\0*$/,""),i):"W"===e.type[0]?(i.data=e=r.fromUTF8(e.data).replace(/\0*$/,""),i):e.data?(shaka.log.warning("Unrecognized ID3 frame type:",e.type),i.data=t.toArrayBuffer(e.data),i):null},shaka.util.Id3Utils.getID3Frames=function(e){for(var t=shaka.util.Id3Utils,r=0,i=[];t.isHeader_(e,r);){var n=t.readSize_(e,r+6);for(e[r+5]>>6&1&&(r+=10),r+=10,n=r+n;r+10<n;){var a=t.getFrameData_(e.subarray(r)),o=t.decodeFrame_(a);o&&i.push(o),r+=a.size+10}t.isFooter_(e,r)&&(r+=10)}return i},shaka.util.Id3Utils.getID3Data=function(e,t){t=void 0===t?0:t;for(var r=shaka.util.Id3Utils,i=t,n=0;r.isHeader_(e,t);)e[t+5]>>6&1&&(n+=10),n+=10,n+=r.readSize_(e,t+6),r.isFooter_(e,t+10)&&(n+=10),t+=n;return 0<n?e.subarray(i,i+n):new Uint8Array([])},goog.exportSymbol("shaka.util.Id3Utils",shaka.util.Id3Utils),goog.exportProperty(shaka.util.Id3Utils,"getID3Data",shaka.util.Id3Utils.getID3Data),goog.exportProperty(shaka.util.Id3Utils,"getID3Frames",shaka.util.Id3Utils.getID3Frames),shaka.util.Id3Utils.UTF8_encoding=3,shaka.util.Mp4BoxParsers=function(){},shaka.util.Mp4BoxParsers.parseTFHD=function(e,t){var r=null,i=null,n=null,a=e.readUint32();return 1&t&&(n=e.readUint64()),2&t&&e.skip(4),8&t&&(r=e.readUint32()),16&t&&(i=e.readUint32()),{trackId:a,defaultSampleDuration:r,defaultSampleSize:i,baseDataOffset:n}},shaka.util.Mp4BoxParsers.parseTFDT=function(e,t){return{baseMediaDecodeTime:1==t?e.readUint64():e.readUint32()}},shaka.util.Mp4BoxParsers.parseTFDTInaccurate=function(e,t){return 1==t?{baseMediaDecodeTime:0x100000000*(t=e.readUint32())+(e=e.readUint32())}:{baseMediaDecodeTime:e.readUint32()}},shaka.util.Mp4BoxParsers.parsePRFTInaccurate=function(e,t){e.readUint32();var r=e.readUint32();return r=1e3*r+e.readUint32()/0x100000000*1e3,{mediaTime:e=0===t?e.readUint32():0x100000000*(t=e.readUint32())+(e=e.readUint32()),ntpTimestamp:r}},shaka.util.Mp4BoxParsers.parseMDHD=function(e,t){return 1==t?(e.skip(8),e.skip(8)):(e.skip(4),e.skip(4)),t=e.readUint32(),e.skip(4),{timescale:t,language:e=String.fromCharCode(((e=e.readUint16())>>10)+96)+String.fromCharCode(((960&e)>>5)+96)+String.fromCharCode((31&e)+96)}},shaka.util.Mp4BoxParsers.parseTREX=function(e){return e.skip(4),e.skip(4),{defaultSampleDuration:e.readUint32(),defaultSampleSize:e=e.readUint32()}},shaka.util.Mp4BoxParsers.parseTRUN=function(e,t,r){var i=e.readUint32(),n=[],a=null;1&r&&(a=e.readInt32()),4&r&&e.skip(4);for(var o=0;o<i;o++){var s={sampleDuration:null,sampleSize:null,sampleCompositionTimeOffset:null};256&r&&(s.sampleDuration=e.readUint32()),512&r&&(s.sampleSize=e.readUint32()),1024&r&&e.skip(4),2048&r&&(s.sampleCompositionTimeOffset=0==t?e.readUint32():e.readInt32()),n.push(s)}return{sampleCount:i,sampleData:n,dataOffset:a}},shaka.util.Mp4BoxParsers.parseTKHD=function(e,t){1==t?(e.skip(8),e.skip(8)):(e.skip(4),e.skip(4));var r=e.readUint32();return 1==t?e.skip(8):e.skip(4),e.skip(4),e.skip(8),e.skip(2),e.skip(2),e.skip(2),e.skip(2),e.skip(36),{trackId:r,width:t=e.readUint16()+e.readUint16()/16,height:e=e.readUint16()+e.readUint16()/16}},shaka.util.Mp4BoxParsers.visualSampleEntry=function(e){e.skip(24);var t=e.readUint16(),r=e.readUint16();return e.skip(50),{width:t,height:r}},shaka.util.Mp4BoxParsers.audioSampleEntry=function(e){e.skip(6),e.skip(2),e.skip(8);var t=e.readUint16();return e.skip(2),e.skip(2),e.skip(2),{channelCount:t,sampleRate:e=e.readUint16()+e.readUint16()/65536}},shaka.util.Mp4BoxParsers.parseESDS=function(e){for(var t,r,i="mp4a";e.hasMoreData();){t=e.readUint8();for(var n=e.readUint8();128&n;)n=e.readUint8();if(3==t)e.readUint16(),128&(n=e.readUint8())&&e.readUint16(),64&n&&e.skip(e.readUint8()),32&n&&e.readUint16();else if(4==t)r=e.readUint8(),e.skip(12);else if(5==t)break}return r&&(i+="."+shaka.util.Mp4BoxParsers.toHex_(r),5==t&&e.hasMoreData()&&(31==(r=(248&(t=e.readUint8()))>>3)&&e.hasMoreData()&&(r=32+((7&t)<<3)+((224&e.readUint8())>>5)),i+="."+r)),{codec:i}}
1,shaka.util.Mp4BoxParsers.parseAVCC=function(e,t,r){return r=shaka.util.Mp4BoxParsers,t.skip(1),{codec:e+"."+r.toHex_(t.readUint8())+r.toHex_(t.readUint8())+r.toHex_(t.readUint8())}},shaka.util.Mp4BoxParsers.parseHVCC=function(e,t,r){var i=shaka.util.Mp4BoxParsers;t.skip(1);var n=["","A","B","C"][(r=t.readUint8())>>6],a=31&r,o=t.readUint32(),s=(32&r)>>5?"H":"L";for(r=[t.readUint8(),t.readUint8(),t.readUint8(),t.readUint8(),t.readUint8(),t.readUint8()],t=t.readUint8(),e=e+"."+n+a+"."+i.toHex_(i.reverseBits_(o),!0)+("."+s)+t,t="",i=r.length;i--;)((n=r[i])||t)&&(t="."+n.toString(16).toUpperCase()+t);return{codec:e+=t}},shaka.util.Mp4BoxParsers.parseDVCC=function(e,t,r){r=shaka.util.Mp4BoxParsers,t.skip(2);var i=t.readUint8();return t=i<<5&32|(t=t.readUint8())>>3&31,{codec:e+"."+r.addLeadingZero_(i>>1&127)+"."+r.addLeadingZero_(t)}},shaka.util.Mp4BoxParsers.parseDVVC=function(e,t,r){r=shaka.util.Mp4BoxParsers,t.skip(2);var i=t.readUint8();return t=i<<5&32|(t=t.readUint8())>>3&31,{codec:e+"."+r.addLeadingZero_(i>>1&127)+"."+r.addLeadingZero_(t)}},shaka.util.Mp4BoxParsers.parseVPCC=function(e,t,r){r=shaka.util.Mp4BoxParsers;var i=t.readUint8(),n=t.readUint8();return t=t.readUint8()>>4&15,{codec:e+"."+r.addLeadingZero_(i)+"."+r.addLeadingZero_(n)+"."+r.addLeadingZero_(t)}},shaka.util.Mp4BoxParsers.parseAV1C=function(e,t,r){r=shaka.util.Mp4BoxParsers,t.skip(1);var i=t.readUint8(),n=t.readUint8(),a=n>>>7?"H":"M",o=(64&n)>>6;o=2==(t=i>>>5)&&o?(32&n)>>5?12:10:o?10:8;var s=(16&n)>>4,l=(8&n)>>3,u=(4&n)>>2;return n&=3,{codec:e+"."+t+"."+r.addLeadingZero_(31&i)+a+"."+r.addLeadingZero_(o)+"."+s+"."+l+u+n+"."+r.addLeadingZero_(1)+"."+r.addLeadingZero_(1)+"."+r.addLeadingZero_(1)+".0"}},shaka.util.Mp4BoxParsers.parseFRMA=function(e){return e=e.readUint32(),{codec:shaka.util.Mp4Parser.typeToString(e)}},shaka.util.Mp4BoxParsers.parseTENC=function(e){var t=shaka.util.Uint8ArrayUtils;return e.readUint8(),e.readUint8(),e.readUint8(),e.readUint8(),{defaultKID:t.toHex(e.readBytes(16))}},shaka.util.Mp4BoxParsers.parseHDLR=function(e){return e.skip(8),{handlerType:e.readTerminatedString()}},shaka.util.Mp4BoxParsers.parsePRJI=function(e){return{projection:e.readTerminatedString()}},shaka.util.Mp4BoxParsers.parseHFOV=function(e){return{hfov:e.readUint32()/1e3}},shaka.util.Mp4BoxParsers.parseCOLR=function(e){var t=null,r=null,i=e.readBytes(4),n=""+String.fromCharCode(i[0]);if(n+=String.fromCharCode(i[1]),n+=String.fromCharCode(i[2]),"nclx"===(n+=String.fromCharCode(i[3]))){switch(e.readUint16()){case 1:case 5:case 6:case 7:t="srgb";break;case 9:t="rec2020";break;case 11:case 12:t="p3"}switch(i=e.readUint16(),e.readUint16(),i){case 1:case 6:case 13:case 14:case 15:r="SDR";break;case 16:r="PQ";break;case 18:r="HLG"}}return{colorGamut:t,videoRange:r}},shaka.util.Mp4BoxParsers.updateAV1CodecWithCOLRBox=function(e,t){var r=shaka.util.Mp4BoxParsers,i=t.getPosition(),n=t.readBytes(4),a=""+String.fromCharCode(n[0]);if(a+=String.fromCharCode(n[1]),a+=String.fromCharCode(n[2]),"nclx"===(a+=String.fromCharCode(n[3]))){n=t.readUint16(),a=t.readUint16();var o=t.readUint16(),s=t.readUint8()>>7,l=e.split(".");10==l.length&&(l[6]=r.addLeadingZero_(n),l[7]=r.addLeadingZero_(a),l[8]=r.addLeadingZero_(o),l[9]=String(s),e=l.join("."))}return t.seek(i),e},shaka.util.Mp4BoxParsers.toHex_=function(e,t){return t=void 0!==t&&t,e=e.toString(16).toUpperCase(),t?e:("0"+e).slice(-2)},shaka.util.Mp4BoxParsers.reverseBits_=function(e){for(var t=0,r=0;32>r&&(t|=1&e,31!=r);r++)t<<=1,e>>=1;return t},shaka.util.Mp4BoxParsers.addLeadingZero_=function(e){return(10>e?"0":"")+e},shaka.util.ExpGolomb=function(e,t){this.data_=e,(void 0===t?0:t)&&(this.data_=this.ebsp2rbsp_(e)),this.workingBytesAvailable_=this.data_.byteLength,this.workingBitsAvailable_=this.workingWord_=0},shaka.util.ExpGolomb.prototype.ebsp2rbsp_=function(e){for(var t=new Uint8Array(e.byteLength),r=0,i=0;i<e.byteLength;i++)2<=i&&3==e[i]&&0==e[i-1]&&0==e[i-2]||(t[r]=e[i],r++);return shaka.util.BufferUtils.toUint8(t,0,r)},shaka.util.ExpGolomb.prototype.loadWord_=function(){var e=this.data_.byteLength-this.workingBytesAvailable_,t=new Uint8Array(4),r=Math.min(4,this.workingBytesAvailable_);0!==r&&(t.set(this.data_.subarray(e,e+r)),this.workingWord_=new shaka.util.DataViewReader(t,shaka.util.DataViewReader.Endianness.BIG_ENDIAN).readUint32(),this.workingBitsAvailable_=8*r,this.workingBytesAvailable_-=r)},shaka.util.ExpGolomb.prototype.skipBits=function(e){if(this.workingBitsAvailable_<=e){var t=Math.floor((e-=this.workingBitsAvailable_)/8);e-=8*t,this.workingBitsAvailable_-=t,this.loadWord_()}this.workingWord_<<=e,this.workingBitsAvailable_-=e},shaka.util.ExpGolomb.prototype.readBits=function(e){var t=Math.min(this.workingBitsAvailable_,e),r=this.workingWord_>>>32-t;return this.workingBitsAvailable_-=t,0<this.workingBitsAvailable_?this.workingWord_<<=t:0<this.workingBytesAvailable_&&this.loadWord_(),0<(t=e-t)?r<<t|this.readBits(t):r},shaka.util.ExpGolomb.prototype.skipLeadingZeros_=function(){var e;
1for(e=0;e<this.workingBitsAvailable_;++e)if(0!=(this.workingWord_&0x80000000>>>e))return this.workingWord_<<=e,this.workingBitsAvailable_-=e,e;return this.loadWord_(),e+this.skipLeadingZeros_()},shaka.util.ExpGolomb.prototype.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros_())},shaka.util.ExpGolomb.prototype.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros_();return this.readBits(e+1)-1},shaka.util.ExpGolomb.prototype.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},shaka.util.ExpGolomb.prototype.readBoolean=function(){return 1===this.readBits(1)},shaka.util.ExpGolomb.prototype.readUnsignedByte=function(){return this.readBits(8)},shaka.util.ExpGolomb.prototype.skipScalingList=function(e){for(var t=8,r=8,i=0;i<e;i++)0!==r&&(r=(t+(r=this.readExpGolomb())+256)%256),t=0===r?t:r},shaka.util.ExpGolomb.prototype.readSliceType=function(){return this.readUnsignedByte(),this.readUnsignedExpGolomb(),this.readUnsignedExpGolomb()},goog.exportSymbol("shaka.util.ExpGolomb",shaka.util.ExpGolomb),shaka.util.TsParser=function(){this.pmtId_=null,this.pmtParsed_=!1,this.videoCodec_=this.videoPid_=null,this.videoData_=[],this.videoPes_=[],this.audioCodec_=this.audioPid_=null,this.audioData_=[],this.audioPes_=[],this.id3Pid_=null,this.id3Data_=[],this.opusMetadata_=this.referenceDts_=this.referencePts_=null},shaka.util.TsParser.prototype.clearData=function(){this.videoData_=[],this.videoPes_=[],this.audioData_=[],this.audioPes_=[],this.id3Data_=[]},shaka.util.TsParser.prototype.parse=function(e){var t=shaka.util.TsParser.PacketLength_;if(e.length<3*t)return this;for(var r=Math.max(0,shaka.util.TsParser.syncOffset(e)),i=e.length-(e.length+r)%t,n=!1,a=r;a<i;a+=t)if(71==e[a]){var o=!!(64&e[a+1]),s=((31&e[a+1])<<8)+e[a+2];if(1<(48&e[a+3])>>4){var l=a+5+e[a+4];if(l==a+t)continue}else l=a+4;switch(s){case 0:o&&(l+=e[l]+1),this.pmtId_=this.getPmtId_(e,l);break;case 17:case 8191:break;case this.pmtId_:o&&(l+=e[l]+1),-1!=(o=this.parsePMT_(e,l)).video&&(this.videoPid_=o.video,this.videoCodec_=o.videoCodec),-1!=o.audio&&(this.audioPid_=o.audio,this.audioCodec_=o.audioCodec),-1!=o.id3&&(this.id3Pid_=o.id3),n&&!this.pmtParsed_&&(shaka.log.debug("reparse from beginning"),n=!1,a=r-t),this.pmtParsed_=!0;break;case this.videoPid_:s=e.subarray(l,a+t),o?this.videoData_.push([s]):this.videoData_.length&&this.videoData_[this.videoData_.length-1]&&this.videoData_[this.videoData_.length-1].push(s);break;case this.audioPid_:s=e.subarray(l,a+t),o?this.audioData_.push([s]):this.audioData_.length&&this.audioData_[this.audioData_.length-1]&&this.audioData_[this.audioData_.length-1].push(s);break;case this.id3Pid_:s=e.subarray(l,a+t),o?this.id3Data_.push([s]):this.id3Data_.length&&this.id3Data_[this.id3Data_.length-1]&&this.id3Data_[this.id3Data_.length-1].push(s);break;default:n=!0}}else shaka.log.warning("Found TS packet that do not start with 0x47");return this},shaka.util.TsParser.prototype.getPmtId_=function(e,t){return(31&e[t+10])<<8|e[t+11]},shaka.util.TsParser.prototype.parsePMT_=function(e,t){var r=shaka.util.StringUtils,i={audio:-1,video:-1,id3:-1,audioCodec:"",videoCodec:""},n=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t<n;){var a=(31&e[t+1])<<8|e[t+2],o=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 6:if(0<o)for(var s=t+5,l=o;2<l;){var u=e[s+1]+2;switch(e[s]){case 5:var d=e.subarray(s+2,s+u);d=r.fromCharCode(d),-1==i.audio&&"Opus"===d?(i.audio=a,i.audioCodec="opus"):-1==i.video&&"AV01"===d&&(i.video=a,i.videoCodec="av1");break;case 106:-1==i.audio&&(i.audio=a,i.audioCodec="ac3");break;case 122:-1==i.audio&&(i.audio=a,i.audioCodec="ec3");break;case 124:-1==i.audio&&(i.audio=a,i.audioCodec="aac");break;case 127:"opus"==i.audioCodec&&(d=null,128===e[s+2]&&(d=e[s+3]),null!=d&&(this.opusMetadata_={channelCount:0==(15&d)?2:15&d,channelConfigCode:d,sampleRate:48e3}))}s+=u,l-=u}break;case 15:-1==i.audio&&(i.audio=a,i.audioCodec="aac");break;case 17:-1==i.audio&&(i.audio=a,i.audioCodec="aac-loas");break;case 21:-1==i.id3&&(i.id3=a);break;case 27:-1==i.video&&(i.video=a,i.videoCodec="avc");break;case 3:case 4:-1==i.audio&&(i.audio=a,i.audioCodec="mp3");break;case 36:-1==i.video&&(i.video=a,i.videoCodec="hvc");break;case 129:-1==i.audio&&(i.audio=a,i.audioCodec="ac3");break;case 132:case 135:-1==i.audio&&(i.audio=a,i.audioCodec="ec3")}t+=o+5}return i},shaka.util.TsParser.prototype.parsePES_=function(e){if(1!=(e[0]<<16|e[1]<<8|e[2]))return null;var t={data:new Uint8Array(0),packetLength:e[4]<<8|e[5],pts:null,dts:null,nalus:[]};if(t.packetLength&&t.packetLength>e.byteLength-6)return null;var r=e[7];if(192&r){var i=0x20000000*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2;null==this.referencePts_&&(this.referencePts_=i),t.pts=this.handleRollover_(i,this.referencePts_),this.referencePts_=t.pts,t.dts=t.pts,64&r&&(r=0x20000000*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,null==this.referenceDts_&&(this.referenceDts_=r),t.dts=this.handleRollover_(r,this.referenceDts_)),this.referenceDts_=t.dts}return(r=e[8]+9,e.byteLength<=r)?null:(t.data=e.subarray(r),t)},shaka.util.TsParser.prototype.parseAvcNalus=function(e,t){return shaka.Deprecate.deprecateFeature
1(5,"TsParser.parseAvcNalus","Please use parseNalus function instead."),this.parseNalus(e,{nalu:null,state:null})},shaka.util.TsParser.prototype.parseNalus=function(e,t){var r=shaka.util.TsParser.Timescale,i=e.pts?e.pts/r:null,n=(e=e.data).byteLength,a=1;"hvc"==this.videoCodec_&&(a=2);var o=t.state||0,s=o,l=0;r=[];var u=-1,d=0;for(-1==o&&(u=0,d="hvc"==this.videoCodec_?e[0]>>1&63:31&e[0],o=0,l=1);l<n;){var c=e[l++];o?1===o?o=2*!c:c?1==c?(c=l-o-1,0<=u?(o={data:e.subarray(u+a,c),fullData:e.subarray(u,c),type:d,time:i,state:null},r.push(o)):(o=r.length?r[r.length-1]:t.nalu)&&(s&&l<=4-s&&o.state&&(o.data=o.data.subarray(0,o.data.byteLength-s),o.fullData=o.fullData.subarray(0,o.fullData.byteLength-s)),0<c&&(c=e.subarray(0,c),o.data=shaka.util.Uint8ArrayUtils.concat(o.data,c),o.fullData=shaka.util.Uint8ArrayUtils.concat(o.fullData,c),o.state=0)),l<n?(d="hvc"==this.videoCodec_?e[l]>>1&63:31&e[l],u=l,o=0):o=-1):o=0:o=3:o=+!c}return 0<=u&&0<=o&&(i={data:e.subarray(u+a,n),fullData:e.subarray(u,n),type:d,time:i,state:o},r.push(i)),!r.length&&t.nalu&&(i=r.length?r[r.length-1]:t.nalu)&&(i.data=shaka.util.Uint8ArrayUtils.concat(i.data,e),i.fullData=shaka.util.Uint8ArrayUtils.concat(i.fullData,e)),t.state=o,r},shaka.util.TsParser.prototype.getMetadata=function(){for(var e=shaka.util.TsParser.Timescale,t=[],r=$jscomp.makeIterator(this.id3Data_),i=r.next();!i.done;i=r.next())i=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(i.value)),(i=this.parsePES_(i))&&t.push({cueTime:i.pts?i.pts/e:null,data:i.data,frames:shaka.util.Id3Utils.getID3Frames(i.data),dts:i.dts,pts:i.pts});return t},shaka.util.TsParser.prototype.getAudioData=function(){if(this.audioData_.length&&!this.audioPes_.length){for(var e=!1,t=$jscomp.makeIterator(this.audioData_),r=t.next();!r.done;r=t.next()){var i=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(r.value)),n=this.parsePES_(i);r=this.audioPes_.length?this.audioPes_[this.audioPes_.length-1]:null,n&&null!=n.pts&&null!=n.dts&&(!r||r.pts!=n.pts&&r.dts!=n.dts)?(this.audioPes_.length&&n.dts<(r.dts||0)&&(e=!0),this.audioPes_.push(n)):this.audioPes_.length&&(i=n?n.data:i)&&((r=this.audioPes_.pop()).data=shaka.util.Uint8ArrayUtils.concat(r.data,i),this.audioPes_.push(r))}e&&(this.audioPes_=this.audioPes_.sort(function(e,t){var r=(e.pts||0)-(t.pts||0);return(e.dts||0)-(t.dts||0)||r}))}return this.audioPes_},shaka.util.TsParser.prototype.getVideoData=function(e){if(e=void 0===e||e,this.videoData_.length&&!this.videoPes_.length){for(var t=!1,r=$jscomp.makeIterator(this.videoData_),i=r.next();!i.done;i=r.next()){var n=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(i.value)),a=this.parsePES_(n);i=this.videoPes_.length?this.videoPes_[this.videoPes_.length-1]:null,a&&null!=a.pts&&null!=a.dts&&(!i||i.pts!=a.pts&&i.dts!=a.dts)?(this.videoPes_.length&&a.dts<(i.dts||0)&&(t=!0),this.videoPes_.push(a)):this.videoPes_.length&&(n=a?a.data:n)&&((i=this.videoPes_.pop()).data=shaka.util.Uint8ArrayUtils.concat(i.data,n),this.videoPes_.push(i))}if(e){for(r={nalu:null,state:null},i=[],a=(n=$jscomp.makeIterator(this.videoPes_)).next();!a.done;a=n.next())(a=a.value).nalus=this.parseNalus(a,r),a.nalus.length&&(i.push(a),r.nalu=a.nalus[a.nalus.length-1]);this.videoPes_=i}t&&(this.videoPes_=this.videoPes_.sort(function(e,t){var r=(e.pts||0)-(t.pts||0);return(e.dts||0)-(t.dts||0)||r}))}return e?this.videoPes_:(e=this.videoPes_,this.videoPes_=[],e)},shaka.util.TsParser.prototype.getStartTime=function(e){var t=shaka.util.TsParser.Timescale;if("audio"==e){e=null;var r=this.getAudioData();return r.length&&(e=Math.min((e=r[0]).dts,e.pts)/t),e}return"video"==e?(e=null,(r=this.getVideoData(!1)).length&&(e=Math.min((e=r[0]).dts,e.pts)/t),e):null},shaka.util.TsParser.prototype.getCodecs=function(){return{audio:this.audioCodec_,video:this.videoCodec_}},shaka.util.TsParser.prototype.getVideoNalus=function(){for(var e=[],t=$jscomp.makeIterator(this.getVideoData()),r=t.next();!r.done;r=t.next())e.push.apply(e,$jscomp.arrayFromIterable(r.value.nalus));return e},shaka.util.TsParser.prototype.getVideoResolution=function(){shaka.Deprecate.deprecateFeature
1(5,"TsParser.getVideoResolution","Please use getVideoInfo function instead.");var e=this.getVideoInfo();return{height:e.height,width:e.width}},shaka.util.TsParser.prototype.getVideoInfo=function(){return"hvc"==this.videoCodec_?this.getHvcInfo_():this.getAvcInfo_()},shaka.util.TsParser.prototype.getFrameRate_=function(){var e=shaka.util.TsParser.Timescale,t=this.getVideoData();if(1<t.length){var r=t[0].pts;if(goog.asserts.assert("number"==typeof r,"Should be an number!"),t=t[1].pts,goog.asserts.assert("number"==typeof t,"Should be an number!"),!isNaN(t-r))return String(1/(t-r)*e)}return null},shaka.util.TsParser.prototype.getAvcInfo_=function(){var e=shaka.util.TsParser,t={height:null,width:null,codec:null,frameRate:null},r=this.getVideoNalus();if(!r.length||!(r=r.find(function(t){return t.type==e.H264_NALU_TYPE_SPS_})))return t;var i=(r=new shaka.util.ExpGolomb(r.data)).readUnsignedByte(),n=r.readUnsignedByte(),a=r.readUnsignedByte();if(r.skipExpGolomb(),e.PROFILES_WITH_OPTIONAL_SPS_DATA_.includes(i)){var o=r.readUnsignedExpGolomb();if(3===o&&r.skipBits(1),r.skipExpGolomb(),r.skipExpGolomb(),r.skipBits(1),r.readBoolean()){o=3!==o?8:12;for(var s=0;s<o;s++)r.readBoolean()&&(6>s?r.skipScalingList(16):r.skipScalingList(64))}}if(r.skipExpGolomb(),0===(o=r.readUnsignedExpGolomb()))r.readUnsignedExpGolomb();else if(1===o)for(r.skipBits(1),r.skipExpGolomb(),r.skipExpGolomb(),o=r.readUnsignedExpGolomb(),s=0;s<o;s++)r.skipExpGolomb();r.skipExpGolomb(),r.skipBits(1),o=r.readUnsignedExpGolomb(),s=r.readUnsignedExpGolomb();var l=r.readBits(1);0===l&&r.skipBits(1),r.skipBits(1);var u=0,d=0,c=0,p=0;return r.readBoolean()&&(u=r.readUnsignedExpGolomb(),d=r.readUnsignedExpGolomb(),c=r.readUnsignedExpGolomb(),p=r.readUnsignedExpGolomb()),t.height=String((2-l)*(s+1)*16-2*c-2*p),t.width=String(16*(o+1)-2*u-2*d),t.codec="avc1."+this.byteToHex_(i)+this.byteToHex_(n)+this.byteToHex_(a),t.frameRate=this.getFrameRate_(),t},shaka.util.TsParser.prototype.getHvcInfo_=function(){var e=shaka.util.TsParser,t={height:null,width:null,codec:null,frameRate:null},r=this.getVideoNalus();if(!r.length||!(r=r.find(function(t){return t.type==e.H265_NALU_TYPE_SPS_})))return t;var i=new shaka.util.ExpGolomb(r.fullData,!0);i.readUnsignedByte(),i.readUnsignedByte(),i.readBits(4);var n=i.readBits(3);i.readBoolean();var a=i.readBits(2),o=i.readBits(1),s=i.readBits(5),l=i.readBits(32);r=i.readUnsignedByte();for(var u=i.readUnsignedByte(),d=i.readUnsignedByte(),c=i.readUnsignedByte(),p=i.readUnsignedByte(),m=i.readUnsignedByte(),f=i.readUnsignedByte(),g=[],h=[],y=0;y<n;y++)g.push(i.readBoolean()),h.push(i.readBoolean());if(0<n)for(y=n;8>y;y++)i.readBits(2);for(y=0;y<n;y++)g[y]&&i.readBits(88),h[y]&&i.readUnsignedByte();i.readUnsignedExpGolomb(),3==(n=i.readUnsignedExpGolomb())&&i.readBits(1),g=i.readUnsignedExpGolomb(),h=i.readUnsignedExpGolomb();var _=y=0,S=0,v=0;return i.readBoolean()&&(y+=i.readUnsignedExpGolomb(),_+=i.readUnsignedExpGolomb(),S+=i.readUnsignedExpGolomb(),v+=i.readUnsignedExpGolomb()),t.width=String(g-(y+_)*(1===n||2===n?2:1)),t.height=String(h-(S+v)*(1===n?2:1)),i=["","A","B","C"][a],l=function(e){for(var t=0,r=0;32>r;r++)t|=(e>>r&1)<<31-r;return t>>>0}(l),o=1==o?"H":"L",s="hvc1."+i+s+"."+l.toString(16).toUpperCase()+("."+o)+f,m&&(s+="."+m.toString(16).toUpperCase()),p&&(s+="."+p.toString(16).toUpperCase()),c&&(s+="."+c.toString(16).toUpperCase()),d&&(s+="."+d.toString(16).toUpperCase()),u&&(s+="."+u.toString(16).toUpperCase()),r&&(s+="."+r.toString(16).toUpperCase()),t.codec=s,t.frameRate=this.getFrameRate_(),t},shaka.util.TsParser.prototype.getOpusMetadata=function(){return this.opusMetadata_},shaka.util.TsParser.prototype.byteToHex_=function(e){return("0"+e.toString(16).toUpperCase()).slice(-2)},shaka.util.TsParser.prototype.handleRollover_=function(e,t){var r=1;for(e>t&&(r=-1);0x100000000<Math.abs(t-e);)e+=0x200000000*r;return e},shaka.util.TsParser.probe=function(e){return!(0>(e=shaka.util.TsParser.syncOffset(e)))&&(0<e&&shaka.log.warning("MPEG2-TS detected but first sync word found @ offset "+e+", junk ahead ?"),!0)},shaka.util.TsParser.syncOffset=function(e){for(var t=shaka.util.TsParser.PacketLength_,r=Math.min(1e3,e.length-3*t),i=0;i<r;){if(71==e[i]&&71==e[i+t]&&71==e[i+2*t])return i;i++}return -1},goog.exportSymbol("shaka.util.TsParser",shaka.util.TsParser),goog.exportProperty(shaka.util.TsParser,"syncOffset",shaka.util.TsParser.syncOffset),goog.exportProperty(shaka.util.TsParser,"probe",shaka.util.TsParser.probe),goog.exportProperty(shaka.util.TsParser.prototype,"getVideoInfo",shaka.util.TsParser.prototype.getVideoInfo),goog.exportProperty(shaka.util.TsParser.prototype,"getVideoResolution",shaka.util.TsParser.prototype.getVideoResolution),goog.exportProperty(shaka.util.TsParser.prototype,"getVideoNalus",shaka.util.TsParser.prototype.getVideoNalus),goog.exportProperty(shaka.util.TsParser.prototype,"getCodecs",shaka.util.TsParser.prototype.getCodecs),goog.exportProperty(shaka.util.TsParser.prototype,"getStartTime",shaka.util.TsParser.prototype.getStartTime),goog.exportProperty(shaka.util.TsParser.prototype,"getVideoData",
1shaka.util.TsParser.prototype.getVideoData),goog.exportProperty(shaka.util.TsParser.prototype,"getAudioData",shaka.util.TsParser.prototype.getAudioData),goog.exportProperty(shaka.util.TsParser.prototype,"getMetadata",shaka.util.TsParser.prototype.getMetadata),goog.exportProperty(shaka.util.TsParser.prototype,"parseNalus",shaka.util.TsParser.prototype.parseNalus),goog.exportProperty(shaka.util.TsParser.prototype,"parseAvcNalus",shaka.util.TsParser.prototype.parseAvcNalus),goog.exportProperty(shaka.util.TsParser.prototype,"parse",shaka.util.TsParser.prototype.parse),goog.exportProperty(shaka.util.TsParser.prototype,"clearData",shaka.util.TsParser.prototype.clearData),shaka.util.TsParser.Timescale=9e4,goog.exportProperty(shaka.util.TsParser,"Timescale",shaka.util.TsParser.Timescale),shaka.util.TsParser.PacketLength_=188,shaka.util.TsParser.H264_NALU_TYPE_SPS_=7,shaka.util.TsParser.H265_NALU_TYPE_SPS_=33,shaka.util.TsParser.PROFILES_WITH_OPTIONAL_SPS_DATA_=[100,110,122,244,44,83,86,118,128,138,139,134],shaka.lcevc={},shaka.lcevc.Dec=function(e,t,r){this.dec_=null,this.variantId_=-1,this.media_=e,this.canvas_=t,this.decConfig_=r,this.toBeDeprecated_=!1,this.create_()},shaka.lcevc.Dec.prototype.appendBuffer=function(e,t){this.dec_&&this.dec_.appendBuffer(e,"video",this.variantId_,-t)},shaka.lcevc.Dec.prototype.hideCanvas=function(){this.dec_&&this.canvas_.classList.add("shaka-hidden")},shaka.lcevc.Dec.prototype.create_=function(){this.isSupported_()&&!this.dec_&&this.lcevcLib_.SupportObject.webGLSupport(this.canvas_)&&(this.canvas_.classList.remove("shaka-hidden"),this.dec_=this.toBeDeprecated_?new this.lcevcLib_.LcevcDil(this.media_,this.canvas_,this.decConfig_):new this.lcevcLib_.LCEVCdec(this.media_,this.canvas_,this.decConfig_))},shaka.lcevc.Dec.prototype.release=function(){this.dec_&&(this.dec_.close(),this.dec_=null)},shaka.lcevc.Dec.prototype.isSupported_=function(){if("u"<typeof libDPIModule&&shaka.log.alwaysWarn("Could not find LCEVC Library dependencies on this page"),"u">typeof LCEVCdec)this.lcevcLib_=LCEVCdec;else{if(!("u">typeof LcevcDil))return shaka.log.alwaysWarn("Could not find LCEVC Library on this page"),!1;this.lcevcLib_=LcevcDil,this.toBeDeprecated_=!0,shaka.Deprecate.deprecateFeature(5,"LcevcDil","lcevc_dil.js is deprecated, please use lcevc_dec.js instead")}return void 0===this.lcevcLib_.SupportObject?(shaka.log.alwaysWarn("Could not find LCEVC Library on this page"),!1):(this.lcevcLib_.SupportObject.SupportStatus||shaka.log.alwaysWarn(this.lcevcLib_.SupportObject.SupportError),void 0!==this.lcevcLib_&&"u">typeof libDPIModule&&this.canvas_ instanceof HTMLCanvasElement&&this.lcevcLib_.SupportObject.SupportStatus)},shaka.lcevc.Dec.prototype.updateVariant=function(e,t){var r=shaka.lcevc.Dec.ContainerFormat.MPEG2_TS,i=shaka.lcevc.Dec.StreamingFormat.OTHER;switch(e.mimeType){case"video/webm":r=shaka.lcevc.Dec.ContainerFormat.WEBM;break;case"video/mp4":r=shaka.lcevc.Dec.ContainerFormat.MP4}switch(t){case"DASH":i=shaka.lcevc.Dec.StreamingFormat.DASH;break;case"HLS":i=shaka.lcevc.Dec.StreamingFormat.HLS}this.dec_&&(this.variantId_=e.id,this.dec_.setLevelSwitching(e.id,!0),this.dec_.setContainerFormat(r),this.toBeDeprecated_||this.dec_.setStreamingFormat(i))},goog.exportSymbol("shaka.lcevc.Dec",shaka.lcevc.Dec),goog.exportProperty(shaka.lcevc.Dec.prototype,"release",shaka.lcevc.Dec.prototype.release),shaka.lcevc.Dec.ContainerFormat={MPEG2_TS:0,WEBM:1,MP4:2},shaka.lcevc.Dec.StreamingFormat={HLS:0,DASH:1,OTHER:-1},shaka.media.MediaSourceEngine=function(e,t,r,i){var n=this;this.video_=e,this.playerInterface_=r,this.config_=null,this.textDisplayer_=t,this.sourceBuffers_=new Map,this.sourceBufferTypes_=new Map,this.expectedEncryption_=new Map,this.textEngine_=null,this.segmentRelativeVttTiming_=!1,this.lcevcDec_=i||null,this.queues_=new Map,this.eventManager_=new shaka.util.EventManager,this.transmuxers_=new Map,this.captionParser_=null,this.mediaSourceOpen_=new shaka.util.PublicPromise,this.url_="",this.playbackHasBegun_=!1,this.streamingAllowed_=!0,this.usingRemotePlayback_=!1,this.secondarySource_=this.source_=null,this.mediaSource_=this.createMediaSource(this.mediaSourceOpen_),this.reloadingMediaSource_=!1,this.destroyer_=new shaka.util.Destroyer(function(){return n.doDestroy_()}),this.sequenceMode_=!1,this.manifestType_=shaka.media.ManifestParser.UNKNOWN,this.attemptTimestampOffsetCalculation_=this.ignoreManifestTimestampsInSegmentsMode_=!1,this.textSequenceModeOffset_=new shaka.util.PublicPromise,this.needSplitMuxedContent_=!1,this.lastDuration_=null,this.tsParsers_=new Map,this.firstAudioReferenceStartTime_=this.firstAudioTimestamp_=this.first
1VideoReferenceStartTime_=this.firstVideoTimestamp_=null,this.audioCompensation_=new shaka.util.PublicPromise,this.video_.remote&&(this.usingRemotePlayback_="disconnected"!=this.video_.remote.state,this.eventManager_.listen(this.video_.remote,"connect",function(){n.usingRemotePlayback_="disconnected"!=n.video_.remote.state}),this.eventManager_.listen(this.video_.remote,"connecting",function(){n.usingRemotePlayback_="disconnected"!=n.video_.remote.state}),this.eventManager_.listen(this.video_.remote,"disconnect",function(){n.usingRemotePlayback_="disconnected"!=n.video_.remote.state}))},shaka.media.MediaSourceEngine.prototype.createMediaSource=function(e){var t=this;if(this.streamingAllowed_=!0,window.ManagedMediaSource){this.secondarySource_||(this.video_.disableRemotePlayback=!0);var r=new ManagedMediaSource;this.eventManager_.listen(r,"startstreaming",function(){shaka.log.info("MMS startstreaming"),t.streamingAllowed_=!0}),this.eventManager_.listen(r,"endstreaming",function(){shaka.log.info("MMS endstreaming"),t.streamingAllowed_=!1})}else r=new MediaSource;return this.eventManager_.listenOnce(r,"sourceopen",function(){return t.onSourceOpen_(e)}),this.eventManager_.listenOnce(this.video_,"playing",function(){t.playbackHasBegun_=!0}),this.url_=shaka.media.MediaSourceEngine.createObjectURL(r),this.video_.removeAttribute("src"),this.source_&&this.video_.removeChild(this.source_),this.secondarySource_&&this.video_.removeChild(this.secondarySource_),this.source_=shaka.util.Dom.createSourceElement(this.url_),this.video_.appendChild(this.source_),this.secondarySource_&&this.video_.appendChild(this.secondarySource_),this.video_.load(),r},shaka.media.MediaSourceEngine.prototype.addSecondarySource=function(e,t){this.video_&&window.ManagedMediaSource&&this.mediaSource_?(this.secondarySource_&&this.video_.removeChild(this.secondarySource_),this.secondarySource_=shaka.util.Dom.createSourceElement(e,t),this.video_.appendChild(this.secondarySource_),this.video_.disableRemotePlayback=!1):shaka.log.warning("Secondary source is used only with ManagedMediaSource")},shaka.media.MediaSourceEngine.prototype.onSourceOpen_=function(e){goog.asserts.assert(this.url_,"Must have object URL"),URL.revokeObjectURL(this.url_),e.resolve()},shaka.media.MediaSourceEngine.probeSupport=function(){var e='video/mp4; codecs="avc1.42E01E",video/mp4; codecs="avc3.42E01E",video/mp4; codecs="hev1.1.6.L93.90",video/mp4; codecs="hvc1.1.6.L93.90",video/mp4; codecs="hev1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="hvc1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="vp9",video/mp4; codecs="vp09.00.10.08",video/mp4; codecs="av01.0.01M.08",video/mp4; codecs="dvh1.05.01",video/mp4; codecs="dvh1.20.01",audio/mp4; codecs="mp4a.40.2",audio/mp4; codecs="ac-3",audio/mp4; codecs="ec-3",audio/mp4; codecs="ac-4.02.01.01",audio/mp4; codecs="opus",audio/mp4; codecs="flac",audio/mp4; codecs="dtsc",audio/mp4; codecs="dtse",audio/mp4; codecs="dtsx",video/webm; codecs="vp8",video/webm; codecs="vp9",video/webm; codecs="vp09.00.10.08",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="avc3.42E01E",video/mp2t; codecs="hvc1.1.6.L93.90",video/mp2t; codecs="mp4a.40.2",video/mp2t; codecs="ac-3",video/mp2t; codecs="ec-3",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"'.split(",").concat($jscomp.arrayFromIterable(shaka.util.MimeUtils.RAW_FORMATS)),t={};e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){r=r.value,shaka.text.TextEngine.isTypeSupported(r)?t[r]=!0:shaka.util.Platform.supportsMediaSource()?t[r]=shaka.media.Capabilities.isTypeSupported(r)||shaka.transmuxer.TransmuxerEngine.isSupported(r):t[r]=shaka.util.Platform.supportsMediaType(r);var i=r.split(";")[0];t[i]=t[i]||t[r]}return t},shaka.media.MediaSourceEngine.prototype.destroy=function(){return this.destroyer_.destroy()},shaka.media.MediaSourceEngine.prototype.doDestroy_=function(){var e,t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(T){if(1==T.nextAddress){for(e=shaka.util.Functional,t=[],i=(r=$jscomp.makeIterator(v.queues_)).next();!i.done;i=r.next())for(n=i.value,o=(a=$jscomp.makeIterator(n)).next().value,l=(s=a.next().value)[0],u=o,v.queues_.set(u,s.slice(0,1)),l&&t.push(l.p.cat
1ch(e.noop)),c=(d=$jscomp.makeIterator(s.slice(1))).next();!c.done;c=d.next())c.value.p.reject(shaka.util.Destroyer.destroyedError());return v.textEngine_&&t.push(v.textEngine_.destroy()),T.yield(Promise.all(t),2)}for(m=(p=$jscomp.makeIterator(v.transmuxers_.values())).next();!m.done;m=p.next())m.value.destroy();if(v.eventManager_&&(v.eventManager_.release(),v.eventManager_=null),v.video_&&v.secondarySource_&&v.video_.removeChild(v.secondarySource_),v.video_&&v.source_&&(v.video_.removeChild(v.source_),v.video_.load(),v.video_.disableRemotePlayback=!1),v.video_=null,v.source_=null,v.secondarySource_=null,v.config_=null,v.mediaSource_=null,v.textEngine_=null,v.textDisplayer_=null,v.sourceBuffers_.clear(),v.expectedEncryption_.clear(),v.transmuxers_.clear(),v.captionParser_=null,goog.DEBUG)for(g=(f=$jscomp.makeIterator(v.queues_)).next();!g.done;g=f.next())h=g.value,_=(y=$jscomp.makeIterator(h)).next().value,S=y.next().value,goog.asserts.assert(0==S.length,_+" queue should be empty after destroy!");v.queues_.clear(),v.lcevcDec_=null,v.tsParsers_.clear(),v.playerInterface_=null,T.jumpToEnd()})},shaka.media.MediaSourceEngine.prototype.open=function(){return this.mediaSourceOpen_},shaka.media.MediaSourceEngine.prototype.init=function(e,t,r,i){t=void 0!==t&&t,r=void 0===r?shaka.media.ManifestParser.UNKNOWN:r,i=void 0!==i&&i;var n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return n=shaka.util.ManifestParserUtils.ContentType,c.yield(d.mediaSourceOpen_,2);if(3!=c.nextAddress)return d.ended()||d.closed()?(shaka.log.alwaysError("Expected MediaSource to be open during init(); reopening the media source."),d.mediaSourceOpen_=new shaka.util.PublicPromise,d.mediaSource_=d.createMediaSource(d.mediaSourceOpen_),c.yield(d.mediaSourceOpen_,3)):c.jumpTo(3);for(d.sequenceMode_=t,d.manifestType_=r,d.ignoreManifestTimestampsInSegmentsMode_=i,d.attemptTimestampOffsetCalculation_=!d.sequenceMode_&&d.manifestType_==shaka.media.ManifestParser.HLS&&!d.ignoreManifestTimestampsInSegmentsMode_,d.tsParsers_.clear(),d.firstVideoTimestamp_=null,d.firstVideoReferenceStartTime_=null,d.firstAudioTimestamp_=null,d.firstAudioReferenceStartTime_=null,d.audioCompensation_=new shaka.util.PublicPromise,o=(a=$jscomp.makeIterator(e.keys())).next();!o.done;o=a.next())s=o.value,l=e.get(s),d.initSourceBuffer_(s,l,l.codecs),d.needSplitMuxedContent_?(d.queues_.set(n.AUDIO,[]),d.queues_.set(n.VIDEO,[])):d.queues_.set(s,[]);(u=e.get(n.AUDIO))&&u.isAudioMuxedInVideo&&(d.needSplitMuxedContent_=!0),c.jumpToEnd()})},shaka.media.MediaSourceEngine.prototype.initSourceBuffer_=function(e,t,r){var i=this,n=shaka.util.ManifestParserUtils.ContentType;e==n.AUDIO&&r&&(r=shaka.util.StreamUtils.getCorrectAudioCodecs(r,t.mimeType));var a=shaka.util.MimeUtils.getFullType(t.mimeType,r);if(e==n.TEXT)this.reinitText(a,this.sequenceMode_,t.external);else{var o=this.config_.forceTransmux;(!shaka.media.Capabilities.isTypeSupported(a)||!this.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(a))&&(o=!0);var s=shaka.util.MimeUtils.getFullTypeWithAllCodecs(t.mimeType,r);if(o){if(o=shaka.util.ManifestParserUtils.guessCodecsSafe(n.AUDIO,(r||"").split(",")),r=shaka.util.ManifestParserUtils.guessCodecsSafe(n.VIDEO,(r||"").split(",")),o&&r){this.needSplitMuxedContent_=!0,this.initSourceBuffer_(n.AUDIO,t,o),this.initSourceBuffer_(n.VIDEO,t,r);return}(n=shaka.transmuxer.TransmuxerEngine.findTransmuxer(s))&&(a=n(),this.transmuxers_.set(e,a),a=a.convertCodecs(e,s))}s=this.addExtraFeaturesToMimeType_(a),this.destroyer_.ensureNotDestroyed();try{var l=this.mediaSource_.addSourceBuffer(s)}catch(e){throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,e,"The mediaSource_ status was "+this.mediaSource_.readyState+" expected 'open'",null)}this.sequenceMode_&&(l.mode=shaka.media.MediaSourceEngine.SourceBufferMode_.SEQUENCE),this.eventManager_.listen(l,"error",function(){return i.onError_(e)}),this.eventManager_.listen(l,"updateend",function(){return i.onUpdateEnd_(e)}),this.sourceBuffers_.set(e,l),this.sourceBufferTypes_.set(e,a),this.expectedEncryption_.set(e,!!t.drmInfos.length)}},shaka.media.MediaSourceEngine.prototype.configure=function(e){this.config_=e,this.textEngine_&&this.textEngine_.
1setModifyCueCallback(e.modifyCueCallback)},shaka.media.MediaSourceEngine.prototype.isStreamingAllowed=function(){return this.streamingAllowed_&&!this.usingRemotePlayback_&&!this.reloadingMediaSource_},shaka.media.MediaSourceEngine.prototype.reinitText=function(e,t,r){this.textEngine_||(this.textEngine_=new shaka.text.TextEngine(this.textDisplayer_),this.textEngine_.setModifyCueCallback(this.config_.modifyCueCallback)),this.textEngine_.initParser(e,t,r||this.segmentRelativeVttTiming_,this.manifestType_)},shaka.media.MediaSourceEngine.prototype.ended=function(){return!this.reloadingMediaSource_&&(!this.mediaSource_||"ended"==this.mediaSource_.readyState)},shaka.media.MediaSourceEngine.prototype.closed=function(){return!this.reloadingMediaSource_&&(!this.mediaSource_||"closed"==this.mediaSource_.readyState)},shaka.media.MediaSourceEngine.prototype.bufferStart=function(e){return this.sourceBuffers_.size?e==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferStart():shaka.media.TimeRangesUtils.bufferStart(this.getBuffered_(e)):null},shaka.media.MediaSourceEngine.prototype.bufferEnd=function(e){return this.sourceBuffers_.size?e==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferEnd():shaka.media.TimeRangesUtils.bufferEnd(this.getBuffered_(e)):null},shaka.media.MediaSourceEngine.prototype.isBuffered=function(e,t){return e==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.isBuffered(t):(e=this.getBuffered_(e),shaka.media.TimeRangesUtils.isBuffered(e,t))},shaka.media.MediaSourceEngine.prototype.bufferedAheadOf=function(e,t){return e==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferedAheadOf(t):(e=this.getBuffered_(e),shaka.media.TimeRangesUtils.bufferedAheadOf(e,t))},shaka.media.MediaSourceEngine.prototype.getBufferedInfo=function(){var e=shaka.util.ManifestParserUtils.ContentType,t=shaka.media.TimeRangesUtils;if(e={total:this.reloadingMediaSource_?[]:t.getBufferedInfo(this.video_.buffered),audio:t.getBufferedInfo(this.getBuffered_(e.AUDIO)),video:t.getBufferedInfo(this.getBuffered_(e.VIDEO)),text:[]},this.textEngine_){t=this.textEngine_.bufferStart();var r=this.textEngine_.bufferEnd();null!=t&&null!=r&&e.text.push({start:t,end:r})}return e},shaka.media.MediaSourceEngine.prototype.getBuffered_=function(e){if(this.reloadingMediaSource_||this.usingRemotePlayback_)return null;try{return this.sourceBuffers_.get(e).buffered}catch(t){return this.sourceBuffers_.has(e)&&shaka.log.error("failed to get buffered range for "+e,t),null}},shaka.media.MediaSourceEngine.prototype.getCaptionParser=function(e){return new shaka.media.ClosedCaptionParser(e)},shaka.media.MediaSourceEngine.prototype.getTimestampAndDispatchMetadata=function(e,t,r,i,n){var a=this,o=null,s=[],l=shaka.util.BufferUtils.toUint8(t);if(shaka.util.MimeUtils.RAW_FORMATS.includes(n))(t=shaka.util.Id3Utils.getID3Frames(l)).length&&r&&((e=t.find(function(e){return"com.apple.streaming.transportStreamTimestamp"===e.description}))&&"number"==typeof e.data&&(o=Math.round(e.data)/1e3),this.playerInterface_.onMetadata([{cueTime:r.startTime,data:l,frames:t,dts:r.startTime,pts:r.startTime}],0,r.endTime));else if(n.includes("/mp4")&&r&&r.initSegmentReference&&r.initSegmentReference.timescale){var u=r.initSegmentReference.timescale;if(!isNaN(u)){var d=null!=i.emsgSchemeIdUris&&0<i.emsgSchemeIdUris.length||this.config_.dispatchAllEmsgBoxes;l=shaka.util.Mp4Parser;var c=0,p=!1;e=new l,d&&e.fullBox("emsg",function(e){return a.parseEMSG_(r,i.emsgSchemeIdUris,e)}),e.fullBox("prft",function(e){return a.parsePrft_(u,e)}).box("moof",l.children).box("traf",l.children).fullBox("tfdt",function(e){p||(goog.asserts.assert(0==e.version||1==e.version,"TFDT version can only be 0 or 1"),c=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(e.reader,e.version).baseMediaDecodeTime/u,p=!0,d||e.parser.stop())}).parse(t,!0),p&&0==r.timestampOffset&&(o=c)}}else n.includes("/mp4")||n.includes("/webm")||!shaka.util.TsParser.probe(l)||(this.tsParsers_.has(e)?this.tsParsers_.get(e).clearData():this.tsParsers_.set(e,new shaka.util.TsParser),null!=(t=(s=this.tsParsers_.get(e).parse(l)).getStartTime(e))&&(o=t),s=s.getMetadata());return{timestamp:o,metadata:s}},shaka.media.MediaSourceEngine.prototype.parseEMSG_=function(e,t,r){if(0===r.version)var i=r.reader.readTerminatedString(),n=r.reader.readTerminatedString(),a=r.reader.readUint32(),o=r.reader.readUint32(),s=r.reader.readUint32(),l=r.reader.readUint32(),u=e.startTime+o/a;else a=r.reader.readUint32(),o=(u=r.reader.readUint64()/a+e.timestampOffset)-e.startTime,s=r.reader.readUint32(),l=r.reader.readUint32(),i=r.reader.readTerminatedString(),n=r.reader.readTerminatedString();e=r.reader.readBytes(r.reader.getLength()-r.reader.getPosition()),(t&&t.includes(i)||this.config_.dispatchAllEmsgBoxes)&&("urn:mpeg:dash:event:2012"==i?this.playerInterface_.onManifestUpdate():(t=u+s/a,l={startTime:u,endTime:t,schemeIdUri:i,value:n,timescale:a,presentationTimeDelta:o,eventDuration:s,id:l,messageData:e},a=shaka.util.FakeEvent.EventName.Emsg,l=(new Map).set("detail",l),(a=new shaka.util.FakeEvent(a,l)).cancelable=!0,this.playerInterface_.onEvent(a),!a.defaultPrevented&&("https://aomedia.org/emsg/ID3"==i||"https://developer.apple.com/streaming/emsg-id3"==i)&&(i=shaka.util.Id3Utils.getID3Frames(e)).length&&this.playerInterface_.onMetadata([{cueTime:u,data:e,frames:i,dts:u,pts:u}],0,t)))},shaka.media.MediaSourceEngine.prototype.parsePrft_=function(e,t){goog.asserts.assert(0==t.version||
11==t.version,"PRFT version can only be 0 or 1"),t=shaka.util.Mp4BoxParsers.parsePRFTInaccurate(t.reader,t.version);var r=this.convertNtp_(t.ntpTimestamp);t={wallClockTime:r,programStartDate:new Date(r-t.mediaTime/e*1e3)},e=shaka.util.FakeEvent.EventName.Prft,t=(new Map).set("detail",t),e=new shaka.util.FakeEvent(e,t),this.playerInterface_.onEvent(e)},shaka.media.MediaSourceEngine.prototype.convertNtp_=function(e){return new Date(new Date(Date.UTC(1900,0,1,0,0,0)).getTime()+e).getTime()},shaka.media.MediaSourceEngine.prototype.appendBuffer=function(e,t,r,i,n,a,o,s,l){a=void 0!==a&&a,o=void 0!==o&&o,s=void 0!==s&&s,l=void 0!==l&&l;var u,d,c,p,m,f,g,h,y,_,S,v,T,E,P,x,A,C,M,I,b,D,R,k=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.nextAddress){case 1:if(e!=(u=shaka.util.ManifestParserUtils.ContentType).TEXT){w.jumpTo(2);break}if(k.manifestType_!=shaka.media.ManifestParser.HLS){w.jumpTo(3);break}return w.yield(k.textSequenceModeOffset_,4);case 4:d=w.yieldResult,k.textEngine_.setTimestampOffset(d);case 3:return w.yield(k.textEngine_.appendBuffer(t,r?r.startTime:null,r?r.endTime:null,r?r.getUris()[0]:null),5);case 5:case 8:return w.return();case 2:if(l||!k.needSplitMuxedContent_){w.jumpTo(6);break}return w.yield(k.appendBuffer(u.AUDIO,t,r,i,n,a,o,s,!0),7);case 7:return w.yield(k.appendBuffer(u.VIDEO,t,r,i,n,a,o,s,!0),8);case 6:if(!k.sourceBuffers_.has(e))return shaka.log.warning("Attempted to restore a non-existent source buffer"),w.return();if(c=k.sourceBuffers_.get(e).timestampOffset,p=k.sourceBufferTypes_.get(e),k.transmuxers_.has(e)&&(p=k.transmuxers_.get(e).getOriginalMimeType()),r&&(f=(m=k.getTimestampAndDispatchMetadata(e,t,r,i,p)).timestamp,g=m.metadata,null!=f&&(null==k.firstVideoTimestamp_&&e==u.VIDEO&&(k.firstVideoTimestamp_=f,k.firstVideoReferenceStartTime_=r.startTime,null!=k.firstAudioTimestamp_&&(h=0,k.firstVideoReferenceStartTime_==k.firstAudioReferenceStartTime_&&(h=k.firstVideoTimestamp_-k.firstAudioTimestamp_),k.audioCompensation_.resolve(h))),null==k.firstAudioTimestamp_&&e==u.AUDIO&&(k.firstAudioTimestamp_=f,k.firstAudioReferenceStartTime_=r.startTime,null!=k.firstVideoTimestamp_&&(y=0,k.firstVideoReferenceStartTime_==k.firstAudioReferenceStartTime_&&(y=k.firstVideoTimestamp_-k.firstAudioTimestamp_),k.audioCompensation_.resolve(y))),_=f,S=shaka.util.MimeUtils.RAW_FORMATS,!k.sequenceMode_&&S.includes(k.sourceBufferTypes_.get(e))&&(_=0),v=r.startTime-_,(.001<=Math.abs(c-v)||a||o)&&(!s||0<v||!c)&&(c=v,k.attemptTimestampOffsetCalculation_&&(k.enqueueOperation_(e,function(){return k.abort_(e)},null),k.enqueueOperation_(e,function(){return k.setTimestampOffset_(e,c)},null))),(T=e==u.VIDEO||!k.sourceBuffers_.has(u.VIDEO))&&k.textSequenceModeOffset_.resolve(c)),g.length)&&k.playerInterface_.onMetadata(g,c,r?r.endTime:null),n&&e==u.VIDEO&&(k.textEngine_||k.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,k.sequenceMode_,!1),k.captionParser_||(E=p.split(";",1)[0],k.captionParser_=k.getCaptionParser(E)),r?(P=k.captionParser_.parseFrom(t)).length&&k.textEngine_.storeAndAppendClosedCaptions(P,r.startTime,r.endTime,c):k.captionParser_.init(t,o)),!k.transmuxers_.has(e)){w.jumpTo(9);break}return w.yield(k.transmuxers_.get(e).transmux(t,i,r,k.mediaSource_.duration,e),10);case 10:t=w.yieldResult;case 9:if(t=k.workAroundBrokenPlatforms_(i,t,r?r.startTime:null,e,r?r.getUris()[0]:null),!r||!k.sequenceMode_||e==u.TEXT||!a&&!o){w.jumpTo(11);break}if(x=r.startTime,k.manifestType_!=shaka.media.ManifestParser.HLS||k.needSplitMuxedContent_||e!=u.AUDIO||!k.sourceBuffers_.has(u.VIDEO)){w.jumpTo(13);break}return w.yield(k.audioCompensation_,14);case 14:.15<Math.abs(A=w.yieldResult)&&(x-=A);case 13:k.enqueueOperation_(e,function(){return k.abort_(e)},null),k.enqueueOperation_(e,function(){return k.setTimestampOffset_(e,x)},null);case 11:return C=null,w.yield(k.enqueueOperation_(e,function(){goog.DEBUG&&r&&!r.isPreload()&&!s&&(C=k.getBuffered_(e)),k.append_(e,t,c)},r?r.getUris()[0]:null),15);case 15:goog.DEBUG&&r&&!r.isPreload()&&!s&&(M=k.getBuffered_(e),I=shaka.media.TimeRangesUtils.computeAddedRange(C,M))&&(b=r.endTime-r.startTime,D=I.end-I.start,R=Math.abs(I.end-r.endTime),.1<b&&(R>b/2||.03<Math.abs(b-D))&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",r,"from URIs",r.getUris(),"should be",{start:r.startTime,end:r.endTime},"but got",I)),w.jumpToEnd()}})},shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(e){var t=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;
1this.textEngine_.setSelectedClosedCaptionId(e,t)},shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)},shaka.media.MediaSourceEngine.prototype.remove=function(e,t,r){var i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?e==(i=shaka.util.ManifestParserUtils.ContentType).TEXT?a.yield(n.textEngine_.remove(t,r),0):r>t?a.yield(n.enqueueOperation_(e,function(){return n.remove_(e,t,r)},null),5):a.jumpTo(0):n.needSplitMuxedContent_?a.yield(n.enqueueOperation_(i.AUDIO,function(){return n.remove_(i.AUDIO,t,r)},null),0):a.jumpTo(0)})},shaka.media.MediaSourceEngine.prototype.clear=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?e==(t=shaka.util.ManifestParserUtils.ContentType).TEXT?r.textEngine_?i.yield(r.textEngine_.remove(0,1/0),0):i.return():i.yield(r.enqueueOperation_(e,function(){return r.remove_(e,0,r.mediaSource_.duration)},null),4):r.needSplitMuxedContent_?i.yield(r.enqueueOperation_(t.AUDIO,function(){return r.remove_(t.AUDIO,0,r.mediaSource_.duration)},null),0):i.jumpTo(0)})},shaka.media.MediaSourceEngine.prototype.resetCaptionParser=function(){this.captionParser_&&this.captionParser_.reset()},shaka.media.MediaSourceEngine.prototype.flush=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?e==(t=shaka.util.ManifestParserUtils.ContentType).TEXT?i.return():i.yield(r.enqueueOperation_(e,function(){return r.flush_(e)},null),2):r.needSplitMuxedContent_?i.yield(r.enqueueOperation_(t.AUDIO,function(){return r.flush_(t.AUDIO)},null),0):i.jumpTo(0)})},shaka.media.MediaSourceEngine.prototype.setStreamProperties=function(e,t,r,i,n,a,o,s){var l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return 1==c.nextAddress?e==(l=shaka.util.ManifestParserUtils.ContentType).TEXT?(n||d.textEngine_.setTimestampOffset(t),d.textEngine_.setAppendWindow(r,i),c.return()):(u=[],c.yield(d.codecSwitchIfNecessary_(e,a,o,s),2)):(c.yieldResult||(u.push(d.enqueueOperation_(e,function(){return d.abort_(e)},null)),d.needSplitMuxedContent_&&u.push(d.enqueueOperation_(l.AUDIO,function(){return d.abort_(l.AUDIO)},null))),n||(u.push(d.enqueueOperation_(e,function(){return d.setTimestampOffset_(e,t)},null)),d.needSplitMuxedContent_&&u.push(d.enqueueOperation_(l.AUDIO,function(){return d.setTimestampOffset_(l.AUDIO,t)},null))),(0!=r||1/0!=i)&&(u.push(d.enqueueOperation_(e,function(){return d.setAppendWindow_(e,r,i)},null)),d.needSplitMuxedContent_&&u.push(d.enqueueOperation_(l.AUDIO,function(){return d.setAppendWindow_(l.AUDIO,r,i)},null))),u.length?c.yield(Promise.all(u),0):c.jumpTo(0))})},shaka.media.MediaSourceEngine.prototype.resync=function(e,t){var r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?e==(r=shaka.util.ManifestParserUtils.ContentType).TEXT||(e==r.VIDEO&&(n.textSequenceModeOffset_=new shaka.util.PublicPromise),!n.sequenceMode_||(i=n.bufferEnd(e))&&.1>Math.abs(i-t))?a.return():(n.enqueueOperation_(e,function(){return n.abort_(e)},null),n.needSplitMuxedContent_&&n.enqueueOperation_(r.AUDIO,function(){return n.abort_(r.AUDIO)},null),a.yield(n.enqueueOperation_(e,function(){return n.setTimestampOffset_(e,t)},null),2)):n.needSplitMuxedContent_?a.yield(n.enqueueOperation_(r.AUDIO,function(){return n.setTimestampOffset_(r.AUDIO,t)},null),0):a.jumpTo(0)})},shaka.media.MediaSourceEngine.prototype.endOfStream=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return r.yield(t.enqueueBlockingOperation_(function(){t.ended()||t.closed()||(e?t.mediaSource_.endOfStream(e):t.mediaSource_.endOfStream())}),0)})},shaka.media.MediaSourceEngine.prototype.setDuration=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return r.yield(t.enqueueBlockingOperation_(function(){if(e<t.mediaSource_.duration)for(var r=$jscomp.makeIterator(t.sourceBuffers_.keys()),i=r.next();!i.done;i=r.next()){i=i.value;var n={start:function(){},p:new shaka.util.PublicPromise,uri:null};t.queues_.get(i).unshift(n)}t.mediaSource_.duration=e,t.lastDuration_=e}),0)})},shaka.media.MediaSourceEngine.prototype.getDuration=function(){return this.mediaSource_.duration},shaka.media.MediaSourceEngine.prototype.setLiveSeekableRange=function(e,t){var r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return r.destroyer_.destroyed()||r.usingRemotePlayback_||r.reloadingMediaSource_?i.return():(goog.asserts.assert("setLiveSeekableRange"in r.mediaSource_,"Using setLiveSeekableRange on not supported platform"),r.ended()||r.closed()?i.return():i.yield(r.enqueueBlockingOperation_(function(){r.ended()||r.closed()||r.mediaSource_.setLiveSeekableRange(e,t)}),0))})},shaka.media.MediaSourceEngine.prototype.clearLiveSeekableRange=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return e.destroyer_.destroyed()||e.usingRemotePlayback_||e.reloadingMediaSource_?t.return():(goog.asserts.assert("clearLiveSeekableRange"in e.mediaSource_,"Using clearLiveSeekableRange on not supported platform"),e.ended()||e.closed()?t.return():t.yield(e.enqueueBlockingOperation_(function(){e.ended()||e.closed()||e.mediaSource_.clearLiveSeekableRange()}),0))})},shaka.media.MediaSourceEngine.prototype.append_=function(e,t,r){e==shaka.util.ManifestParserUtils.ContentType.VIDEO&&this.lcevcDec_&&this.lcevcDec_.appendBuffer(t,r),this.sourceBuffers_.get(e).appendBuffer(t)},shaka.media.MediaSourceEngine.prototype.remove_=function(e,t,r){r<=t?this.onUpdateEnd_(e):this.sourceBuffers_.get(e).remove(t,r)},shaka.media.MediaSourceEngine.prototype.abort_=function(e){var t=this.sourceBuffers_.get(e),r=t.appendWindowStart,i=t.appendWindowEnd;t.abort(),t.appendWindowStart=r,t.appendWindowEnd=i,this.onUpdateEnd_(e)},shaka.media.MediaSourceEngine.prototype.flush_=function(e){goog.asserts.assert(0==this.video_.buffered.length,"MediaSourceEngine.flush_ should only be used after clearing all data!"),this.video_.currentTime-=.001,this.onUpdateEnd_(e)},shaka.media.MediaSourceEngine.prototype.setTimestampOffset_=function(e,t){0>t&&(t+=.001);var r=!0;this.manifestType_==shaka.media.ManifestParser.HLS&&(r=!!(!(r=this.bufferEnd(e))||.15<Math.abs(r-t))),r&&(this.sourceBuffers_.get(e).timestampOffset=t),this.onUpdateEnd_(e)},shaka.media.MediaSourceEngine.prototype.setAppendWindow_=function(e,t,r){var i=this.sourceBuffers_.get(e);i.appendWindowStart=0,i.appendWindowEnd=r,i.appendWindowStart=t,this.onUpdateEnd_(e)},shaka.media.MediaSourceEngine.prototype.onError_=function(e){var t=this.queues_.get(e)[0];goog.asserts.assert(t,"Spurious error event!"),goog.asserts.assert(!this.sourceBuffers_.get(e).updating,"SourceBuffer should not be updating on error!"),t.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_FAILED,this.video_.error?this.video_.error.code:0,t.uri))},shaka.media.MediaSourceEngine.prototype.onUpdateEnd_=function(e){if(this.reloadingMediaSource_||this.destroyer_.destroyed()){var t=this.queues_.get(e);t&&t.length&&((t=t[0])&&t.p&&t.p.resolve(),this.queues_.set(e,[]))}else t=this.queues_.get(e)[0],goog.asserts.assert(t,"Spurious updateend event!"),t&&(goog.asserts.assert(!this.sourceBuffers_.get(e).updating,"SourceBuffer should not be updating on updateend!"),t.p.resolve(),this.popFromQueue_(e))},shaka.media.MediaSourceEngine.prototype.enqueueOperation_=function(e,t,r){return this.destroyer_.ensureNotDestroyed(),t={start:t,p:new shaka.util.PublicPromise,uri:r},this.queues_.get(e).push(t),1==this.queues_.get(e).length&&this.startOperation_(e),t.p},shaka.media.MediaSourceEngine.prototype.enqueueBlockingOperation_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.nextAddress){case 1:for(T.destroyer_.ensureNotDestroyed(),t=[],r=Array.from(T.sourceBuffers_.keys()),n=(i=$jscomp.makeIterator(r)).next(),a={};!n.done;a={ready:void 0},n=i.next())o=n.value,a.ready=new shaka.util.PublicPromise,s={start:function(e){return function(){return e.ready.resolve()}}(a),p:a.ready,uri:null},(l=T.queues_.get(o)).push(s),t.push(a.ready),1==l.length&&s.start();return E.setCatchFinallyBlocks(2),E.yield(Promise.all(t),4);case 4:E.leaveTryBlock(3);break;case 2:if(u=E.enterCatchBlock(),goog.asserts.assert(T.destroyer_.destroyed(),"Should be destroyed by now"),goog.DEBUG)for(c=(d=$jscomp.makeIterator(r)).next();!c.done;c=d.next())p=c.value,(m=T.queues_.get(p)).length&&(goog.asserts.assert(1==m.length,"Should be at most one item in queue!"),goog.asserts.assert(t.includes(m[0].p),"The item in queue should be one of our waiters!"),m.shift());throw u;case 3:if(goog.DEBUG)for(g=(f=$jscomp.makeIterator(r)).next();!g.done;g=f.next())h=g.value,goog.asserts.assert(0==T.sourceBuffers_.get(h).updating,"SourceBuffers should not be updating after a blocking op!");return E.setCatchFinallyBlocks(5,6),E.yield(e(),6);case 6:for(E.enterFinallyBlock(),_=(y=$jscomp.makeIterator(r)).next();!_.done;_=y.next())S=_.value,T.popFromQueue_(S);E.leaveFinallyBlock(0);break;case 5:throw v=E.enterCatchBlock(),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,v,T.video_.error||"No error in the media element",null)}})},shaka.media.MediaSourceEngine.prototype.popFromQueue_=function(e){goog.asserts.assert(this.queues_.has(e),"Queue should exist"),this.queues_.get(e).shift(),this.startOperation_(e)},shaka.media.MediaSourceEngine.prototype.startOperation_=function(e){var t=this.queues_.get(e)[0];if(t)try{t.start()}catch(r){"QuotaExceededError"==r.name?t.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR,e)):t.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,r,this.video_.error||"No error in the media element",t.uri)),this.popFromQueue_(e)}},shaka.media.MediaSourceEngine.prototype.getTextDisplayer=function(){return goog.asserts.assert(this.textDisplayer_,"TextDisplayer should only be null when this is destroyed"),this.textDisplayer_},shaka.media.MediaSourceEngine.prototype.setTextDisplayer=function(e){this.textDisplayer_=e,this.textEngine_&&this.textEngine_.
1setDisplayer(e)},shaka.media.MediaSourceEngine.prototype.setSegmentRelativeVttTiming=function(e){this.segmentRelativeVttTiming_=e},shaka.media.MediaSourceEngine.prototype.workAroundBrokenPlatforms_=function(e,t,r,i,n){var a=shaka.util.Platform;r=null==r;var o=this.expectedEncryption_.get(i),s=this.playerInterface_.getKeySystem();return this.config_.insertFakeEncryptionInInit&&r&&o&&a.requiresEncryptionInfoInAllInitSegments(s)&&"mp4"==shaka.util.MimeUtils.getContainerType(this.sourceBufferTypes_.get(i))&&(shaka.log.debug("Forcing fake encryption information in init segment."),t=shaka.media.ContentWorkarounds.fakeEncryption(e,t,n)),r&&a.requiresEC3InitSegments()&&"mp4"==shaka.util.MimeUtils.getContainerType(this.sourceBufferTypes_.get(i))&&(shaka.log.debug("Forcing fake EC-3 information in init segment."),t=shaka.media.ContentWorkarounds.fakeEC3(t)),t},shaka.media.MediaSourceEngine.prototype.change_=function(e,t,r){if(e===shaka.util.ManifestParserUtils.ContentType.TEXT)shaka.log.debug("Change not supported for "+e);else{var i=this.sourceBufferTypes_.get(e);shaka.log.debug("Change Type: "+i+" -> "+t),shaka.media.Capabilities.isChangeTypeSupported()?(this.transmuxers_.has(e)&&(this.transmuxers_.get(e).destroy(),this.transmuxers_.delete(e)),r&&this.transmuxers_.set(e,r),r=this.addExtraFeaturesToMimeType_(t),this.sourceBuffers_.get(e).changeType(r),this.sourceBufferTypes_.set(e,t)):shaka.log.debug("Change Type not supported"),this.onUpdateEnd_(e)}},shaka.media.MediaSourceEngine.prototype.changeType=function(e,t,r){var i=this;return this.enqueueOperation_(e,function(){return i.change_(e,t,r)},null)},shaka.media.MediaSourceEngine.prototype.reset_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){if(1==E.nextAddress){if(T.reloadingMediaSource_||T.usingRemotePlayback_)return E.return();for(t=shaka.util.ManifestParserUtils.ContentType,T.reloadingMediaSource_=!0,T.needSplitMuxedContent_=!1,r=T.video_.currentTime,i=T.video_.autoplay,n=T.video_.paused,T.playbackHasBegun_&&(T.video_.autoplay=!1),E.setFinallyBlock(2),T.eventManager_.removeAll(),o=(a=$jscomp.makeIterator(T.transmuxers_.values())).next();!o.done;o=a.next())o.value.destroy();for(l=(s=$jscomp.makeIterator(T.sourceBuffers_.values())).next();!l.done;l=s.next()){u=l.value;try{T.mediaSource_.removeSourceBuffer(u)}catch(e){shaka.log.debug("Exception on removeSourceBuffer",e)}}return T.transmuxers_.clear(),T.sourceBuffers_.clear(),d=T.mediaSource_.duration,T.mediaSourceOpen_=new shaka.util.PublicPromise,T.mediaSource_=T.createMediaSource(T.mediaSourceOpen_),E.yield(T.mediaSourceOpen_,4)}if(2!=E.nextAddress){for(!isNaN(d)&&d?T.mediaSource_.duration=d:!isNaN(T.lastDuration_)&&T.lastDuration_&&(T.mediaSource_.duration=T.lastDuration_),c=new shaka.util.PublicPromise,p=T.mediaSource_.sourceBuffers,m=e.size,f=0,g=function(){++f===m&&(c.resolve(),T.eventManager_.unlisten(p,"addsourcebuffer",g))},T.eventManager_.listen(p,"addsourcebuffer",g),y=(h=$jscomp.makeIterator(e.keys())).next();!y.done;y=h.next())_=y.value,S=e.get(_),T.initSourceBuffer_(_,S,S.codecs);return(v=e.get(t.AUDIO))&&v.isAudioMuxedInVideo&&(T.needSplitMuxedContent_=!0),T.needSplitMuxedContent_&&!T.queues_.has(t.AUDIO)&&T.queues_.set(t.AUDIO,[]),T.video_.currentTime=r,E.yield(c,2)}return E.enterFinallyBlock(),T.reloadingMediaSource_=!1,T.destroyer_.ensureNotDestroyed(),T.eventManager_.listenOnce(T.video_,"canplaythrough",function(){T.destroyer_.destroyed()||(T.video_.autoplay=i,n||T.video_.play())}),E.leaveFinallyBlock(0)})},shaka.media.MediaSourceEngine.prototype.reset=function(e){var t=this;return this.enqueueBlockingOperation_(function(){return t.reset_(e)})},shaka.media.MediaSourceEngine.prototype.getRealInfo_=function(e,t,r){var i=shaka.util.ManifestParserUtils.ContentType,n=shaka.util.MimeUtils,a=!1,o=shaka.util.ManifestParserUtils.guessCodecsSafe(i.AUDIO,(r||"").split(",")),s=shaka.util.ManifestParserUtils.guessCodecsSafe(i.VIDEO,(r||"").split(",")),l=s;e==i.AUDIO&&(l=o),l||(l=r),r=shaka.util.MimeUtils.getFullType(t,l);var u=this.config_.forceTransmux;
1if((!shaka.media.Capabilities.isTypeSupported(r)||!this.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(r))&&(u=!0),i=shaka.transmuxer.TransmuxerEngine,u&&(t=shaka.util.MimeUtils.getFullTypeWithAllCodecs(t,l),l=i.findTransmuxer(t))){var d=l();o&&s&&(a=!0),r=d.convertCodecs(e,t)}return e=n.getNormalizedCodec(n.getCodecs(r)),{transmuxer:d,transmuxerMuxed:a,basicType:n=n.getBasicType(r),codec:e,mimeType:r}},shaka.media.MediaSourceEngine.prototype.codecSwitchIfNecessary_=function(e,t,r,i){var n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return 1==v.nextAddress?e==(n=shaka.util.ManifestParserUtils.ContentType).TEXT?v.return(!1):(o=(a=shaka.util.MimeUtils).getNormalizedCodec(a.getCodecs(S.sourceBufferTypes_.get(e))),s=a.getBasicType(S.sourceBufferTypes_.get(e)),u=(l=S.getRealInfo_(e,t,r)).transmuxer,d=l.transmuxerMuxed,c=l.basicType,p=l.codec,m=l.mimeType,f=!0,d&&S.sourceBufferTypes_.has(n.AUDIO)&&(g=S.getRealInfo_(n.AUDIO,t,r),h=a.getNormalizedCodec(a.getCodecs(S.sourceBufferTypes_.get(n.AUDIO))),y=a.getBasicType(S.sourceBufferTypes_.get(n.AUDIO)),f=h==g.codec&&y==g.basicType,g.transmuxer&&g.transmuxer.destroy()),o===p&&s===c&&f)?(S.transmuxers_.has(e)&&!u?(S.transmuxers_.get(e).destroy(),S.transmuxers_.delete(e)):!S.transmuxers_.has(e)&&u?S.transmuxers_.set(e,u):u&&(S.transmuxers_.has(e)&&S.transmuxers_.get(e).transmux!=u.transmux?(S.transmuxers_.get(e).destroy(),S.transmuxers_.delete(e),S.transmuxers_.set(e,u)):u.destroy()),v.return(!1)):(_=!0,(S.needSplitMuxedContent_||d&&u&&!S.transmuxers_.has(e))&&(_=!1),_&&S.config_.codecSwitchingStrategy===shaka.config.CodecSwitchingStrategy.SMOOTH&&shaka.media.Capabilities.isChangeTypeSupported())?v.yield(S.changeType(e,m,u),3):(u&&u.destroy(),v.yield(S.reset(i),3)):v.return(!0)})},shaka.media.MediaSourceEngine.prototype.isCodecSwitchNecessary_=function(e,t,r){if(e==shaka.util.ManifestParserUtils.ContentType.TEXT)return!1;var i=shaka.util.MimeUtils,n=i.getNormalizedCodec(i.getCodecs(this.sourceBufferTypes_.get(e))),a=i.getBasicType(this.sourceBufferTypes_.get(e)),o=shaka.util.MimeUtils.getFullType(t,r),s=this.config_.forceTransmux;return(!shaka.media.Capabilities.isTypeSupported(o)||!this.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(o))&&(s=!0),t=shaka.util.MimeUtils.getFullTypeWithAllCodecs(t,r),r=shaka.transmuxer.TransmuxerEngine,s&&(s=r.findTransmuxer(t))&&(o=(s=s()).convertCodecs(e,t),s.destroy()),e=i.getNormalizedCodec(i.getCodecs(o)),i=i.getBasicType(o),n!==e||a!==i},shaka.media.MediaSourceEngine.prototype.isResetMediaSourceNecessary=function(e,t,r){return!!this.isCodecSwitchNecessary_(e,t,r)&&(this.config_.codecSwitchingStrategy!==shaka.config.CodecSwitchingStrategy.SMOOTH||!shaka.media.Capabilities.isChangeTypeSupported()||this.needSplitMuxedContent_)},shaka.media.MediaSourceEngine.prototype.updateLcevcDec=function(e){this.lcevcDec_=e},shaka.media.MediaSourceEngine.prototype.addExtraFeaturesToMimeType_=function(e){var t=this.config_.addExtraFeaturesToSourceBuffer(e);return e+=t,shaka.log.debug("Using full mime type",e),e},shaka.media.MediaSourceEngine.createObjectURL=window.URL.createObjectURL,shaka.media.MediaSourceEngine.SourceBufferMode_={SEQUENCE:"sequence",SEGMENTS:"segments"},shaka.media.PresentationTimeline=function(e,t,r){this.presentationStartTime_=e,this.presentationDelay_=t,this.segmentAvailabilityDuration_=this.duration_=1/0,this.maxSegmentDuration_=1,this.maxSegmentEndTime_=this.minSegmentStartTime_=null,this.clockOffset_=0,this.static_=!0,this.isLive2VodTransition_=!1,this.userSeekStart_=0,this.autoCorrectDrift_=void 0===r||r,this.availabilityTimeOffset_=0,this.startTimeLocked_=!1,this.initialProgramDateTime_=e},shaka.media.PresentationTimeline.prototype.getDuration=function(){return this.duration_},shaka.media.PresentationTimeline.prototype.getMaxSegmentDuration=function(){return this.maxSegmentDuration_},shaka.media.PresentationTimeline.prototype.setPresentationStartTime=function(e){goog.asserts.assert(0<=e,"presentationStartTime must be >= 0"),this.presentationStartTime_=e},shaka.media.PresentationTimeline.prototype.setDuration=function(e){goog.asserts.assert(0<e,"duration must be > 0"),this.duration_=e},shaka.media.PresentationTimeline.prototype.getPresentationStartTime=function(){return this.presentationStartTime_},shaka.media.PresentationTimeline.prototype.setClockOffset=function(e){this.clockOffset_=e},shaka.media.PresentationTimeline.prototype.setStatic=function(e){e&&!this.static_&&(this.isLive2VodTransition_=!0),this.static_=e},shaka.media.PresentationTimeline.prototype.setSegmentAvailabilityDuration=function(e){goog.asserts.assert(0<=e,"segmentAvailabilityDuration must be >= 0"),this.segmentAvailabilityDuration_=e},shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityDuration=function(){return this.segmentAvailabilityDuration_},shaka.media.PresentationTimeline.prototype.setDelay=function(e){goog.asserts.assert(0<=e,"delay must be >= 0"),this.presentationDelay_=e},shaka.media.PresentationTimeline.prototype.getDelay=function(){return this.presentationDelay_},shaka.media.PresentationTimeline.prototype.notifyTimeRange=function(e,t){if(0!=e.length){var r=(Date.now()+this.clockOffset_)/1e3;if(0!=(e=e.filter(function(e){return e.start+t<r})).length){var i=e[e.length-1].end+t;this.notifyMinSegmentStartTime(e[0].start+t),this.maxSegmentDuration_=e.reduce(function(e,t){return Math.max(e,t.end-t.start)},this.maxSegmentDuration_),this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,i),null!=this.presentationStartTime_&&this.autoCorrectDrift_&&!this.startTimeLocked_&&(this.presentationStartTime_=r-this.maxSegmentEndTime_-this.maxSegmentDuration_),shaka.log.v1("notifySegments:","maxSegmentDuration="+this.maxSegmentDuration_)}}},shaka.media.PresentationTimeline.prototype.notifySegments=function(e){if(0!=e.length){var t=e[0].startTime,r=e[0].endTime,i=(Date.now()+this.clockOffset_)/1e3;e=$jscomp.makeIterator(e);for(var n=e.next();!n.done;n=e.next())i<(n=n.value).startTime||(t=Math.min(t,n.startTime),r=Math.max(r,n.endTime),this.maxSegmentDuration_=Math.max(this.maxSegmentDuration_,n.endTime-n.startTime));this.notifyMinSegmentStartTime(t),this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,r),null!=this.presentationStartTime_&&this.autoCorrectDrift_&&!this.startTimeLocked_&&(this.presentationStartTime_=i-this.maxSegmentEndTime_-this.maxSegmentDuration_),shaka.log.v1("notifySegments:","maxSegmentDuration="+this.maxSegmentDuration_)}},shaka.media.PresentationTimeline.prototype.notifyPeriodDuration=function(e,t){this.notifyMinSegmentStartTime(e),1/0==t||this.isLive()||(this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,t))},shaka.media.PresentationTimeline.prototype.getMaxSegmentEndTime=function(){return this.maxSegmentEndTime_},shaka.media.PresentationTimeline.prototype.lockStartTime=function(){this.startTimeLocked_=!0},shaka.media.PresentationTimeline.prototype.isStartTimeLocked=function(){return this.startTimeLocked_},shaka.media.PresentationTimeline.prototype.setInitialProgramDateTime=function(e){this.initialProgramDateTime_=e},shaka.media.PresentationTimeline.prototype.getInitialProgramDateTime=function(){return this.initialProgramDateTime_},shaka.media.PresentationTimeline.prototype.notifyMinSegmentStartTime=function(e){null==this.minSegmentStartTime_?this.minSegmentStartTime_=e:this.isLive2VodTransition_||(this.minSegmentStartTime_=Math.min(this.minSegmentStartTime_,e))},shaka.media.PresentationTimeline.prototype.notifyMaxSegmentDuration=function(e){this.maxSegmentDuration_=Math.max(this.maxSegmentDuration_,e),shaka.log.v1("notifyNewSegmentDuration:","maxSegmentDuration="+this.maxSegmentDuration_)},shaka.media.PresentationTimeline.prototype.offset=function(e){null!=this.minSegmentStartTime_&&(this.minSegmentStartTime_+=e),null!=this.maxSegmentEndTime_&&(this.maxSegmentEndTime_+=e)},shaka.media.PresentationTimeline.prototype.isLive=function(){return 1/0==this.duration_&&!this.static_},shaka.media.PresentationTimeline.prototype.isInProgress=function(){return 1/0!=this.duration_&&!this.static_},shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityStart=function(){goog.asserts.assert(0<=this.segmentAvailabilityDuration_,"The availability duration should be positive");var e=this.getSegmentAvailabilityEnd()-this.segmentAvailabilityDuration_;return Math.max(this.userSeekStart_,e)},shaka.media.PresentationTimeline.prototype.setUserSeekStart=function(e){this.userSeekStart_=e},shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityEnd=function(){return this.isLive()||this.isInProgress()?Math.min(this.getLiveEdge_()+this.availabilityTimeOffset_,this.duration_):this.maxSegmentEndTime_?Math.min(this.maxSegmentEndTime_,this.duration_):this.duration_},shaka.media.PresentationTimeline.prototype.getSafeSeekRangeStart=function(e){var t=Math.max(this.minSegmentStartTime_,this.userSeekStart_);return 1/0==this.segmentAvailabilityDuration_?Math.ceil(1e3*t)/1e3:Math.max(t,e=Math.min(this.getSegmentAvailabilityEnd()-this.segmentAvailabilityDuration_+e,this.get
1SeekRangeEnd()))},shaka.media.PresentationTimeline.prototype.getSeekRangeStart=function(){return this.getSafeSeekRangeStart(0)},shaka.media.PresentationTimeline.prototype.getSeekRangeEnd=function(){var e=this.isLive()||this.isInProgress()?this.presentationDelay_:0;return Math.max(0,this.getSegmentAvailabilityEnd()-e)},shaka.media.PresentationTimeline.prototype.usingPresentationStartTime=function(){return null!=this.presentationStartTime_&&(null==this.maxSegmentEndTime_||!this.autoCorrectDrift_)},shaka.media.PresentationTimeline.prototype.getLiveEdge_=function(){return goog.asserts.assert(null!=this.presentationStartTime_,"Cannot compute timeline live edge without start time"),Math.max(0,(Date.now()+this.clockOffset_)/1e3-this.maxSegmentDuration_-this.presentationStartTime_)},shaka.media.PresentationTimeline.prototype.setAvailabilityTimeOffset=function(e){this.availabilityTimeOffset_=e},shaka.media.PresentationTimeline.prototype.getAvailabilityTimeOffset=function(){return this.availabilityTimeOffset_},shaka.media.PresentationTimeline.prototype.assertIsValid=function(){goog.DEBUG&&(this.isLive()?goog.asserts.assert(null!=this.presentationStartTime_,"Detected as live stream, but does not match our model of live!"):this.isInProgress()?goog.asserts.assert(null!=this.presentationStartTime_&&1/0==this.segmentAvailabilityDuration_,"Detected as IPR stream, but does not match our model of IPR!"):goog.asserts.assert(1/0==this.segmentAvailabilityDuration_&&1/0!=this.duration_&&this.static_,"Detected as VOD stream, but does not match our model of VOD!"))},goog.exportSymbol("shaka.media.PresentationTimeline",shaka.media.PresentationTimeline),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getAvailabilityTimeOffset",shaka.media.PresentationTimeline.prototype.getAvailabilityTimeOffset),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setAvailabilityTimeOffset",shaka.media.PresentationTimeline.prototype.setAvailabilityTimeOffset),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"usingPresentationStartTime",shaka.media.PresentationTimeline.prototype.usingPresentationStartTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSeekRangeEnd",shaka.media.PresentationTimeline.prototype.getSeekRangeEnd),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSeekRangeStart",shaka.media.PresentationTimeline.prototype.getSeekRangeStart),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSafeSeekRangeStart",shaka.media.PresentationTimeline.prototype.getSafeSeekRangeStart),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSegmentAvailabilityEnd",shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityEnd),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setUserSeekStart",shaka.media.PresentationTimeline.prototype.setUserSeekStart),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSegmentAvailabilityStart",shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityStart),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"isInProgress",shaka.media.PresentationTimeline.prototype.isInProgress),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"isLive",shaka.media.PresentationTimeline.prototype.isLive),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"offset",shaka.media.PresentationTimeline.prototype.offset),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"notifyMaxSegmentDuration",shaka.media.PresentationTimeline.prototype.notifyMaxSegmentDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"notifyMinSegmentStartTime",shaka.media.PresentationTimeline.prototype.notifyMinSegmentStartTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getInitialProgramDateTime",shaka.media.PresentationTimeline.prototype.getInitialProgramDateTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setInitialProgramDateTime",shaka.media.PresentationTimeline.prototype.setInitialProgramDateTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"isStartTimeLocked",shaka.media.PresentationTimeline.prototype.isStartTimeLocked),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"lockStartTime",shaka.media.PresentationTimeline.prototype.lockStartTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getMaxSegmentEndTime",shaka.media.PresentationTimeline.prototype.getMaxSegmentEndTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"notifyPeriodDuration",shaka.media.PresentationTimeline.prototype.notifyPeriodDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"notifySegments",shaka.media.PresentationTimeline.prototype.notifySegments),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"notifyTimeRange",shaka.media.PresentationTimeline.prototype.notifyTimeRange),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getDelay",shaka.media.PresentationTimeline.prototype.getDelay),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setDelay",shaka.media.PresentationTimeline.prototype.setDelay),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getSegmentAvailabilityDuration",shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setSegmentAvailabilityDuration",shaka.media.PresentationTimeline.prototype.setSegmentAvailabilityDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setStatic",shaka.media.PresentationTimeline.prototype.setStatic),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setClockOffset",shaka.media.PresentationTimeline.prototype.setClockOffset),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getPresentationStartTime",shaka.media.PresentationTimeline.prototype.getPresentationStartTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setDuration",shaka.media.PresentationTimeline.prototype.setDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"setPresentationStartTime",shaka.media.PresentationTimeline.prototype.setPresentationStartTime),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getMaxSegmentDuration",shaka.media.PresentationTimeline.prototype.getMaxSegmentDuration),goog.exportProperty(shaka.media.PresentationTimeline.prototype,"getDuration",shaka.media.PresentationTimeline.prototype.getDuration),shaka.media.GapJumpingController=function(e,t,r,i){var n=this;this.onEvent_=i,this.video_=e,this.timeline_=t,this.config_=r,this.eventManager_=new shaka.util.EventManager,this.seekingEventReceived_=this.started_=!1,this.prevReadyState_=e.readyState,this.stallsDetected_=this.gapsJumped_=this.startTime_=0,this.stallDetector_=this.createStallDetector_(),this.hadSegmentAppended_=!1,this.eventManager_.listen(e,"waiting",function(){return n.onPollGapJump_()}),this.gapJumpTimer_=new shaka.util.Timer(function(){n.onPollGapJump_()}).tickEvery(this.config_.gapJumpTimerTime)},shaka.media.GapJumpingController.prototype.release=function(){this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),null!=this.gapJumpTimer_&&(this.gapJumpTimer_.stop(),this.gapJumpTimer_=null),this.stallDetector_&&(this.stallDetector_.release(),this.stallDetector_=null),this.video_=this.timeline_=this.onEvent_=null},shaka.media.GapJumpingController.prototype.onSegmentAppended=function(){this.hadSegmentAppended_=!0,this.gapJumpTimer_&&this.gapJumpTimer_.tickEvery(this.config_.gapJumpTimerTime),this.onPollGapJump_()},shaka.media.GapJumpingController.prototype.onStarted=function(e){this.video_.seeking&&!this.seekingEventReceived_&&(this.seekingEventReceived_=!0,this.startTime_=e),this.gapJumpTimer_&&this.gapJumpTimer_.tickEvery(this.config_.gapJumpTimerTime),this.onPollGapJump_()},shaka.media.GapJumpingController.prototype.onSeeking=function(){this.seekingEventReceived_=!0,this.hadSegmentAppended_=!1,this.gapJumpTimer_&&this.gapJumpTimer_.tickEvery(this.config_.gapJumpTimerTime),this.onPollGapJump_()},shaka.media.GapJumpingController.prototype.getGapsJumped=function(){return this.gapsJumped_},shaka.media.GapJumpingController.prototype.getStallsDetected=function(){return this.stallsDetected_},shaka.media.GapJumpingController.prototype.onPollGapJump_=function(){if(0!=this.video_.readyState){if(this.video_.seeking){if(!this.seekingEventReceived_)return}else this.seekingEventReceived_=!1;if((!this.video_.paused||this.video_.currentTime==this.startTime_&&(this.video_.autoplay||this.video_.currentTime!=this.startTime_))&&(this.video_.readyState!=this.prevReadyState_&&(this.prevReadyState_=this.video_.readyState),!this.stallDetector_||!this.stallDetector_.poll())){var e=this.video_.currentTime,t=this.video_.buffered,r=shaka.media.TimeRangesUtils.getGapIndex(t,e,this.config_.gapDetectionThreshold);if(null!=r&&(0!=r||this.hadSegmentAppended_)){var i=t.start(r),n=this.config_.gapPadding;n&&(i=Math.ceil(100*(i+n))/100),i>=(n=this.timeline_.getSeekRangeEnd())||(n=i-e)<shaka.media.GapJumpingController.BROWSER_GAP_TOLERANCE||(0==r?shaka.log.info("Jumping forward",n,"seconds because of gap before start time of",i):shaka.log.info("Jumping forward",n,"seconds because of gap starting at",t.end(r-1),"and ending at",i),this.video_.currentTime=i,e==this.startTime_&&(this.startTime_=i),this.gapsJumped_++,this.onEvent_(new shaka.util.FakeEvent(shaka.util.FakeEvent.EventName.GapJumped)))}}}},shaka.media.GapJumpingController.prototype.createStallDetector_=function(){var e=this;if(!this.config_.stallEnabled)return null;goog.asserts.assert(this.video_,"Must have video");var t=this.config_.stallThreshold,r=this.config_.stallSkip;return new shaka.media.StallDetector(new shaka.media.StallDetector.MediaElementImplementation(this.video_),t,function(t,i){return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return(goog.asserts.assert(e.video_,"Must have video"),shaka.media.TimeRangesUtils.getBufferedInfo(e.video_.buffered).length)?(shaka.log.debug("Stall detected at "+t+" for "+i+" seconds."),r)?(shaka.log.debug("Seeking forward "+r+" seconds to break stall."),e.video_.currentTime+=r,n.jumpTo(2)):(shaka.log.debug("Wait for play to avoid reject a possible other play call."),n.yield(e.video_.play(),3)):n.return();if(2!=n.nextAddress){if(!e.video_)return n.return();shaka.log.debug("Pausing and unpausing to break stall."),e.video_.pause(),e.video_.play()}e.stallsDetected_++,e.onEvent_(new shaka.util.FakeEvent(shaka.util.FakeEvent.EventName.StallDetected)),n.jumpToEnd()})})},shaka.media.GapJumpingController.BROWSER_GAP_TOLERANCE=.001,shaka.media.StallDetector=function(e,t,r){this.implementation_=e,this.wasMakingProgress_=e.shouldBeMakingProgress(),this.value_=e.getPresentationSeconds(),this.lastUpdateSeconds_=e.getWallSeconds(),this.didJump_=!1,this.stallThresholdSeconds_=t,this.onStall_=r},shaka.media.StallDetector.prototype.release=function(){this.onStall_=this.implementation_=null},shaka.media.StallDetector.prototype.poll=function(){var e=this.implementation_,t=e.shouldBeMakingProgress(),r=e.getPresentationSeconds(),i=e.getWallSeconds();return(this.value_!=r||this.wasMakingProgress_!=t)&&(this.lastUpdateSeconds_=i,this.value_=r,this.wasMakingProgress_=t,this.didJump_=!1),(t=(r=i-this.lastUpdateSeconds_)>=this.stallThresholdSeconds_&&t&&!this.didJump_)&&(this.onStall_&&this.onStall_(this.value_,r),this.didJump_=!0,this.value_=e.getPresentationSeconds()),t},shaka.media.StallDetector.Implementation=function(){},shaka.media.StallDetector.Implementation.prototype.shouldBeMakingProgress=function(){},shaka.media.StallDetector.Implementation.prototype.getPresentationSeconds=function(){},shaka.media.StallDetector.Implementation.prototype.getWallSeconds=function(){},shaka.media.StallDetector.MediaElementImplementation=function(e){this.mediaElement_=e},shaka.media.StallDetector.MediaElementImplementation.prototype.shouldBeMakingProgress=function(){return!this.mediaElement_.paused&&0!=this.mediaElement_.playbackRate&&0!=this.mediaElement_.buffered.length&&this.hasContentFor_(this.mediaElement_.buffered,this.mediaElement_.currentTime)},shaka.media.StallDetector.MediaElementImplementation.prototype.getPresentationSeconds=function(){return this.mediaElement_.currentTime},shaka.media.StallDetector.MediaElementImplementation.prototype.getWallSeconds=function(){return Date.now()/1e3},shaka.media.StallDetector.MediaElementImplementation.prototype.hasContentFor_=function(e,t){e=$jscomp.makeIterator(shaka.media.TimeRangesUtils.getBufferedInfo(e));for(var r=e.next();!r.done;r=e.next())if(!(t<(r=r.value).start-.1||t>r.end-.5))return!0;return!1},shaka.util.MediaReadyState=function(){},shaka.util.MediaReadyState.waitForReadyState=function(e,t,r,i){t==HTMLMediaElement.HAVE_NOTHING||e.readyState>=t?i():(t=shaka.util.MediaReadyState.READY_STATES_TO_EVENT_NAMES_.value().get(t),r.listenOnce(e,t,i))},shaka.util.MediaReadyState.READY_STATES_TO_EVENT_NAMES_=new shaka.util.Lazy(function(){return new Map([[HTMLMediaElement.HAVE_METADATA,"loadedmetadata"],[HTMLMediaElement.HAVE_CURRENT_DATA,"loadeddata"],[HTMLMediaElement.HAVE_FUTURE_DATA,"canplay"],[HTMLMediaElement.HAVE_ENOUGH_DATA,"canplaythrough"]])}),shaka.media.VideoWrapper=function(e,t,r,i){var n=this;this.video_=e,this.onSeek_=t,this.onStarted_=r,this.startTime_=null,this.get
1StartTime_=function(){return null==n.startTime_&&(n.startTime_=i()),n.startTime_},this.started_=!1,this.eventManager_=new shaka.util.EventManager,this.mover_=new shaka.media.VideoWrapper.PlayheadMover(e,10),shaka.util.MediaReadyState.waitForReadyState(this.video_,HTMLMediaElement.HAVE_METADATA,this.eventManager_,function(){n.setStartTime_(n.getStartTime_())})},shaka.media.VideoWrapper.prototype.release=function(){this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),null!=this.mover_&&(this.mover_.release(),this.mover_=null),this.onSeek_=function(){},this.video_=null},shaka.media.VideoWrapper.prototype.getTime=function(){return this.started_?this.video_.currentTime:this.getStartTime_()},shaka.media.VideoWrapper.prototype.setTime=function(e){var t=this;0<this.video_.readyState?this.mover_.moveTo(e):shaka.util.MediaReadyState.waitForReadyState(this.video_,HTMLMediaElement.HAVE_METADATA,this.eventManager_,function(){t.setStartTime_(t.getStartTime_())})},shaka.media.VideoWrapper.prototype.setStartTime_=function(e){var t=this;.001>Math.abs(this.video_.currentTime-e)?this.startListeningToSeeks_():(this.eventManager_.listenOnce(this.video_,"seeking",function(){t.startListeningToSeeks_()}),this.mover_.moveTo(this.video_.currentTime&&0!=this.video_.currentTime?this.video_.currentTime:e))},shaka.media.VideoWrapper.prototype.startListeningToSeeks_=function(){var e=this;goog.asserts.assert(0<this.video_.readyState,"The media element should be ready before we listen for seeking."),this.started_=!0,this.eventManager_.listen(this.video_,"seeking",function(){return e.onSeek_()}),this.onStarted_(this.video_.currentTime)},shaka.media.VideoWrapper.PlayheadMover=function(e,t){var r=this;this.mediaElement_=e,this.maxAttempts_=t,this.targetTime_=this.originTime_=this.remainingAttempts_=0,this.timer_=new shaka.util.Timer(function(){return r.onTick_()})},shaka.media.VideoWrapper.PlayheadMover.prototype.release=function(){this.timer_&&(this.timer_.stop(),this.timer_=null),this.mediaElement_=null},shaka.media.VideoWrapper.PlayheadMover.prototype.moveTo=function(e){this.originTime_=this.mediaElement_.currentTime,this.targetTime_=e,this.remainingAttempts_=this.maxAttempts_,this.mediaElement_.currentTime=e,this.timer_.tickEvery(.1)},shaka.media.VideoWrapper.PlayheadMover.prototype.onTick_=function(){0>=this.remainingAttempts_?(shaka.log.warning(["Failed to move playhead from",this.originTime_,"to",this.targetTime_].join(" ")),this.timer_.stop()):this.mediaElement_.currentTime!=this.originTime_||this.mediaElement_.currentTime===this.targetTime_?this.timer_.stop():(this.mediaElement_.currentTime=this.targetTime_,this.remainingAttempts_--)},shaka.media.Playhead=function(){},shaka.media.Playhead.prototype.ready=function(){},shaka.media.Playhead.prototype.setStartTime=function(e){},shaka.media.Playhead.prototype.getStallsDetected=function(){},shaka.media.Playhead.prototype.getGapsJumped=function(){},shaka.media.Playhead.prototype.getTime=function(){},shaka.media.Playhead.prototype.notifyOfBufferingChange=function(){},shaka.media.SrcEqualsPlayhead=function(e){this.mediaElement_=e,this.started_=!1,this.startTime_=null,this.eventManager_=new shaka.util.EventManager},shaka.media.SrcEqualsPlayhead.prototype.ready=function(){var e=this;goog.asserts.assert(null!=this.mediaElement_,"Playhead should not be released before calling ready()");var t=function(){if(null==e.startTime_||0==e.startTime_&&1/0!=e.mediaElement_.duration)e.started_=!0;else{var t=e.mediaElement_.currentTime,r=e.startTime_;0>e.startTime_&&(r=Math.max(0,t+e.startTime_)),t!=r?(e.eventManager_.listenOnce(e.mediaElement_,"seeking",function(){e.started_=!0}),e.mediaElement_.currentTime=r):e.started_=!0}};shaka.util.MediaReadyState.waitForReadyState(this.mediaElement_,HTMLMediaElement.HAVE_CURRENT_DATA,this.eventManager_,function(){t()})},shaka.media.SrcEqualsPlayhead.prototype.release=function(){this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),this.mediaElement_=null},shaka.media.SrcEqualsPlayhead.prototype.setStartTime=function(e){this.startTime_=this.started_?this.startTime_:e},shaka.media.SrcEqualsPlayhead.prototype.getTime=function(){return(this.started_?this.mediaElement_.currentTime:this.startTime_)||0},shaka.media.SrcEqualsPlayhead.prototype.getStallsDetected=function(){return 0},shaka.media.SrcEqualsPlayhead.prototype.getGapsJumped=function(){return 0}
1,shaka.media.SrcEqualsPlayhead.prototype.notifyOfBufferingChange=function(){},shaka.media.MediaSourcePlayhead=function(e,t,r,i,n,a){var o=this;this.minSeekRange_=3,this.mediaElement_=e,this.timeline_=t.presentationTimeline,this.config_=r,this.onSeek_=n,this.lastCorrectiveSeek_=null,this.gapController_=new shaka.media.GapJumpingController(e,t.presentationTimeline,r,a),this.videoWrapper_=new shaka.media.VideoWrapper(e,function(){return o.onSeeking_()},function(e){return o.onStarted_(e)},function(){return o.getStartTime_(i)}),this.checkWindowTimer_=new shaka.util.Timer(function(){o.onPollWindow_()})},shaka.media.MediaSourcePlayhead.prototype.ready=function(){this.checkWindowTimer_.tickEvery(.25)},shaka.media.MediaSourcePlayhead.prototype.release=function(){this.videoWrapper_&&(this.videoWrapper_.release(),this.videoWrapper_=null),this.gapController_&&(this.gapController_.release(),this.gapController_=null),this.checkWindowTimer_&&(this.checkWindowTimer_.stop(),this.checkWindowTimer_=null),this.mediaElement_=this.videoWrapper_=this.timeline_=this.config_=null,this.onSeek_=function(){}},shaka.media.MediaSourcePlayhead.prototype.setStartTime=function(e){this.videoWrapper_.setTime(e)},shaka.media.MediaSourcePlayhead.prototype.getTime=function(){var e=this.videoWrapper_.getTime();return 0<this.mediaElement_.readyState&&!this.mediaElement_.paused?this.clampTime_(e):e},shaka.media.MediaSourcePlayhead.prototype.getStallsDetected=function(){return this.gapController_.getStallsDetected()},shaka.media.MediaSourcePlayhead.prototype.getGapsJumped=function(){return this.gapController_.getGapsJumped()},shaka.media.MediaSourcePlayhead.prototype.getStartTime_=function(e){return null==e?e=1/0>this.timeline_.getDuration()?this.timeline_.getSeekRangeStart():this.timeline_.getSeekRangeEnd():0>e&&(e=this.timeline_.getSeekRangeEnd()+e),this.clampSeekToDuration_(this.clampTime_(e))},shaka.media.MediaSourcePlayhead.prototype.notifyOfBufferingChange=function(){this.gapController_.onSegmentAppended()},shaka.media.MediaSourcePlayhead.prototype.onPollWindow_=function(){if(0!=this.mediaElement_.readyState&&!this.mediaElement_.paused){var e=this.videoWrapper_.getTime(),t=this.timeline_.getSeekRangeStart(),r=this.timeline_.getSeekRangeEnd();r-t<this.minSeekRange_&&(t=r-this.minSeekRange_),e<t&&(t=this.reposition_(e),shaka.log.info("Jumping forward "+(t-e)+" seconds to catch up with the seek range."),this.mediaElement_.currentTime=t)}},shaka.media.MediaSourcePlayhead.prototype.onStarted_=function(e){this.gapController_.onStarted(e)},shaka.media.MediaSourcePlayhead.prototype.onSeeking_=function(){this.gapController_.onSeeking();var e=this.videoWrapper_.getTime(),t=this.reposition_(e);if(Math.abs(t-e)>shaka.media.GapJumpingController.BROWSER_GAP_TOLERANCE){var r=!1;if(shaka.util.Platform.isSeekingSlow()){var i=Date.now()/1e3,n=shaka.util.Platform.isFuchsiaCastDevice()?3:1;(!this.lastCorrectiveSeek_||this.lastCorrectiveSeek_<i-n)&&(this.lastCorrectiveSeek_=i,r=!0)}else r=!0;if(r)return void this.videoWrapper_.setTime(t)}shaka.log.v1("Seek to "+e),this.onSeek_()},shaka.media.MediaSourcePlayhead.prototype.clampSeekToDuration_=function(e){var t=this.timeline_.getDuration();return e>=t?(goog.asserts.assert(0<=this.config_.durationBackoff,"Duration backoff must be non-negative!"),t-this.config_.durationBackoff):e},shaka.media.MediaSourcePlayhead.prototype.reposition_=function(e){goog.asserts.assert(this.config_,"Cannot reposition playhead when it has been destroyed");var t=this.config_.rebufferingGoal,r=this.config_.safeSeekOffset,i=this.timeline_.getSeekRangeStart(),n=this.timeline_.getSeekRangeEnd(),a=this.timeline_.getDuration();n-i<this.minSeekRange_&&(i=n-this.minSeekRange_);var o=this.timeline_.getSafeSeekRangeStart(t),s=this.timeline_.getSafeSeekRangeStart(r);return(t=this.timeline_.getSafeSeekRangeStart(t+r),e>=a)?(shaka.log.v1("Playhead past duration."),this.clampSeekToDuration_(e)):e>n?(shaka.log.v1("Playhead past end."),n-this.config_.safeSeekEndOffset):e<i?shaka.media.TimeRangesUtils.isBuffered(this.mediaElement_.buffered,s)?(shaka.log.v1("Playhead before start & start is buffered"),s):(shaka.log.v1("Playhead before start & start is unbuffered"),t):e>=o||shaka.media.TimeRangesUtils.isBuffered(this.mediaElement_.buffered,e)?(shaka.log.v1("Playhead in safe region or in buffered region."),e):(shaka.log.v1("Playhead outside safe region & in unbuffered region."),t)},shaka.media.MediaSourcePlayhead.prototype.clampTime_=function(e){var t=this.timeline_.getSeekRangeStart();return e<t||e>(t=this.timeline_.getSeekRangeEnd())?t:e},shaka.media.SegmentIndex=function(e){goog.DEBUG&&shaka.media.SegmentIndex.assertCorrectReferences_(e),this.references=e,this.timer_=null,this.numEvicted_=0,this.immutable_=!1},shaka.media.SegmentIndex.prototype.getIsImmutable=function(){return this.immutable_},shaka.media.SegmentIndex.prototype.getNumReferences=function(){return this.references.length},shaka.media.SegmentIndex.prototype.getNumEvicted=function(){return this.numEvicted_},shaka.media.SegmentIndex.prototype.release=function(){this.immutable_||(this.references=[],this.timer_&&this.timer_.stop(),this.timer_=null)},shaka.media.SegmentIndex.prototype.markImmutable=function(){this.immutable_=!0},shaka.media.SegmentIndex.prototype.forEachTopLevelReference=function(e){for(var t=$jscomp.makeIterator(this.references),r=t.next();!r.done;r=t.next())e(r.value)},shaka.media.SegmentIndex.prototype.earliestReference=function(){return this.references[0]||null},shaka.media.SegmentIndex.prototype.dropFirstReferences=function(e){this.references.splice(0,e)},shaka.media.SegmentIndex.prototype.find=function(e){for(var t=this.references.length-1,r=t;0<=r;--r){var i=this.references[r],n=r<t?this.references[r+1].startTime:i.endTime;if(e>=i.startTime&&e<n)return r+this.numEvicted_}return this.references.length&&e<this.references[0].startTime?this.numEvicted_:null},shaka.media.SegmentIndex.prototype.get=function(e){return 0==this.references.length||0>(e-=this.numEvicted_)||e>=this.references.length?null:this.references[e]},shaka.media.SegmentIndex.prototype.offset=function(e){if(!this.immutable_)for(var t=$jscomp.makeIterator(this.references),r=t.next();!r.done;r=t.next())r.value.offset(e)},shaka.media.SegmentIndex.prototype.merge=function(e){if(goog.DEBUG&&shaka.media.SegmentIndex.assertCorrectReferences_(e),!this.immutable_&&e.length){var t=Math.round(1e3*e[0].startTime)/1e3;this.references=this.references.filter(function(e){return Math.round(1e3*e.startTime)/1e3<t}),this.references.push.apply(this.references,$jscomp.arrayFromIterable(e)),goog.DEBUG&&shaka.media.SegmentIndex.assertCorrectReferences_(this.references)}},shaka.media.SegmentIndex.prototype.mergeAndEvict=function(e,t){var r=this;e=e.filter(function(e){return e.endTime>t&&(0==r.references.length||e.endTime>r.references[0].startTime)});var i=this.references[0];
1this.merge(e),e=this.references[0],i&&goog.asserts.assert(i.startTime==e.startTime,"SegmentIndex.merge should not change the first reference time!"),this.evict(t)},shaka.media.SegmentIndex.prototype.evict=function(e){if(!this.immutable_){var t=this.references.length;this.references=this.references.filter(function(t){return t.endTime>e}),this.numEvicted_+=t-this.references.length}},shaka.media.SegmentIndex.prototype.fit=function(e,t,r){if(r=void 0!==r&&r,goog.asserts.assert(null!=t,"Content duration must be known for static content!"),goog.asserts.assert(1/0!=t,"Content duration must be finite for static content!"),!this.immutable_){for(;this.references.length;)if(this.references[this.references.length-1].startTime>=t)this.references.pop();else break;for(;this.references.length;)if(this.references[0].endTime<=e)this.references.shift(),r||this.numEvicted_++;else break;0!=this.references.length&&(e=this.references[this.references.length-1],(t=new shaka.media.SegmentReference(e.startTime,t,e.getUrisInner,e.startByte,e.endByte,e.initSegmentReference,e.timestampOffset,e.appendWindowStart,e.appendWindowEnd,e.partialReferences,e.tilesLayout,e.tileDuration,e.syncTime,e.status,e.aesKey)).mimeType=e.mimeType,t.codecs=e.codecs,t.discontinuitySequence=e.discontinuitySequence,this.references[this.references.length-1]=t)}},shaka.media.SegmentIndex.prototype.updateEvery=function(e,t){var r=this;goog.asserts.assert(!this.timer_,"SegmentIndex timer already started!"),this.immutable_||(this.timer_&&this.timer_.stop(),this.timer_=new shaka.util.Timer(function(){var e=t();e?r.references.push.apply(r.references,$jscomp.arrayFromIterable(e)):(r.timer_.stop(),r.timer_=null)}),this.timer_.tickEvery(e))},shaka.media.SegmentIndex.prototype[Symbol.iterator]=function(){var e=this.getIteratorForTime(0);return goog.asserts.assert(null!=e,"Iterator for 0 should never be null!"),e},shaka.media.SegmentIndex.prototype.getIteratorForTime=function(e,t,r){t=void 0!==t&&t,r=void 0!==r&&r;var i=this.find(e);if(null==i)return null;var n=this.get(i);r?i++:i--;var a=-1;if(n&&n.hasPartialSegments())for(var o=n.partialReferences.length-1;0<=o;--o){var s=n.partialReferences[o];if(e>=s.startTime&&e<s.endTime){if(!t){for(;o&&!s.isIndependent();)o--,s=n.partialReferences[o];if(!s.isIndependent())return shaka.log.alwaysError("No independent partial segment found!"),null}r?i--:i++,a=o-1;break}}return new shaka.media.SegmentIterator(this,i,a,r)},shaka.media.SegmentIndex.prototype.isEmpty=function(){return 0==this.getNumReferences()},shaka.media.SegmentIndex.forSingleSegment=function(e,t,r){return e=new shaka.media.SegmentReference(e,e+t,function(){return r},0,null,null,e,e,e+t),new shaka.media.SegmentIndex([e])},goog.exportSymbol("shaka.media.SegmentIndex",shaka.media.SegmentIndex),goog.exportProperty(shaka.media.SegmentIndex,"forSingleSegment",shaka.media.SegmentIndex.forSingleSegment),goog.exportProperty(shaka.media.SegmentIndex.prototype,"getIteratorForTime",shaka.media.SegmentIndex.prototype.getIteratorForTime),goog.exportProperty(shaka.media.SegmentIndex.prototype,"updateEvery",shaka.media.SegmentIndex.prototype.updateEvery),goog.exportProperty(shaka.media.SegmentIndex.prototype,"fit",shaka.media.SegmentIndex.prototype.fit),goog.exportProperty(shaka.media.SegmentIndex.prototype,"evict",shaka.media.SegmentIndex.prototype.evict),goog.exportProperty(shaka.media.SegmentIndex.prototype,"mergeAndEvict",shaka.media.SegmentIndex.prototype.mergeAndEvict),goog.exportProperty(shaka.media.SegmentIndex.prototype,"offset",shaka.media.SegmentIndex.prototype.offset),goog.exportProperty(shaka.media.SegmentIndex.prototype,"get",shaka.media.SegmentIndex.prototype.get),goog.exportProperty(shaka.media.SegmentIndex.prototype,"find",shaka.media.SegmentIndex.prototype.find),goog.exportProperty(shaka.media.SegmentIndex.prototype,"markImmutable",shaka.media.SegmentIndex.prototype.markImmutable),goog.exportProperty(shaka.media.SegmentIndex.prototype,"release",shaka.media.SegmentIndex.prototype.release),goog.exportProperty(shaka.media.SegmentIndex.prototype,"getNumEvicted",shaka.media.SegmentIndex.prototype.getNumEvicted),goog.exportProperty(shaka.media.SegmentIndex.prototype,"getNumReferences",shaka.media.SegmentIndex.prototype.getNumReferences),goog.DEBUG&&(shaka.media.SegmentIndex.assertCorrectReferences_=function(e){goog.asserts.assert(e.every(function(t,r){return 0==r||(r=e[r-1]).startTime<t.startTime||!(r.startTime>t.startTime)&&r.endTime<=t.endTime}),"SegmentReferences are incorrect")}),shaka.media.SegmentIterator=function(e,t,r,i){this.segmentIndex_=e,this.currentPosition_=t,this.currentPartialPosition_=r,this.reverse=i},shaka.media.SegmentIterator.prototype.setReverse=function(e){this.reverse=e},shaka.media.SegmentIterator.prototype.currentPosition=function(){return this.currentPosition_},shaka.media.SegmentIterator.prototype.current=function(){var e=this.segmentIndex_.get(this.currentPosition_);return e&&e.hasPartialSegments()&&e.hasAllPartialSegments()&&this.currentPartialPosition_>=e.partialReferences.length&&(this.currentPosition_++,this.currentPartialPosition_=0,e=this.segmentIndex_.get(this.currentPosition_)),e&&e.hasPartialSegments()?e.partialReferences[this.currentPartialPosition_]:e},shaka.media.SegmentIterator.prototype.next=function(){var e=this.segmentIndex_.get(this.currentPosition_);return this.reverse?e&&e.hasPartialSegments()?(this.currentPartialPosition_--,0>this.currentPartialPosition_&&(this.currentPosition_--,(e=this.segmentIndex_.get(this.currentPosition_))&&e.hasPartialSegments()?this.currentPartialPosition_=e.partialReferences.length-1:this.currentPartialPosition_=0)):(this.currentPosition_--,this.currentPartialPosition_=0):e&&e.hasPartialSegments()?(this.currentPartialPosition_++,e.hasAllPartialSegments()&&this.currentPartialPosition_==e.partialReferences.length&&(this.currentPosition_++,this.currentPartialPosition_=0)):(this.currentPosition_++,this.currentPartialPosition_=0),{value:e=this.current(),done:!e}},shaka.media.SegmentIterator.prototype.resetToLastIndependent=function(){var e=this.current();if(e.isPartial()&&!e.isIndependent()&&(e=this.segmentIndex_.get(this.currentPosition_))&&e.hasPartialSegments())for(var t=e.partialReferences[this.currentPartialPosition_];t.isIndependent()&&!(0>=this.currentPartialPosition_);)this.currentPartialPosition_--,t=e.partialReferences[this.currentPartialPosition_]},goog.exportSymbol("shaka.media.SegmentIterator",shaka.media.SegmentIterator),goog.exportProperty(shaka.media.SegmentIterator.prototype,"resetToLastIndependent",shaka.media.SegmentIterator.prototype.resetToLastIndependent),goog.exportProperty(shaka.media.SegmentIterator.prototype,"next",shaka.media.SegmentIterator.prototype.next),goog.exportProperty(shaka.media.SegmentIterator.prototype,"current",shaka.media.SegmentIterator.prototype.current),goog.exportProperty(shaka.media.SegmentIterator.prototype,"currentPosition",shaka.media.SegmentIterator.prototype.currentPosition),goog.exportProperty(shaka.media.SegmentIterator.prototype,"setReverse",shaka.media.SegmentIterator.prototype.setReverse),shaka.media.MetaSegmentIndex=function(){shaka.media.SegmentIndex.call(this,[]),this.indexes_=[]},$jscomp.inherits(shaka.media.MetaSegmentIndex,shaka.media.SegmentIndex),shaka.media.MetaSegmentIndex.prototype.evictEmpty=function(){for(;1<this.indexes_.length&&this.indexes_[0].isEmpty();){var e=this.indexes_.shift();this.numEvicted_+=e.getNumEvicted(),e.release()}},shaka.media.MetaSegmentIndex.prototype.appendSegmentIndex=function(e){goog.asserts.assert(0==this.indexes_.length||0==e.getNumEvicted(),"Should not append a new segment index with already-evicted segments"),this.indexes_.push(e)},shaka.media.MetaSegmentIndex.prototype.clone=function(){var e=new shaka.media.MetaSegmentIndex;return e.indexes_=this.indexes_.slice(),e.numEvicted_=this.numEvicted_,e},shaka.media.MetaSegmentIndex.prototype.release=function(){for(var e=$jscomp.makeIterator(this.indexes_),t=e.next();!t.done;t=e.next())t.value.release();this.indexes_=[]},shaka.media.MetaSegmentIndex.prototype.forEachTopLevelReference=function(e){for(var t=$jscomp.makeIterator(this.indexes_),r=t.next();!r.done;r=t.next())r.value.forEachTopLevelReference(e)},shaka.media.MetaSegmentIndex.prototype.find=function(e){for(var t=this.numEvicted_,r=$jscomp.makeIterator(this.indexes_),i=r.next();!i.done;i=r.next()){var n=(i=i.value).find(e);if(null!=n)return n+t;t+=i.getNumEvicted()+i.getNumReferences()}return null},shaka.media.MetaSegmentIndex.prototype.get=function(e){for(var t=this.numEvicted_,r=!1,i=$jscomp.makeIterator(this.indexes_),n=i.next();!n.done;n=i.next()){n=n.value,goog.asserts.assert(!r||0==n.getNumEvicted(),"Should not see evicted segments after available segments");var a=n.get(e-t);if(a)return a;a=n.getNumReferences(),t+=n.getNumEvicted()+a,r=r||0!=a}return null},shaka.media.MetaSegmentIndex.prototype.offset=function(e){goog.asserts.assert(!1,"offset() should not be used in MetaSegmentIndex!")},shaka.media.MetaSegmentIndex.prototype.merge=function(e){goog.asserts.assert(!1,"merge() should not be used in MetaSegmentIndex!")},shaka.media.MetaSegmentIndex.prototype.evict=function(e){for(var t=$jscomp.makeIterator(this.indexes_),r=t.next();!r.done;r=t.next())r.value.evict(e);this.evictEmpty()},shaka.media.MetaSegmentIndex.prototype.mergeAndEvict=function(e,t){goog.asserts.assert(!1,"mergeAndEvict() should not be used in MetaSegmentIndex!")},shaka.media.MetaSegmentIndex.prototype.fit=function(e,t){goog.asserts.assert(!1,"fit() should not be used in MetaSegmentIndex!")},shaka.media.MetaSegmentIndex.prototype.updateEvery=function(e,t){goog.asserts.assert(!1,"updateEvery() should not be used in MetaSegmentIndex!")},goog.exportSymbol("shaka.media.MetaSegmentIndex",shaka.media.MetaSegmentIndex),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"updateEvery",shaka.media.MetaSegmentIndex.prototype.updateEvery),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"fit",shaka.media.MetaSegmentIndex.prototype.fit),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"mergeAndEvict",shaka.media.MetaSegmentIndex.prototype.mergeAndEvict),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"evict",shaka.media.MetaSegmentIndex.prototype.evict),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"merge",shaka.media.MetaSegmentIndex.prototype.merge),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"offset",shaka.media.MetaSegmentIndex.prototype.offset),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"get",shaka.media.MetaSegmentIndex.prototype.get),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"find",shaka.media.MetaSegmentIndex.prototype.find),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"forEachTopLevelReference",shaka.media.MetaSegmentIndex.prototype.forEachTopLevelReference),goog.exportProperty(shaka.media.MetaSegmentIndex.prototype,"release",shaka.media.MetaSegmentIndex.prototype.release),shaka.media.PlayRateController=function(e){var t=this;this.harness_=e,this.isBuffering_=!1,this.rate_=this.harness_.getRate(),this.pollRate_=.25,this.timer_=new shaka.util.Timer(function(){t.harness_.movePlayhead(t.rate_*t.pollRate_)})},shaka.media.PlayRateController.prototype.release=function(){this.set(this.getDefaultRate()),this.timer_&&(this.timer_.stop(),this.timer_=null),this.harness_=null},shaka.media.PlayRateController.prototype.setBuffering=function(e){this.isBuffering_=e,this.apply_()},shaka.media.PlayRateController.prototype.set=function(e){goog.asserts.assert(0!=e,"Should never set rate of 0 explicitly!"),this.rate_=e,this.apply_()},shaka.media.PlayRateController.prototype.getRealRate=function(){return this.rate_},shaka.media.PlayRateController.prototype.getDefaultRate=function(){return this.harness_.getDefaultRate()},shaka.media.PlayRateController.prototype.apply_=function(){this.timer_.stop();var e=this.calculateCurrentRate_();if(shaka.log.v1("Changing effective playback rate to",e),0<=e)try{this.applyRate_(e);return}catch(e){}this.timer_.tickEvery(this.pollRate_),this.applyRate_(0)},shaka.media.PlayRateController.prototype.calculateCurrentRate_=function(){return this.isBuffering_?0:this.rate_},shaka.media.PlayRateController.prototype.applyRate_=function(e){var t=this.harness_.getRate();return t!=e&&this.harness_.setRate(e),t!=e},shaka.media.IPlayheadObserver=function(){},shaka.media.IPlayheadObserver.prototype.poll=function(e,t){},shaka.media.PlayheadObserverManager=function(e){var t=this;this.mediaElement_=e,this.eventManager_=new shaka.util.EventManager,this.observers_=new Set,this.pollingLoop_=new shaka.util.Timer(function(){t.pollAllObservers_(!1)}).tickNow(),e.paused||this.pollingLoop_.tickEvery(.25),this.eventManager_.listen(e,"playing",function(){t.pollingLoop_.tickNow().tickEvery(.25)}),this.eventManager_.listen(e,"pause",function(){t.pollingLoop_.stop()})},shaka.media.PlayheadObserverManager.prototype.release=function(){this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),this.pollingLoop_.stop();for(var e=$jscomp.makeIterator(this.observers_),t=e.next();!t.done;t=e.next())t.value.release();this.observers_.clear()},shaka.media.PlayheadObserverManager.prototype.manage=function(e){this.observers_.add(e)}
1,shaka.media.PlayheadObserverManager.prototype.notifyOfSeek=function(){this.pollAllObservers_(!0)},shaka.media.PlayheadObserverManager.prototype.pollAllObservers_=function(e){for(var t=this.mediaElement_.currentTime,r=$jscomp.makeIterator(this.observers_),i=r.next();!i.done;i=r.next())i.value.poll(t,e)},shaka.media.QualityObserver=function(e){shaka.util.FakeEventTarget.call(this),this.contentTypeStates_=new Map,this.getBufferedInfo_=e},$jscomp.inherits(shaka.media.QualityObserver,shaka.util.FakeEventTarget),shaka.media.QualityObserver.prototype.release=function(){this.contentTypeStates_.clear(),shaka.util.FakeEventTarget.prototype.release.call(this)},shaka.media.QualityObserver.prototype.getContentTypeState_=function(e){var t=this.contentTypeStates_.get(e);return t||(t={qualityChangePositions:[],currentQuality:null,contentType:e},this.contentTypeStates_.set(e,t)),t},shaka.media.QualityObserver.prototype.addMediaQualityChange=function(e,t){var r=this.getContentTypeState_(e.contentType);this.purgeQualityChangePositions_(r),e={mediaQuality:e,position:t};var i=(r=r.qualityChangePositions).findIndex(function(e){return e.position>=t});0<=i?r.splice(i,+(r[i].position==t),e):r.push(e)},shaka.media.QualityObserver.getMediaQualityAtPosition_=function(e,t){t=t.qualityChangePositions;for(var r=t.length-1;0<=r;r--){var i=t[r];if(i.position<=e)return i.mediaQuality}return null},shaka.media.QualityObserver.mediaQualitiesAreTheSame_=function(e,t){return e===t||!!e&&!!t&&e.bandwidth==t.bandwidth&&e.audioSamplingRate==t.audioSamplingRate&&e.codecs==t.codecs&&e.contentType==t.contentType&&e.frameRate==t.frameRate&&e.height==t.height&&e.mimeType==t.mimeType&&e.channelsCount==t.channelsCount&&e.pixelAspectRatio==t.pixelAspectRatio&&e.width==t.width},shaka.media.QualityObserver.prototype.poll=function(e,t){t=$jscomp.makeIterator(this.contentTypeStates_.values());for(var r=t.next();!r.done;r=t.next()){var i=(r=r.value).currentQuality,n=shaka.media.QualityObserver.getMediaQualityAtPosition_(e,r),a=n&&!shaka.media.QualityObserver.mediaQualitiesAreTheSame_(i,n),o=n&&i&&n.label&&i.label&&i.label!==n.label,s=n&&i&&n.language&&i.language&&i.language!==n.language;i=n&&i&&n.roles&&i.roles&&!shaka.util.ArrayUtils.equal(i.roles,n.roles),(o||s||i)&&this.positionIsBuffered_(e,n.contentType)&&(r.currentQuality=n,o=new shaka.util.FakeEvent("audiotrackchange",new Map([["quality",n],["position",e]])),this.dispatchEvent(o)),a&&this.positionIsBuffered_(e,n.contentType)&&(r.currentQuality=n,shaka.log.debug("Media quality changed at position "+e+" "+JSON.stringify(n)),r=new shaka.util.FakeEvent("qualitychange",new Map([["quality",n],["position",e]])),this.dispatchEvent(r))}},shaka.media.QualityObserver.prototype.positionIsBuffered_=function(e,t){if((t=this.getBufferedInfo_()[t])&&0<t.length){var r=t[t.length-1].end;if(e>=t[0].start&&e<r)return!0}return!1},shaka.media.QualityObserver.prototype.purgeQualityChangePositions_=function(e){var t=this.getBufferedInfo_()[e.contentType];if(t&&0<t.length){var r=t[0].start,i=t[t.length-1].end,n=e.qualityChangePositions;e.qualityChangePositions=n.filter(function(e,t){return(!(e.position<=r)||!(t+1<n.length)||!(n[t+1].position<=r))&&!(e.position>=i)})}else e.qualityChangePositions=[]},shaka.media.QualityObserver.createQualityInfo=function(e){var t={bandwidth:e.bandwidth||0,audioSamplingRate:null,codecs:e.codecs,contentType:e.type,frameRate:null,height:null,mimeType:e.mimeType,channelsCount:null,pixelAspectRatio:null,width:null,label:null,roles:e.roles,language:null};return e.type==shaka.util.ManifestParserUtils.ContentType.VIDEO&&(t.frameRate=e.frameRate||null,t.height=e.height||null,t.pixelAspectRatio=e.pixelAspectRatio||null,t.width=e.width||null),e.type==shaka.util.ManifestParserUtils.ContentType.AUDIO&&(t.audioSamplingRate=e.audioSamplingRate,t.channelsCount=e.channelsCount,t.label=e.label||null,t.language=e.language),t},shaka.media.RegionTimeline=function(e){shaka.util.FakeEventTarget.call(this),this.regions_=new Map,this.getSeekRange_=e,this.filterTimer_=null},$jscomp.inherits(shaka.media.RegionTimeline,shaka.util.FakeEventTarget),shaka.media.RegionTimeline.prototype.release=function(){this.regions_.clear(),this.releaseTimer_(),shaka.util.FakeEventTarget.prototype.release.call(this)},shaka.media.RegionTimeline.prototype.addRegion=function(e){var t=this.generateKey_(e);this.regions_.has(t)||(this.regions_.set(t,e),e=new shaka.util.FakeEvent("regionadd",new Map([["region",e]])),this.dispatchEvent(e),this.setupTimer_())},shaka.media.RegionTimeline.prototype.filterBySeekRange_=function(){for(var e=this.getSeekRange_(),t=$jscomp.makeIterator(this.regions_),r=t.next();!r.done;r=t.next()){var i=$jscomp.makeIterator(r.value);r=i.next().value,(i=i.next().value).endTime<e.start&&(this.regions_.delete(r),r=new shaka.util.FakeEvent("regionremove",new Map([["region",i]])),this.dispatchEvent(r))}this.regions_.size||this.releaseTimer_()},shaka.media.RegionTimeline.prototype.setupTimer_=function(){var e=this;this.filterTimer_||(this.filterTimer_=new shaka.util.Timer(function(){e.filterBySeekRange_()}).tickEvery(shaka.media.RegionTimeline.REGION_FILTER_INTERVAL))},shaka.media.RegionTimeline.prototype.releaseTimer_=function(){this.filterTimer_&&(this.filterTimer_.stop(),this.filterTimer_=null)},shaka.media.RegionTimeline.prototype.regions=function(){return this.regions_.values()},shaka.media.RegionTimeline.prototype.generateKey_=function(e){return e.schemeIdUri+"_"+e.id+"_"+e.startTime.toFixed(1)+"_"+e.endTime.toFixed(1)},shaka.media.RegionTimeline.REGION_FILTER_INTERVAL=2,shaka.media.SegmentPrefetch=function(e,t,r,i){this.prefetchLimit_=e,this.stream_=t,this.fetchDispat
1cher_=r,this.segmentPrefetchMap_=new Map,this.initSegmentPrefetchMap_=new Map,this.iterator_=null,this.reverse_=i},shaka.media.SegmentPrefetch.prototype.replaceFetchDispatcher=function(e){this.fetchDispatcher_=e;for(var t=$jscomp.makeIterator(this.segmentPrefetchMap_.values()),r=t.next();!r.done;r=t.next())r.value.replaceFetchDispatcher(e)},shaka.media.SegmentPrefetch.prototype.prefetchSegmentsByTime=function(e,t){t=void 0!==t&&t,goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var r=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(!this.stream_.segmentIndex)return shaka.log.debug(r,"missing segmentIndex"),Promise.resolve();if(this.iterator_||(this.iterator_=this.stream_.segmentIndex.getIteratorForTime(e,!0,this.reverse_)),!this.iterator_)return shaka.log.debug(r,"missing iterator"),Promise.resolve();for(t&&this.iterator_.next(),e=[];this.segmentPrefetchMap_.size<this.prefetchLimit_&&(t=this.iterator_.next().value);)r=!0,t.isPreload()&&null!=t.endByte&&(r=!1),t.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(r=!1),t.getSegmentData(!1)&&(r=!1),r&&t.initSegmentReference&&e.push(this.prefetchInitSegment(t.initSegmentReference)),r&&!this.segmentPrefetchMap_.has(t)&&(r=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),e.push(r.dispatchFetch(t,this.stream_)),this.segmentPrefetchMap_.set(t,r));return this.clearInitSegments_(),Promise.all(e)},shaka.media.SegmentPrefetch.prototype.prefetchInitSegment=function(e){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var t=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(!this.stream_.segmentIndex)return shaka.log.debug(t,"missing segmentIndex"),Promise.resolve();if(e.getSegmentData()||Array.from(this.initSegmentPrefetchMap_.keys()).some(function(t){return shaka.media.InitSegmentReference.equal(t,e)}))return Promise.resolve();var r=(t=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_)).dispatchFetch(e,this.stream_);return this.initSegmentPrefetchMap_.set(e,t),r},shaka.media.SegmentPrefetch.prototype.getPrefetchedSegment=function(e,t){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var r=shaka.media.SegmentPrefetch.logPrefix_(this.stream_),i=this.segmentPrefetchMap_;if(e instanceof shaka.media.InitSegmentReference&&(i=this.initSegmentPrefetchMap_),i.has(e)){var n=i.get(e);return t&&n.setStreamDataCallback(t),e instanceof shaka.media.SegmentReference?shaka.log.debug(r,"reused prefetched segment at time:",e.startTime,"mapSize",i.size):shaka.log.debug(r,"reused prefetched init segment at time, mapSize",i.size),n.getOperation()}return e instanceof shaka.media.SegmentReference?shaka.log.debug(r,"missed segment at time:",e.startTime,"mapSize",i.size):shaka.log.debug(r,"missed init segment at time, mapSize",i.size),null},shaka.media.SegmentPrefetch.prototype.clearMap_=function(e){e=$jscomp.makeIterator(e.keys());for(var t=e.next();!t.done;t=e.next())(t=t.value)&&this.abortPrefetchedSegment_(t)},shaka.media.SegmentPrefetch.prototype.resetPosition=function(){this.iterator_=null},shaka.media.SegmentPrefetch.prototype.clearAll=function(){this.clearMap_(this.segmentPrefetchMap_),this.clearMap_(this.initSegmentPrefetchMap_),this.resetPosition();var e=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);shaka.log.debug(e,"cleared all")},shaka.media.SegmentPrefetch.prototype.removeReference=function(e){this.abortPrefetchedSegment_(e)},shaka.media.SegmentPrefetch.prototype.evict=function(e,t){t=void 0!==t&&t;for(var r=$jscomp.makeIterator(this.segmentPrefetchMap_.keys()),i=r.next();!i.done;i=r.next())e>(i=i.value).endTime&&this.abortPrefetchedSegment_(i);t&&this.clearInitSegments_()},shaka.media.SegmentPrefetch.prototype.setReverse=function(e){this.reverse_=e,this.iterator_&&this.iterator_.setReverse(e)},shaka.media.SegmentPrefetch.prototype.clearInitSegments_=function(){for(var e=Array.from(this.segmentPrefetchMap_.keys()),t=$jscomp.makeIterator(this.initSegmentPrefetchMap_.keys()),r=t.next(),i={};!r.done;i={initSegmentReference$jscomp$3:void 0},r=t.next())i.initSegmentReference$jscomp$3=r.value,e.some(function(e){return function(t){return shaka.media.InitSegmentReference.equal(t.initSegmentReference,e.initSegmentReference$jscomp$3)}}(i))||this.abortPrefetchedSegment_(i.initSegmentReference$jscomp$3)},shaka.media.SegmentPrefetch.prototype.resetLimit=function(e){goog.asserts.assert(0<=e,"The new prefetch limit must be >= 0.");var t=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);for(shaka.log.debug(t,"resetting prefetch limit to",e),this.prefetchLimit_=e,t=Array.from(this.segmentPrefetchMap_.keys());t.length>e;){var r=t.pop();r&&this.abortPrefetchedSegment_(r)}this.clearInitSegments_()},shaka.media.SegmentPrefetch.prototype.switchStream=function(e){e&&e!==this.stream_&&(this.clearAll(),this.stream_=e)},shaka.media.SegmentPrefetch.prototype.getStream=function(){return this.stream_},shaka.media.SegmentPrefetch.prototype.abortPrefetchedSegment_=function(e){var t=shaka.media.SegmentPrefetch.logPrefix_(this.stream_),r=this.segmentPrefetchMap_;e instanceof shaka.media.InitSegmentReference&&(r=this.initSegmentPrefetchMap_);var i=r.get(e);r.delete(e),i&&(i.abort(),e instanceof shaka.media.SegmentReference?shaka.log.debug(t,"pop and abort prefetched segment at time:",e.startTime):shaka.log.debug(t,"pop and abort prefetched init segment"))},shaka.media.SegmentPrefetch.logPrefix_=function(e){return"SegmentPrefetch("+e.type+":"+e.id+")"},shaka.media.SegmentPrefetchOperation=function(e){this.fetchDispat
1cher_=e,this.operation_=this.streamDataCallback_=null},shaka.media.SegmentPrefetchOperation.prototype.replaceFetchDispatcher=function(e){this.fetchDispatcher_=e},shaka.media.SegmentPrefetchOperation.prototype.dispatchFetch=function(e,t){var r=this,i=new Uint8Array(0);return this.operation_=this.fetchDispatcher_(e,t,function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return i=0<i.byteLength?shaka.util.Uint8ArrayUtils.concat(i,e):e,r.streamDataCallback_?t.yield(r.streamDataCallback_(i),3):t.jumpTo(0);i=new Uint8Array(0),t.jumpToEnd()})}),this.operation_.promise.catch(function(e){return e instanceof shaka.util.Error&&e.code==shaka.util.Error.Code.OPERATION_ABORTED?Promise.resolve():Promise.reject(e)})},shaka.media.SegmentPrefetchOperation.prototype.getOperation=function(){return this.operation_},shaka.media.SegmentPrefetchOperation.prototype.setStreamDataCallback=function(e){this.streamDataCallback_=e},shaka.media.SegmentPrefetchOperation.prototype.abort=function(){this.operation_&&this.operation_.abort()},shaka.media.SegmentUtils=function(){},shaka.media.SegmentUtils.getBasicInfoFromMimeType=function(e){var t=shaka.util.MimeUtils.getBasicType(e);return{type:t.split("/")[0],mimeType:t,codecs:e=shaka.util.MimeUtils.getCodecs(e),language:null,height:null,width:null,channelCount:null,sampleRate:null,closedCaptions:new Map,videoRange:null,colorGamut:null,frameRate:null}},shaka.media.SegmentUtils.getBasicInfoFromTs=function(e,t,r,i){var n=shaka.util.BufferUtils.toUint8(e),a=(new shaka.util.TsParser).parse(n),o=a.getCodecs();n=a.getVideoInfo();var s=[],l=!1,u=!1;if(!t)switch(o.audio){case"aac":case"aac-loas":a.getAudioData().length&&(s.push("mp4a.40.2"),l=!0);break;case"mp3":a.getAudioData().length&&(s.push("mp4a.40.34"),l=!0);break;case"ac3":a.getAudioData().length&&(s.push("ac-3"),l=!0);break;case"ec3":a.getAudioData().length&&(s.push("ec-3"),l=!0);break;case"opus":a.getAudioData().length&&(s.push("opus"),l=!0)}if(!r)switch(o.video){case"avc":n.codec?s.push(n.codec):s.push("avc1.42E01E"),u=!0;break;case"hvc":n.codec?s.push(n.codec):s.push("hvc1.1.6.L93.90"),u=!0;break;case"av1":s.push("av01.0.01M.08"),u=!0}if(!s.length)return null;if(t=l&&!u,r=new Map,u&&!i){for((i=new shaka.media.ClosedCaptionParser("video/mp2t")).parseFrom(e),u=(e=$jscomp.makeIterator(i.getStreams())).next();!u.done;u=e.next())u=u.value,r.set(u,u);i.reset()}return{type:t?"audio":"video",mimeType:"video/mp2t",codecs:s.join(", "),language:null,height:n.height,width:n.width,channelCount:null,sampleRate:null,closedCaptions:r,videoRange:null,colorGamut:null,frameRate:n.frameRate}},shaka.media.SegmentUtils.getBasicInfoFromMp4=function(e,t,r){var i,n=shaka.util.Mp4Parser,a=shaka.media.SegmentUtils,o=[],s=[],l=!1,u=!1,d=function(e){switch(e=e.toLowerCase()){case"avc1":case"avc3":s.push(e+".42E01E"),u=!0;break;case"hev1":case"hvc1":s.push(e+".1.6.L93.90"),u=!0;break;case"dvh1":case"dvhe":s.push(e+".05.04"),u=!0;break;case"vp09":s.push(e+".00.10.08"),u=!0;break;case"av01":s.push(e+".0.01M.08"),u=!0;break;case"mp4a":o.push("mp4a.40.2"),l=!0;break;case"ac-3":case"ec-3":case"ac-4":case"opus":case"flac":o.push(e),l=!0}},c=null,p=null,m=null,f=null,g=null,h=null,y=null,_=function(e){var t=shaka.util.Mp4BoxParsers.audioSampleEntry(e.reader);f=t.channelCount,g=t.sampleRate,d(e.name)},S=function(e){i=e.name;var t=shaka.util.Mp4BoxParsers.visualSampleEntry(e.reader);m=String(t.width),p=String(t.height),e.reader.hasMoreData()&&n.children(e)};if((new n).box("moov",n.children).box("trak",n.children).box("mdia",n.children).fullBox("mdhd",function(e){goog.asserts.assert(null!=e.version,"MDHD is a full box and should have a valid version."),c=shaka.util.Mp4BoxParsers.parseMDHD(e.reader,e.version).language}).box("minf",n.children).box("stbl",n.children).fullBox("stsd",n.sampleDescription).box("mp4a",function(e){var t=shaka.util.Mp4BoxParsers.audioSampleEntry(e.reader);f=t.channelCount,g=t.sampleRate,e.reader.hasMoreData()?n.children(e):d(e.name)}).box("esds",function(e){e=shaka.util.Mp4BoxParsers.parseESDS(e.reader),o.push(e.codec),l=!0}).box("ac-3",_).box("ec-3",_).box("ac-4",_).box("Opus",_).box("fLaC",_).box("avc1",S).box("avc3",S).box("hev1",S).box("hvc1",S).box("dva1",S).box("dvav",S).box("dvh1",S).box("dvhe",S).box("vp09",S).box("av01",S).box("avcC",function(e){var t=i||"";switch(i){case"dvav":t="avc3";break;case"dva1":t="avc1"}e=shaka.util.Mp4BoxParsers.parseAVCC(t,e.reader,e.name),s.push(e.codec),u=!0}).box("hvcC",function(e){var t=i||"";switch(i){case"dvh1":t="hvc1";break;case"dvhe":t="hev1"}
1e=shaka.util.Mp4BoxParsers.parseHVCC(t,e.reader,e.name),s.push(e.codec),u=!0}).box("dvcC",function(e){var t=i||"";switch(i){case"hvc1":t="dvh1";break;case"hev1":t="dvhe";break;case"avc1":t="dva1";break;case"avc3":t="dvav";break;case"av01":t="dav1"}e=shaka.util.Mp4BoxParsers.parseDVCC(t,e.reader,e.name),s.push(e.codec),u=!0}).box("dvvC",function(e){var t=i||"";switch(i){case"hvc1":t="dvh1";break;case"hev1":t="dvhe";break;case"avc1":t="dva1";break;case"avc3":t="dvav";break;case"av01":t="dav1"}e=shaka.util.Mp4BoxParsers.parseDVVC(t,e.reader,e.name),s.push(e.codec),u=!0}).fullBox("vpcC",function(e){e=shaka.util.Mp4BoxParsers.parseVPCC(i||"",e.reader,e.name),s.push(e.codec),u=!0}).box("av1C",function(e){var t=i||"";"dav1"===i&&(t="av01"),e=shaka.util.Mp4BoxParsers.parseAV1C(t,e.reader,e.name),s.push(e.codec),u=!0}).box("enca",n.audioSampleEntry).box("encv",n.visualSampleEntry).box("sinf",n.children).box("frma",function(e){d(e=shaka.util.Mp4BoxParsers.parseFRMA(e.reader).codec)}).box("colr",function(e){s=s.map(function(t){return t.startsWith("av01.")?shaka.util.Mp4BoxParsers.updateAV1CodecWithCOLRBox(t,e.reader):t});var t=shaka.util.Mp4BoxParsers.parseCOLR(e.reader),r=t.colorGamut;h=t.videoRange,y=r}).parse(e||t,!0),!o.length&&!s.length)return null;if(_=l&&!u,S=new Map,u&&!r){r=new shaka.media.ClosedCaptionParser("video/mp4"),e&&r.init(e);try{r.parseFrom(t);for(var v=$jscomp.makeIterator(r.getStreams()),T=v.next();!T.done;T=v.next()){var E=T.value;S.set(E,E)}}catch(e){shaka.log.debug("Error detecting CC streams",e)}r.reset()}return e=o.concat(s),{type:_?"audio":"video",mimeType:_?"audio/mp4":"video/mp4",codecs:a.codecsFiltering(e).join(", "),language:c,height:p,width:m,channelCount:f,sampleRate:g,closedCaptions:S,videoRange:h,colorGamut:y,frameRate:null}},shaka.media.SegmentUtils.codecsFiltering=function(e){var t=shaka.util.ManifestParserUtils.ContentType,r=shaka.util.ManifestParserUtils,i=shaka.media.SegmentUtils;e=i.filterDuplicateCodecs_(e);var n=r.guessAllCodecsSafe(t.AUDIO,e),a=r.guessAllCodecsSafe(t.VIDEO,e);return t=r.guessAllCodecsSafe(t.TEXT,e),i=i.chooseBetterCodecs_(a),i=n.concat(i).concat(t),e.length&&!i.length?e:i},shaka.media.SegmentUtils.filterDuplicateCodecs_=function(e){var t=new Set,r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;var n=shaka.util.MimeUtils.getCodecBase(i);t.has(n)?shaka.log.debug("Ignoring duplicate codec"):(r.push(i),t.add(n))}return r},shaka.media.SegmentUtils.chooseBetterCodecs_=function(e){if(1>=e.length)return e;var t=e.find(function(e){return e.startsWith("dvav.")||e.startsWith("dva1.")||e.startsWith("dvh1.")||e.startsWith("dvhe.")||e.startsWith("dav1.")||e.startsWith("dvc1.")||e.startsWith("dvi1.")});return t?shaka.media.Capabilities.isTypeSupported('video/mp4; codecs="'+t+'"')?[t]:e.filter(function(e){return e!=t}):e},shaka.media.SegmentUtils.getDefaultKID=function(e){var t=shaka.util.Mp4Parser,r=null;return(new t).box("moov",t.children).box("trak",t.children).box("mdia",t.children).box("minf",t.children).box("stbl",t.children).fullBox("stsd",t.sampleDescription).box("encv",t.visualSampleEntry).box("enca",t.audioSampleEntry).box("sinf",t.children).box("schi",t.children).fullBox("tenc",function(e){r=shaka.util.Mp4BoxParsers.parseTENC(e.reader).defaultKID}).parse(e,!0),r},shaka.media.SegmentUtils.aesDecrypt=function(e,t,r){var i,n,a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return(i=t).cryptoKey?l.jumpTo(2):(goog.asserts.assert(i.fetchKey,"If AES cryptoKey was not preloaded, fetchKey function should be provided"),l.yield(i.fetchKey(),3));if(2!=l.nextAddress&&goog.asserts.assert(i.cryptoKey,"AES cryptoKey should now be set"),!(n=i.iv))for(n=shaka.util.BufferUtils.toUint8(new ArrayBuffer(16)),a=i.firstMediaSequenceNumber+r,o=n.byteLength-1;0<=o;o--)n[o]=255&a,a>>=8;return s="CBC"==t.blockCipherMode?{name:"AES-CBC",iv:n}:{name:"AES-CTR",counter:n,length:64},l.return(window.crypto.subtle.decrypt(s,i.cryptoKey,e))})},shaka.util.Networking=function(){},shaka.util.Networking.createSegmentRequest=function(e,t,r,i,n){return e=shaka.net.NetworkingEngine.makeRequest
1(e,i,n),(0!=t||null!=r)&&(e.headers.Range=r?"bytes="+t+"-"+r:"bytes="+t+"-"),e},shaka.media.StreamingEngine=function(e,t){var r=this;this.playerInterface_=t,this.manifest_=e,this.config_=null,this.deferredCloseSegmentIndex_=new Map,this.bufferingScale_=1,this.currentTextStream_=this.currentVariant_=null,this.textStreamSequenceId_=0,this.mediaStates_=new Map,this.startupComplete_=!1,this.failureCallbackBackoff_=null,this.fatalError_=!1,this.destroyer_=new shaka.util.Destroyer(function(){return r.doDestroy_()}),this.lastMediaSourceReset_=Date.now()/1e3,this.audioPrefetchMap_=new Map,this.spatialVideoInfo_={projection:null,hfov:null},this.playRangeStart_=0,this.playRangeEnd_=1/0,this.lastTextMediaStateBeforeUnload_=null,this.updateLiveSeekableRangeTime_=new shaka.util.Timer(function(){if(r.manifest_&&r.playerInterface_)if(r.manifest_.presentationTimeline.isLive()){var e=r.manifest_.presentationTimeline.getSeekRangeStart(),t=r.manifest_.presentationTimeline.getSeekRangeEnd();1<t-e?r.playerInterface_.mediaSourceEngine.setLiveSeekableRange(e,t):r.playerInterface_.mediaSourceEngine.clearLiveSeekableRange()}else r.playerInterface_.mediaSourceEngine.clearLiveSeekableRange(),r.updateLiveSeekableRangeTime_&&r.updateLiveSeekableRangeTime_.stop()})},shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()},shaka.media.StreamingEngine.prototype.doDestroy_=function(){var e,t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){if(1==s.nextAddress){for(e=[],r=(t=$jscomp.makeIterator(o.mediaStates_.values())).next();!r.done;r=t.next())i=r.value,o.cancelUpdate_(i),e.push(o.abortOperations_(i)),i.segmentPrefetch&&(i.segmentPrefetch.clearAll(),i.segmentPrefetch=null);for(a=(n=$jscomp.makeIterator(o.audioPrefetchMap_.values())).next();!a.done;a=n.next())a.value.clearAll();return s.yield(Promise.all(e),2)}o.mediaStates_.clear(),o.audioPrefetchMap_.clear(),o.playerInterface_=null,o.manifest_=null,o.config_=null,o.updateLiveSeekableRangeTime_&&o.updateLiveSeekableRangeTime_.stop(),o.updateLiveSeekableRangeTime_=null,s.jumpToEnd()})},shaka.media.StreamingEngine.prototype.configure=function(e){this.config_=e,this.failureCallbackBackoff_=new shaka.net.Backoff({maxAttempts:Math.max(e.retryParameters.maxAttempts,2),baseDelay:e.retryParameters.baseDelay,backoffFactor:e.retryParameters.backoffFactor,fuzzFactor:e.retryParameters.fuzzFactor,timeout:0,stallTimeout:0,connectionTimeout:0},!0);var t=shaka.util.ManifestParserUtils.ContentType;if(e.disableAudioPrefetch){var r=this.mediaStates_.get(t.AUDIO);r&&r.segmentPrefetch&&(r.segmentPrefetch.clearAll(),r.segmentPrefetch=null),r=$jscomp.makeIterator(this.audioPrefetchMap_.keys());for(var i=r.next();!i.done;i=r.next())i=i.value,this.audioPrefetchMap_.get(i).clearAll(),this.audioPrefetchMap_.delete(i)}for(e.disableTextPrefetch&&(r=this.mediaStates_.get(t.TEXT))&&r.segmentPrefetch&&(r.segmentPrefetch.clearAll(),r.segmentPrefetch=null),e.disableVideoPrefetch&&(t=this.mediaStates_.get(t.VIDEO))&&t.segmentPrefetch&&(t.segmentPrefetch.clearAll(),t.segmentPrefetch=null),r=(t=$jscomp.makeIterator(this.mediaStates_.keys())).next();!r.done;r=t.next())(r=this.mediaStates_.get(r.value)).segmentPrefetch?(r.segmentPrefetch.resetLimit(e.segmentPrefetchLimit),0<e.segmentPrefetchLimit||(r.segmentPrefetch.clearAll(),r.segmentPrefetch=null)):0<e.segmentPrefetchLimit&&(r.segmentPrefetch=this.createSegmentPrefetch_(r.stream));e.disableAudioPrefetch||this.updatePrefetchMapForAudio_()},shaka.media.StreamingEngine.prototype.applyPlayRange=function(e,t){this.manifest_.presentationTimeline.isLive()||(this.playRangeStart_=e,this.playRangeEnd_=t)},shaka.media.StreamingEngine.prototype.start=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return goog.asserts.assert(t.config_,"StreamingEngine configure() must be called before init()!"),r.yield(t.initStreams_(e||new Map),2);t.destroyer_.ensureNotDestroyed(),shaka.log.debug("init: completed initial Stream setup"),t.startupComplete_=!0,r.jumpToEnd()})},shaka.media.StreamingEngine.prototype.getCurrentVariant=function(){return this.currentVariant_},shaka.media.StreamingEngine.prototype.getCurrentTextStream=function(){return this.currentTextStream_},shaka.media.StreamingEngine.prototype.loadNewTextStream_=function(e){var t,r,i,n,a,o,s=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:return t=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(!s.mediaStates_.has(t.TEXT),"Should not call loadNewTextStream_ while streaming text!"),s.textStreamSequenceId_++,r=s.textStreamSequenceId_,l.setCatchFinallyBlocks(2),l.yield(s.playerInterface_.mediaSourceEngine.clear(t.TEXT),4);case 4:l.leaveTryBlock(3);break;case 2:i=l.enterCatchBlock(),s.playerInterface_&&s.playerInterface_.onError(i);case 3:n=shaka.util.MimeUtils.getFullType(e.mimeType,e.codecs),s.playerInterface_.mediaSourceEngine.reinitText(n,s.manifest_.sequenceMode,e.external),(a=s.playerInterface_.mediaSourceEngine.getTextDisplayer().isTextVisible()||s.config_.alwaysStreamText)&&s.textStreamSequenceId_==r&&(o=s.createMediaState_(e),s.mediaStates_.set(t.TEXT,o),s.scheduleUpdate_(o,0)),l.jumpToEnd()}})},shaka.media.StreamingEngine.prototype.unloadTextStream=function(){var e=shaka.util.ManifestParserUtils.ContentType,t=this.mediaStates_.get(e.TEXT);t&&(this.cancelUpdate_(t),this.abortOperations_(t).catch(function(){}),this.lastTextMediaStateBeforeUnload_=this.mediaStates_.get(e.TEXT),this.mediaStates_.delete(e.TEXT)),this.currentTextStream_=null},shaka.media.StreamingEngine.prototype.setTrickPlay=function(e){var t=shaka.util.ManifestParserUtils.ContentType;if(this.updateSegmentIteratorReverse_(),t=this.mediaStates_.get(t.VIDEO)){var r=t.stream;
1r&&((shaka.log.debug("setTrickPlay",e),e)?(e=r.trickModeVideo)&&!t.restoreStreamAfterTrickPlay&&(shaka.log.debug("Engaging trick mode stream",e),this.switchInternal_(e,!1,0,!1),t.restoreStreamAfterTrickPlay=r):(e=t.restoreStreamAfterTrickPlay)&&(shaka.log.debug("Restoring non-trick-mode stream",e),t.restoreStreamAfterTrickPlay=null,this.switchInternal_(e,!0,0,!1)))}},shaka.media.StreamingEngine.prototype.switchVariant=function(e,t,r,i,n){t=void 0!==t&&t,r=void 0===r?0:r,i=void 0!==i&&i,n=void 0!==n&&n,this.currentVariant_=e,this.startupComplete_&&(e.video&&this.switchInternal_(e.video,t,r,i,n),e.audio&&this.switchInternal_(e.audio,t,r,i,n))},shaka.media.StreamingEngine.prototype.switchTextStream=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return(r.lastTextMediaStateBeforeUnload_=null,r.currentTextStream_=e,r.startupComplete_)?(t=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(e&&e.type==t.TEXT,"Wrong stream type passed to switchTextStream!"),e.segmentIndex?i.jumpTo(2):i.yield(e.createSegmentIndex(),2)):i.return();r.switchInternal_(e,!0,0,!1),i.jumpToEnd()})},shaka.media.StreamingEngine.prototype.reloadTextStream=function(){var e=this.mediaStates_.get(shaka.util.ManifestParserUtils.ContentType.TEXT);e&&this.switchInternal_(e.stream,!0,0,!0)},shaka.media.StreamingEngine.prototype.handleDeferredCloseSegmentIndexes_=function(e){for(var t=$jscomp.makeIterator(this.deferredCloseSegmentIndex_.entries()),r=t.next();!r.done;r=t.next()){var i=$jscomp.makeIterator(r.value);r=i.next().value,i=i.next().value,r.includes(e.type)&&(i(),this.deferredCloseSegmentIndex_.delete(r))}},shaka.media.StreamingEngine.prototype.switchInternal_=function(e,t,r,i,n){var a=this,o=shaka.util.ManifestParserUtils.ContentType,s=this.mediaStates_.get(e.type);s||e.type!=o.TEXT?(goog.asserts.assert(s,"switch: expected mediaState to exist"),s&&(s.restoreStreamAfterTrickPlay&&(shaka.log.debug("switch during trick play mode",e),e.trickModeVideo?(s.restoreStreamAfterTrickPlay=e,e=e.trickModeVideo,shaka.log.debug("switch found trick play stream",e)):(s.restoreStreamAfterTrickPlay=null,shaka.log.debug("switch found no special trick play stream"))),s.stream!=e||i?(this.audioPrefetchMap_.has(e)?s.segmentPrefetch=this.audioPrefetchMap_.get(e):s.segmentPrefetch&&s.segmentPrefetch.switchStream(e),e.type==o.TEXT&&(i=shaka.util.MimeUtils.getFullType(e.mimeType,e.codecs),this.playerInterface_.mediaSourceEngine.reinitText(i,this.manifest_.sequenceMode,e.external)),!this.audioPrefetchMap_.has(s.stream)&&s.stream.closeSegmentIndex&&(s.performingUpdate?(i=shaka.media.StreamingEngine.logPrefix_(s),this.deferredCloseSegmentIndex_.has(i)||this.deferredCloseSegmentIndex_.set(i,s.stream.closeSegmentIndex)):s.stream.closeSegmentIndex()),i=s.stream.isAudioMuxedInVideo!=e.isAudioMuxedInVideo,s.stream=e,s.segmentIterator=null,s.adaptation=!!n,e=shaka.media.StreamingEngine.logPrefix_(s),shaka.log.debug("switch: switching to Stream "+e),i?this.resetMediaSource(!0,!1):(t?s.clearingBuffer?s.waitingToFlushBuffer=!0:s.performingUpdate?(s.waitingToClearBuffer=!0,s.clearBufferSafeMargin=r,s.waitingToFlushBuffer=!0):(this.cancelUpdate_(s),this.clearBuffer_(s,!0,r).catch(function(e){a.playerInterface_&&(goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!"),a.playerInterface_.onError(e))})):s.performingUpdate||s.updateTimer||this.scheduleUpdate_(s,0),this.makeAbortDecision_(s).catch(function(e){a.playerInterface_&&(goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!"),a.playerInterface_.onError(e))}))):(t=shaka.media.StreamingEngine.logPrefix_(s),shaka.log.debug("switch: Stream "+t+" already active")))):this.loadNewTextStream_(e)},shaka.media.StreamingEngine.prototype.makeAbortDecision_=function(e){var t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?e.operation?(t=e.stream,r=e.operation,t.segmentIndex?n.jumpTo(2):n.yield(t.createSegmentIndex(),2)):n.return():e.operation!=r||e.stream!=t?n.return():void(goog.asserts.assert(e.stream.segmentIndex,"Segment index should exist by now!"),i.shouldAbortCurrentRequest_(e)&&(shaka.log.info("Aborting current segment request."),e.operation.abort()),n.jumpToEnd())})},shaka.media.StreamingEngine.prototype.shouldAbortCurrentRequest_=function(e){goog.asserts.assert(e.operation,"Abort logic requires an ongoing operation!"),goog.asserts.assert(e.stream&&e.stream.segmentIndex,"Abort logic requires a segment index");var t=this.playerInterface_.getPresentationTime(),r=this.playerInterface_.mediaSourceEngine.bufferEnd(e.type),i=this.getTimeNeeded_(e,t),n=null==(i=e.stream.segmentIndex.find(i))?null:e.stream.segmentIndex.get(i);return i=n?n.getSize():null,n&&!i&&(i=(n.getEndTime()-n.getStartTime())*(e.stream.bandwidth||0)/8),!!i&&((n=n.initSegmentReference)&&(i+=n.get
1Size()||0),!!(8*i/(n=this.playerInterface_.getBandwidthEstimate())<(r||0)-t-this.config_.rebufferingGoal||e.operation.getBytesRemaining()>i))},shaka.media.StreamingEngine.prototype.seeked=function(){if(this.playerInterface_){for(var e=this.playerInterface_.getPresentationTime(),t=shaka.util.ManifestParserUtils.ContentType,r=!1,i=$jscomp.makeIterator(this.mediaStates_.keys()),n=i.next();!n.done;n=i.next()){n=n.value;var a=this.mediaStates_.get(n),o=shaka.media.StreamingEngine.logPrefix_(a);if(!this.playerInterface_.mediaSourceEngine.isBuffered(n,e)){if(this.lastMediaSourceReset_=0,a.segmentPrefetch&&a.segmentPrefetch.resetPosition(),a.type===t.AUDIO)for(var s=$jscomp.makeIterator(this.audioPrefetchMap_.values()),l=s.next();!l.done;l=s.next())l.value.resetPosition();a.segmentIterator=null,(null!=this.playerInterface_.mediaSourceEngine.bufferEnd(n)||a.performingUpdate)&&(this.forceClearBuffer_(a),r=!0),a.operation&&(a.operation.abort(),shaka.log.debug(o,"Aborting operation due to seek"),a.operation=null),n===t.TEXT&&this.playerInterface_.mediaSourceEngine.resetCaptionParser(),a.seeked=!0}}r||shaka.log.debug("(all): seeked: buffered seek: presentationTime="+e)}},shaka.media.StreamingEngine.prototype.forceClearBuffer_=function(e){var t=this,r=shaka.media.StreamingEngine.logPrefix_(e);e.clearingBuffer?shaka.log.debug(r,"clear: already clearing the buffer"):e.waitingToClearBuffer?shaka.log.debug(r,"clear: already waiting"):e.performingUpdate?(shaka.log.debug(r,"clear: currently updating"),e.waitingToClearBuffer=!0,e.clearBufferSafeMargin=0):null==this.playerInterface_.mediaSourceEngine.bufferStart(e.type)?(shaka.log.debug(r,"clear: nothing buffered"),null==e.updateTimer&&this.scheduleUpdate_(e,0)):(shaka.log.debug(r,"clear: handling right now"),this.cancelUpdate_(e),this.clearBuffer_(e,!1,0).catch(function(e){t.playerInterface_&&(goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!"),t.playerInterface_.onError(e))}))},shaka.media.StreamingEngine.prototype.initStreams_=function(e){var t,r,i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress){if(t=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(d.config_,"StreamingEngine configure() must be called before init()!"),!d.currentVariant_)throw shaka.log.error("init: no Streams chosen"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STREAMING,shaka.util.Error.Code.STREAMING_ENGINE_STARTUP_INVALID_STATE);return r=new Map,d.currentVariant_.audio&&r.set(t.AUDIO,d.currentVariant_.audio),d.currentVariant_.video&&r.set(t.VIDEO,d.currentVariant_.video),d.currentTextStream_&&r.set(t.TEXT,d.currentTextStream_),i=d.playerInterface_.mediaSourceEngine,c.yield(i.init(r,d.manifest_.sequenceMode,d.manifest_.type,d.manifest_.ignoreManifestTimestampsInSegmentsMode),2)}for(d.destroyer_.ensureNotDestroyed(),d.updateDuration(),a=(n=$jscomp.makeIterator(r.keys())).next();!a.done;a=n.next())o=a.value,s=r.get(o),d.mediaStates_.has(o)||(l=d.createMediaState_(s),e.has(s.id)&&((u=e.get(s.id)).replaceFetchDispat
1cher(function(e,t,r){return d.dispatchFetch_(e,t,r)}),l.segmentPrefetch=u),d.mediaStates_.set(o,l),d.scheduleUpdate_(l,0));c.jumpToEnd()})},shaka.media.StreamingEngine.prototype.createMediaState_=function(e){return{stream:e,type:e.type,segmentIterator:null,segmentPrefetch:this.createSegmentPrefetch_(e),lastSegmentReference:null,lastInitSegmentReference:null,lastTimestampOffset:null,lastAppendWindowStart:null,lastAppendWindowEnd:null,restoreStreamAfterTrickPlay:null,endOfStream:!1,performingUpdate:!1,updateTimer:null,waitingToClearBuffer:!1,clearBufferSafeMargin:0,waitingToFlushBuffer:!1,clearingBuffer:!1,seeked:!0,recovering:!1,hasError:!1,operation:null}},shaka.media.StreamingEngine.prototype.createSegmentPrefetch_=function(e){var t=this,r=shaka.util.ManifestParserUtils.ContentType;if(e.type===r.VIDEO&&this.config_.disableVideoPrefetch||e.type===r.AUDIO&&this.config_.disableAudioPrefetch)return null;var i=shaka.util.MimeUtils,n=i.CEA608_CLOSED_CAPTION_MIMETYPE;return i=i.CEA708_CLOSED_CAPTION_MIMETYPE,e.type===r.TEXT&&(e.mimeType==n||e.mimeType==i)||e.type===r.TEXT&&this.config_.disableTextPrefetch?null:this.audioPrefetchMap_.has(e)?this.audioPrefetchMap_.get(e):(r=(r=this.mediaStates_.get(e.type))&&r.segmentPrefetch)&&e===r.getStream()?r:0<this.config_.segmentPrefetchLimit?(r=0>this.playerInterface_.getPlaybackRate(),new shaka.media.SegmentPrefetch(this.config_.segmentPrefetchLimit,e,function(e,r,i){return t.dispatchFetch_(e,r,i)},r)):null},shaka.media.StreamingEngine.prototype.updatePrefetchMapForAudio_=function(){for(var e=this.config_.segmentPrefetchLimit,t=this.config_.prefetchAudioLanguages,r=shaka.util.LanguageUtils,i=$jscomp.makeIterator(this.manifest_.variants),n=i.next(),a={};!n.done;a={variant$jscomp$45:void 0},n=i.next())if(a.variant$jscomp$45=n.value,a.variant$jscomp$45.audio)if(this.audioPrefetchMap_.has(a.variant$jscomp$45.audio)){if((n=this.audioPrefetchMap_.get(a.variant$jscomp$45.audio)).resetLimit(e),!(0<e&&t.some(function(e){return function(t){return r.areLanguageCompatible(e.variant$jscomp$45.audio.language,t)}}(a)))){var o=this.mediaStates_.get(a.variant$jscomp$45.audio.type);n!==(o&&o.segmentPrefetch)&&n.clearAll(),this.audioPrefetchMap_.delete(a.variant$jscomp$45.audio)}}else!(0>=e)&&t.some(function(e){return function(t){return r.areLanguageCompatible(e.variant$jscomp$45.audio.language,t)}}(a))&&(n=this.createSegmentPrefetch_(a.variant$jscomp$45.audio))&&(a.variant$jscomp$45.audio.segmentIndex||a.variant$jscomp$45.audio.createSegmentIndex(),this.audioPrefetchMap_.set(a.variant$jscomp$45.audio,n))},shaka.media.StreamingEngine.prototype.updateDuration=function(){var e=shaka.media.Capabilities.isInfiniteLiveStreamDurationSupported(),t=this.manifest_.presentationTimeline.getDuration();1/0>t?(e&&(this.updateLiveSeekableRangeTime_&&this.updateLiveSeekableRangeTime_.stop(),this.playerInterface_.mediaSourceEngine.clearLiveSeekableRange()),this.playerInterface_.mediaSourceEngine.setDuration(t)):e?(this.updateLiveSeekableRangeTime_&&this.updateLiveSeekableRangeTime_.tickEvery(.5),this.playerInterface_.mediaSourceEngine.setDuration(1/0)):this.playerInterface_.mediaSourceEngine.setDuration(0x100000000)},shaka.media.StreamingEngine.prototype.onUpdate_=function(e){var t,r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:if(l.destroyer_.ensureNotDestroyed(),t=shaka.media.StreamingEngine.logPrefix_(e),goog.asserts.assert(!e.performingUpdate&&null!=e.updateTimer,t+" unexpected call to onUpdate_()"),e.performingUpdate||null==e.updateTimer||(goog.asserts.assert(!e.clearingBuffer,t+" onUpdate_() should not be called when clearing the buffer"),e.clearingBuffer))return u.return();if(e.updateTimer=null,!e.waitingToClearBuffer){u.jumpTo(2);break}return shaka.log.debug(t,"skipping update and clearing the buffer"),u.yield(l.clearBuffer_(e,e.waitingToFlushBuffer,e.clearBufferSafeMargin),3);case 3:case 8:return u.return();case 2:if(l.handleDeferredCloseSegmentIndexes_(e),e.stream.segmentIndex){u.jumpTo(4);break}return r=e.stream,u.setCatchFinallyBlocks(5),u.yield(e.stream.createSegmentIndex(),7);case 7:u.leaveTryBlock(6);break;case 5:return i=u.enterCatchBlock(),u.yield(l.handleStreamingError_(e,i),8);case 6:if(r!=e.stream)return r.closeSegmentIndex&&(goog.asserts.assert(!e.stream.segmentIndex,"mediaState.stream should not have segmentIndex yet."),r.closeSegmentIndex()),e.performingUpdate||e.updateTimer||l.scheduleUpdate_(e,0),u.return();case 4:u.setCatchFinallyBlocks(9),null!=(n=l.update_(e))&&(l.scheduleUpdate_(e,n),e.hasError=!1),u.leaveTryBlock(10);break;case 9:return a=u.enterCatchBlock(),u.yield(l.handleStreamingError_(e,a),11);case 11:return u.return();case 10:if(o=Array.from(l.mediaStates_.values()),!l.startupComplete_||!o.every(function(e){return e.endOfStream})){u.jumpTo(0);break}return shaka.log.v1(t,"calling endOfStream()..."),u.yield(l.playerInterface_.mediaSourceEngine.endOfStream(),13);case 13:l.destroyer_.ensureNotDestroyed(),0!=(s=l.playerInterface_.mediaSourceEngine.getDuration())&&s<l.manifest_.presentationTimeline.getDuration()&&l.manifest_.presentationTimeline.setDuration(s),u.jumpToEnd()}})},shaka.media.StreamingEngine.prototype.update_=function(e){goog.asserts.assert(this.manifest_,"manifest_ should not be null"),goog.asserts.assert(this.config_,"config_ should not be null");var t=shaka.util.ManifestParserUtils.ContentType;if(shaka.media.StreamingEngine.isEmbeddedText_(e))return this.playerInterface_.mediaSourceEngine.setSelectedClosedCaptionId(e.stream.originalId||""),null;if(e.type==t.TEXT&&this.playerInterface_.mediaSourceEngine.clearSelectedClosedCaptionId(),e.stream.isAudioMuxedInVideo)return null;var r=this.config_.updateIntervalSeconds/Math.max(1,Math.abs(this.playerInterface_.getPlaybackRate()));if(!this.playerInterface_.mediaSourceEngine.isStreamingAllowed()&&e.type!=t.TEXT)return r/2;var i=shaka.media.StreamingEngine.logPrefix_(e),n=this.playerInterface_.getPresentationTime();if(e.type===t.AUDIO)for(var a=$jscomp.makeIterator(this.audioPrefetchMap_.keys()),o=a.next();!o.done;o=a.next())(o=this.audioPrefetchMap_.get(o.value)).evict(n,!0),o.prefetchSegmentsByTime(n);a=this.getTimeNeeded_(e,n),shaka.log.v2(i,"timeNeeded="+a);var s=this.playerInterface_.mediaSourceEngine.bufferedAheadOf(e.type,n);shaka.log.v2(i,"update_:","presentationTime="+n,"bufferedAhead="+s);var l=Math.max(1,Math.max(this.config_.rebufferingGoal,this.config_.bufferingGoal)*this.bufferingScale_),u=this.manifest_.presentationTimeline.getDuration()-a;if(o=this.playerInterface_.mediaSourceEngine.bufferEnd(e.type),1e-6>u&&o)return shaka.log.debug(i,"buffered to end of presentation"),e.endOfStream=!0,e.type==t.VIDEO&&(e=this.mediaStates_.get(t.TEXT))&&shaka.media.StreamingEngine.isEmbeddedText_(e)&&(e.endOfStream=!0),null;if(e.endOfStream=!1,s>=l)return shaka.log.v2(i,"buffering goal met"),r/2;if(s=!e.segmentIterator,!(t=this.getSegmentReferenceNeeded_(e,n,o)))return r;for(o=!1,s&&e.adaptation&&(o=!0,e.adaptation=!1),s=1/0,l=Array.from(this.mediaStates_.values()),u=(l=$jscomp.makeIterator(l)).next();!u.done;u=l.next())u=u.value,shaka.media.StreamingEngine.isEmbeddedText_(u)||u.segmentIterator&&!u.segmentIterator.current()||(s=Math.min(s,u=this.getTimeNeeded_(u,n)));return a>=s+(l=this.manifest_.presentationTimeline.getMaxSegmentDuration()*shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_)?(shaka.log.v2(i,"waiting for other streams to buffer"),r):(e.segmentPrefetch&&e.segmentIterator&&!this.audioPrefetchMap_.has(e.stream)&&(e.segmentPrefetch.evict(t.startTime+.001),e.segmentPrefetch.prefetchSegmentsByTime(t.startTime).catch(function(){})),this.fetchAndAppend_(e,n,t,o).catch(function(){}),null)},shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(e,t){return e.lastSegmentReference?e.lastSegmentReference.endTime:t},shaka.media.StreamingEngine.prototype.getSegmentReferenceNeeded_=function(e,t,r){var i=shaka.media.StreamingEngine.logPrefix_(e);if(goog.asserts.assert(e.stream.segmentIndex,"segment index should have been generated already"),e.segmentIterator)return(i=e.segmentIterator.current())&&e.lastSegmentReference&&.001>Math.abs(e.lastSegmentReference.startTime-i.startTime)&&(i=e.segmentIterator.next().value),i;if(e.lastSegmentReference||r)return t=e.lastSegmentReference?e.lastSegmentReference.endTime:r,goog.asserts.assert(null!=t,"Should have a time to search"),shaka.log.v1(i,"looking up segment from new stream endTime:",t),r=0>this.playerInterface_.getPlaybackRate(),e.stream.segmentIndex&&(e.segmentIterator=e.stream.segmentIndex.getIteratorForTime(t,!1,r)),null==(e=e.segmentIterator&&e.segmentIterator.next().value)&&shaka.log.warning(i,"cannot find segment","endTime:",t),e;var n=Math.max(t-(r=this.manifest_.sequenceMode?0:this.config_.inaccurateManifestTolerance),0);shaka.log.v1(i,"looking up segment","lookupTime:",n,"presentationTime:",t);var a=0>this.playerInterface_.getPlaybackRate(),o=null;return r&&(e.stream.segmentIndex&&(e.segmentIterator=e.stream.segmentIndex.getIteratorForTime(n,!1,a)),o=e.segmentIterator&&e.segmentIterator.next().value),o||(e.stream.segmentIndex&&(e.segmentIterator=e.stream.segmentIndex.getIteratorForTime(t,!1,a)),o=e.segmentIterator&&e.segmentIterator.next().value),null==o&&shaka.log.warning(i,"cannot find segment","lookupTime:",n,"presentationTime:",t),o},shaka.media.StreamingEngine.prototype.fetchAndAppend_=function(e,t,r,i){var n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){switch(x.nextAddress){case 1:if(n=shaka.util.ManifestParserUtils.ContentType,a=shaka.media.StreamingEngine.logPrefix_(e),shaka.log.v1(a,"fetchAndAppend_:","presentationTime="+t,"reference.startTime="+r.startTime,"reference.endTime="+r.endTime),o=e.stream,s=e.segmentIterator,e.performingUpdate=!0,x.setCatchFinallyBlocks(2),r.getStatus()==shaka.media.SegmentReference.Status.MISSING)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.SEGMENT_MISSING);return x.yield(P.initSourceBuffer_(e,r,i),4);case 4:if(P.destroyer_.ensureNotDestroyed(),P.fatalError_)return x.return();if(shaka.log.v2(a,"fetching segment"),l="video/mp4"==o.mimeType||"audio/mp4"==o.mimeType,u=window.ReadableStream,(d=P.config_.lowLatencyMode&&P.manifest_.isLowLatency)&&u&&l&&(P.manifest_.type!=shaka.media.ManifestParser.HLS||r.hasByterangeOptimization()))return m=new Uint8Array(0),g=f=!1,y=function(n){var a,s,l,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:if(f||(g=!0,P.destroyer_.ensureNotDestroyed(),P.fatalError_))return d.return();if(d.setCatchFinallyBlocks(2),m=P.concatArray_(m,n),a=!1,s=0,(new shaka.util.Mp4Parser).box("mdat",function(e){s=e.size+e.start,a=!0}).parse(m,!1,!0),!a){d.jumpTo(4);break}return l=m.subarray(0,s),m=m.subarray(s),d.yield(P.append_(e,t,o,r,l,!0,i),5);case 5:e.segmentPrefetch&&e.segmentIterator&&e.segmentPrefetch.prefetchSegmentsByTime(r.startTime,!0);case 4:d.leaveTryBlock(0);break;case 2:h=u=d.enterCatchBlock(),d.jumpToEnd()}})},x.yield(P.fetch_(e,r,y),9);return d&&!u&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser."),c=P.fetch_(e,r),x.yield(c,7);case 7:if(p=x.yieldResult,P.destroyer_.ensureNotDestroyed(),P.fatalError_)return x.return();return P.destroyer_.ensureNotDestroyed(),e.waitingToClearBuffer?(shaka.log.info(a,"waitingToClearBuffer, skip append"),e.performingUpdate=!1,P.scheduleUpdate_(e,0),x.return()):x.yield(P.append_(e,t,o,r,p,!1,i),6);case 9:if(_=x.yieldResult,h)throw h;if(g){x.jumpTo(10);break}return f=!0,P.destroyer_.ensureNotDestroyed(),P.fatalError_?x.return():e.waitingToClearBuffer?(shaka.log.info(a,"waitingToClearBuffer, skip append"),e.performingUpdate=!1,P.scheduleUpdate_(e,0),x.return()):x.yield(P.append_(e,t,o,r,_,!1,i),10);case 10:e.segmentPrefetch&&e.segmentIterator&&e.segmentPrefetch.prefetchSegmentsByTime(r.startTime,!0);case 6:if(P.destroyer_.ensureNotDestroyed(),P.fatalError_)return x.return();e.lastSegmentReference=r,S=s.next().value,shaka.log.v2(a,"advancing to next segment",S),e.performingUpdate=!1,e.recovering=!1,v=P.playerInterface_.mediaSourceEngine.getBufferedInfo()[e.type],shaka.log.v1(a,"finished fetch and append",JSON.stringify(v)),e.waitingToClearBuffer||((T=null,e.type===n.VIDEO?T=P.mediaStates_.get(n.AUDIO):e.type===n.AUDIO&&(T=P.mediaStates_.get(n.VIDEO)),T&&T.type==n.AUDIO)?P.playerInterface_.onSegmentAppended(r,e.stream,T.stream.isAudioMuxedInVideo):P.playerInterface_.onSegmentAppended(r,e.stream,e.stream.codecs.includes(","))),P.scheduleUpdate_(e,0),x.leaveTryBlock(0);break;case 2:if(E=x.enterCatchBlock(),P.destroyer_.ensureNotDestroyed(E),P.fatalError_)return x.return();if(goog.asserts.assert(E instanceof shaka.util.Error,"Should only receive a Shaka error"),e.performingUpdate=!1,E.code==shaka.util.Error.Code.OPERATION_ABORTED)e.performingUpdate=!1,P.cancelUpdate_(e),P.scheduleUpdate_(e,0),x.jumpTo(0);else if(e.type==n.TEXT&&P.config_.ignoreTextStreamFailures)E.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(a,"Text stream failed to download. Proceeding without it."):shaka.log.warning(a,"Text stream failed to parse. Proceeding without it."),P.mediaStates_.delete(n.TEXT),x.jumpTo(0);else{if(E.code==shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR)return x.yield(P.handleQuotaExceeded_(e,E),0);return shaka.log.error(a,"failed fetch and append: code="+E.code),e.hasError=!0,E.category==shaka.util.Error.Category.NETWORK&&e.segmentPrefetch&&e.segmentPrefetch.removeReference(r),E.severity=shaka.util.Error.Severity.CRITICAL,x.yield(P.handleStreamingError_(e,E),0)}}})},shaka.media.StreamingEngine.prototype.retry=function(e){if(this.destroyer_.destroyed())return shaka.log.error("Unable to retry after StreamingEngine is destroyed!"),!1;if(this.fatalError_)return shaka.log.error("Unable to retry after StreamingEngine encountered a fatal error!"),!1;for(var t=$jscomp.makeIterator(this.mediaStates_.values()),r=t.next();!r.done;r=t.next()){r=r.value;var i=shaka.media.StreamingEngine.logPrefix_(r);
1!r.hasError||r.performingUpdate||r.updateTimer||(shaka.log.info(i,"Retrying after failure..."),r.hasError=!1,this.scheduleUpdate_(r,e))}return!0},shaka.media.StreamingEngine.prototype.concatArray_=function(e,t){var r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r},shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(e,t){var r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){if(r=shaka.media.StreamingEngine.logPrefix_(e),i=Array.from(u.mediaStates_.values()).some(function(t){return t!=e&&t.recovering}))return shaka.log.debug(r,"MediaSource threw QuotaExceededError:","waiting for another stream to recover..."),d.jumpTo(2);if((n=u.getDisabledTime_(t))&&shaka.log.debug(r,"Disabling stream due to quota",t),a=u.playerInterface_.disableStream(e.stream,n))return d.return();if(20<(o=Math.round(100*u.bufferingScale_)))u.bufferingScale_-=.2;else{if(!(4<o))return shaka.log.error(r,"MediaSource threw QuotaExceededError too many times"),e.hasError=!0,u.fatalError_=!0,u.playerInterface_.onError(t),d.return();u.bufferingScale_-=.04}return s=Math.round(100*u.bufferingScale_),shaka.log.warning(r,"MediaSource threw QuotaExceededError:","reducing buffering goals by "+(100-s)+"%"),e.recovering=!0,l=u.playerInterface_.getPresentationTime(),d.yield(u.evict_(e,l),2)}u.scheduleUpdate_(e,4),d.jumpToEnd()})},shaka.media.StreamingEngine.prototype.initSourceBuffer_=function(e,t,r){var i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.nextAddress){case 1:if(i=shaka.util.ManifestParserUtils.ContentType,n=shaka.util.MimeUtils,o=(a=shaka.media.StreamingEngine).logPrefix_(e),s=null==e.lastSegmentReference,l=[],u=Math.max(0,Math.max(t.a
1ppendWindowStart,T.playRangeStart_)-a.APPEND_WINDOW_START_FUDGE_),d=Math.min(t.appendWindowEnd,T.playRangeEnd_)+a.APPEND_WINDOW_END_FUDGE_,goog.asserts.assert(t.startTime<=d,o+" segment should start before append window end"),c=t.codecs||e.stream.codecs,p=n.getCodecBase(c),m=n.getBasicType(t.mimeType||e.stream.mimeType),(f=t.timestampOffset)==e.lastTimestampOffset&&u==e.lastAppendWindowStart&&d==e.lastAppendWindowEnd&&p==e.lastCodecs&&m==e.lastMimeType){E.jumpTo(2);break}if(shaka.log.v1(o,"setting timestamp offset to "+f),shaka.log.v1(o,"setting append window start to "+u),shaka.log.v1(o,"setting append window end to "+d),!(e.lastCodecs&&e.lastMimeType&&T.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(e.type,m,c))||(g=null,e.type===i.VIDEO?g=T.mediaStates_.get(i.AUDIO):e.type===i.AUDIO&&(g=T.mediaStates_.get(i.VIDEO)),!g)){E.jumpTo(3);break}return E.yield(T.abortOperations_(g).catch(function(){}),5);case 5:g.lastInitSegmentReference=null,g.lastAppendWindowStart=null,g.lastAppendWindowEnd=null,T.forceClearBuffer_(g);case 3:return E.yield(T.setProperties_(e,f,u,d,t,p,m),2);case 2:return shaka.media.InitSegmentReference.equal(t.initSegmentReference,e.lastInitSegmentReference)||(e.lastInitSegmentReference=t.initSegmentReference,t.isIndependent()&&t.initSegmentReference&&(shaka.log.v1(o,"fetching init segment"),h=T.fetch_(e,t.initSegmentReference),y=function(){var n,a,s,l,u,d,c,p,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return f.setCatchFinallyBlocks(2),f.yield(h,4);case 4:return n=f.yieldResult,T.destroyer_.ensureNotDestroyed(),a=null,s=new Map,l={projection:null,hfov:null},u=new shaka.util.Mp4Parser,d=shaka.util.Mp4Parser,c=shaka.util.Mp4BoxParsers,u.box("moov",d.children).box("trak",d.children).box("mdia",d.children).fullBox("mdhd",function(e){goog.asserts.assert(null!=e.version,"MDHD is a full box and should have a valid version."),a=c.parseMDHD(e.reader,e.version).timescale}).box("hdlr",function(e){switch(c.parseHDLR(e.reader).handlerType){case"soun":s.set(i.AUDIO,a);break;case"vide":s.set(i.VIDEO,a)}a=null}).box("minf",d.children).box("stbl",d.children).fullBox("stsd",d.sampleDescription).box("encv",d.visualSampleEntry).box("avc1",d.visualSampleEntry).box("avc3",d.visualSampleEntry).box("hev1",d.visualSampleEntry).box("hvc1",d.visualSampleEntry).box("dvav",d.visualSampleEntry).box("dva1",d.visualSampleEntry).box("dvh1",d.visualSampleEntry).box("dvhe",d.visualSampleEntry).box("dvc1",d.visualSampleEntry).box("dvi1",d.visualSampleEntry).box("vexu",d.children).box("proj",d.children).fullBox("prji",function(e){l.projection=(e=c.parsePRJI(e.reader)).projection}).box("hfov",function(e){l.hfov=(e=c.parseHFOV(e.reader)).hfov}).parse(n),e.type===i.VIDEO&&T.updateSpatialVideoInfo_(l),s.has(e.type)?t.initSegmentReference.timescale=s.get(e.type):null!=a&&(t.initSegmentReference.timescale=a),shaka.log.v1(o,"appending init segment"),p=e.stream.closedCaptions&&0<e.stream.closedCaptions.size,f.yield(T.playerInterface_.beforeAppendSegment(e.type,n),5);case 5:return f.yield(T.playerInterface_.mediaSourceEngine.appendBuffer(e.type,n,null,e.stream,p,e.seeked,r),6);case 6:f.leaveTryBlock(0);break;case 2:throw m=f.enterCatchBlock(),e.lastInitSegmentReference=null,m}})},_=t.startTime,s&&null!=(S=T.playerInterface_.mediaSourceEngine.bufferEnd(e.type))&&(_=S),T.playerInterface_.onInitSegmentAppended(_,t.initSegmentReference),l.push(y()))),v=e.lastSegmentReference?e.lastSegmentReference.discontinuitySequence:-1,t.discontinuitySequence!=v&&l.push(T.playerInterface_.mediaSourceEngine.resync(e.type,t.startTime)),E.yield(Promise.all(l),0)}})},shaka.media.StreamingEngine.prototype.setProperties_=function(e,t,r,i,n,a,o){var s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return s=shaka.util.ManifestParserUtils.ContentType,l=new Map,c.currentVariant_.audio&&l.set(s.AUDIO,c.currentVariant_.audio),c.currentVariant_.video&&l.set(s.VIDEO,c.currentVariant_.video),p.setCatchFinallyBlocks(2),e.lastAppendWindowStart=r,e.lastAppendWindowEnd=i,a&&(e.lastCodecs=a),o&&(e.lastMimeType=
1o),e.lastTimestampOffset=t,u=c.manifest_.sequenceMode||c.manifest_.type==shaka.media.ManifestParser.HLS,p.yield(c.playerInterface_.mediaSourceEngine.setStreamProperties(e.type,t,r,i,u,n.mimeType||e.stream.mimeType,n.codecs||e.stream.codecs,l),4);if(2!=p.nextAddress)return p.leaveTryBlock(0);throw d=p.enterCatchBlock(),e.lastAppendWindowStart=null,e.lastAppendWindowEnd=null,e.lastCodecs=null,e.lastMimeType=null,e.lastTimestampOffset=null,d})},shaka.media.StreamingEngine.prototype.append_=function(e,t,r,i,n,a,o){a=void 0!==a&&a,o=void 0!==o&&o;var s,l,u,d,c,p,m,f=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:return s=shaka.media.StreamingEngine.logPrefix_(e),l=r.closedCaptions&&0<r.closedCaptions.size,f.config_.shouldFixTimestampOffset&&(d="video/mp4"==r.mimeType||"audio/mp4"==r.mimeType,c=null,i.initSegmentReference&&(c=i.initSegmentReference.timescale),(p=d&&c&&r.type===shaka.util.ManifestParserUtils.ContentType.VIDEO&&f.manifest_.type==shaka.media.ManifestParser.DASH)&&(u=new shaka.util.Mp4Parser),p&&u.box("moof",shaka.util.Mp4Parser.children).box("traf",shaka.util.Mp4Parser.children).fullBox("tfdt",function(t){var r,n,a,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return(goog.asserts.assert(null!=t.version,"TFDT is a full box and should have a valid version."),r=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(t.reader,t.version).baseMediaDecodeTime)?(goog.asserts.assert("number"==typeof c,"Should be an number!"),n=-r/c,(Number(e.lastTimestampOffset)||0)<n)?(a=e.lastAppendWindowStart,o=e.lastAppendWindowEnd,goog.asserts.assert("number"==typeof a,"Should be an number!"),goog.asserts.assert("number"==typeof o,"Should be an number!"),s.yield(f.setProperties_(e,n,a,o,i),0)):s.jumpTo(0):s.return()})}),p&&u.parse(n,!1,a)),g.yield(f.evict_(e,t),2);case 2:return f.destroyer_.ensureNotDestroyed(),m=e.seeked,e.seeked=!1,g.yield(f.playerInterface_.beforeAppendSegment(e.type,n),3);case 3:return g.yield(f.playerInterface_.mediaSourceEngine.appendBuffer(e.type,n,i,r,l,m,o,a),4);case 4:f.destroyer_.ensureNotDestroyed(),shaka.log.v2(s,"appended media segment"),g.jumpToEnd()}})},shaka.media.StreamingEngine.prototype.evict_=function(e,t){var r,i,n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){return 1==p.nextAddress?((r=e.stream.segmentIndex)instanceof shaka.media.MetaSegmentIndex&&r.evict(c.manifest_.presentationTimeline.getSegmentAvailabilityStart()),i=shaka.media.StreamingEngine.logPrefix_(e),shaka.log.v2(i,"checking buffer length"),n=Math.max(c.config_.bufferBehind*c.bufferingScale_,c.manifest_.presentationTimeline.getMaxSegmentDuration()),null==(a=c.playerInterface_.mediaSourceEngine.bufferStart(e.type)))?(c.lastTextMediaStateBeforeUnload_==e&&(c.lastTextMediaStateBeforeUnload_=null),shaka.log.v2(i,"buffer behind okay because nothing buffered:","presentationTime="+t,"bufferBehind="+n),p.return()):(o=t-a,s=c.config_.evictionGoal,l=c.manifest_.presentationTimeline.getSeekRangeStart(),u=c.manifest_.presentationTimeline.getSeekRangeEnd(),d=o-n,u-l>s&&(d=Math.max(o-n,l-s-a)),d<=s)?(shaka.log.v2(i,"buffer behind okay:","presentationTime="+t,"bufferedBehind="+o,"bufferBehind="+n,"evictionGoal="+s,"underflow="+Math.abs(d)),p.return()):(shaka.log.v1(i,"buffer behind too large:","presentationTime="+t,"bufferedBehind="+o,"bufferBehind="+n,"evictionGoal="+s,"overflow="+d),p.yield(c.playerInterface_.mediaSourceEngine.remove(e.type,a,a+d),2)):4!=p.nextAddress?(c.destroyer_.ensureNotDestroyed(),shaka.log.v1(i,"evicted "+d+" seconds"),c.lastTextMediaStateBeforeUnload_?p.yield(c.evict_(c.lastTextMediaStateBeforeUnload_,t),4):p.jumpTo(0)):void(c.destroyer_.ensureNotDestroyed(),p.jumpToEnd())})},shaka.media.StreamingEngine.isEmbeddedText_=function(e){var t=shaka.util.MimeUtils,r=t.CEA608_CLOSED_CAPTION_MIMETYPE;return t=t.CEA708_CLOSED_CAPTION_MIMETYPE,e&&e.type==shaka.util.ManifestParserUtils.ContentType.TEXT&&(e.stream.mimeType==r||e.stream.mimeType==t)},shaka.media.StreamingEngine.prototype.fetch_=function(e,t,r){var i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:if(i=t.getSegmentData())return u.return(i);return n=null,e.segmentPrefetch&&(n=e.segmentPrefetch.getPrefetchedSegment(t,r)),n||(n=l.dispatchFetch_(t,e.
1stream,r)),a=0,e.segmentIterator&&(a=e.segmentIterator.currentPosition()),e.operation=n,u.yield(n.promise,2);case 2:if(o=u.yieldResult,e.operation=null,s=o.data,!t.aesKey){u.jumpTo(3);break}return u.yield(shaka.media.SegmentUtils.aesDecrypt(s,t.aesKey,a),4);case 4:s=u.yieldResult;case 3:return u.return(s)}})},shaka.media.StreamingEngine.prototype.dispatchFetch_=function(e,t,r,i){return goog.asserts.assert(this.playerInterface_.netEngine,"Must have net engine"),shaka.media.StreamingEngine.dispatchFetch(e,t,r||null,this.config_.retryParameters,this.playerInterface_.netEngine)},shaka.media.StreamingEngine.dispatchFetch=function(e,t,r,i,n,a){a=void 0!==a&&a;var o=shaka.net.NetworkingEngine.RequestType.SEGMENT,s=e instanceof shaka.media.SegmentReference?e:void 0,l=s?shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT:shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT;return(r=shaka.util.Networking.createSegmentRequest(e.getUris(),e.startByte,e.endByte,i,r)).contentType=t.type,shaka.log.v2("fetching: reference=",e),n.request(o,r,{type:l,stream:t,segment:s,isPreload:a})},shaka.media.StreamingEngine.prototype.clearBuffer_=function(e,t,r){var i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(i=shaka.media.StreamingEngine.logPrefix_(e),goog.asserts.assert(!e.performingUpdate&&null==e.updateTimer,i+" unexpected call to clearBuffer_()"),e.waitingToClearBuffer=!1,e.waitingToFlushBuffer=!1,e.clearBufferSafeMargin=0,e.clearingBuffer=!0,e.lastSegmentReference=null,e.segmentIterator=null,shaka.log.debug(i,"clearing buffer"),e.segmentPrefetch&&!o.audioPrefetchMap_.has(e.stream)&&e.segmentPrefetch.clearAll(),r?(n=o.playerInterface_.getPresentationTime(),a=o.playerInterface_.mediaSourceEngine.getDuration(),s.yield(o.playerInterface_.mediaSourceEngine.remove(e.type,n+r,a),3)):s.yield(o.playerInterface_.mediaSourceEngine.clear(e.type),4)):3!=s.nextAddress?(o.destroyer_.ensureNotDestroyed(),t?s.yield(o.playerInterface_.mediaSourceEngine.flush(e.type),3):s.jumpTo(3)):void(o.destroyer_.ensureNotDestroyed(),shaka.log.debug(i,"cleared buffer"),e.clearingBuffer=!1,e.endOfStream=!1,e.performingUpdate||e.updateTimer||o.scheduleUpdate_(e,0),s.jumpToEnd())})},shaka.media.StreamingEngine.prototype.scheduleUpdate_=function(e,t){var r=this,i=shaka.media.StreamingEngine.logPrefix_(e),n=e.type;n!=shaka.util.ManifestParserUtils.ContentType.TEXT||this.mediaStates_.has(n)?(shaka.log.v2(i,"updating in "+t+" seconds"),goog.asserts.assert(null==e.updateTimer,i+" did not expect update to be scheduled"),e.updateTimer=new shaka.util.DelayedTick(function(){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(i.setCatchFinallyBlocks(2),i.yield(r.onUpdate_(e),4)):2!=i.nextAddress?i.leaveTryBlock(0):void(t=i.enterCatchBlock(),r.playerInterface_&&r.playerInterface_.onError(t),i.jumpToEnd())})}).tickAfter(t)):shaka.log.v1(i,"Text stream is unloaded. No update is needed.")},shaka.media.StreamingEngine.prototype.cancelUpdate_=function(e){null!=e.updateTimer&&(e.updateTimer.stop(),e.updateTimer=null)},shaka.media.StreamingEngine.prototype.abortOperations_=function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return e.operation?t.yield(e.operation.abort(),0):t.jumpTo(0)})},shaka.media.StreamingEngine.prototype.handleStreamingError_=function(e,t){var r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){if(1==a.nextAddress)return r=shaka.media.StreamingEngine.logPrefix_(e),a.yield(n.failureCallbackBackoff_.attempt(),2);if(n.destroyer_.ensureNotDestroyed(),t.category===shaka.util.Error.Category.NETWORK&&t.code!=shaka.util.Error.Code.TIMEOUT){if(e.restoreStreamAfterTrickPlay)return n.setTrickPlay(!1),a.return();(i=n.getDisabledTime_(t))&&shaka.log.debug(r,"Disabling stream due to error",t),t.handled=n.playerInterface_.disableStream(e.stream,i),t.handled&&(t.severity=shaka.util.Error.Severity.RECOVERABLE)}t.handled&&t.code==shaka.util.Error.Code.SEGMENT_MISSING||n.playerInterface_.onError(t),t.handled||n.config_.failureCallback(t),a.jumpToEnd()})},shaka.media.StreamingEngine.prototype.getDisabledTime_=function(e){return 0===this.config_.maxDisabledTime&&e.code==shaka.util.Error.Code.SEGMENT_MISSING?1:this.config_.maxDisabledTime},shaka.media.StreamingEngine.prototype.resetMediaSource=function(e,t){e=void 0!==e&&e,t=void 0===t||t;var r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==u.nextAddress){if(r=Date.now()/1e3,i=l.config_.minTimeBetweenRecoveries,!e){if(!l.config_.allowMediaSourceRecoveries||r-l.lastMediaSourceReset_<i)return u.return(!1);l.lastMediaSourceReset_=r}return n=shaka.util.ManifestParserUtils.ContentType,(a=l.mediaStates_.get(n.AUDIO))&&(a.lastInitSegmentReference=null,a.lastAppendWindowStart=null,a.lastAppendWindowEnd=null,t&&l.forceClearBuffer_(a),l.abortOperations_(a).catch(function(){}),a.segmentIterator&&a.segmentIterator.resetToLastIndependent()),(o=l.mediaStates_.get(n.VIDEO))&&(o.lastInitSegmentReference=null,o.lastAppendWindowStart=null,o.lastAppendWindowEnd=null,t&&l.forceClearBuffer_(o),l.abortOperations_(o).catch(function(){}),o.segmentIterator&&o.segmentIterator.resetToLastIndependent()),s=new Map,l.currentVariant_.audio&&s.set(n.AUDIO,l.currentVariant_.audio),l.currentVariant_.video&&s.set(n.VIDEO,l.currentVariant_.video),u.yield(l.playerInterface_.mediaSourceEngine.reset(s),2)}return!o||o.clearingBuffer||o.performingUpdate||o.updateTimer||l.scheduleUpdate_(o,0),!a||a.clearingBuffer||a.performingUpdate||a.updateTimer||l.scheduleUpdate_(a,0),u.return(!0)})},shaka.media.StreamingEngine.prototype.updateSpatialVideoInfo_=function(e){if(this.spatialVideoInfo_.projection!=e.projection||this.spatialVideoInfo_.hfov!=e.hfov){var t=shaka.util.FakeEvent.EventName;if(null!=e.projection||null!=e.hfov){t=t.SpatialVideoInfoEvent;var r=(new Map).set("detail",e);t=new shaka.util.FakeEvent(t,r)}else t=new shaka.util.FakeEvent(t.NoSpatialVideoInfoEvent);t.cancelable=!0,this.playerInterface_.onEvent(t),this.spatialVideoInfo_=e}},shaka.media.StreamingEngine.prototype.updateSegmentIteratorReverse_=function(){for(var e=0>this.playerInterface_.getPlaybackRate(),t=$jscomp.makeIterator(this.mediaStates_.values()),r=t.next();!r.done;r=t.next())(r=r.value).segmentIterator&&r.segmentIterator.setReverse(e),r.segmentPrefetch&&r.segmentPrefetch.setReverse(e);
1for(r=(t=$jscomp.makeIterator(this.audioPrefetchMap_.values())).next();!r.done;r=t.next())r.value.setReverse(e)},shaka.media.StreamingEngine.logPrefix_=function(e){return"("+e.type+":"+e.stream.id+")"},shaka.media.StreamingEngine.APPEND_WINDOW_START_FUDGE_=.1,shaka.media.StreamingEngine.APPEND_WINDOW_END_FUDGE_=.01,shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_=1,shaka.util.ConfigUtils=function(){},shaka.util.ConfigUtils.mergeConfigObjects=function(e,t,r,i,n){goog.asserts.assert(e,"Destination config must not be null!");var a,o=n in i,s=o?r.constructor==Object&&0==Object.keys(i).length:r.constructor==Object&&0==Object.keys(r).length,l=o||s,u=!0;for(a in t){var d=n+"."+a,c=o?i[n]:r[a];l||a in r?void 0===t[a]?void 0===c||l?delete e[a]:e[a]=shaka.util.ObjectUtils.cloneObject(c):s?e[a]=t[a]:c.constructor==Object&&t[a]&&t[a].constructor==Object?(e[a]||(e[a]=shaka.util.ObjectUtils.cloneObject(c)),d=shaka.util.ConfigUtils.mergeConfigObjects(e[a],t[a],c,i,d),u=u&&d):typeof t[a]!=typeof c||null==t[a]||"function"!=typeof t[a]&&t[a].constructor!=c.constructor?(shaka.log.alwaysError("Invalid config, wrong type for "+d),u=!1):"function"==typeof r[a]&&r[a].length!=t[a].length?(shaka.log.alwaysWarn("Unexpected number of arguments for "+d),e[a]=t[a]):Array.isArray(e[a])?e[a]=t[a].slice():e[a]=t[a]:(shaka.log.alwaysError("Invalid config, unrecognized key "+d),u=!1)}return u},shaka.util.ConfigUtils.convertToConfigObject=function(e,t){for(var r={},i=r,n=0,a=0;!(0>(n=e.indexOf(".",n)));)(0==n||"\\"!=e[n-1])&&(i[a=e.substring(a,n).replace(/\\\./g,".")]={},i=i[a],a=n+1),n+=1;return i[e.substring(a).replace(/\\\./g,".")]=t,r},shaka.util.ConfigUtils.referenceParametersAndReturn=function(e,t){return e&&t},shaka.util.ConfigUtils.getDifferenceFromConfigObjects=function(e,t){var r=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},i=function(e,t){return Object.keys(e).reduce(function(n,a){var o=e[a];return t.hasOwnProperty(a)?o instanceof HTMLElement&&t[a]instanceof HTMLElement?o.isEqualNode(t[a])||(n[a]=o):r(o)&&r(t[a])?(0<Object.keys(o=i(o,t[a])).length||!r(o))&&(n[a]=o):Array.isArray(o)&&Array.isArray(t[a])?shaka.util.ArrayUtils.hasSameElements(o,t[a])||(n[a]=o):Number.isNaN(o)&&Number.isNaN(t[a])||o!==t[a]&&(n[a]=o):n[a]=o,n},{})};e=i(e,t);var n=function(e){for(var t=$jscomp.makeIterator(Object.keys(e)),i=t.next();!i.done;i=t.next())if(!(e[i=i.value]instanceof HTMLElement))if(r(e[i])&&0===Object.keys(e[i]).length)delete e[i];else{var a=e[i];Array.isArray(a)&&0===a.length||"function"==typeof e[i]?delete e[i]:r(e[i])&&(n(e[i]),0===Object.keys(e[i]).length&&delete e[i])}};return n(e),e},goog.exportSymbol("shaka.util.ConfigUtils",shaka.util.ConfigUtils),goog.exportProperty(shaka.util.ConfigUtils,"getDifferenceFromConfigObjects",shaka.util.ConfigUtils.getDifferenceFromConfigObjects),goog.exportProperty(shaka.util.ConfigUtils,"convertToConfigObject",shaka.util.ConfigUtils.convertToConfigObject),goog.exportProperty(shaka.util.ConfigUtils,"mergeConfigObjects",shaka.util.ConfigUtils.mergeConfigObjects),shaka.media.PreferenceBasedCriteria=function(){this.config_=null},shaka.media.PreferenceBasedCriteria.prototype.configure=function(e){this.config_=e},shaka.media.PreferenceBasedCriteria.prototype.create=function(e){var t,r=shaka.media.PreferenceBasedCriteria;if(this.config_.language){var i=r.filterByLanguage_(e,this.config_.language);i.length&&(t=i)}return t||(t=(t=e.filter(function(e){return e.primary})).length?t:e),(e=r.filterVariantsByRole_(t,this.config_.role)).length?t=e:shaka.log.warning("No exact match for variant role could be found."),this.config_.videoLayout&&((e=r.filterVariantsByVideoLayout_(t,this.config_.videoLayout)).length?t=e:shaka.log.warning("No exact match for the video layout could be found.")),this.config_.hdrLevel&&((e=r.filterVariantsByHDRLevel_(t,this.config_.hdrLevel)).length?t=e:shaka.log.warning("No exact match for the hdr level could be found.")),this.config_.channelCount&&((e=r.filterVariantsByAudioChannelCount_(t,this.config_.channelCount)).length?t=e:shaka.log.warning("No exact match for the channel count could be found.")),this.config_.audioLabel&&((e=r.filterVariantsByAudioLabel_(t,this.config_.audioLabel)).length?t=e:shaka.log.warning("No exact match for audio label could be found.")),this.config_.videoLabel&&((e=r.filterVariantsByVideoLabel_(t,this.config_.videoLabel)).length?t=e:shaka.log.warning("No exact match for video label could be found.")),(e=r.filterVariantsBySpatialAudio_(t,this.config_.spatialAudio)).length?t=e:shaka.log.warning("No exact match for spatial audio could be found."),this.config_.audioCodec&&((r=r.filterVariantsByAudioCodec_(t,this.config_.audioCodec)).length?t=r:shaka.log.warning("No exact match for audio codec could be found.")),r=this.config_.codecSwitchingStrategy==shaka.config.CodecSwitchingStrategy.SMOOTH&&shaka.media.Capabilities.isChangeTypeSupported(),new shaka.media.AdaptationSet(t[0],t,!r)},shaka.media.PreferenceBasedCriteria.filterByLanguage_=function(e,t){var r=shaka.util.LanguageUtils;t=r.normalize(t);var i=r.findClosestLocale(t,e.map(function(e){return r.getLocaleForVariant(e)}
1));return i?e.filter(function(e){return i==r.getLocaleForVariant(e)}):[]},shaka.media.PreferenceBasedCriteria.filterVariantsByRole_=function(e,t){return e.filter(function(e){return!!e.audio&&(t?e.audio.roles.includes(t):0==e.audio.roles.length)})},shaka.media.PreferenceBasedCriteria.filterVariantsByAudioLabel_=function(e,t){return e.filter(function(e){return!!e.audio&&!!e.audio.label&&(e=e.audio.label.toLowerCase())==t.toLowerCase()})},shaka.media.PreferenceBasedCriteria.filterVariantsByVideoLabel_=function(e,t){return e.filter(function(e){return!!e.video&&!!e.video.label&&(e=e.video.label.toLowerCase())==t.toLowerCase()})},shaka.media.PreferenceBasedCriteria.filterVariantsByAudioChannelCount_=function(e,t){return e.filter(function(e){return!e.audio||!e.audio.channelsCount||!(e.audio.channelsCount>t)}).sort(function(e,t){return e.audio||t.audio?e.audio?t.audio?(t.audio.channelsCount||0)-(e.audio.channelsCount||0):1:-1:0})},shaka.media.PreferenceBasedCriteria.filterVariantsByHDRLevel_=function(e,t){if("AUTO"==t){var r=e.some(function(e){return!!e.video&&!!e.video.hdr&&"HLG"==e.video.hdr});t=shaka.util.Platform.getHdrLevel(r)}return e.filter(function(e){return!e.video||!e.video.hdr||e.video.hdr==t})},shaka.media.PreferenceBasedCriteria.filterVariantsByVideoLayout_=function(e,t){return e.filter(function(e){return!e.video||!e.video.videoLayout||e.video.videoLayout==t})},shaka.media.PreferenceBasedCriteria.filterVariantsBySpatialAudio_=function(e,t){return e.filter(function(e){return!e.audio||e.audio.spatialAudio==t})},shaka.media.PreferenceBasedCriteria.filterVariantsByAudioCodec_=function(e,t){return e.filter(function(e){return!e.audio||e.audio.codecs==t})},shaka.util.FairPlayUtils=function(){},shaka.util.FairPlayUtils.isFairPlaySupported=function(){var e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?(e={initDataTypes:["cenc","sinf","skd"],videoCapabilities:[{contentType:'video/mp4; codecs="avc1.42E01E"'}]},t.setCatchFinallyBlocks(2),t.yield(navigator.requestMediaKeySystemAccess("com.apple.fps",[e]),4)):2!=t.nextAddress?t.return(!0):(t.enterCatchBlock(),t.return(!1))})},shaka.util.FairPlayUtils.defaultGetContentId=function(e){return e=shaka.util.StringUtils.fromBytesAutoDetect(e),new goog.Uri(e).getDomain()},shaka.util.FairPlayUtils.initDataTransform=function(e,t,r){if(!r||!r.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.SERVER_CERTIFICATE_REQUIRED);t="string"==typeof t?shaka.util.StringUtils.toUTF16(t,!0):t,e=shaka.util.StringUtils.fromBytesAutoDetect(e);var i=new Uint8Array(12+(e=shaka.util.StringUtils.toUTF16(e,!0)).byteLength+t.byteLength+r.byteLength),n=0,a=function(e){shaka.util.BufferUtils.toDataView(i).setUint32(n,e.byteLength,!0),n+=4,i.set(shaka.util.BufferUtils.toUint8(e),n),n+=e.byteLength};return a(e),a(t),a(r),goog.asserts.assert(n==i.length,"Inconsistent init data length"),i},shaka.util.FairPlayUtils.basicInitDataTransform_=function(e,t,r){if("skd"!==t)return e;t=shaka.util.FairPlayUtils,r=r.serverCertificate;var i=shaka.util.StringUtils.fromBytesAutoDetect(e).split("skd://").pop();return t.initDataTransform(e,i,r)},shaka.util.FairPlayUtils.verimatrixInitDataTransform=function(e,t,r){return shaka.util.FairPlayUtils.basicInitDataTransform_(e,t,r)},shaka.util.FairPlayUtils.ezdrmInitDataTransform=function(e,t,r){if("skd"!==t)return e;t=shaka.util.FairPlayUtils,r=r.serverCertificate;var i=shaka.util.StringUtils.fromBytesAutoDetect(e).split(";").pop();return t.initDataTransform(e,i,r)},shaka.util.FairPlayUtils.conaxInitDataTransform=function(e,t,r){if("skd"!==t)return e;t=shaka.util.FairPlayUtils,r=r.serverCertificate;var i=shaka.util.StringUtils.fromBytesAutoDetect(e).split("skd://").pop().split("?").shift(),n=new ArrayBuffer(2*(i=window.atob(i)).length);n=shaka.util.BufferUtils.toUint16(n);for(var a=0,o=i.length;a<o;a++)n[a]=i.charCodeAt(a);return t.initDataTransform(e,n,r)},shaka.util.FairPlayUtils.expressplayInitDataTransform=function(e,t,r){return shaka.util.FairPlayUtils.basicInitDataTransform_(e,t,r)},shaka.util.FairPlayUtils.verimatrixFairPlayRequest=function(e,t,r){e===shaka.net.NetworkingEngine.RequestType.LICENSE&&(e=shaka.util.BufferUtils.toUint8(t.body),e=shaka.util.Uint8ArrayUtils.toBase64(e),t.headers["Content-Type"]="application/x-www-form-urlencoded",t.body=shaka.util.StringUtils.toUTF8("spc="+e))},shaka.util.FairPlayUtils.octetStreamFairPlayRequest_=function(e,t,r){e===shaka.net.NetworkingEngine.RequestType.LICENSE&&(t.headers["Content-Type"]="application/octet-stream")},shaka.util.FairPlayUtils.ezdrmFairPlayRequest=function(e,t,r){shaka.util.FairPlayUtils.octetStreamFairPlayRequest_(e,t)},shaka.util.FairPlayUtils.conaxFairPlayRequest=function(e,t,r){shaka.util.FairPlayUtils.octetStreamFairPlayRequest_(e,t)},shaka.util.FairPlayUtils.expressplayFairPlayRequest=function(e,t,r){shaka.util.FairPlayUtils.octetStreamFairPlayRequest_(e,t)},shaka.util.FairPlayUtils.commonFairPlayResponse=function(e,t,r){if(e===shaka.net.NetworkingEngine.RequestType.LICENSE){try{var i=shaka.util.StringUtils.fromUTF8(t.data)}catch(e){return}e=!1,"<ckc>"===(i=i.trim()).substr(0,5)&&"</ckc>"===i.substr(-6)&&(i=i.slice(5,-6),e=!0);try{var n=JSON.parse(i);n.ckc&&(i=n.ckc,e=!0),n.CkcMessage&&(i=n.CkcMessage,e=!0),n.License&&(i=n.License,e=!0)}catch(e){}e&&(t.data=shaka.util.BufferUtils.toArrayBuffer(shaka.util.Uint8ArrayUtils.fromBase64(i)))}},goog.exportSymbol("shaka.util.FairPlayUtils",shaka.util.FairPlayUtils),goog.exportProperty(shaka.util.FairPlayUtils,"commonFairPlayResponse",shaka.util.FairPlayUtils.commonFairPlayResponse),goog.exportProperty(shaka.util.FairPlayUtils,"expressplayFairPlayRequest",shaka.util.FairPlayUtils.expressplayFairPlayRequest),goog.exportProperty(shaka.util.FairPlayUtils,"conaxFairPlayRequest",shaka.util.FairPlayUtils.conaxFairPlayRequest),goog.exportProperty(shaka.util.FairPlayUtils,"ezdrmFairPlayRequest",shaka.util.FairPlayUtils.ezdrmFairPlayRequest),goog.exportProperty(shaka.util.FairPlayUtils,"verimatrixFairPlayRequest",shaka.util.FairPlayUtils.verimatrixFairPlayRequest),goog.exportProperty(shaka.util.FairPlayUtils,"expressplayInitDataTransform",shaka.util.FairPlayUtils.expressplayInitDataTransform),goog.exportProperty(shaka.util.FairPlayUtils,"conaxInitDataTransform",shaka.util.FairPlayUtils.conaxInitDataTransform),goog.exportProperty(shaka.util.FairPlayUtils,"ezdrmInitDataTransform",shaka.util.FairPlayUtils.ezdrmInitDataTransform),goog.exportProperty(shaka.util.FairPlayUtils,"verimatrixInitDataTransform",shaka.util.FairPlayUtils.verimatrixInitDataTransform),goog.exportProperty(shaka.util.FairPlayUtils,"initDataTransform",shaka.util.FairPlayUtils.initDataTransform),goog.exportProperty(shaka.util.FairPlayUtils,"defaultGetContentId",shaka.util.FairPlayUtils.defaultGetContentId),goog.exportProperty(shaka.util.FairPlayUtils,"isFairPlaySupported",shaka.util.FairPlayUtils.isFairPlaySupported),shaka.util.PlayerConfiguration=function(){},shaka.util.PlayerConfiguration.createDefault=function(){var e=1/0;navigator.connection&&navigator.connection.saveData&&(e=360);var t={retryParameters:shaka.net.NetworkingEngine.defaultRetryParameters(),servers:{},clearKeys:{},advanced:{},delayLicenseRequestUntilPlayed:!1,persistentSessionOnlinePlayback:!1,persistentSessionsMetadata:[],initDataTransform:function(e,t,r){return shaka.util.Platform.isMediaKeysPolyfilled("apple")&&"skd"==t&&(t=r.serverCertificate,r=shaka.util.FairPlayUtils.defaultGetContentId(e),e=shaka.util.FairPlayUtils.initDataTransform(e,r,t)),e},logLicenseExchange:!1,updateExpirationTime:1,preferredKeySystems:[],keySystemsMapping:{},parseInbandPsshEnabled:shaka.util.Platform.isXboxOne(),minHdcpVersion:"",ignoreDuplicateInitData:!shaka.util.Platform.isTizen2(),defaultAudioRobustnessForWidevine:"SW_SECURE_CRYPTO",defaultVideoRobustnessForWidevine:"SW_SECURE_DECODE"};(shaka.util.Platform.isXboxOne()||shaka.util.Platform.isPS4())&&t.preferredKeySystems.push("com.microsoft.playready"),shaka.util.Platform.isWindows()&&!shaka.util.Platform.isEdge()&&(t.keySystemsMapping={"com.microsoft.playready":"com.microsoft.playready.recommendation"});var r=shaka.config.CodecSwitchingStrategy.RELOAD,i=!1;shaka.media.Capabilities.isChangeTypeSupported()&&shaka.util.Platform.supportsSmoothCodecSwitching()&&(r=shaka.config.CodecSwitchingStrategy.SMOOTH,i=!0),i={retryParameters:shaka.net.NetworkingEngine.defaultRetryParameters(),availabilityWindowOverride:NaN,disableAudio:!1,disableVideo:!1,disableText:!1,disableThumbnails:!1,disableIFrames:!1,defaultPresentationDelay:0,segmentRelativeVttTiming:!1,raiseFatalErrorOnManifestUpdateRequestFailure:!1,continueLoadingWhenPaused:!0,dash:{clockSyncUri:"",ignoreDrmInfo:!1,disableXlinkProcessing:!0,xlinkFailGracefully:!1,ignoreMinBufferTime:!1,autoCorrectDrift:!0,initialSegmentLimit:1e3,ignoreSuggestedPresentationDelay:!1,ignoreEmptyAdaptationSet:!1,ignoreMaxSegmentDuration:!1,keySystemsByURI:{"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":"org.w3.clearkey","urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e":"org.w3.clearkey","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":"com.widevine.alpha","urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":"com.microsoft.playready","urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95":"com.microsoft.playready","urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2":"com.apple.fps","urn:uuid:3d5e6d35-9b9a-41e8-b843-dd3c6e72c42c":"com.huawei.wiseplay"},manifestPreprocessor:shaka.util.PlayerConfiguration.defaultManifestPreprocessor,manifestPreprocessorTXml:shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml,sequenceMode:!1,multiTypeVariantsAllowed:i,useStreamOnceInPeriodFlattening:!1,updatePeriod:-1,enableFastSwitching:!0,ignoreSupplementalCodecs:!1},hls:{ignoreTextStreamFailures:!1,ignoreImageStreamFailures:!1,defaultAudioCodec:"mp4a.40.2",defaultVideoCodec:"avc1.42E01E",ignoreManifestProgramDateTime:!1,ignoreManifestProgramDateTimeForTypes:[],mediaPlaylistFullMimeType:'video/mp2t; codecs="avc1.42E01E, mp4a.40.2"',liveSegmentsDelay:3,sequenceMode:shaka.util.Platform.supportsSequenceMode(),ignoreManifestTimestampsInSegmentsMode:!1,disableCodecGuessing:!1,disableClosedCaptionsDetection:!1,updatePeriod:-1,allowLowLatencyByteRangeOptimization:!0,ignoreSupplementalCodecs:!1},mss:{manifestPreprocessor:shaka.util.PlayerConfiguration.defaultManifestPreprocessor,manifestPreprocessorTXml:shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml,sequenceMode:!1,keySystemsBySystemId:{"9a04f079-9840-4286-ab92-e65be0885f95":"com.microsoft.playready","79f0049a-4098-8642-ab92-e65be0885f95":"com.microsoft.playready"}}};var n={retryParameters:shaka.net.NetworkingEngine.defaultRetryParameters(),failureCallback:function(e){return shaka.log.error("Unhandled streaming error",e),shaka.util.ConfigUtils.referenceParametersAndReturn([e],void 0)},rebufferingGoal:0,bufferingGoal:10,bufferBehind:30,evictionGoal:1,ignoreTextStreamFailures:!1,alwaysStreamText:!1,startAtSegmentBoundary:!1,gapDetectionThreshold:.5,gapPadding:0,gapJumpTimerTime:.25,durationBackoff:1,safeSeekOffset:5,safeSeekEndOffset:0,stallEnabled:!0,stallThreshold:1,stallSkip:.1,useNativeHlsForFairPlay:!0,inaccurateManifestTolerance:2,lowLatencyMode:!1,forceHTTP:!1,forceHTTPS:!1,minBytesForProgressEvents:16e3,preferNativeDash:!1,preferNativeHls:!1,updateIntervalSeconds:1,observeQualityChanges:!1,maxDisabledTime:30,segmentPrefetchLimit:0,prefetchAudioLanguages:[],disableAudioPrefetch:!1,disableTextPrefetch:!1,disableVideoPrefetch:!1,liveSync:{enabled:!1,targetLatency:.5,targetLatencyTolerance:.5,maxPlaybackRate:1.1,minPlaybackRate:.95,panicMode:!1,panicThreshold:60,dynamicTargetLatency:{enabled:!1,stabilityThreshold:60,rebufferIncrement:.5,maxAttempts:10,maxLatency:4,minLatency:1}},allowMediaSourceRecoveries:!0,minTimeBetweenRecoveries:5,vodDynamicPlaybackRate:!1,vodDynamicPlaybackRateLowBufferRate:.95,vodDynamicPlaybackRateBufferRatio:.5,preloadNextUrlWindow:30,loadTimeout:30,clearDecodingCache:shaka.util.Platform.isPS4()||shaka.util.Platform.isPS5(),dontChooseCodecs:!1,shouldFixTimestampOffset:shaka.util.Platform.isWebOS()||shaka.util.Platform.isTizen()};(shaka.util.Platform.isWebOS()||shaka.util.Platform.isTizen()||shaka.util.Platform.isChromecast()||shaka.util.Platform.isHisense())&&(n.stallSkip=0),(shaka.util.Platform.isLegacyEdge()||shaka.util.Platform.isXboxOne())&&(n.gapPadding=.01),shaka.util.Platform.isTizen()&&(n.gapPadding=2);var a={trackSelectionCallback:function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return t.return(e)})},downloadSizeCallback:function(e){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?navigator.storage&&navigator.storage.estimate?r.yield(navigator.storage.estimate(),3):r.return(!0):(t=r.yieldResult,r.return(t.usage+e<.95*t.quota))})},progressCallback:function(e,t){return shaka.util.ConfigUtils.referenceParametersAndReturn([e,t],void 0)},usePersistentLicense:!0,numberOfParallelDownloads:5};e={enabled:!0,useNetworkInformation:!0,defaultBandwidthEstimate:1e6,switchInterval:8,bandwidthUpgradeTarget:.85,bandwidthDowngradeTarget:.95,restrictions:{minWidth:0,maxWidth:1/0,minHeight:0,maxHeight:e,minPixels:0,maxPixels:1/0,minFrameRate:0,maxFrameRate:1/0,minBandwidth:0,maxBandwidth:1/0,minChannelsCount:0,maxChannelsCount:1/0},advanced:{minTotalBytes:128e3,minBytes:16e3,fastHalfLife:2,slowHalfLife:5},restrictToElementSize:!1,restrictToScreenSize:!1,ignoreDevicePixelRatio:!1,clearBufferSwitch:!1,safeMarginSwitch:0,cacheLoadThreshold:20,minTimeToSwitch:.5*!!shaka.util.Platform.isApple(),preferNetworkInformationBandwidth:!1},r={codecSwitchingStrategy:r,addExtraFeaturesToSourceBuffer:function(e){return shaka.util.ConfigUtils.referenceParametersAndReturn([e],"")},forceTransmux:!1,insertFakeEncryptionInInit:!0,modifyCueCallback:function(e,t){return shaka.util.ConfigUtils.referenceParametersAndReturn([e,t],void 0)},dispatchAllEmsgBoxes:!1};var o=!1,s=!1,l=!0;shaka.util.Platform.isSmartTV()&&(s=o=!0,l=!1);var u={drm:t,manifest:i,streaming:n,mediaSource:r,offline:a,abrFactory:function(){return new shaka.abr.SimpleAbrManager},adaptationSetCriteriaFactory:function(){var e=$jscomp.getRestArguments.apply(0,arguments);return new(Function.prototype.bind.apply(shaka.media.PreferenceBasedCriteria,[null].concat($jscomp.arrayFromIterable(e))))},abr:e,autoShowText:shaka.config.AutoShowText.IF_SUBTITLES_MAY_BE_NEEDED,preferredAudioLanguage:"",preferredAudioLabel:"",preferredTextLanguage:"",preferredVariantRole:"",preferredTextRole:"",preferredAudioChannelCount:2,preferredVideoHdrLevel:"AUTO",preferredVideoLayout:"",preferredVideoLabel:"",preferredVideoCodecs:[],preferredAudioCodecs:[],preferredTextFormats:[],preferForcedSubs:!1,preferSpatialAudio:!1,preferredDecodingAttributes:[],restrictions:{minWidth:0,maxWidth:1/0,minHeight:0,maxHeight:1/0,minPixels:0,maxPixels:1/0,minFrameRate:0,maxFrameRate:1/0,minBandwidth:0,maxBandwidth:1/0,minChannelsCount:0,maxChannelsCount:1/0},playRangeStart:0,playRangeEnd:1/0,textDisplayer:{captionsUpdatePeriod:.25},textDisplayFactory:function(){return null},cmcd:{enabled:!1,sessionId:"",contentId:"",rtpSafetyFactor:5,useHeaders:!1,includeKeys:[],version:1},cmsd:{enabled:!0,applyMaximumSuggestedBitrate:!0,estimatedThroughputWeightRatio:.5},lcevc:{enabled:!1,dynamicPerformanceScaling:!0,logLevel:0,drawLogo:!1},ads:{customPlayheadTracker:o,skipPlayDetection:s,supportsMultipleMediaElements:l,disableHLSInterstitial:!1,disableDASHInterstitial:!1},ignoreHardwareResolution:!1};return a.trackSelectionCallback=function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return t.return(shaka.util.PlayerConfiguration.defaultTrackSelect(e,u.preferredAudioLanguage,u.preferredVideoHdrLevel))})},u},shaka.util.PlayerConfiguration.createDefaultForLL=function(){return{streaming:{inaccurateManifestTolerance:0,segmentPrefetchLimit:2,updateIntervalSeconds:.1,maxDisabledTime:1,retryParameters:{baseDelay:100}},manifest:{dash:{autoCorrectDrift:!1},retryParameters:{baseDelay:100}},drm:{retryParameters:{baseDelay:100}}}},shaka.util.PlayerConfiguration.mergeConfigObjects=function(e,t,r){var i={".drm.keySystemsMapping":"",".drm.servers":"",".drm.clearKeys":"",".drm.advanced":{distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:[],audioR
1obustness:[],sessionType:"",serverCertificate:new Uint8Array(0),serverCertificateUri:"",individualizationServer:"",headers:{}}};return shaka.util.ConfigUtils.mergeConfigObjects(e,t,r||shaka.util.PlayerConfiguration.createDefault(),i,"")},shaka.util.PlayerConfiguration.defaultTrackSelect=function(e,t,r){var i=shaka.util.ManifestParserUtils.ContentType,n=shaka.util.LanguageUtils,a=r;"AUTO"==a&&(r=e.some(function(e){return!!e.hdr&&"HLG"==e.hdr}),a=shaka.util.Platform.getHdrLevel(r));var o=e.filter(function(e){return"variant"==e.type&&(!e.hdr||e.hdr==a)});r=[];var s=n.findClosestLocale(t,o.map(function(e){return e.language}));s&&(r=o.filter(function(e){return n.normalize(e.language)==s})),0==r.length&&(r=o.filter(function(e){return e.primary})),0==r.length&&(1<new Set(o.map(function(e){return e.language})).size&&shaka.log.warning("Could not choose a good audio track based on language preferences or primary tracks.  An arbitrary language will be stored!"),r=o);var l=r.filter(function(e){return e.height&&480>=e.height});for(l.length&&(l.sort(function(e,t){return goog.asserts.assert(null!=e.height,"Null height"),goog.asserts.assert(null!=t.height,"Null height"),t.height-e.height}),r=l.filter(function(e){return e.height==l[0].height})),t=[],r.length&&(o=Math.floor(r.length/2),r.sort(function(e,t){return e.bandwidth-t.bandwidth}),t.push(r[o])),r=(e=$jscomp.makeIterator(e)).next();!r.done;r=e.next())(r=r.value).type!=i.TEXT&&r.type!=i.IMAGE||t.push(r);return t},shaka.util.PlayerConfiguration.defaultManifestPreprocessor=function(e){return shaka.util.ConfigUtils.referenceParametersAndReturn([e],e)},shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml=function(e){return shaka.util.ConfigUtils.referenceParametersAndReturn([e],e)},goog.exportSymbol("shaka.util.PlayerConfiguration",shaka.util.PlayerConfiguration),goog.exportProperty(shaka.util.PlayerConfiguration,"mergeConfigObjects",shaka.util.PlayerConfiguration.mergeConfigObjects),goog.exportProperty(shaka.util.PlayerConfiguration,"createDefaultForLL",shaka.util.PlayerConfiguration.createDefaultForLL),goog.exportProperty(shaka.util.PlayerConfiguration,"createDefault",shaka.util.PlayerConfiguration.createDefault),shaka.util.StateHistory=function(){this.open_=null,this.closed_=[]},shaka.util.StateHistory.prototype.update=function(e){return null==this.open_?(this.start_(e),!0):this.update_(e)},shaka.util.StateHistory.prototype.getTimeSpentIn=function(e){var t=0;this.open_&&this.open_.state==e&&(t+=this.open_.duration);for(var r=$jscomp.makeIterator(this.closed_),i=r.next();!i.done;i=r.next())t+=(i=i.value).state==e?i.duration:0;return t},shaka.util.StateHistory.prototype.getCopy=function(){for(var e=function(e){return{timestamp:e.timestamp,state:e.state,duration:e.duration}},t=[],r=$jscomp.makeIterator(this.closed_),i=r.next();!i.done;i=r.next())t.push(e(i.value));return this.open_&&t.push(e(this.open_)),t},shaka.util.StateHistory.prototype.start_=function(e){goog.asserts.assert(null==this.open_,"There must be no open entry in order when we start"),shaka.log.v1("Changing Player state to",e),this.open_={timestamp:this.getNowInSeconds_(),state:e,duration:0}},shaka.util.StateHistory.prototype.update_=function(e){goog.asserts.assert(this.open_,"There must be an open entry in order to update it");var t=this.getNowInSeconds_();return this.open_.duration=t-this.open_.timestamp,this.open_.state!=e&&(shaka.log.v1("Changing Player state to",e),this.closed_.push(this.open_),this.open_={timestamp:t,state:e,duration:0},!0)},shaka.util.StateHistory.prototype.getNowInSeconds_=function(){return Date.now()/1e3},shaka.util.SwitchHistory=function(){this.currentText_=this.currentVariant_=null,this.history_=[]},shaka.util.SwitchHistory.prototype.updateCurrentVariant=function(e,t){this.currentVariant_!=e&&(this.currentVariant_=e,this.history_.push({timestamp:this.getNowInSeconds_(),id:e.id,type:"variant",fromAdaptation:t,bandwidth:e.bandwidth}))},shaka.util.SwitchHistory.prototype.updateCurrentText=function(e,t){this.currentText_!=e&&(this.currentText_=e,this.history_.push({timestamp:this.getNowInSeconds_(),id:e.id,type:"text",fromAdaptation:t,bandwidth:null}))},shaka.util.SwitchHistory.prototype.getCopy=function(){for(var e=[],t=$jscomp.makeIterator(this.history_),r=t.next();!r.done;r=t.next())e.push(this.clone_(r.value));return e},shaka.util.SwitchHistory.prototype.getNowInSeconds_=function(){return Date.now()/1e3},shaka.util.SwitchHistory.prototype.clone_=function(e){return{timestamp:e.timestamp,id:e.id,type:e.type,fromAdaptation:e.fromAdaptation,bandwidth:e.bandwidth}},shaka.util.Stats=function(){this.bytesDownloaded_=this.manifestSizeBytes_=this.bandwidthEstimate_=this.currentStreamBandwidth_=this.maxSegmentDurationSeconds_=this.liveLatencySeconds_=this.licenseTimeSeconds_=this.drmTimeSeconds_=this.manifestTimeSeconds_=this.loadLatencySeconds_=this.completionPercent_=this.totalGapsJumped_=this.totalStallsDetected_=this.totalCorruptedFrames_=this.totalDecodedFrames_=this.totalDroppedFrames_=this.height_=this.width_=NaN,this.nonFatalErrorCount_=0,this.manifestGapCount_=this.manifestPeriodCount_=NaN,this.stateHistory_=new shaka.util.StateHistory,this.switchHistory_=new shaka.util.SwitchHistory},shaka.util.Stats.prototype.setDroppedFrames=function(e,t){this.totalDroppedFrames_=e,this.totalDecodedFrames_=t},shaka.util.Stats.prototype.setCorruptedFrames=function(e){this.totalCorruptedFrames_=e},shaka.util.Stats.prototype.setStallsDetected=function(e){this.totalStallsDetected_=e},shaka.util.Stats.prototype.setGapsJumped=function(e){this.totalGapsJumped_=e},shaka.util.Stats.prototype.setResolution=function(e,t){this.width_=e,this.height_=t},shaka.util.Stats.prototype.setLoadLatency=function(e){this.loadLatencySeconds_=e},shaka.util.Stats.prototype.setManifestTime=function(e){this.manifestTimeSeconds_=e},shaka.util.Stats.prototype.setCompletionPercent=function(e){isNaN(this.completionPercent_)?this.completionPercent_=e:this.completionPercent_=Math.max(this.completionPercent_,e)},shaka.util.Stats.prototype.setDrmTime=function(e){this.drmTimeSeconds_=e},shaka.util.Stats.prototype.setLicenseTime=function(e){this.licenseTimeSeconds_=e},shaka.util.Stats.prototype.setLiveLatency=function(e){this.liveLatencySeconds_=e},shaka.util.Stats.prototype.setMaxSegmentDuration=function(e){this.maxSegmentDurationSeconds_=e},shaka.util.Stats.prototype.setCurrentStreamBandwidth=function(e){this.currentStreamBandwidth_=e},shaka.util.Stats.prototype.setBandwidthEstimate=function(e){this.bandwidthEstimate_=e},shaka.util.Stats.prototype.setManifestSize=function(e){this.manifestSizeBytes_=e},shaka.util.Stats.prototype.addBytesDownloaded=function(e){isNaN(this.bytesDownloaded_)?this.bytesDownloaded_=e:this.bytesDownloaded_+=e},shaka.util.Stats.prototype.addNonFatalError=function(){this.nonFatalErrorCount_++},shaka.util.Stats.prototype.setManifestPeriodCount=function(e){this.manifestPeriodCount_=e},shaka.util.Stats.prototype.setManifestGapCount=function(e){this.manifestGapCount_=e},shaka.util.Stats.prototype.getStateHistory=function(){return this.stateHistory_},shaka.util.Stats.prototype.getSwitchHistory=function(){return this.switchHistory_},shaka.util.Stats.prototype.getBlob=function(){return{width:this.width_,height:this.height_,streamBandwidth:this.currentStreamBandwidth_,decodedFrames:this.totalDecodedFrames_,droppedFrames:this.totalDroppedFrames_,corruptedFrames:this.totalCorruptedFrames_,stallsDetected:this.totalStallsDetected_,gapsJumped:this.totalGapsJumped_,estimatedBandwidth:this.bandwidthEstimate_,completionPercent:this.completionPercent_,loadLatency:this.loadLatencySeconds_,manifestTimeSeconds:this.manifestTimeSeconds_,drmTimeSeconds:this.drmTimeSeconds_,playTime:this.stateHistory_.getTimeSpentIn("playing"),pauseTime:this.stateHistory_.getTimeSpentIn("paused"),bufferingTime:this.stateHistory_.getTimeSpentIn("buffering"),licenseTime:this.licenseTimeSeconds_,liveLatency:this.liveLatencySeconds_,maxSegmentDuration:this.maxSegmentDurationSeconds_,manifestSizeBytes:this.manifestSizeBytes_,bytesDownloaded:this.bytesDownloaded_,nonFatalErrorCount:this.nonFatalErrorCount_,manifestPeriodCount:this.manifestPeriodCount_,manifestGapCount:this.manifestGapCount_,stateHistory:this.stateHistory_.getCopy(),switchHistory:this.switchHistory_.getCopy()}},shaka.util.Stats.getEmptyBlob=function(){return{width:NaN,height:NaN,streamBandwidth:NaN,decodedFrames:NaN,droppedFrames:NaN,corruptedFrames:NaN,stallsDetected:NaN,gapsJumped:NaN,estimatedBandwidth:NaN,completionPercent:NaN,loadLatency:NaN,manifestTimeSeconds:NaN,drmTimeSeconds:NaN,playTime:NaN,pauseTime:NaN,bufferingTime:NaN,licenseTime:NaN,liveLatency:NaN,maxSegmentDuration:NaN,manifestSizeBytes:NaN,bytesDownloaded:NaN,nonFatalErrorCount:NaN,manifestPeriodCount:NaN,manifestGapCount:NaN,switchHistory:[],stateHistory:[]}},shaka.media.PreloadManager=function(e,t,r,i){shaka.util.FakeEventTarget.call(this),this.assetUri_=e,this.mimeType_=t,this.networkingEngine_=i.networkingEngine,this.startTime_=r,this.currentAdaptationSetCriteria_=null,this.startTimeOfDrm_=0,this.createDrmEngine_=i.createDrmEngine,this.manifestFilterer_=i.manifestFilterer,this.manifestPlayerInterface_=i.manifestPlayerInterface,this.config_=i.config,this.parser_=this.parserFactory_=this.manifest_=null,this.parserEntrusted_=!1,this.regionTimeline_=i.regionTimeline,this.regionTimelineEntrusted_=!1,this.drmEngine_=null,this.drmEngineEntrusted_=!1,this.abrManager_=this.abrManagerFactory_=null,this.abrManagerEntrusted_=!1,this.segmentPrefetchById_=new Map,this.segmentPrefetchEntrusted_=!1,this.qual
1ityObserver_=i.qualityObserver,this.stats_=new shaka.util.Stats,this.manifestPromise_=new shaka.util.PublicPromise,this.successPromise_=new shaka.util.PublicPromise,this.eventHandoffTarget_=null,this.destroyed_=!1,this.allowPrefetch_=i.allowPrefetch,this.prefetchedVariant_=null,this.allowMakeAbrManager_=i.allowMakeAbrManager,this.hasBeenAttached_=!1,this.queuedOperations_=[],this.latePhaseQueuedOperations_=[],this.isPreload_=!0},$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget),shaka.media.PreloadManager.prototype.markIsLoad=function(){this.isPreload_=!1},shaka.media.PreloadManager.prototype.addQueuedOperation=function(e,t){(e=e?this.latePhaseQueuedOperations_:this.queuedOperations_)?e.push(t):t()},shaka.media.PreloadManager.prototype.stopQueuingLatePhaseQueuedOperations=function(){if(this.latePhaseQueuedOperations_)for(var e=$jscomp.makeIterator(this.latePhaseQueuedOperations_),t=e.next();!t.done;t=e.next())(t=t.value)();this.latePhaseQueuedOperations_=null},shaka.media.PreloadManager.prototype.setEventHandoffTarget=function(e){if(this.eventHandoffTarget_=e,this.hasBeenAttached_=!0,this.queuedOperations_){e=$jscomp.makeIterator(this.queuedOperations_);for(var t=e.next();!t.done;t=e.next())(t=t.value)()}this.queuedOperations_=null},shaka.media.PreloadManager.prototype.setOffsetToStartTime=function(e){this.startTime_&&e&&(this.startTime_+=e)},shaka.media.PreloadManager.prototype.getStartTime=function(){return this.startTime_},shaka.media.PreloadManager.prototype.getStartTimeOfDRM=function(){return this.startTimeOfDrm_},shaka.media.PreloadManager.prototype.getMimeType=function(){return this.mimeType_},shaka.media.PreloadManager.prototype.getAssetUri=function(){return this.assetUri_},shaka.media.PreloadManager.prototype.getManifest=function(){return this.manifest_},shaka.media.PreloadManager.prototype.getParserFactory=function(){return this.parserFactory_},shaka.media.PreloadManager.prototype.getCurrentAdaptationSetCriteria=function(){return this.currentAdaptationSetCriteria_},shaka.media.PreloadManager.prototype.getAbrManagerFactory=function(){return this.abrManagerFactory_},shaka.media.PreloadManager.prototype.receiveAbrManager=function(){return this.abrManagerEntrusted_=!0,this.abrManager_},shaka.media.PreloadManager.prototype.getAbrManager=function(){return this.abrManager_},shaka.media.PreloadManager.prototype.receiveParser=function(){return this.parserEntrusted_=!0,this.parser_},shaka.media.PreloadManager.prototype.getParser=function(){return this.parser_},shaka.media.PreloadManager.prototype.receiveRegionTimeline=function(){return this.regionTimelineEntrusted_=!0,this.regionTimeline_},shaka.media.PreloadManager.prototype.getRegionTimeline=function(){return this.regionTimeline_},shaka.media.PreloadManager.prototype.getQualityObserver=function(){return this.qualityObserver_},shaka.media.PreloadManager.prototype.getStats=function(){return this.stats_},shaka.media.PreloadManager.prototype.getManifestFilterer=function(){return this.manifestFilterer_},shaka.media.PreloadManager.prototype.receiveDrmEngine=function(){return this.drmEngineEntrusted_=!0,this.drmEngine_},shaka.media.PreloadManager.prototype.getDrmEngine=function(){return this.drmEngine_},shaka.media.PreloadManager.prototype.getPrefetchedVariant=function(){return this.prefetchedVariant_},shaka.media.PreloadManager.prototype.receiveSegmentPrefetchesById=function(){return this.segmentPrefetchEntrusted_=!0,this.segmentPrefetchById_},shaka.media.PreloadManager.prototype.attachAbrManager=function(e,t){this.abrManager_=e,this.abrManagerFactory_=t},shaka.media.PreloadManager.prototype.attachAdaptationSetCriteria=function(e){this.currentAdaptationSetCriteria_=e},shaka.media.PreloadManager.prototype.attachManifest=function(e,t,r){this.manifest_=e,this.parser_=t,this.parserFactory_=r},shaka.media.PreloadManager.prototype.start=function(){var e,t=this;$jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:return r.yield(Promise.resolve(),2);case 2:return r.setCatchFinallyBlocks(3),r.yield(t.parseManifestInner_(),5);case 5:if(t.throwIfDestroyed_(),shaka.util.Platform.isMediaKeysPolyfilled("webkit")){r.jumpTo(6);break}return r.yield(t.initializeDrm(),7);case 7:t.throwIfDestroyed_();case 6:return r.yield(t.chooseInitialVariantAndPrefetchInner_(),8);case 8:if(t.throwIfDestroyed_(),!t.allowPrefetch_||!t.drmEngine_){r.jumpTo(9);break}return r.yield(t.drmEngine_.waitForActiveRequests(),10);case 10:t.throwIfDestroyed_();
1case 9:t.successPromise_.resolve(),r.leaveTryBlock(0);break;case 3:(e=r.enterCatchBlock())instanceof shaka.util.Error&&(e.code==shaka.util.Error.Code.OPERATION_ABORTED||e.code==shaka.util.Error.Code.OBJECT_DESTROYED)||t.successPromise_.reject(e),r.jumpToEnd()}})},shaka.media.PreloadManager.prototype.dispatchEvent=function(e){return this.eventHandoffTarget_?this.eventHandoffTarget_.dispatchEvent(e):shaka.util.FakeEventTarget.prototype.dispatchEvent.call(this,e)},shaka.media.PreloadManager.prototype.onError=function(e){e.severity===shaka.util.Error.Severity.CRITICAL&&(this.successPromise_.reject(e),this.destroy());var t=this.makeEvent_(shaka.util.FakeEvent.EventName.Error,(new Map).set("detail",e));this.dispatchEvent(t),t.defaultPrevented&&(e.handled=!0)},shaka.media.PreloadManager.prototype.throwIfDestroyed_=function(){if(this.isDestroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OBJECT_DESTROYED)},shaka.media.PreloadManager.prototype.makeStateChangeEvent_=function(e){this.dispatchEvent(new shaka.util.FakeEvent(shaka.util.FakeEvent.EventName.OnStateChange,(new Map).set("state",e)))},shaka.media.PreloadManager.prototype.makeEvent_=function(e,t){return new shaka.util.FakeEvent(e,t)},shaka.media.PreloadManager.prototype.parseManifestInner_=function(){var e,t,r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:if(l.makeStateChangeEvent_("manifest-parser"),l.parser_||(l.parserFactory_=sh
1aka.media.ManifestParser.getFactory(l.assetUri_,l.mimeType_),goog.asserts.assert(l.parserFactory_,"Must have manifest parser"),l.parser_=l.parserFactory_(),l.parser_.configure(l.config_.manifest,function(){return l.isPreload_})),e=Date.now()/1e3,l.makeStateChangeEvent_("manifest"),l.manifest_){u.jumpTo(2);break}return u.yield(l.parser_.start(l.assetUri_,l.manifestPlayerInterface_),3);case 3:if(l.manifest_=u.yieldResult,1!=l.manifest_.variants.length){u.jumpTo(2);break}for(t=[],r=l.manifest_.variants[0],n=(i=$jscomp.makeIterator([r.video,r.audio])).next();!n.done;n=i.next())(a=n.value)&&!a.segmentIndex&&t.push(a.createSegmentIndex());if(!(0<t.length)){u.jumpTo(2);break}return u.yield(Promise.all(t),2);case 2:return l.manifestPromise_.resolve(),o=l.makeEvent_(shaka.util.FakeEvent.EventName.ManifestParsed),u.yield(Promise.resolve(),7);case 7:if(l.dispatchEvent(o),0==l.manifest_.variants.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_VARIANTS);shaka.media.PreloadManager.filterForAVVariants_(l.manifest_),s=Date.now()/1e3-e,l.stats_.setManifestTime(s),u.jumpToEnd()}})},shaka.media.PreloadManager.prototype.initializeDrm=function(e){var t,r,i,n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){switch(o.nextAddress){case 1:if(!a.manifest_||a.drmEngine_)return o.return();if(a.makeStateChangeEvent_("drm-engine"),a.startTimeOfDrm_=Date.now()/1e3,a.drmEngine_=a.createDrmEngine_(),a.manifestFilterer_.setDrmEngine(a.drmEngine_),a.drmEngine_.configure(a.config_.drm,function(){return a.isPreload_}),!a.manifestFilterer_.applyRestrictions(a.manifest_)){o.jumpTo(2);break}return t=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged),o.yield(Promise.resolve(),3);case 3:a.throwIfDestroyed_(),a.dispatchEvent(t);case 2:return r=shaka.util.StreamUtils.getPlayableVariants(a.manifest_.variants),i=!0,a.manifest_&&a.manifest_.presentationTimeline&&a.manifest_.type!=shaka.media.ManifestParser.HLS&&(i=a.manifest_.presentationTimeline.isLive()),o.yield(a.drmEngine_.initForPlayback(r,a.manifest_.offlineSessionIds,i),4);case 4:if(a.throwIfDestroyed_(),!e){o.jumpTo(5);break}return o.yield(a.drmEngine_.attach(e),6);case 6:a.throwIfDestroyed_();case 5:return o.yield(a.manifestFilterer_.filterManifest(a.manifest_),7);case 7:if(!o.yieldResult){o.jumpTo(0);break}return n=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged),o.yield(Promise.resolve(),9);case 9:a.dispatchEvent(n),o.jumpToEnd()}})},shaka.media.PreloadManager.prototype.reconfigure=function(e){this.config_=e},shaka.media.PreloadManager.prototype.configure=function(e,t){e=shaka.util.ConfigUtils.convertToConfigObject(e,t),shaka.util.PlayerConfiguration.mergeConfigObjects(this.config_,e)},shaka.media.PreloadManager.prototype.getConfiguration=function(){return shaka.util.ObjectUtils.cloneObject(this.config_)},shaka.media.PreloadManager.prototype.chooseInitialVariantAndPrefetchInner_=function(){var e,t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return(goog.asserts.assert(o.manifest_,"The manifest should already be parsed."),o.currentAdaptationSetCriteria_||(o.currentAdaptationSetCriteria_=o.config_.adaptationSetCriteriaFactory(),o.currentAdaptationSetCriteria_.configure({language:o.config_.preferredAudioLanguage,role:o.config_.preferredVariantRole,channelCount:o.config_.preferredAudioChannelCount,hdrLevel:o.config_.preferredVideoHdrLevel,spatialAudio:o.config_.preferSpatialAudio,videoLayout:o.config_.preferredVideoLayout,audioLabel:o.config_.preferredAudioLabel,videoLabel:o.config_.preferredVideoLabel,codecSwitchingStrategy:o.config_.mediaSource.codecSwitchingStrategy,audioCodec:""})),o.allowMakeAbrManager_&&(e=o.config_.abrFactory,o.abrManagerFactory_=e,o.abrManager_=e(),o.abrManager_.configure(o.config_.abr)),o.allowPrefetch_&&(t=o.manifest_.presentationTimeline.isLive(),r=shaka.util.StreamUtils.getPlayableVariants(o.manifest_.variants),i=o.currentAdaptationSetCriteria_.create(r),o.abrManager_.configure(o.config_.abr),o.abrManager_.setVariants(Array.from(i.values())
1),n=o.abrManager_.chooseVariant()))?(a=[],o.prefetchedVariant_=n,n.video&&a.push(o.prefetchStream_(n.video,t)),n.audio&&a.push(o.prefetchStream_(n.audio,t)),s.yield(Promise.all(a),0)):s.jumpTo(0)})},shaka.media.PreloadManager.prototype.prefetchStream_=function(e,t){var r,i,n,a,o,s=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){return 1==l.nextAddress?(r=s.config_.streaming.segmentPrefetchLimit||2,i=new shaka.media.SegmentPrefetch(r,e,function(e,t,r){return shaka.media.StreamingEngine.dispatchFetch(e,t,r||null,s.config_.streaming.retryParameters,s.networkingEngine_,s.isPreload_)},!1),s.segmentPrefetchById_.set(e.id,i),e.segmentIndex?l.jumpTo(2):l.yield(e.createSegmentIndex(),2)):(n=s.startTime_||0,a=e.segmentIndex.getIteratorForTime(n),o=null,a&&((o=a.current())||(o=a.next().value)),o||(o=e.segmentIndex.earliestReference()),o?t?o.initSegmentReference?l.yield(i.prefetchInitSegment(o.initSegmentReference),0):l.jumpTo(0):l.yield(i.prefetchSegmentsByTime(o.startTime),0):l.jumpTo(0))})},shaka.media.PreloadManager.prototype.waitForFinish=function(){return this.successPromise_},shaka.media.PreloadManager.prototype.waitForManifest=function(){return Promise.race([this.manifestPromise_,this.successPromise_])},shaka.media.PreloadManager.prototype.destroy=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){switch(i.nextAddress){case 1:if(r.destroyed_=!0,!r.parser_||r.parserEntrusted_){i.jumpTo(2);break}return i.yield(r.parser_.stop(),2);case 2:if(!r.abrManager_||r.abrManagerEntrusted_){i.jumpTo(4);break}return i.yield(r.abrManager_.stop(),4);case 4:if(r.regionTimeline_&&!r.regionTimelineEntrusted_&&r.regionTimeline_.release(),!r.drmEngine_||r.drmEngineEntrusted_){i.jumpTo(6);break}return i.yield(r.drmEngine_.destroy(),6);case 6:if(0<r.segmentPrefetchById_.size&&!r.segmentPrefetchEntrusted_)for(t=(e=$jscomp.makeIterator(r.segmentPrefetchById_.values())).next();!t.done;t=e.next())t.value.clearAll();i.jumpToEnd()}})},shaka.media.PreloadManager.prototype.isDestroyed=function(){return this.destroyed_},shaka.media.PreloadManager.prototype.hasBeenAttached=function(){return this.hasBeenAttached_},shaka.media.PreloadManager.filterForAVVariants_=function(e){var t=function(e){return e.video&&e.audio||e.video&&e.video.codecs.includes(",")};e.variants.some(t)&&(shaka.log.debug("Found variant with audio and video content, so filtering out audio-only content."),e.variants=e.variants.filter(t))},goog.exportSymbol("shaka.media.PreloadManager",shaka.media.PreloadManager),goog.exportProperty(shaka.media.PreloadManager.prototype,"destroy",shaka.media.PreloadManager.prototype.destroy),goog.exportProperty(shaka.media.PreloadManager.prototype,"waitForFinish",shaka.media.PreloadManager.prototype.waitForFinish),shaka.media.RegionObserver=function(e,t){shaka.util.FakeEventTarget.call(this);var r=this;this.timeline_=e,this.startsPastZero_=t,this.oldPosition_=new Map;var i=shaka.media.RegionObserver.RelativePosition_;e=i.BEFORE_THE_REGION,t=i.IN_THE_REGION,i=i.AFTER_THE_REGION,this.rules_=[{weWere:null,weAre:t,invoke:function(e,t){return r.onEvent_("enter",e,t)}},{weWere:e,weAre:t,invoke:function(e,t){return r.onEvent_("enter",e,t)}},{weWere:i,weAre:t,invoke:function(e,t){return r.onEvent_("enter",e,t)}},{weWere:t,weAre:e,invoke:function(e,t){return r.onEvent_("exit",e,t)}},{weWere:t,weAre:i,invoke:function(e,t){return r.onEvent_("exit",e,t)}},{weWere:e,weAre:i,invoke:function(e,t){t?r.onEvent_("skip",e,t):(r.onEvent_("enter",e,t),r.onEvent_("exit",e,t))}},{weWere:i,weAre:e,invoke:function(e,t){return r.onEvent_("skip",e,t)}}],this.eventManager_=new shaka.util.EventManager,this.eventManager_.listen(this.timeline_,"regionremove",function(e){r.oldPosition_.delete(e.region)})},$jscomp.inherits(shaka.media.RegionObserver,shaka.util.FakeEventTarget),shaka.media.RegionObserver.prototype.release=function(){this.timeline_=null,this.oldPosition_.clear(),this.eventManager_.release(),this.eventManager_=null,shaka.util.FakeEventTarget.prototype.release.call(this)},shaka.media.RegionObserver.prototype.poll=function(e,t){var r=shaka.media.RegionObserver;if(!this.startsPastZero_||0!=e){this.startsPastZero_=!1;for(var i=$jscomp.makeIterator(this.timeline_.regions()),n=i.next();!n.done;n=i.next()){n=n.value;var a=this.oldPosition_.get(n),o=r.determinePositionRelativeTo_(n,e);this.oldPosition_.set(n,o);for(var s=$jscomp.makeIterator(this.rules_),l=s.next();!l.done;l=s.next())(l=l.value).weWere==a&&l.weAre==o&&l.invoke(n,t)}}},shaka.media.RegionObserver.prototype.onEvent_=function(e,t,r){e=new shaka.util.FakeEvent(e,new Map([["region",t],["seeking",r]]
1)),this.dispatchEvent(e)},shaka.media.RegionObserver.determinePositionRelativeTo_=function(e,t){var r=shaka.media.RegionObserver.RelativePosition_;return t<e.startTime?r.BEFORE_THE_REGION:t>e.endTime?r.AFTER_THE_REGION:r.IN_THE_REGION},shaka.media.RegionObserver.RelativePosition_={BEFORE_THE_REGION:1,IN_THE_REGION:2,AFTER_THE_REGION:3},shaka.net.NetworkingUtils=function(){},shaka.net.NetworkingUtils.getMimeType=function(e,t,r){var i,n,a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:if(i=shaka.net.NetworkingUtils.getExtension_(e),n=shaka.net.NetworkingUtils.EXTENSIONS_TO_MIME_TYPES_.get(i))return l.return(n);return a=shaka.net.NetworkingEngine.RequestType.MANIFEST,o=shaka.net.NetworkingEngine.makeRequest([e],r),l.setCatchFinallyBlocks(2),o.method="HEAD",l.yield(t.request(a,o).promise,4);case 4:n=l.yieldResult.headers["content-type"],l.leaveTryBlock(3);break;case 2:if(!(s=l.enterCatchBlock())||s.code!=shaka.util.Error.Code.HTTP_ERROR&&s.code!=shaka.util.Error.Code.BAD_HTTP_STATUS){l.jumpTo(3);break}return o.method="GET",l.yield(t.request(a,o).promise,6);case 6:n=l.yieldResult.headers["content-type"];case 3:return l.return(n?n.toLowerCase().split(";").shift():"")}})},shaka.net.NetworkingUtils.getExtension_=function(e){return 1==(e=new goog.Uri(e).getPath().split("/").pop().split(".")).length?"":e.pop().toLowerCase()},shaka.net.NetworkingUtils.EXTENSIONS_TO_MIME_TYPES_=(new Map).set("mp4","video/mp4").set("m4v","video/mp4").set("m4a","audio/mp4").set("webm","video/webm").set("weba","audio/webm").set("mkv","video/webm").set("ts","video/mp2t").set("ogv","video/ogg").set("ogg","audio/ogg").set("mpg","video/mpeg").set("mpeg","video/mpeg").set("mov","video/quicktime").set("m3u8","application/x-mpegurl").set("mpd","application/dash+xml").set("ism","application/vnd.ms-sstr+xml").set("mp3","audio/mpeg").set("aac","audio/aac").set("flac","audio/flac").set("wav","audio/wav").set("sbv","text/x-subviewer").set("srt","text/srt").set("vtt","text/vtt").set("webvtt","text/vtt").set("ttml","application/ttml+xml").set("lrc","application/x-subtitle-lrc").set("ssa","text/x-ssa").set("ass","text/x-ssa").set("jpeg","image/jpeg").set("jpg","image/jpeg").set("png","image/png").set("svg","image/svg+xml").set("webp","image/webp").set("avif","image/avif").set("html","text/html").set("htm","text/html"),shaka.text.Utils=function(){},shaka.text.Utils.flattenPayload_=function(e,t){if(e.lineBreak)return"\n";if(e.nestedCues.length)return e.nestedCues.map(function(t){return shaka.text.Utils.flattenPayload_(t,e)}).join("");if(!e.payload)return e.payload;var r=[],i=e.fontWeight>=shaka.text.Cue.fontWeight.BOLD,n=e.fontStyle==shaka.text.Cue.fontStyle.ITALIC,a=e.textDecoration.includes(shaka.text.Cue.textDecoration.UNDERLINE);return i&&r.push(["b"]),n&&r.push(["i"]),a&&r.push(["u"]),""==(n=e.color)&&t&&(n=t.color),i="",(n=shaka.text.Utils.getColorName_(n))&&(i+="."+n),""==(n=e.backgroundColor)&&t&&(n=t.backgroundColor),(t=shaka.text.Utils.getColorName_(n))&&(i+=".bg_"+t),i&&r.push(["c",i]),r.reduceRight(function(e,t){var r=$jscomp.makeIterator(t);return"<"+(t=r.next().value)+(void 0===(r=r.next().value)?"":r)+">"+e+"</"+t+">"},e.payload)},shaka.text.Utils.getColorName_=function(e){var t=(e=e.toLowerCase()).replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i);switch(t?e="#"+(256|parseInt(t[1],10)).toString(16).slice(1)+(256|parseInt(t[2],10)).toString(16).slice(1)+(256|parseInt(t[3],10)).toString(16).slice(1):e.startsWith("#")&&7<e.length&&(e=e.slice(0,7)),e){case"white":case"#fff":case"#ffffff":return"white";case"lime":case"#0f0":case"#00ff00":return"lime";case"cyan":case"#0ff":case"#00ffff":return"cyan";case"red":case"#f00":case"#ff0000":return"red";case"yellow":case"#ff0":case"#ffff00":return"yellow";case"magenta":case"#f0f":case"#ff00ff":return"magenta";case"blue":case"#00f":case"#0000ff":return"blue";case"black":case"#000":case"#000000":return"black"}return null},shaka.text.Utils.getCuesToFlatten=function(e,t){var r=[];e=$jscomp.makeIterator(shaka.text.Utils.removeDuplicates(e));for(var i=e.next();!i.done;i=e.next())if((i=i.value).isContainer)r.push.apply(r,$jscomp.arrayFromIterable(sh
1aka.text.Utils.getCuesToFlatten(i.nestedCues,i)));else{var n=i.clone();n.nestedCues=[],n.payload=shaka.text.Utils.flattenPayload_(i,t),r.push(n)}return r},shaka.text.Utils.removeDuplicates=function(e){var t=[];e=$jscomp.makeIterator(e);for(var r=e.next(),i={};!r.done;i={cue$jscomp$15:void 0},r=e.next())i.cue$jscomp$15=r.value,t.some(function(e){return function(t){return shaka.text.Cue.equal(e.cue$jscomp$15,t)}}(i))||t.push(i.cue$jscomp$15);return t},shaka.text.Utils.mapShakaCueToNativeCue=function(e){if(e.startTime>=e.endTime)return shaka.log.warning("Invalid cue times: "+e.startTime+" - "+e.endTime),null;var t=shaka.text.Cue,r=new VTTCue(e.startTime,e.endTime,e.payload),i=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return(t>>>0).toString()};r.id=i(e.startTime.toString())+i(e.endTime.toString())+i(e.payload),r.lineAlign=e.lineAlign,r.positionAlign=e.positionAlign,e.size&&(r.size=e.size);try{r.align=e.textAlign}catch(e){}return"center"==e.textAlign&&"center"!=r.align&&(r.align="middle"),e.writingMode==t.writingMode.VERTICAL_LEFT_TO_RIGHT?r.vertical="lr":e.writingMode==t.writingMode.VERTICAL_RIGHT_TO_LEFT&&(r.vertical="rl"),e.lineInterpretation==t.lineInterpretation.PERCENTAGE&&(r.snapToLines=!1),null!=e.line&&(r.line=e.line),null!=e.position&&(r.position=e.position),r},shaka.text.Utils.mapNativeCueToShakaCue=function(e){if(1/0===e.endTime||e.endTime<e.startTime)return null;var t=new shaka.text.Cue(e.startTime,e.endTime,e.text);return t.line="number"==typeof e.line?e.line:null,e.lineAlign&&(t.lineAlign=e.lineAlign),t.lineInterpretation=e.snapToLines?shaka.text.Cue.lineInterpretation.LINE_NUMBER:shaka.text.Cue.lineInterpretation.PERCENTAGE,t.position="number"==typeof e.position?e.position:null,e.positionAlign&&(t.positionAlign=e.positionAlign),t.size=e.size,t.textAlign=e.align,"lr"===e.vertical?t.writingMode=shaka.text.Cue.writingMode.VERTICAL_LEFT_TO_RIGHT:"rl"===e.vertical&&(t.writingMode=shaka.text.Cue.writingMode.VERTICAL_RIGHT_TO_LEFT),e.region&&(t.region.id=e.region.id,t.region.height=e.region.lines,t.region.heightUnits=shaka.text.CueRegion.units.LINES,t.region.regionAnchorX=e.region.regionAnchorX,t.region.regionAnchorY=e.region.regionAnchorY,t.region.scroll=e.region.scroll,t.region.viewportAnchorX=e.region.viewportAnchorX,t.region.viewportAnchorY=e.region.viewportAnchorY,t.region.viewportAnchorUnits=shaka.text.CueRegion.units.PERCENTAGE,t.region.width=e.region.width,t.region.widthUnits=shaka.text.CueRegion.units.PERCENTAGE),shaka.text.Cue.parseCuePayload(t),t},shaka.text.SimpleTextDisplayer=function(e,t){for(this.video_=e,this.textTrackLabel_=t,this.textTrack_=null,t=(e=$jscomp.makeIterator(Array.from(this.video_.textTracks))).next();!t.done;t=e.next())"metadata"!==(t=t.value).kind&&"chapters"!==t.kind&&(t.mode="disabled",t.label==this.textTrackLabel_&&(this.textTrack_=t));this.textTrack_&&(this.textTrack_.mode="hidden")},shaka.text.SimpleTextDisplayer.prototype.configure=function(e){},shaka.text.SimpleTextDisplayer.prototype.remove=function(e,t){return!!this.textTrack_&&(shaka.text.SimpleTextDisplayer.removeWhere_(this.textTrack_,function(r){return r.startTime<t&&r.endTime>e}),!0)},shaka.text.SimpleTextDisplayer.prototype.append=function(e){if(this.textTrack_){var t=shaka.text.Utils.getCuesToFlatten(e),r=[];e=this.textTrack_.cues?Array.from(this.textTrack_.cues):[],t=$jscomp.makeIterator(t);for(var i=t.next(),n={};!i.done;n={inCue:void 0},i=t.next())n.inCue=i.value,!e.some(function(e){return function(t){return t.startTime==e.inCue.startTime&&t.endTime==e.inCue.endTime&&t.text==e.inCue.payload}}(n))&&n.inCue.payload&&(i=shaka.text.Utils.mapShakaCueToNativeCue(n.inCue))&&r.push(i);for(e=r.slice().sort(function(e,t){return e.startTime!=t.startTime?e.startTime-t.startTime:e.endTime!=t.endTime?e.endTime-t.startTime:"line"in VTTCue.prototype?r.indexOf(t)-r.indexOf(e):r.indexOf(e)-r.indexOf(t)}),t=(e=$jscomp.makeIterator(e)).next();!t.done;t=e.next())this.textTrack_.addCue(t.value)}},shaka.text.SimpleTextDisplayer.prototype.destroy=function(){return this.textTrack_&&(shaka.text.SimpleTextDisplayer.removeWhere_(this.textTrack_,function(e){return!0}),this.textTrack_.mode="disabled"),this.textTrack_=this.video_=null,Promise.resolve()},shaka.text.SimpleTextDisplayer.prototype.isTextVisible=function(){return!!this.textTrack_&&"showing"==this.textTrack_.mode},shaka.text.SimpleTextDisplayer.prototype.setTextVisibility=function(e){e&&!this.textTrack_&&this.createTextTrack_(),this.textTrack_&&(this.textTrack_.mode=e?"showing":"hidden")},shaka.text.SimpleTextDisplayer.prototype.setTextLanguage=function(e){},shaka.text.SimpleTextDisplayer.prototype.enableTextDisplayer=function(){this.createTextTrack_()},shaka.text.SimpleTextDisplayer.prototype.createTextTrack_=function(){this.video_&&!this.textTrack_&&(this.textTrack_=this.video_.addTextTrack("subtitles",this.textTrackLabel_),this.textTrack_.mode="hidden")},shaka.text.SimpleTextDisplayer.removeWhere_=function(e,t){var r=e.mode,i="showing"==r?"showing":"hidden";e.mode=i,goog.asserts.assert(e.cues,'Cues should be accessible when mode is set to "'+i+'".'),i=$jscomp.makeIterator(Array.from(e.cues));for(var n=i.next();!n.done;n=i.next())(n=n.value)&&t(n)&&e.removeCue(n);e.mode=r},goog.exportSymbol("shaka.text.SimpleTextDisplayer",shaka.text.SimpleTextDisplayer),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"enableTextDisplayer",shaka.text.SimpleTextDisplayer.prototype.enableTextDisplayer),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"setTextLanguage",shaka.text.SimpleTextDisplayer.prototype.setTextLanguage),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"setTextVisibility",shaka.text.SimpleTextDisplayer.prototype.setTextVisibility),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"isTextVisible",shaka.text.SimpleTextDisplayer.prototype.isTextVisible),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"destroy",shaka.text.SimpleTextDisplayer.prototype.destroy),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"append",shaka.text.SimpleTextDisplayer.prototype.append),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"remove",shaka.text.SimpleTextDisplayer.prototype.remove),goog.exportProperty(shaka.text.SimpleTextDisplayer.prototype,"configure",shaka.text.SimpleTextDisplayer.prototype.configure),shaka.text.StubTextDisplayer=function(){},shaka.text.StubTextDisplayer.prototype.configure=function(e){},shaka.text.StubTextDisplayer.prototype.remove=function(e,t){},shaka.text.StubTextDisplayer.prototype.append=function(e){},shaka.text.StubTextDisplayer.prototype.destroy=function(){},shaka.text.StubTextDisplayer.prototype.isTextVisible=function(){return!1},shaka.text.StubTextDisplayer.prototype.setTextVisibility=function(e){},shaka.text.StubTextDisplayer.prototype.setTextLanguage=function(e){},shaka.text.StubTextDisplayer.prototype.enableTextDisplayer=function(){},goog.exportSymbol("shaka.text.StubTextDisplayer",shaka.text.StubTextDisplayer),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"enableTextDisplayer",shaka.text.StubTextDisplayer.prototype.enableTextDisplayer),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"setTextLanguage",shaka.text.StubTextDisplayer.prototype.setTextLanguage),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"setTextVisibility",shaka.text.StubTextDisplayer.prototype.setTextVisibility),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"isTextVisible",shaka.text.StubTextDisplayer.prototype.isTextVisible),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"destroy",shaka.text.StubTextDisplayer.prototype.destroy),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"append",shaka.text.StubTextDisplayer.prototype.append),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"remove",shaka.text.StubTextDisplayer.prototype.remove),goog.exportProperty(shaka.text.StubTextDisplayer.prototype,"configure",shaka.text.StubTextDisplayer.prototype.configure),shaka.text.UITextDisplayer=function(e,t){var r=this;goog.asserts.assert(t,"videoContainer should be valid."),this.isTextVisible_=!1,this.cues_=[],this.video_=e,this.videoContainer_=t,this.config_=this.aspectRatio_=null,this.textContainer_=shaka.util.Dom.createHTMLElement("div"),this.textContainer_.classList.add("shaka-text-container"),this.textContainer_.style.textAlign="center",this.textContainer_.style.display="flex",this.textContainer_.style.flexDirection="column",this.textContainer_.style.alignItems="center",this.textContainer_.style.justifyContent="flex-end",this.videoContainer_.appendChild(this.textContainer_),this.captionsTimer_=new shaka.util.Timer(function(){r.video_.paused||r.updateCaptions_()}),this.configureCaptionsTimer_(),this.currentCuesMap_=new Map,this.eventManager_=new shaka.util.EventManager,this.eventManager_.listen(document,"fullscreenchange",function(){r.updateCaptions_(!0)}),this.eventManager_.listen(this.video_,"seeking",function(){r.updateCaptions_(!0)}),this.eventManager_.listen(this.video_,"ratechange",function(){r.configureCaptionsTimer_()}),this.eventManager_.listen(this.video_,"resize",function(){var e=r.video_,t=e.videoWidth;e=e.videoHeight,r.aspectRatio_=t&&e?t/e:null}),this.resizeObserver_=null,"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(function(){r.updateCaptions_(!0)}),this.resizeObserver_.observe(this.textContainer_)),this.regionElements_=new Map},shaka.text.UITextDisplayer.prototype.configure=function(e){this.config_=e,this.configureCaptionsTimer_()},shaka.text.UITextDisplayer.prototype.append=function(e){var t=[].concat($jscomp.arrayFromIterable(this.cues_));e=$jscomp.makeIterator(shaka.text.Utils.removeDuplicates(e));for(var r=e.next(),i={};!r.done;i={cue$jscomp$22:void 0}
1,r=e.next())i.cue$jscomp$22=r.value,t.some(function(e){return function(t){return shaka.text.Cue.equal(t,e.cue$jscomp$22)}}(i))||this.cues_.push(i.cue$jscomp$22);this.cues_.length&&this.configureCaptionsTimer_(),this.updateCaptions_()},shaka.text.UITextDisplayer.prototype.destroy=function(){return this.textContainer_&&(this.videoContainer_.removeChild(this.textContainer_),this.textContainer_=null,this.isTextVisible_=!1,this.cues_=[],this.captionsTimer_&&(this.captionsTimer_.stop(),this.captionsTimer_=null),this.currentCuesMap_.clear(),this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),this.resizeObserver_&&(this.resizeObserver_.disconnect(),this.resizeObserver_=null)),Promise.resolve()},shaka.text.UITextDisplayer.prototype.remove=function(e,t){if(!this.textContainer_)return!1;var r=this.cues_.length;return this.cues_=this.cues_.filter(function(r){return r.startTime<e||r.endTime>=t}),this.updateCaptions_(r>this.cues_.length),this.cues_.length||this.configureCaptionsTimer_(),!0},shaka.text.UITextDisplayer.prototype.isTextVisible=function(){return this.isTextVisible_},shaka.text.UITextDisplayer.prototype.setTextVisibility=function(e){this.isTextVisible_=e,this.updateCaptions_(!0)},shaka.text.UITextDisplayer.prototype.setTextLanguage=function(e){e&&"und"!=e?this.textContainer_.setAttribute("lang",e):this.textContainer_.setAttribute("lang","")},shaka.text.UITextDisplayer.prototype.enableTextDisplayer=function(){},shaka.text.UITextDisplayer.prototype.configureCaptionsTimer_=function(){this.captionsTimer_&&(this.cues_.length?this.captionsTimer_.tickEvery((this.config_?this.config_.captionsUpdatePeriod:.25)/Math.max(1,Math.abs(this.video_.playbackRate))):this.captionsTimer_.stop())},shaka.text.UITextDisplayer.prototype.isElementUnderTextContainer_=function(e){for(;null!=e;){if(e==this.textContainer_)return!0;e=e.parentElement}return!1},shaka.text.UITextDisplayer.prototype.updateCuesRecursive_=function(e,t,r,i){var n=!1,a=[],o=[];e=$jscomp.makeIterator(e);for(var s=e.next();!s.done;s=e.next()){s=s.value,i.push(s);var l=this.currentCuesMap_.get(s),u=s.startTime<=r&&s.endTime>r,d=l?l.wrapper:null;l&&(a.push(l.cueElement),l.regionElement&&a.push(l.regionElement),u||(n=!0,this.currentCuesMap_.delete(s),l=null)),u&&(o.push(s),l?this.isElementUnderTextContainer_(d)||(n=!0):(this.createCue_(s,i),d=(l=this.currentCuesMap_.get(s)).wrapper,n=!0)),0<s.nestedCues.length&&d&&this.updateCuesRecursive_(s.nestedCues,d,r,i),l=i.pop(),goog.asserts.assert(l==s,"Parent cues should be kept in order")}if(n){for(i=(r=$jscomp.makeIterator(a)).next();!i.done;i=r.next())(i=i.value).parentElement&&i.parentElement.removeChild(i);for(o.sort(function(e,t){return e.startTime!=t.startTime?e.startTime-t.startTime:e.endTime-t.endTime}),r=(o=$jscomp.makeIterator(o)).next();!r.done;r=o.next())r=this.currentCuesMap_.get(r.value),goog.asserts.assert(r,"cueRegistry should exist."),r.regionElement?(r.regionElement.contains(t)&&r.regionElement.removeChild(t),t.appendChild(r.regionElement),r.regionElement.appendChild(r.cueElement)):t.appendChild(r.cueElement)}},shaka.text.UITextDisplayer.prototype.updateCaptions_=function(e){if(this.textContainer_){var t=this.video_.currentTime;if(!this.isTextVisible_||(void 0===e?0:e)){e=$jscomp.makeIterator(this.regionElements_.values());for(var r=e.next();!r.done;r=e.next())shaka.util.Dom.removeAllChildren(r.value);shaka.util.Dom.removeAllChildren(this.textContainer_),this.currentCuesMap_.clear(),this.regionElements_.clear()}if(this.isTextVisible_){if(e=new Map,goog.DEBUG){r=$jscomp.makeIterator(this.currentCuesMap_.keys());for(var i=r.next();!i.done;i=r.next())i=i.value,e.set(i,this.currentCuesMap_.get(i))}if(this.updateCuesRecursive_(this.cues_,this.textContainer_,t,[]),goog.DEBUG)for(r=(t=$jscomp.makeIterator(e.keys())).next();!r.done;r=t.next())r=r.value,this.currentCuesMap_.has(r)||(r=e.get(r).cueElement,goog.asserts.assert(!r.parentNode,"Cue was not properly removed!"))}}},shaka.text.UITextDisplayer.prototype.generateRegionId_=function(e){var t=shaka.text.CueRegion.units.PERCENTAGE;return e.id+"_"+e.width+"x"+e.height+(e.heightUnits==t?"%":"px")+"-"+e.viewportAnchorX+"x"+e.viewportAnchorY+(e.viewportAnchorUnits==t?"%":"px")},shaka.text.UITextDisplayer.prototype.getRegionElement_=function(e){var t=e.region,r=this.aspectRatio_===4/3?2.5:1.9,i=this.generateRegionId_(t);if(this.regionElements_.has(i))return this.regionElements_.get(i);var n=shaka.util.Dom.createHTMLElement("span"),a=shaka.text.CueRegion.units.LINES,o=shaka.text.CueRegion.units.PERCENTAGE,s=shaka.text.CueRegion.units.PX,l=t.heightUnits==o?"%":"px",u=t.widthUnits==o?"%":"px",d=t.viewportAnchorUnits==o?"%":"px";n.id="shaka-text-region---"+i,n.classList.add("shaka-text-region"),n.style.position="absolute",o=t.height;var c=t.width;return t.heightUnits===a&&(o=5.33*t.height,l="%"),t.widthUnits===a&&(c=t.width*r,u="%"),n.style.height=o+l,n.style.width=c+u,t.viewportAnchorUnits===a?(r=t.viewportAnchorY/75*100,a=t.viewportAnchorX/(this.aspectRatio_===4/3?160:210)*100,r-=t.regi
1onAnchorY*o/100,a-=t.regionAnchorX*c/100,n.style.top=r+"%",n.style.left=a+"%"):(n.style.top=t.viewportAnchorY-t.regionAnchorY*o/100+d,n.style.left=t.viewportAnchorX-t.regionAnchorX*c/100+d),t.heightUnits!==s&&t.widthUnits!==s&&t.viewportAnchorUnits!==s&&(t=parseInt(n.style.top.slice(0,-1),10)||0,o=parseInt(n.style.left.slice(0,-1),10)||0,s=parseInt(n.style.height.slice(0,-1),10)||0,o=Math.max(0,Math.min(100-(c=parseInt(n.style.width.slice(0,-1),10)||0),o)),n.style.top=Math.max(0,Math.min(100-s,t))+"%",n.style.left=o+"%"),n.style.display="flex",n.style.flexDirection="column",n.style.alignItems="center",n.style.justifyContent=e.displayAlign==shaka.text.Cue.displayAlign.BEFORE?"flex-start":e.displayAlign==shaka.text.Cue.displayAlign.CENTER?"center":"flex-end",this.regionElements_.set(i,n),n},shaka.text.UITextDisplayer.prototype.createCue_=function(e,t){var r=1<t.length,i=r?"span":"div";e.lineBreak&&(i="br"),e.rubyTag&&(i=e.rubyTag),r=!r&&0<e.nestedCues.length;var n=shaka.util.Dom.createHTMLElement(i);"br"!=i&&this.setCaptionStyles_(n,e,t,r),t=null,e.region&&e.region.id&&(t=this.getRegionElement_(e)),i=n,r&&((i=shaka.util.Dom.createHTMLElement("span")).classList.add("shaka-text-wrapper"),i.style.backgroundColor=e.backgroundColor,i.style.lineHeight="normal",n.appendChild(i)),this.currentCuesMap_.set(e,{cueElement:n,wrapper:i,regionElement:t})},shaka.text.UITextDisplayer.prototype.computeCuePositionAlignment_=function(e){var t=shaka.text.Cue,r=e.direction,i=e.positionAlign;return e=e.textAlign,i!==t.positionAlign.AUTO?i:e===t.textAlign.LEFT||e===t.textAlign.START&&r===t.direction.HORIZONTAL_LEFT_TO_RIGHT||e===t.textAlign.END&&r===t.direction.HORIZONTAL_RIGHT_TO_LEFT?t.positionAlign.LEFT:e===t.textAlign.RIGHT||e===t.textAlign.START&&r===t.direction.HORIZONTAL_RIGHT_TO_LEFT||e===t.textAlign.END&&r===t.direction.HORIZONTAL_LEFT_TO_RIGHT?t.positionAlign.RIGHT:t.positionAlign.CENTER},shaka.text.UITextDisplayer.prototype.setCaptionStyles_=function(e,t,r,i){var n=shaka.text.Cue,a=e.style,o=0==t.nestedCues.length,s=1<r.length;a.whiteSpace="pre-wrap";var l=t.payload.replace(/\s+$/g,function(e){return"\xa0".repeat(e.length)});if(a.webkitTextStrokeColor=t.textStrokeColor,a.webkitTextStrokeWidth=t.textStrokeWidth,a.color=t.color,a.direction=t.direction,a.opacity=t.opacity,a.paddingLeft=shaka.text.UITextDisplayer.convertLengthValue_(t.linePadding,t,this.videoContainer_),a.paddingRight=shaka.text.UITextDisplayer.convertLengthValue_(t.linePadding,t,this.videoContainer_),a.textCombineUpright=t.textCombineUpright,a.textShadow=t.textShadow,t.backgroundImage)a.backgroundImage="url('"+t.backgroundImage+"')",a.backgroundRepeat="no-repeat",a.backgroundSize="contain",a.backgroundPosition="center",t.backgroundColor&&(a.backgroundColor=t.backgroundColor),a.width="100%",a.height="100%";else{if(t.nestedCues.length)var u=e;else u=shaka.util.Dom.createHTMLElement("span"),e.appendChild(u);t.border&&(u.style.border=t.border),i||((e=shaka.text.UITextDisplayer.inheritProperty_(r,function(e){return e.backgroundColor}))?u.style.backgroundColor=e:l&&(u.style.backgroundColor="rgba(0, 0, 0, 0.8)")),l&&(u.setAttribute("translate","no"),u.textContent=l)}s&&!r[r.length-1].isContainer?a.display="inline":(a.display="flex",a.flexDirection="column",a.alignItems="center",t.textAlign==n.textAlign.LEFT||t.textAlign==n.textAlign.START?(a.width="100%",a.alignItems="start"):(t.textAlign==n.textAlign.RIGHT||t.textAlign==n.textAlign.END)&&(a.width="100%",a.alignItems="end"),a.justifyContent=t.displayAlign==n.displayAlign.BEFORE?"flex-start":t.displayAlign==n.displayAlign.CENTER?"center":"flex-end"),o||(a.margin="0"),a.fontFamily=t.fontFamily,a.fontWeight=t.fontWeight.toString(),a.fontStyle=t.fontStyle,a.letterSpacing=t.letterSpacing,a.fontSize=shaka.text.UITextDisplayer.convertLengthValue_(t.fontSize,t,this.videoContainer_),null!=(r=t.line)&&((o=t.lineInterpretation)==n.lineInterpretation.LINE_NUMBER&&(o=n.lineInterpretation.PERCENTAGE,s=16,this.aspectRatio_&&1>this.aspectRatio_&&(s=32),r=0>r?100+r/s*100:r/s*100),o==n.lineInterpretation.PERCENTAGE&&(a.position="absolute",t.writingMode==n.writingMode.HORIZONTAL_TOP_TO_BOTTOM?(a.width="100%",t.lineAlign==n.lineAlign.START?a.top=r+"%":t.lineAlign==n.lineAlign.END&&(a.bottom=100-r+"%")):t.writingMode==n.writingMode.VERTICAL_LEFT_TO_RIGHT?(a.height="100%",t.lineAlign==n.lineAlign.START?a.left
1=r+"%":t.lineAlign==n.lineAlign.END&&(a.right=100-r+"%")):(a.height="100%",t.lineAlign==n.lineAlign.START?a.right=r+"%":t.lineAlign==n.lineAlign.END&&(a.left=100-r+"%")))),a.lineHeight=t.lineHeight,(r=this.computeCuePositionAlignment_(t))==n.positionAlign.LEFT?(a.cssFloat="left",null!==t.position&&(a.position="absolute",t.writingMode==n.writingMode.HORIZONTAL_TOP_TO_BOTTOM?(a.left=t.position+"%",a.width="auto"):a.top=t.position+"%")):r==n.positionAlign.RIGHT?(a.cssFloat="right",null!==t.position&&(a.position="absolute",t.writingMode==n.writingMode.HORIZONTAL_TOP_TO_BOTTOM?(a.right=100-t.position+"%",a.width="auto"):a.bottom=t.position+"%")):null!==t.position&&50!=t.position&&(a.position="absolute",t.writingMode==n.writingMode.HORIZONTAL_TOP_TO_BOTTOM?(a.left=t.position+"%",a.width="auto"):a.top=t.position+"%"),a.textAlign=t.textAlign,a.textDecoration=t.textDecoration.join(" "),a.writingMode=t.writingMode,"writingMode"in document.documentElement.style&&a.writingMode==t.writingMode||(a.webkitWritingMode=t.writingMode),t.size&&(t.writingMode==n.writingMode.HORIZONTAL_TOP_TO_BOTTOM?a.width=t.size+"%":a.height=t.size+"%")},shaka.text.UITextDisplayer.getLengthValueInfo_=function(e){return(e=new RegExp(/(\d*\.?\d+)([a-z]+|%+)/).exec(e))?{value:Number(e[1]),unit:e[2]}:null},shaka.text.UITextDisplayer.convertLengthValue_=function(e,t,r){var i=shaka.text.UITextDisplayer.getLengthValueInfo_(e);if(!i)return e;var n=i.value;switch(i.unit){case"%":return shaka.text.UITextDisplayer.getAbsoluteLengthInPixels_(n/100,t,r);case"c":return shaka.text.UITextDisplayer.getAbsoluteLengthInPixels_(n,t,r);default:return e}},shaka.text.UITextDisplayer.getAbsoluteLengthInPixels_=function(e,t,r){return r.clientHeight*e/t.cellResolution.rows+"px"},shaka.text.UITextDisplayer.inheritProperty_=function(e,t){for(var r=e.length-1;0<=r;r--){var i=t(e[r]);if(i||0===i)return i}return null},goog.exportSymbol("shaka.text.UITextDisplayer",shaka.text.UITextDisplayer),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"enableTextDisplayer",shaka.text.UITextDisplayer.prototype.enableTextDisplayer),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"setTextLanguage",shaka.text.UITextDisplayer.prototype.setTextLanguage),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"setTextVisibility",shaka.text.UITextDisplayer.prototype.setTextVisibility),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"isTextVisible",shaka.text.UITextDisplayer.prototype.isTextVisible),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"remove",shaka.text.UITextDisplayer.prototype.remove),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"destroy",shaka.text.UITextDisplayer.prototype.destroy),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"append",shaka.text.UITextDisplayer.prototype.append),goog.exportProperty(shaka.text.UITextDisplayer.prototype,"configure",shaka.text.UITextDisplayer.prototype.configure),shaka.text.WebVttGenerator=function(){},shaka.text.WebVttGenerator.convert=function(e,t){var r=function(e){for(var r=e,i=$jscomp.makeIterator(t),n=i.next();!n.done;n=i.next())(n=n.value).end&&n.start<e&&(r+=n.end-n.start);return(10>(e=Math.floor(r/3600))?"0":"")+e+":"+(10>(i=Math.floor(r/60%60))?"0":"")+i+":"+(10>(n=Math.floor(r%60))?"0":"")+n+"."+(100>(r=Math.floor(1e3*r%1e3))?10>r?"00":"0":"")+r},i=shaka.text.Utils.getCuesToFlatten(e);e="WEBVTT\n\n",i=$jscomp.makeIterator(i);for(var n=i.next();!n.done;n=i.next())e+=r((n=n.value).startTime)+" --\x3e "+r(n.endTime)+function(e){var t=[],r=shaka.text.Cue;switch(e.textAlign){case r.textAlign.LEFT:t.push("align:left");break;case r.textAlign.RIGHT:t.push("align:right");break;case r.textAlign.CENTER:t.push("align:middle");break;case r.textAlign.START:t.push("align:start");break;case r.textAlign.END:t.push("align:end")}switch(e.writingMode){case r.writingMode.VERTICAL_LEFT_TO_RIGHT:t.push("vertical:lr");break;case r.writingMode.VERTICAL_RIGHT_TO_LEFT:t.push("vertical:rl")}return t.length?" "+t.join(" "):""}(n)+"\n",e+=n.payload+"\n\n";return e},goog.exportSymbol("shaka.text.WebVttGenerator",shaka.text.WebVttGenerator),shaka.util.CmcdManager=function(e,t){this.playerInterface_=e,this.config_=t,this.sf_=void 0,this.playbackStarted_=!1,this.buffering_=!0,this.lowLatency_=this.starved_=!1,this.playbackPlayingTime_=this.playbackPlayTime_=void 0,this.startTimeOfLoad_=0,this.msdSent_=!1,this.eventManager_=new shaka.util.EventManager,this.video_=null},shaka.util.CmcdManager.prototype.setMediaElement=function(e){this.video_=e,this.setupMSDEventListeners_()},shaka.util.CmcdManager.prototype.configure=function(e){this.config_=e},shaka.util.CmcdManager.prototype.reset=function(){this.playbackStarted_=!1,this.buffering_=!0,this.lowLatency_=this.starved_=!1,this.startTimeOfLoad_=this.playbackPlayingTime_=this.playbackPlayTime_=0,this.msdSent_=!1,this.video_=null,this.eventManager_.removeAll()},shaka.util.CmcdManager.prototype.setBuffering=function(e){e||this.playbackStarted_||(this.playbackStarted_=!0),this.playbackStarted_&&e&&(this.starved_=!0),this.buffering_=e},shaka.util.CmcdManager.prototype.setLowLatency=function(e){this.lowLatency_=e,e=shaka.util.CmcdManager.StreamingFormat,this.lowLatency_?this.sf_==e.DASH?this.sf_=e.LOW_LATENCY_DASH:this.sf_==e.HLS&&(this.sf_=e.LOW_LATENCY_HLS):this.sf_==e.LOW_LATENCY_DASH?this.sf_=e.DASH:this.sf_==e.LOW_LATENCY_HLS&&(this.sf_=e.HLS)},shaka.util.CmcdManager.prototype.setStartTimeOfLoad=function(e){var t=this;if(this.config_&&this.config_.enabled&&this.config_.version==shaka.util.CmcdManager.Version.VERSION_2&&this.video_&&this.video_.autoplay){var r=this.video_.play();r&&r.then(function(){t.startTimeOfLoad_=e}).catch(function(e){t.startTimeOfLoad_=0})}},shaka.util.CmcdManager.prototype.applyRequestData=function(e,t,r){if(r=void 0===r?{}:r,this.config_.enabled)if("HEAD"===t.method)this.applyRequest_(t);else{var i=shaka.net.NetworkingEngine.RequestType,n=shaka.util.CmcdManager.ObjectType;switch(e){case i.MANIFEST:this.applyManifestData(t,r);break;case i.SEGMENT:this.applyRequestSegmentData(t,r);break;case i.LICENSE:case i.SERVER_CERTIFICATE:case i.KEY:this.applyRequest_(t,{ot:n.KEY});break;case i.TIMING:this.applyRequest_(t,{ot:n.OTHER})}}}
1,shaka.util.CmcdManager.prototype.applyManifestData=function(e,t){try{this.config_.enabled&&(t.type&&(this.sf_=this.getStreamFormat_(t.type)),this.applyRequest_(e,{ot:shaka.util.CmcdManager.ObjectType.MANIFEST,su:!this.playbackStarted_}))}catch(e){shaka.log.warnOnce("CMCD_MANIFEST_ERROR","Could not generate manifest CMCD data.",e)}},shaka.util.CmcdManager.prototype.applyRequestSegmentData=function(e,t){try{if(this.config_.enabled){var r=this.getDataForSegment_(t,e.uris[0]);this.applyRequest_(e,r)}}catch(e){shaka.log.warnOnce("CMCD_SEGMENT_ERROR","Could not generate segment CMCD data.",e)}},shaka.util.CmcdManager.prototype.applyTextData=function(e){try{this.config_.enabled&&this.applyRequest_(e,{ot:shaka.util.CmcdManager.ObjectType.CAPTION,su:!0})}catch(e){shaka.log.warnOnce("CMCD_TEXT_ERROR","Could not generate text CMCD data.",e)}},shaka.util.CmcdManager.prototype.appendSrcData=function(e,t){try{if(!this.config_.enabled)return e;var r=this.createData_();r.ot=this.getObjectTypeFromMimeType_(t),r.su=!0;var i=shaka.util.CmcdManager.toQuery(r);return shaka.util.CmcdManager.appendQueryToUri(e,i)}catch(t){return shaka.log.warnOnce("CMCD_SRC_ERROR","Could not generate src CMCD data.",t),e}},shaka.util.CmcdManager.prototype.appendTextTrackData=function(e){try{if(!this.config_.enabled)return e;var t=this.createData_();t.ot=shaka.util.CmcdManager.ObjectType.CAPTION,t.su=!0;var r=shaka.util.CmcdManager.toQuery(t);return shaka.util.CmcdManager.appendQueryToUri(e,r)}catch(t){return shaka.log.warnOnce("CMCD_TEXT_TRACK_ERROR","Could not generate text track CMCD data.",t),e}},shaka.util.CmcdManager.prototype.onPlaybackPlay_=function(){this.playbackPlayTime_||(this.playbackPlayTime_=Date.now())},shaka.util.CmcdManager.prototype.onPlaybackPlaying_=function(){this.playbackPlayingTime_||(this.playbackPlayingTime_=Date.now())},shaka.util.CmcdManager.prototype.setupMSDEventListeners_=function(){var e=this;this.eventManager_.listenOnce(this.video_,"play",function(){return e.onPlaybackPlay_()}),this.eventManager_.listenOnce(this.video_,"playing",function(){return e.onPlaybackPlaying_()})},shaka.util.CmcdManager.prototype.createData_=function(){return this.config_.sessionId||(this.config_.sessionId=window.crypto.randomUUID()),{v:this.config_.version,sf:this.sf_,sid:this.config_.sessionId,cid:this.config_.contentId,mtp:this.playerInterface_.getBandwidthEstimate()/1e3}},shaka.util.CmcdManager.prototype.applyRequest_=function(e,t,r){if(t=void 0===t?{}:t,r=void 0===r?this.config_.useHeaders:r,this.config_.enabled)if(t=this.getGenericData_(t),r)Object.keys(r=shaka.util.CmcdManager.toHeaders(t)).length&&Object.assign(e.headers,r);else{var i=shaka.util.CmcdManager.toQuery(t);i&&(e.uris=e.uris.map(function(e){return shaka.util.CmcdManager.appendQueryToUri(e,i)}))}},shaka.util.CmcdManager.prototype.filterKeys_=function(e){var t=this.config_.includeKeys;return t.length?Object.keys(e).reduce(function(r,i){return t.includes(i)&&(r[i]=e[i]),r},{}):e},shaka.util.CmcdManager.prototype.getObjectType_=function(e){if(e.type===shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT)return shaka.util.CmcdManager.ObjectType.INIT;if(e=e.stream){var t=e.type;if("video"==t)return e.codecs&&e.codecs.includes(",")?shaka.util.CmcdManager.ObjectType.MUXED:shaka.util.CmcdManager.ObjectType.VIDEO;if("audio"==t)return shaka.util.CmcdManager.ObjectType.AUDIO;if("text"==t)return"application/mp4"===e.mimeType?shaka.util.CmcdManager.ObjectType.TIMED_TEXT:shaka.util.CmcdManager.ObjectType.CAPTION}},shaka.util.CmcdManager.prototype.getObjectTypeFromMimeType_=function(e){switch(e.toLowerCase()){case"audio/mp4":case"audio/webm":case"audio/ogg":case"audio/mpeg":case"audio/aac":case"audio/flac":case"audio/wav":return shaka.util.CmcdManager.ObjectType.AUDIO;case"video/webm":case"video/mp4":case"video/mpeg":case"video/mp2t":return shaka.util.CmcdManager.ObjectType.MUXED;case"application/x-mpegurl":case"application/vnd.apple.mpegurl":case"application/dash+xml":case"video/vnd.mpeg.dash.mpd":case"application/vnd.ms-sstr+xml":return shaka.util.CmcdManager.ObjectType.MANIFEST}},shaka.util.CmcdManager.prototype.getBufferLength_=function(e){if(!(e=this.playerInterface_.getBufferedInfo()[e]).length)return NaN;var t=this.playerInterface_.getCurrentTime();return(e=e.find(function(e){return e.start<=t&&e.end>=t}))?1e3*(e.end-t):NaN},shaka.util.CmcdManager.prototype.getRemainingBufferLength_=function(e){if(!(e=this.playerInterface_.getBufferedInfo()[e]).length)return 0;var t=this.playerInterface_.getCurrentTime();return(e=e.find(function(e){return e.start<=t&&e.end>=t}))?1e3*(e.end-t):0},shaka.util.CmcdManager.prototype.urlToRelativePath_=function(e,t){var r=new 
1URL(e);if(t=new URL(t),r.origin!==t.origin)return e;for(e=r.pathname.split("/").slice(1),r=t.pathname.split("/").slice(1,-1);e[0]===r[0];)e.shift(),r.shift();for(;r.length;)r.shift(),e.unshift("..");return e.join("/")},shaka.util.CmcdManager.prototype.calculateMSD_=function(){if(!this.msdSent_&&this.playbackPlayingTime_&&this.playbackPlayTime_)return this.playbackPlayingTime_-(this.startTimeOfLoad_||this.playbackPlayTime_)},shaka.util.CmcdManager.prototype.calculateRtp_=function(e,t){var r=this.playerInterface_.getPlaybackRate()||1,i=this.getRemainingBufferLength_(e.type)||500;return(e=e.bandwidth)?e*(t.endTime-t.startTime)/1e3/(i/r/1e3)*this.config_.rtpSafetyFactor:NaN},shaka.util.CmcdManager.prototype.getStreamFormat_=function(e){var t=shaka.net.NetworkingEngine.AdvancedRequestType;switch(e){case t.MPD:return this.lowLatency_?shaka.util.CmcdManager.StreamingFormat.LOW_LATENCY_DASH:shaka.util.CmcdManager.StreamingFormat.DASH;case t.MASTER_PLAYLIST:case t.MEDIA_PLAYLIST:return this.lowLatency_?shaka.util.CmcdManager.StreamingFormat.LOW_LATENCY_HLS:shaka.util.CmcdManager.StreamingFormat.HLS;case t.MSS:return shaka.util.CmcdManager.StreamingFormat.SMOOTH}},shaka.util.CmcdManager.prototype.getStreamType_=function(){return this.playerInterface_.isLive()?shaka.util.CmcdManager.StreamType.LIVE:shaka.util.CmcdManager.StreamType.VOD},shaka.util.CmcdManager.prototype.getTopBandwidth_=function(e){var t=this.playerInterface_.getVariantTracks();if(!t.length)return NaN;var r=t[0];t=$jscomp.makeIterator(t);for(var i=t.next();!i.done;i=t.next())"variant"===(i=i.value).type&&i.bandwidth>r.bandwidth&&(r=i);switch(t=shaka.util.CmcdManager.ObjectType,e){case t.VIDEO:return r.videoBandwidth||NaN;case t.AUDIO:return r.audioBandwidth||NaN;default:return r.bandwidth}},shaka.util.CmcdManager.prototype.getDataForSegment_=function(e,t){var r=e.segment,i=0;r&&(i=r.endTime-r.startTime),(i={d:1e3*i,st:this.getStreamType_()}).ot=this.getObjectType_(e);var n=shaka.util.CmcdManager.ObjectType,a=i.ot===n.VIDEO||i.ot===n.AUDIO||i.ot===n.MUXED||i.ot===n.TIMED_TEXT;if(e=e.stream){var o=this.playerInterface_.getPlaybackRate();if(a&&(i.bl=this.getBufferLength_(e.type),i.ot!==n.TIMED_TEXT)){var s=this.getRemainingBufferLength_(e.type);i.dl=o?s/Math.abs(o):s}e.bandwidth&&(i.br=e.bandwidth/1e3),e.segmentIndex&&r&&((o=e.segmentIndex.getIteratorForTime(r.endTime,!0,0>o))&&(o=o.next().value)&&o!=r&&(t&&!shaka.util.ArrayUtils.equal(r.getUris(),o.getUris())&&(i.nor=this.urlToRelativePath_(o.getUris()[0],t)),(o.startByte||o.endByte)&&(r.startByte!=o.startByte||r.endByte!=o.endByte)&&(t=o.startByte+"-",o.endByte&&(t+=o.endByte),i.nrr=t)),isNaN(r=this.calculateRtp_(e,r))||(i.rtp=r))}return a&&i.ot!==n.TIMED_TEXT&&(i.tb=this.getTopBandwidth_(i.ot)/1e3),i},shaka.util.CmcdManager.prototype.getGenericData_=function(e){Object.assign(e=void 0===e?{}:e,this.createData_()),e.pr=this.playerInterface_.getPlaybackRate();var t=e.ot===shaka.util.CmcdManager.ObjectType.VIDEO||e.ot===shaka.util.CmcdManager.ObjectType.MUXED;return this.starved_&&t&&(e.bs=!0,e.su=!0,this.starved_=!1),null==e.su&&(e.su=this.buffering_),e.v===shaka.util.CmcdManager.Version.VERSION_2&&(this.playerInterface_.isLive()&&(e.ltc=this.playerInterface_.getLiveLatency()),void 0!=(t=this.calculateMSD_())&&(e.msd=t,this.msdSent_=!0)),this.filterKeys_(e)},shaka.util.CmcdManager.serialize=function(e){var t=[],r=function(e){return!Number.isNaN(e)&&null!=e&&""!==e&&!1!==e},i=function(e){return Math.round(e)},n=function(e){return 100*i(e/100)};n={br:i,d:i,bl:n,dl:n,mtp:n,nor:function(e){return encodeURIComponent(e)},rtp:n,tb:i};var a=Object.keys(e||{}).sort();a=$jscomp.makeIterator(a);for(var o=a.next();!o.done;o=a.next()){var s=e[o=o.value];if(r(s)&&("v"!==o||1!==s)&&("pr"!=o||1!==s)){var l=n[o];l&&(s=l(s));var u=void 0;u="string"==(l=typeof s)&&"ot"!==o&&"sf"!==o&&"st"!==o?o+"="+JSON.stringify(s):"boolean"===l?o:"symbol"===l?o+"="+s.description:o+"="+s,t.push(u)}}return t.join(",")},shaka.util.CmcdManager.toHeaders=function(e){var t=Object.keys(e),r={},i=["Object","Request","Session","Status"],n=[{},{},{},{}],a={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,ltc:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,msd:2,bs:3,rtp:3};t=$jscomp.makeIterator(t);for(var o=t.next();!o.done;o=t.next())n[null!=a[o=o.value]?a[o]:1][o]=e[o];for(e=0;e<n.length;e++)(a=shaka.util.CmcdManager.serialize(n[e]))&&(r["CMCD-"+i[e]]=a);return r},shaka.util.CmcdManager.toQuery=function(e){return shaka.util.CmcdManager.serialize(e)},shaka.util.CmcdManager.appendQueryToUri=function(e,t){return!t||e.includes("offline:")?e:((e=new goog.Uri(e)).getQueryData().set("CMCD",t),e.toString())},shaka.util.CmcdManager.ObjectType={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",
1KEY:"k",OTHER:"o"},shaka.util.CmcdManager.Version={VERSION_1:1,VERSION_2:2},shaka.util.CmcdManager.StreamType={VOD:"v",LIVE:"l"},shaka.util.CmcdManager.StreamingFormat={DASH:"d",LOW_LATENCY_DASH:"ld",HLS:"h",LOW_LATENCY_HLS:"lh",SMOOTH:"s",OTHER:"o"},goog.exportSymbol("shaka.util.CmcdManager.StreamingFormat",shaka.util.CmcdManager.StreamingFormat),shaka.util.CmsdManager=function(e){this.config_=e,this.dynamicParams_=this.staticParams_=null},shaka.util.CmsdManager.prototype.configure=function(e){this.config_=e},shaka.util.CmsdManager.prototype.reset=function(){this.dynamicParams_=this.staticParams_=null},shaka.util.CmsdManager.prototype.processHeaders=function(e){if(this.config_.enabled){var t=shaka.util.CmsdManager,r=e[t.CMSD_STATIC_HEADER_NAME_];r&&(r=this.parseCMSDStatic_(r))&&(this.staticParams_=r),(e=e[t.CMSD_DYNAMIC_HEADER_NAME_])&&(e=this.parseCMSDDynamic_(e))&&(this.dynamicParams_=e)}},shaka.util.CmsdManager.prototype.getMaxBitrate=function(){var e=shaka.util.CmsdManager.KEYS_.MAX_SUGGESTED_BITRATE;return this.config_.enabled&&this.config_.applyMaximumSuggestedBitrate&&this.dynamicParams_&&this.dynamicParams_.has(e)?1e3*this.dynamicParams_.get(e):null},shaka.util.CmsdManager.prototype.getEstimatedThroughput=function(){var e=shaka.util.CmsdManager.KEYS_.ESTIMATED_THROUGHPUT;return this.config_.enabled&&this.dynamicParams_&&this.dynamicParams_.has(e)?1e3*this.dynamicParams_.get(e):null},shaka.util.CmsdManager.prototype.getResponseDelay=function(){var e=shaka.util.CmsdManager.KEYS_.RESPONSE_DELAY;return this.config_.enabled&&this.dynamicParams_&&this.dynamicParams_.has(e)?this.dynamicParams_.get(e):null},shaka.util.CmsdManager.prototype.getRoundTripTime=function(){var e=shaka.util.CmsdManager.KEYS_.ROUND_TRIP_TIME;return this.config_.enabled&&this.dynamicParams_&&this.dynamicParams_.has(e)?this.dynamicParams_.get(e):null},shaka.util.CmsdManager.prototype.getBandwidthEstimate=function(e){var t=this.getEstimatedThroughput();if(!t)return e;var r=this.config_.estimatedThroughputWeightRatio;return 0<r&&1>=r?e*(1-r)+t*r:e},shaka.util.CmsdManager.prototype.parseCMSDStatic_=function(e){try{var t=new Map,r=e.split(",");for(e=0;e<r.length;e++){var i=r[e].split("="),n=i[0],a=this.parseParameterValue_(i[1]);t.set(n,a)}return t}catch(e){return shaka.log.warning("Failed to parse CMSD-Static response header value:",e),null}},shaka.util.CmsdManager.prototype.parseCMSDDynamic_=function(e){try{var t=new Map,r=e.split(";");for(e=1;e<r.length;e++){var i=r[e].split("="),n=i[0],a=this.parseParameterValue_(i[1]);t.set(n,a)}return t}catch(e){return shaka.log.warning("Failed to parse CMSD-Dynamic response header value:",e),null}},shaka.util.CmsdManager.prototype.parseParameterValue_=function(e){return!e||"false"!==e.toLowerCase()&&(
1/^[-0-9]/.test(e)?parseInt(e,10):e.replace(/["]+/g,""))},goog.exportSymbol("shaka.util.CmsdManager",shaka.util.CmsdManager),goog.exportProperty(shaka.util.CmsdManager.prototype,"getBandwidthEstimate",shaka.util.CmsdManager.prototype.getBandwidthEstimate),goog.exportProperty(shaka.util.CmsdManager.prototype,"getRoundTripTime",shaka.util.CmsdManager.prototype.getRoundTripTime),goog.exportProperty(shaka.util.CmsdManager.prototype,"getResponseDelay",shaka.util.CmsdManager.prototype.getResponseDelay),goog.exportProperty(shaka.util.CmsdManager.prototype,"getEstimatedThroughput",shaka.util.CmsdManager.prototype.getEstimatedThroughput),goog.exportProperty(shaka.util.CmsdManager.prototype,"getMaxBitrate",shaka.util.CmsdManager.prototype.getMaxBitrate),shaka.util.CmsdManager.CMSD_STATIC_HEADER_NAME_="cmsd-static",shaka.util.CmsdManager.CMSD_DYNAMIC_HEADER_NAME_="cmsd-dynamic",shaka.util.CmsdManager.KEYS_={AVAILABILITY_TIME:"at",DURESS:"du",ENCODED_BITRATE:"br",ESTIMATED_THROUGHPUT:"etp",HELD_TIME:"ht",INTERMEDIARY_IDENTIFIER:"n",MAX_SUGGESTED_BITRATE:"mb",NEXT_OBJECT_RESPONSE:"nor",NEXT_RANGE_RESPONSE:"nrr",OBJECT_DURATION:"d",OBJECT_TYPE:"ot",RESPONSE_DELAY:"rd",ROUND_TRIP_TIME:"rtt",STARTUP:"su",STREAM_TYPE:"st",STREAMING_FORMAT:"sf",VERSION:"v"},shaka.util.Mutex=function(){this.acquiredIdentifier=null,this.unlockQueue=[]},shaka.util.Mutex.prototype.acquire=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return shaka.log.v2(e+" has requested mutex"),t.acquiredIdentifier?r.yield(new Promise(function(e){return t.unlockQueue.push(e)}),2):r.jumpTo(2);t.acquiredIdentifier=e,shaka.log.v2(e+" has acquired mutex"),r.jumpToEnd()})},shaka.util.Mutex.prototype.release=function(){shaka.log.v2(this.acquiredIdentifier+" has released mutex"),0<this.unlockQueue.length?this.unlockQueue.shift()():this.acquiredIdentifier=null},shaka.util.Mutex.prototype.releaseAll=function(){for(;this.acquiredIdentifier;)this.release()},shaka.util.NumberUtils=function(){},shaka.util.NumberUtils.isFloatEqual=function(e,t,r){return r=void 0===r?Number.EPSILON:r,e===t||(e=Math.abs(e-t))<=r||r!==Number.EPSILON&&Math.abs(e-r)<=Number.EPSILON},shaka.Player=function(e,t,r){t=void 0===t?null:t,shaka.util.FakeEventTarget.call(this);var i=this;this.loadMode_=shaka.Player.LoadMode.NOT_LOADED,this.video_=null,this.videoContainer_=t,this.isTextVisible_=!1,this.globalEventManager_=new shaka.util.EventManager,this.attachEventManager_=new shaka.util.EventManager,this.loadEventManager_=new shaka.util.EventManager,this.trickPlayEventManager_=new shaka.util.EventManager,this.adManagerEventManager_=new shaka.util.EventManager,this.playhead_=this.mediaSourceEngine_=this.drmEngine_=this.networkingEngine_=null,this.operationId_=0,this.mutex_=new shaka.util.Mutex,this.startTime_=this.mimeType_=this.assetUri_=this.manifest_=this.parserFactory_=this.parser_=this.streamingEngine_=this.qualityObserver_=this.lcevcDec_=this.lcevcCanvas_=this.cmsdManager_=this.cmcdManager_=this.regionTimeline_=this.bufferObserver_=this.bufferPoller_=this.playRateController_=this.playheadObservers_=null,this.fullyLoaded_=!1,this.abrManagerFactory_=this.abrManager_=null,this.nextExternalStreamId_=1e9,this.externalSrcEqualsThumbnailsStreams_=[],this.externalChaptersStreams_=[],this.completionPercent_=-1,this.config_=this.defaultConfig_(),this.lowLatencyConfig_=shaka.util.PlayerConfiguration.createDefaultForLL(),this.currentTargetLatency_=null,this.rebufferingCount_=-1,this.targetLatencyReached_=null,this.maxHwRes_={width:1/0,height:1/0},this.manifestFilterer_=new shaka.media.ManifestFilterer(this.config_,this.maxHwRes_,null),this.createdPreloadManagers_=[],this.stats_=null,this.currentAdaptationSetCriteria_=this.config_.adaptationSetCriteriaFactory(),this.currentAdaptationSetCriteria_.configure({language:this.config_.preferredAudioLanguage,role:this.config_.preferredVariantRole,channelCount:this.config_.preferredAudioChannelCount,hdrLevel:this.config_.preferredVideoHdrLevel,spatialAudio:this.config_.preferSpatialAudio,videoLayout:this.config_.preferredVideoLayout,audioLabel:this.config_.preferredAudioLabel,videoLabel:this.config_.preferredVideoLabel,codecSwitchingStrategy:this.config_.mediaSource.codecSwitchingStrategy,audioCodec:""}),this.currentTextLanguage_=this.config_.preferredTextLanguage,this.currentTextRole_=this.config_.preferredTextRole,this.currentTextForced_=this.config_.preferForcedSubs,this.cleanupOnUnload_=[],r&&r(this),this.cmcdManager_=this.createCmcd_(),this.cmsdManager_=this.createCmsd_(),this.networkingEngine_=this.createNetworkingEngine(),this.networkingEngine_.
1setForceHTTP(this.config_.streaming.forceHTTP),this.networkingEngine_.setForceHTTPS(this.config_.streaming.forceHTTPS),this.networkingEngine_.setMinBytesForProgressEvents(this.config_.streaming.minBytesForProgressEvents),this.preloadDueAdManagerVideo_=this.preloadDueAdManager_=this.adManager_=null,this.preloadDueAdManagerVideoEnded_=!1,this.preloadDueAdManagerTimer_=new shaka.util.Timer(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return 1==e.nextAddress?i.preloadDueAdManager_?(goog.asserts.assert(i.preloadDueAdManagerVideo_,"Must have video"),e.yield(i.attach(i.preloadDueAdManagerVideo_,!0),3)):e.jumpTo(0):4!=e.nextAddress?e.yield(i.load(i.preloadDueAdManager_),4):void(i.preloadDueAdManagerVideoEnded_?i.preloadDueAdManagerVideo_.pause():i.preloadDueAdManagerVideo_.play(),i.preloadDueAdManager_=null,i.preloadDueAdManagerVideoEnded_=!1,e.jumpToEnd())})}),shaka.Player.adManagerFactory_&&(this.adManager_=shaka.Player.adManagerFactory_(),this.adManager_.configure(this.config_.ads),this.adManagerEventManager_.listen(this.adManager_,"ad-content-pause-requested",function(e){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return(i.preloadDueAdManagerTimer_.stop(),i.preloadDueAdManager_)?r.jumpTo(0):(i.preloadDueAdManagerVideo_=i.video_,i.preloadDueAdManagerVideoEnded_=i.isEnded(),t=e.saveLivePosition||!1,r.yield(i.detachAndSavePreload(!0,t),3));i.preloadDueAdManager_=r.yieldResult,r.jumpToEnd()})}),this.adManagerEventManager_.listen(this.adManager_,"ad-content-resume-requested",function(e){e=e.offset||0,i.preloadDueAdManager_&&i.preloadDueAdManager_.setOffsetToStartTime(e),i.preloadDueAdManagerTimer_.tickAfter(.1)}),this.adManagerEventManager_.listen(this.adManager_,"ad-content-attach-requested",function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return i.video_||!i.preloadDueAdManagerVideo_?e.jumpTo(0):(goog.asserts.assert(i.preloadDueAdManagerVideo_,"Must have video"),e.yield(i.attach(i.preloadDueAdManagerVideo_,!0),0))})})),this.globalEventManager_.listen(window,"online",function(){i.restoreDisabledVariants_(),i.retryStreaming()}),this.checkVariantsTimer_=new shaka.util.Timer(function(){return i.checkVariants_()}),this.preloadNextUrl_=null,e&&(shaka.Deprecate.deprecateFeature(5,"Player w/ mediaElement","Please migrate from initializing Player with a mediaElement; use the attach method instead."),this.attach(e,!0)),this.textDisplayer_=null},$jscomp.inherits(shaka.Player,shaka.util.FakeEventTarget),shaka.Player.prototype.createLcevcDec_=function(e){null==this.lcevcDec_&&(this.lcevcDec_=new shaka.lcevc.Dec(this.video_,this.lcevcCanvas_,e),this.mediaSourceEngine_&&this.mediaSourceEngine_.updateLcevcDec(this.lcevcDec_))},shaka.Player.prototype.closeLcevcDec_=function(){null!=this.lcevcDec_&&(this.lcevcDec_.hideCanvas(),this.lcevcDec_.release(),this.lcevcDec_=null)},shaka.Player.prototype.setupLcevc_=function(e){e.lcevc.enabled?(this.closeLcevcDec_(),this.createLcevcDec_(e.lcevc)):this.closeLcevcDec_()},shaka.Player.makeEvent_=function(e,t){return new shaka.util.FakeEvent(e,t)},shaka.Player.prototype.destroy=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:if(t.loadMode_==shaka.Player.LoadMode.DESTROYED)return r.return();return t.closeLcevcDec_(),e=t.detach(),t.loadMode_=shaka.Player.LoadMode.DESTROYED,r.yield(e,2);case 2:return r.yield(t.destroyAllPreloads(),3);case 3:if(t.globalEventManager_&&(t.globalEventManager_.release(),t.globalEventManager_=null),t.attachEventManager_&&(t.attachEventManager_.release(),t.attachEventManager_=null),t.loadEventManager_&&(t.loadEventManager_.release(),t.loadEventManager_=null),t.trickPlayEventManager_&&(t.trickPlayEventManager_.release(),t.trickPlayEventManager_=null),t.adManagerEventManager_&&(t.adManagerEventManager_.release(),t.adManagerEventManager_=null),t.abrManagerFactory_=null,t.config_=null,t.stats_=null,t.videoContainer_=null,t.cmcdManager_=null,t.cmsdManager_=null,!t.networkingEngine_){r.jumpTo(4);break}return r.yield(t.networkingEngine_.destroy(),5);case 5:t.networkingEngine_=null;case 4:t.abrManager_&&(t.abrManager_.release(),t.abrManager_=null),shaka.util.FakeEventTarget.prototype.release.call(t),r.jumpToEnd()}})},shaka.Player.registerSupportPlugin=function(e,t){shaka.Player.supportPlugins_.set(e,t)},shaka.Player.setAdManagerFactory=function(e){shaka.Player.adManagerFactory_=e},shaka.Player.isBrowserSupported=function(){return window.Promise||shaka.log.alwaysWarn("A Promise implementation or polyfill is required"),!(!window.Promise||!window.Uint8Array||!Array.prototype.forEach||shaka.util.Platform.isIE())&&(!!shaka.util.Platform.supportsMediaSource()||shaka.util.Platform.supportsMediaType("application/x-mpegurl"))},shaka.Player.probeSupport=function(e){var t,r,i,n,a;return e=void 0===e||e,$jscomp.asyncExecutePromiseGeneratorProgram(function(o){switch(o.nextAddress){case 1:if(goog.asserts.assert(shaka.Player.isBrowserSupported(),"Must have basic support"),t={},!e){o.jumpTo(2);break}return o.yield(shaka.drm.DrmEngine.probeSupport(),3);case 3:t=o.yieldResult;
1case 2:return r=shaka.media.ManifestParser.probeSupport(),i=shaka.media.MediaSourceEngine.probeSupport(),o.yield(shaka.util.Platform.detectMaxHardwareResolution(),4);case 4:return n=o.yieldResult,a={manifest:r,media:i,drm:t,hardwareResolution:n},shaka.Player.supportPlugins_.forEach(function(e,t){a[t]=e()}),o.return(a)}})},shaka.Player.prototype.makeStateChangeEvent_=function(e){this.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.OnStateChange,(new Map).set("state",e)))},shaka.Player.prototype.attach=function(e,t){t=void 0===t||t;var r,i,n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){switch(o.nextAddress){case 1:if(a.loadMode_==shaka.Player.LoadMode.DESTROYED)throw a.createAbortLoadError_();if(r=a.video_&&a.video_==e,!a.video_||a.video_==e){o.jumpTo(2);break}return o.yield(a.detach(),2);case 2:return o.yield(a.atomicOperationAcquireMutex_("attach"),4);case 4:if(o.yieldResult)return o.return();if(o.setCatchFinallyBlocks(5,6),r||(a.makeStateChangeEvent_("attach"),i=function(e){return a.onVideoError_(e)},a.attachEventManager_.listen(e,"error",i),a.video_=e,a.cmcdManager_&&a.cmcdManager_.setMediaElement(e)),!t||!shaka.util.Platform.supportsMediaSource()||a.mediaSourceEngine_){o.jumpTo(6);break}return o.yield(a.initializeMediaSourceEngineInner_(),6);case 6:o.enterFinallyBlock(),a.mutex_.release(),o.leaveFinallyBlock(0);break;case 5:return n=o.enterCatchBlock(),o.yield(a.detach(),10);case 10:throw n}})},shaka.Player.prototype.attachCanvas=function(e){this.lcevcCanvas_=e},shaka.Player.prototype.detach=function(e){e=void 0!==e&&e;var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress){if(t.loadMode_==shaka.Player.LoadMode.DESTROYED)throw t.createAbortLoadError_();return r.yield(t.unload(!1,e),2)}if(3!=r.nextAddress)return r.yield(t.atomicOperationAcquireMutex_("detach"),3);if(r.yieldResult)return r.return();try{t.video_&&(t.attachEventManager_.removeAll(),t.video_=null),t.makeStateChangeEvent_("detach"),t.adManager_&&!e&&t.adManager_.release()}finally{t.mutex_.release()}r.jumpToEnd()})},shaka.Player.prototype.atomicOperationAcquireMutex_=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(t=++r.operationId_,i.yield(r.mutex_.acquire(e),2)):t!=r.operationId_?(r.mutex_.release(),i.return(!0)):i.return(!1)})},shaka.Player.prototype.unload=function(e,t){e=void 0===e||e,t=void 0!==t&&t;var r,i,n,a,o,s,l,u,d,c,p=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){switch(m.nextAddress){case 1:return p.loadMode_!=shaka.Player.LoadMode.DESTROYED&&(p.loadMode_=shaka.Player.LoadMode.NOT_LOADED),m.yield(p.atomicOperationAcquireMutex_("unload"),2);case 2:if(m.yieldResult)return m.return();return m.setFinallyBlock(3),p.fullyLoaded_=!1,p.makeStateChangeEvent_("unload"),p.closeLcevcDec_(),r=p.cleanupOnUnload_.map(function(e){return e()}),p.cleanupOnUnload_=[],m.yield(Promise.all(r),5);case 5:if(p.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Unloading)),p.regionTimeline_&&(p.regionTimeline_.release(),p.regionTimeline_=null),p.video_&&(p.loadEventManager_.removeAll(),p.trickPlayEventManager_.removeAll()),p.checkVariantsTimer_.stop(),p.playheadObservers_&&(p.playheadObservers_.release(),p.playheadObservers_=null),p.bufferPoller_&&(p.bufferPoller_.stop(),p.bufferPoller_=null),!p.parser_){m.jumpTo(6);break}return m.yield(p.parser_.stop(),7);case 7:p.parser_=null,p.parserFactory_=null;case 6:if(!p.abrManager_){m.jumpTo(8);break}return m.yield(p.abrManager_.stop(),8);case 8:if(!p.streamingEngine_){m.jumpTo(10);break}return m.yield(p.streamingEngine_.destroy(),11);case 11:p.streamingEngine_=null;case 10:if(p.playRateController_&&(p.playRateController_.release(),p.playRateController_=null),p.playhead_&&(p.playhead_.release(),p.playhead_=null),!shaka.util.Platform.isMediaKeysPolyfilled("webkit")||!p.drmEngine_){m.jumpTo(12);break}return m.yield(p.drmEngine_.destroy(),13);case 13:p.drmEngine_=null;case 12:if(!p.mediaSourceEngine_){m.jumpTo(14);break}return m.yield(p.mediaSourceEngine_.destroy(),15);case 15:p.mediaSourceEngine_=null;case 14:if(p.adManager_&&!t&&p.adManager_.onAssetUnload(),p.preloadDueAdManager_&&!t&&(p.preloadDueAdManager_.destroy(),p.preloadDueAdManager_=null),t||p.preloadDueAdManagerTimer_.stop(),p.cmcdManager_&&p.cmcdManager_.reset(),p.cmsdManager_&&p.cmsdManager_.reset(),!p.textDisplayer_){m.jumpTo(16);break}return m.yield(p.textDisplayer_.destroy(),17);case 17:p.textDisplayer_=null;
1case 16:if(p.video_&&(shaka.util.Dom.removeAllChildren(p.video_),p.video_.src&&(p.video_.removeAttribute("src"),p.video_.load())),!p.drmEngine_){m.jumpTo(18);break}return m.yield(p.drmEngine_.destroy(),19);case 19:p.drmEngine_=null;case 18:if(p.preloadNextUrl_&&p.assetUri_!=p.preloadNextUrl_.getAssetUri()&&(p.preloadNextUrl_.isDestroyed()||p.preloadNextUrl_.destroy(),p.preloadNextUrl_=null),p.assetUri_=null,p.mimeType_=null,p.bufferObserver_=null,p.manifest_){for(n=(i=$jscomp.makeIterator(p.manifest_.variants)).next();!n.done;n=i.next())for(a=n.value,s=(o=$jscomp.makeIterator([a.audio,a.video])).next();!s.done;s=o.next())(l=s.value)&&l.segmentIndex&&l.segmentIndex.release();for(d=(u=$jscomp.makeIterator(p.manifest_.textStreams)).next();!d.done;d=u.next())(c=d.value).segmentIndex&&c.segmentIndex.release()}p.config_&&p.config_.streaming.clearDecodingCache&&(shaka.util.StreamUtils.clearDecodingConfigCache(),shaka.drm.DrmUtils.clearMediaKeySystemAccessMap()),p.manifest_=null,p.stats_=new shaka.util.Stats,p.lastTextFactory_=null,p.targetLatencyReached_=null,p.currentTargetLatency_=null,p.rebufferingCount_=-1,p.externalSrcEqualsThumbnailsStreams_=[],p.externalChaptersStreams_=[],p.completionPercent_=-1,p.networkingEngine_&&p.networkingEngine_.clearCommonAccessTokenMap(),p.updateBufferState_();case 3:m.enterFinallyBlock(),p.mutex_.release(),m.leaveFinallyBlock(4);break;case 4:if(e&&shaka.util.Platform.supportsMediaSource()&&!p.mediaSourceEngine_&&p.video_)return m.yield(p.initializeMediaSourceEngineInner_(),0);m.jumpTo(0)}})},shaka.Player.prototype.updateStartTime=function(e){this.startTime_=e},shaka.Player.prototype.load=function(e,t,r){t=void 0===t?null:t;var i,n,a,o,s,l,u,d,c,p,m,f,g,h=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:if(h.loadMode_==shaka.Player.LoadMode.DESTROYED)throw h.createAbortLoadError_();if(i=null,n="",e instanceof shaka.media.PreloadManager){if(e.isDestroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.PRELOAD_DESTROYED);n=(i=e).getAssetUri()||""}else n=e||"";return y.yield(h.mutex_.acquire("load"),2);case 2:if(h.mutex_.release(),!h.video_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.NO_VIDEO_ELEMENT);if(!h.assetUri_){y.jumpTo(3);break}return h.assetUri_=n,y.yield(h.unload(!1),3);case 3:if(a=++h.operationId_,o=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return h.operationId_==a?e.jumpTo(0):i?e.yield(i.destroy(),3):e.jumpTo(3);throw h.createAbortLoadError_()})},s=function(e,t){return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:return r.setFinallyBlock(2),r.yield(h.mutex_.acquire(t),4);case 4:return r.yield(o(),5);case 5:return r.yield(e(),6);case 6:return r.yield(o(),7);case 7:i&&h.config_&&i.reconfigure(h.config_);case 2:r.enterFinallyBlock(),h.mutex_.release(),r.leaveFinallyBlock(0)}})},y.setCatchFinallyBlocks(5,6),null==t&&i&&(t=i.getStartTime()),h.startTime_=t,h.fullyLoaded_=!1,h.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loading)),i){r=i.getMimeType(),y.jumpTo(8);break}if(r){y.jumpTo(8);break}return y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(h.guessMimeType_(n),2);r=e.yieldResult,e.jumpToEnd()})},"guessMimeType_"),8);case 8:if(l=!!i,i){i.setEventHandoffTarget(h),h.stats_=i.getStats(),y.jumpTo(11);break}return y.yield(h.preloadInner_(n,t,r,!0),12);case 12:(i=y.yieldResult)?(i.markIsLoad(),i.setEventHandoffTarget(h),h.stats_=i.getStats(),i.start(),i.waitForFinish().catch(function(){})):h.stats_=new shaka.util.Stats;case 11:return u=!i,d=Date.now()/1e3,h.stats_=i?i.getStats():new shaka.util.Stats,h.assetUri_=n,h.mimeType_=r||null,u?y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return goog.asserts.assert(r,"We should know the mimeType by now!"),e.yield(h.initializeSrcEqualsDrmInner_(r),0)})},"initializeSrcEqualsDrmInner_"),23):y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(i.waitForManifest(),2);h.parserFactory_=i.getParserFactory(),h.parser_=i.receiveParser(),h.manifest_=i.getManifest(),e.jumpToEnd()})},"waitForFinish"),15);case 15:if(h.mediaSourceEngine_){y.jumpTo(16);break}return y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(h.initializeMediaSourceEngineInner_(),0)})},"initializeMediaSourceEngineInner_"),16);case 16:return h.manifest_&&h.manifest_.textStreams.length&&(h.textDisplayer_.enableTextDisplayer?h.textDisplayer_.enableTextDisplayer():shaka.Deprecate.deprecateFeature
1(5,"Text displayer w/ enableTextDisplayer",'Text displayer should have a "enableTextDisplayer" method!')),y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(i.waitForFinish(),0)})},"waitForFinish"),18);case 18:if(h.config_=i.getConfiguration(),h.manifestFilterer_=i.getManifestFilterer(),h.parser_&&h.parser_.setMediaElement&&h.video_&&h.parser_.setMediaElement(h.video_),h.regionTimeline_=i.receiveRegionTimeline(),h.qualityObserver_=i.getQualityObserver(),(c=i.getCurrentAdaptationSetCriteria())&&(h.currentAdaptationSetCriteria_=c),l&&h.video_&&"AUDIO"===h.video_.nodeName&&(h.makeManifestAudioOnly_(),h.configure("manifest.disableVideo",!0)),i.getDrmEngine()){y.jumpTo(19);break}return y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(i.initializeDrm(h.video_),0)})},"drmEngine_.init"),19);case 19:return h.drmEngine_=i.receiveDrmEngine(),y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(h.drmEngine_.attach(h.video_),0)})},"drmEngine_.attach"),21);case 21:return(p=i.getAbrManagerFactory())&&(!h.abrManagerFactory_||h.abrManagerFactory_!=p)&&(h.abrManager_=i.receiveAbrManager(),h.abrManagerFactory_=i.getAbrManagerFactory(),"function"!=typeof h.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o setMediaElement","Please use an AbrManager with setMediaElement function."),h.abrManager_.setMediaElement=function(){}),"function"!=typeof h.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o setCmsdManager","Please use an AbrManager with setCmsdManager function."),h.abrManager_.setCmsdManager=function(){}),"function"!=typeof h.abrManager_.trySuggestStreams&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o trySuggestStreams","Please use an AbrManager with trySuggestStreams function."),h.abrManager_.trySuggestStreams=function(){})),m=i.receiveSegmentPrefetchesById(),f=i.getPrefetchedVariant(),y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(h.loadInner_(d,f,m),0)})},"loadInner_"),22);case 22:i.stopQueuingLatePhaseQueuedOperations(),h.mimeType_&&shaka.util.Platform.isApple()&&shaka.util.MimeUtils.isHlsType(h.mimeType_)&&h.mediaSourceEngine_.addSecondarySource(h.assetUri_,h.mimeType_),y.jumpTo(14);break;case 23:return y.yield(s(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return goog.asserts.assert(r,"We should know the mimeType by now!"),e.yield(h.srcEqualsInner_(d,r),0)})},"srcEqualsInner_"),14);case 14:h.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loaded));case 6:if(y.enterFinallyBlock(),!i){y.jumpTo(25);break}return y.yield(i.destroy(),25);case 25:h.preloadNextUrl_=null,y.leaveFinallyBlock(0);break;case 5:if(!(g=y.enterCatchBlock())||g.code==shaka.util.Error.Code.LOAD_INTERRUPTED){y.jumpTo(27);break}return y.yield(h.unload(!1),27);case 27:throw g}})},shaka.Player.prototype.makeManifestAudioOnly_=function(){for(var e=$jscomp.makeIterator(this.manifest_.variants),t=e.next();!t.done;t=e.next())(t=t.value).video&&(t.video.closeSegmentIndex(),t.video=null),t.bandwidth=t.audio&&t.audio.bandwidth?t.audio.bandwidth:0;this.manifest_.variants=this.manifest_.variants.filter(function(e){return e.audio})},shaka.Player.prototype.unloadAndSavePreload=function(e,t){e=void 0===e||e,t=void 0!==t&&t;var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?n.yield(i.savePreload_(),2):3!=n.nextAddress?(r=n.yieldResult,n.yield(i.unload(e,t),3)):n.return(r)})},shaka.Player.prototype.detachAndSavePreload=function(e,t){e=void 0!==e&&e,t=void 0!==t&&t;var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?n.yield(i.savePreload_(t),2):3!=n.nextAddress?(r=n.yieldResult,n.yield(i.detach(e),3)):n.return(r)})},shaka.Player.prototype.savePreload_=function(e){e=void 0!==e&&e;var t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?(t=null,i.manifest_&&i.parser_&&i.parserFactory_&&i.assetUri_)?(r=i.video_.currentTime,i.isLive
1()&&!e&&(r=null),n.yield(i.makePreloadManager_(i.assetUri_,r,i.mimeType_,!0,!1,!1),3)):n.jumpTo(2):(2!=n.nextAddress&&(t=n.yieldResult,i.createdPreloadManagers_.push(t),i.parser_&&i.parser_.setMediaElement&&i.parser_.setMediaElement(null),t.attachManifest(i.manifest_,i.parser_,i.parserFactory_),t.attachAbrManager(i.abrManager_,i.abrManagerFactory_),t.attachAdaptationSetCriteria(i.currentAdaptationSetCriteria_),t.start(),i.manifest_=null,i.parser_=null,i.parserFactory_=null,i.abrManager_=null,i.abrManagerFactory_=null),n.return(t))})},shaka.Player.prototype.preload=function(e,t,r){t=void 0===t?null:t;var i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?a.yield(n.preloadInner_(e,t,r),2):((i=a.yieldResult)?i.start():n.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.SRC_EQUALS_PRELOAD_NOT_SUPPORTED)),a.return(i))})},shaka.Player.prototype.destroyAllPreloads=function(){var e,t,r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){for(e=[],r=(t=$jscomp.makeIterator(n.createdPreloadManagers_)).next();!r.done;r=t.next())(i=r.value).isDestroyed()||e.push(i.destroy());return n.createdPreloadManagers_=[],a.yield(Promise.all(e),0)})},shaka.Player.prototype.preloadInner_=function(e,t,r,i){i=void 0!==i&&i;var n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){return 1==u.nextAddress?(goog.asserts.assert(l.networkingEngine_,"Should have a net engine!"),goog.asserts.assert(l.config_,"Config must not be null!"),r?u.jumpTo(2):u.yield(l.guessMimeType_(e),3)):(2!=u.nextAddress&&(r=u.yieldResult),n=l.shouldUseSrcEquals_(e,r))?u.return(null):(a=!1,o=!0,i&&(l.abrManager_&&l.abrManagerFactory_==l.config_.abrFactory&&(o=!1),l.video_&&"AUDIO"===l.video_.nodeName&&(a=!0)),s=l.makePreloadManager_(e,t,r||null,!i,a,o),s=i?s.then(function(e){return e.markIsLoad(),e}):s.then(function(e){return l.createdPreloadManagers_.push(e),e}),u.return(s))})},shaka.Player.prototype.makePreloadManager_=function(e,t,r,i,n,a){i=void 0===i||i,n=void 0!==n&&n,a=void 0===a||a;var o,s,l,u,d,c,p,m,f,g,h,y,_,S=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return 1==v.nextAddress?(goog.asserts.assert(S.networkingEngine_,"Must have net engine"),o=null,s=shaka.util.ObjectUtils.cloneObject(S.config_),n&&(s.manifest.disableVideo=!0),l=function(){return goog.asserts.assert(o,"Must have preload manager"),o.hasBeenAttached()&&o.isDestroyed()?null:o},u=function(){return l()?l().getConfiguration():S.config_},1/0!=S.maxHwRes_.width||1/0!=S.maxHwRes_.height||S.config_.ignoreHardwareResolution?v.jumpTo(2):v.yield(shaka.util.Platform.detectMaxHardwareResolution(),3)):(2!=v.nextAddress&&(d=v.yieldResult,S.maxHwRes_.width=d.width,S.maxHwRes_.height=d.height),c=new shaka.media.ManifestFilterer(s,S.maxHwRes_,null),p={networkingEngine:S.networkingEngine_,filter:function(e){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?r.yield(c.filterManifest(e),2):4!=r.nextAddress?r.yieldResult?(t=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged),r.yield(Promise.resolve(),4)):r.jumpTo(0):void(o.dispatchEvent(t),r.jumpToEnd())})},makeTextStreamsForClosedCaptions:function(e){return S.makeTextStreamsForClosedCaptions_(e)},onTimelineRegionAdded:function(e){o.getRegionTimeline().addRegion(e)},onEvent:function(e){return o.dispatchEvent(e)},onError:function(e){return o.onError(e)},isLowLatencyMode:function(){return u().streaming.lowLatencyMode},updateDuration:function(){S.streamingEngine_&&o.hasBeenAttached()&&S.streamingEngine_.updateDuration()},newDrmInfo:function(e){var t=o.getDrmEngine(),r=t?t.getDrmInfo():null;r&&t.getMediaKeys()&&c.processDrmInfos(r.keySystem,e)},onManifestUpdated:function(){var e=shaka.util.FakeEvent.EventName.ManifestUpdated,t=(new Map).set("isLive",S.isLive());o.dispatchEvent(shaka.Player.makeEvent_(e,t)),o.addQueuedOperation(!1,function(){S.adManager_&&S.adManager_.onManifestUpdated(S.isLive())})},getBandwidthEstimate:function(){return S.abrManager_.getBandwidthEstimate()},onMetadata:function(e,t,r,i){var n=e;"com.apple.hls.interstitial"==e&&(n="com.apple.quicktime.HLS",e={startTime:t,endTime:r,values:i},S.adManager_&&(goog.asserts.assert(S.video_,"Must have video"),S.adManager_.onHLSInterstitialMetadata(S,S.video_,e))),e=(i=$jscomp.makeIterator(i)).next();for(var a={};!e.done;a={payload$jscomp$7:void 0},e=i.next())a.payload$jscomp$7=e.value,"ID"!=a.payload$jscomp$7.name&&o.addQueuedOperation(!1,function(e){return function(){S.dispatchMetadataEvent_(t,r,n,e.payload$jscomp$7)}}(a))},disableStream:function(e){return S.disableStream(e,S.config_.streaming.maxDisabledTime)},addFont:function(e,t){return S.addFont(e,t)}},(m=new shaka.media.RegionTimeline(function(){return S.seekRange()})).addEventListener("regionadd",function(e){var t=e.region;S.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionAdded,t,o),o.addQueuedOperation(!1,function(){S.adManager_&&(S.adManager_.onDashTimedMetadata(t),goog.asserts.assert(S.video_,"Must have video"),S.adManager_.onDASHInterstitialMetadata(S,S.video_,t))})}),f=null,s.streaming.observeQualityChanges&&((f=new shaka.media.QualityObserver(function(){return S.getBufferedInfo()}
1)).addEventListener("qualitychange",function(e){S.onMediaQualityChange_(e.quality,e.position)}),f.addEventListener("audiotrackchange",function(e){S.onMediaQualityChange_(e.quality,e.position,!0)})),g=!0,h={netEngine:S.networkingEngine_,onError:function(e){return o.onError(e)},onKeyStatus:function(e){o.addQueuedOperation(!0,function(){S.drmEngine_&&S.onKeyStatus_(e)})},onExpirationUpdated:function(e,t){var r=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);o.dispatchEvent(r),(r=o.getParser())&&r.onExpirationUpdated&&r.onExpirationUpdated(e,t)},onEvent:function(e){o.dispatchEvent(e),e.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&g&&(g=!1,e=Date.now()/1e3-o.getStartTimeOfDRM(),(S.stats_||o.getStats()).setDrmTime(e),S.lcevcDec_&&S.lcevcDec_.hideCanvas())}},y=S.createNetworkingEngine(l),S.networkingEngine_.copyFiltersInto(y),_={config:s,manifestPlayerInterface:p,regionTimeline:m,qualityObserver:f,createDrmEngine:function(){return S.createDrmEngine(h)},manifestFilterer:c,networkingEngine:y,allowPrefetch:i,allowMakeAbrManager:a},o=new shaka.media.PreloadManager(e,r,t,_),v.return(o))})},shaka.Player.prototype.guessMimeType_=function(e){var t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?(goog.asserts.assert(i.networkingEngine_,"Should have a net engine!"),t=i.config_.manifest.retryParameters,n.yield(shaka.net.NetworkingUtils.getMimeType(e,i.networkingEngine_,t),2)):("application/x-mpegurl"==(r=n.yieldResult)&&shaka.util.Platform.isApple()&&(r="application/vnd.apple.mpegurl"),n.return(r))})},shaka.Player.prototype.shouldUseSrcEquals_=function(e,t){e=shaka.util.Platform;var r=shaka.util.MimeUtils;if(!e.supportsMediaSource())return!0;if(t){var i=""!=(this.video_||e.anyMediaElement()).canPlayType(t);if(!i)return!1;var n=shaka.media.ManifestParser.isSupported(t);
1if(!n)return!0;if(goog.asserts.assert(i&&n,"Both native and MSE playback should be possible!"),r.isHlsType(t))return e.isApple()&&(this.config_.drm.servers["com.apple.fps"]||this.config_.drm.servers["com.apple.fps.1_0"])?this.config_.streaming.useNativeHlsForFairPlay:this.config_.streaming.preferNativeHls;if(r.isDashType(t))return this.config_.streaming.preferNativeDash}return!1},shaka.Player.prototype.createTextDisplayer_=function(){var e=this.config_.textDisplayFactory;e!==this.lastTextFactory_&&(this.textDisplayer_=e(),this.textDisplayer_.configure?this.textDisplayer_.configure(this.config_.textDisplayer):shaka.Deprecate.deprecateFeature(5,"Text displayer w/ configure",'Text displayer should have a "configure" method!'),this.lastTextFactory_=e,this.textDisplayer_.setTextVisibility(this.isTextVisible_))},shaka.Player.prototype.initializeMediaSourceEngineInner_=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return goog.asserts.assert(shaka.util.Platform.supportsMediaSource(),"We should not be initializing media source on a platform that does not support media source."),goog.asserts.assert(r.video_,"We should have a media element when initializing media source."),goog.asserts.assert(null==r.mediaSourceEngine_,"We should not have a media source engine yet."),r.makeStateChangeEvent_("media-source"),r.video_.removeAttribute("src"),shaka.util.Dom.removeAllChildren(r.video_),r.createTextDisplayer_(),goog.asserts.assert(r.textDisplayer_,"Text displayer should be created already"),(e=r.createMediaSourceEngine(r.video_,r.textDisplayer_,{getKeySystem:function(){return r.keySystem()},onMetadata:function(e,t,i){r.processTimedMetadataMediaSrc_(e,t,i)},onEvent:function(e){return r.dispatchEvent(e)},onManifestUpdate:function(){return r.onManifestUpdate_()}},r.lcevcDec_)).configure(r.config_.mediaSource),t=r.config_.manifest.segmentRelativeVttTiming,e.setSegmentRelativeVttTiming(t),i.yield(e.open(),2);r.mediaSourceEngine_=e,i.jumpToEnd()})},shaka.Player.prototype.addBasicMediaListeners_=function(e,t){var r=this,i=function(){return r.updateStateHistory_()};this.loadEventManager_.listen(e,"playing",i),this.loadEventManager_.listen(e,"pause",i),this.loadEventManager_.listen(e,"ended",i),this.loadEventManager_.listen(e,"ratechange",function(){return r.onRateChange_()}),e.remote&&(this.loadEventManager_.listen(e.remote,"connect",function(){return r.onTracksChanged_()}),this.loadEventManager_.listen(e.remote,"connecting",function(){return r.onTracksChanged_()}),this.loadEventManager_.listen(e.remote,"disconnect",function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return r.streamingEngine_&&"disconnected"==e.remote.state?t.yield(r.streamingEngine_.resetMediaSource(),2):t.jumpTo(2);r.onTracksChanged_(),t.jumpToEnd()})})),e.audioTracks&&(this.loadEventManager_.listen(e.audioTracks,"addtrack",function(){return r.onTracksChanged_()}),this.loadEventManager_.listen(e.audioTracks,"removetrack",function(){return r.onTracksChanged_()}),this.loadEventManager_.listen(e.audioTracks,"change",function(){return r.onTracksChanged_()})),e.textTracks&&(this.loadEventManager_.listen(e.textTracks,"addtrack",function(e){if(e.track)switch(e=e.track,goog.asserts.assert(e instanceof TextTrack,"Wrong track type!"),e.kind){case"metadata":r.processTimedMetadataSrcEquals_(e);break;case"chapters":r.activateChaptersTrack_(e);break;default:r.onTracksChanged_()}}),this.loadEventManager_.listen(e.textTracks,"removetrack",function(){return r.onTracksChanged_()}),this.loadEventManager_.listen(e.textTracks,"change",function(){return r.onTracksChanged_()})),"none"!=e.preload&&this.loadEventManager_.listenOnce(e,"loadedmetadata",function(){var e=Date.now()/1e3-t;r.stats_.setLoadLatency(e)})},shaka.Player.prototype.loadInner_=function(e,t,r){var i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){switch(A.nextAddress){case 1:goog.asserts.assert(x.video_,"We should have a media element by now."),goog.asserts.assert(x.manifest_,"The manifest should already be parsed."),goog.asserts.assert(x.assetUri_,"We should have an asset uri by now."),goog.asserts.assert(x.abrManager_,"We should have an abr manager by now."),x.makeStateChangeEvent_("load"),i=x.video_,x.playRateController_=new shaka.media.PlayRateController({getRate:function(){return i.playbackRate},getDefaultRate:function(){return i.defaultPlaybackRate},setRate:function(e){i.playbackRate=e},movePlayhead:function(e){i.currentTime+=e}}),x.addBasicMediaListeners_(i,e),x.setupLcevc_(x.config_),x.currentTextLanguage_=x.config_.preferredTextLanguage,x.currentTextRole_=x.config_.preferredTextRole,x.currentTextForced_=x.config_.preferForcedSubs,shaka.Player.applyPlayRange_(x.manifest_.presentationTimeline,x.config_.playRangeStart,x.config_.playRangeEnd),x.abrManager_.init(function(e,t,r){return x.switch_(e,t,r)}),x.abrManager_.setMediaElement(i),x.abrManager_.setCmsdManager(x.cmsdManager_),x.streamingEngine_=x.createStreamingEngine(),x.streamingEngine_.configure(x.config_.streaming),x.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE,x.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming)),n=t;case 2:for((o=x.streamingEngine_.getCurrentVariant())||n||(n=x.chooseVariant_(),goog.asserts.assert(n,"Must choose an initial variant!")),s=[],a=o||n,u=(l=$jscomp.makeIterator([a.video,a.audio])).next();!u.done;u=l.next())(d=u.value)&&!d.segmentIndex&&s.push(d.createSegmentIndex());if(!(0<s.length)){A.jumpTo(4);break}return A.yield(Promise.all(s),4);case 4:if(!a||0!=a.disabledUntilTime){A.jumpTo(2);break}if(x.parser_&&x.parser_.onInitialVariantChosen&&x.parser_.onInitialVariantChosen(a),x.manifest_.isLowLatency&&(x.config_.streaming.lowLatencyMode?x.configure(x.lowLatencyConfig_):shaka.log.alwaysWarn("Low-latency live stream detected, but low-latency streaming mode is not enabled in Shaka Player. Set streaming.lowLatencyMode configuration to true, and see https://bit.ly/3clctcj for details.")),x.cmcdManager_&&(x.cmcdManager_.setLowLatency(x.manifest_.isLowLatency&&x.config_.streaming.lowLatencyMode),x.cmcdManager_.setStartTimeOfLoad(1e3*e)),shaka.Player.applyPlayRange_(x.manifest_.presentationTimeline,x.config_.playRangeStart,x.config_.playRangeEnd),x.streamingEngine_.applyPlayRange(x.config_.playRangeStart,x.config_.playRangeEnd),c=function(e){x.playhead_=x.createPlayhead(e),x.playheadObservers_=x.createPlayheadObserversForMSE_(e),x.startBufferManagement_(i,!1)},x.config_.streaming.startAtSegmentBoundary||(null==(p=x.startTime_)&&x.manifest_.startTime&&(p=x.manifest_.startTime),c(p)),o){A.jumpTo(7);break}if(goog.asserts.assert(n,"Must have chosen an initial variant!"),!x.config_.streaming.startAtSegmentBoundary){A.jumpTo(8);break}return m=x.manifest_.presentationTimeline,f=x.startTime_||x.video_.currentTime,null==x.startTime_&&x.manifest_.startTime&&(f=x.manifest_.startTime),g=m.getSeekRangeStart(),h=m.getSeekRangeEnd(),f<g?f=g:f>h&&(f=h),A.yield(x.adjustStartTime_(n,f),9);case 9:y=A.yieldResult,c(y);case 8:x.switchVariant_(n,!0,!1,0);case 7:return x.playhead_.ready(),x.getTextTracks().find(function(e){return e.active})||((_=x.chooseTextStream_())&&x.addTextStreamToSwitchHistory_(_,!0),n&&x.setInitialTextState_(n,_),_&&x.shouldStreamText_()&&(x.streamingEngine_.switchTextStream(_),x.setTextDisplayerL
1anguage_())),A.yield(x.streamingEngine_.start(r),10);case 10:x.config_.abr.enabled&&(x.abrManager_.enable(),x.onAbrStatusChanged_()),x.onTracksChanged_(),x.updateAbrManagerVariants_(),S=x.manifest_.variants.some(function(e){return e.primary}),x.config_.preferredAudioLanguage||S||shaka.log.warning("No preferred audio language set.  We have chosen an arbitrary language initially"),((v=x.isLive())&&(x.config_.streaming.liveSync&&x.config_.streaming.liveSync.enabled||x.manifest_.serviceDescription||x.config_.streaming.liveSync.panicMode)||x.config_.streaming.vodDynamicPlaybackRate)&&(T=function(){return x.onTimeUpdate_()},x.loadEventManager_.listen(i,"timeupdate",T)),v||(E=function(){return x.onVideoProgress_()},x.loadEventManager_.listen(i,"timeupdate",E),x.onVideoProgress_(),x.manifest_.nextUrl&&(0<x.config_.streaming.preloadNextUrlWindow&&(P=function(){var e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return isNaN(e=x.seekRange().end-x.video_.currentTime)||!(e<=x.config_.streaming.preloadNextUrlWindow)?t.jumpTo(0):(x.loadEventManager_.unlisten(i,"timeupdate",P),goog.asserts.assert(x.manifest_.nextUrl,"this.manifest_.nextUrl should be valid."),t.yield(x.preload(x.manifest_.nextUrl),4));x.preloadNextUrl_=t.yieldResult,t.jumpToEnd()})},x.loadEventManager_.listen(i,"timeupdate",P)),x.loadEventManager_.listen(i,"ended",function(){x.load(x.preloadNextUrl_||x.manifest_.nextUrl)}))),x.adManager_&&x.adManager_.onManifestUpdated(v),x.fullyLoaded_=!0,A.jumpToEnd()}})},shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(e){var t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(t=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(o.networkingEngine_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),goog.asserts.assert(o.config_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),r=Date.now()/1e3,i=!0,o.drmEngine_=o.createDrmEngine({netEngine:o.networkingEngine_,onError:function(e){o.onError_(e)},onKeyStatus:function(e){},onExpirationUpdated:function(e,t){e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated),o.dispatchEvent(e)},onEvent:function(e){o.dispatchEvent(e),e.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&i&&(i=!1,e=Date.now()/1e3-r,o.stats_.setDrmTime(e))}}),o.drmEngine_.configure(o.config_.drm),n={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:null,bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},(a={id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:e?shaka.util.MimeUtils.getBasicType(e):"",codecs:e?shaka.util.MimeUtils.getCodecs(e):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:t.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!1,fastSwitching:!1,fullMimeTypes:new Set,isAudioMuxedInVideo:!1}).fullMimeTypes.add(shaka.util.MimeUtils.getFullType(a.mimeType,a.codecs)),e.startsWith("audio/")?(a.type=t.AUDIO,n.audio=a):n.video=a,o.drmEngine_.setSrcEquals(!0),s.yield(o.drmEngine_.initForPlayback([n],[]),2)):s.yield(o.drmEngine_.attach(o.video_),0)})},shaka.Player.prototype.srcEqualsInner_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:if(f.makeStateChangeEvent_("src-equals"),goog.asserts.assert(f.video_,"We should have a media element when loading."),goog.asserts.assert(f.assetUri_,"We should have a valid uri when loading."),r=f.video_,f.playhead_=new shaka.media.SrcEqualsPlayhead(r),i=!1,f.cleanupOnUnload_.push(function(){i=!0}),null!=f.startTime_&&f.playhead_.setStartTime(f.startTime_),f.playRateController_=new shaka.media.PlayRateController({getRate:function(){return r.playbackRate},getDefaultRate:function(){return r.defaultPlaybackRate},setRate:function(e){r.playbackRate=e},movePlayhead:function(e){r.currentTime+=e}}),f.startBufferManagement_(r,!0),r.textTracks&&(f.createTextDisplayer_(),n=function(){var e=f.getFilteredTextTracks_().find(function(e){return"disabled"!==e.mode});e&&(e.mode="showing"),(e=f.getGeneratedTextTrack_())&&(e.mode="hidden")},a=function(){var e=f.getFilteredTextTracks_().find(function(e){return"disabled"!==e.mode});e&&(e.mode="hidden"),e=f.getGeneratedTextTrack_();var t=f.textDisplayer_.isTextVisible();e&&t&&(e.mode="showing")},f.loadEventManager_.listen(r,"enterpictureinpicture",function(){return n()}),f.loadEventManager_.listen(r,"leavepictureinpicture",function(){return a()}),r.remote?(f.loadEventManager_.listen(r.remote,"connect",function(){return a()}),f.loadEventManager_.listen(r.remote,"connecting",function(){return a()}),f.loadEventManager_.listen(r.remote,"disconnect",function(){return a()})):"webkitCurrentPlaybackTargetIsWireless"in r&&f.loadEventManager_.listen(r,"webkitcurrentplaybacktargetiswirelesschanged",function(){return a()}),(o=r).webkitSupportsFullscreen&&f.loadEventManager_.listen(o,"webkitpresentationmodechanged",function(){"inline"!=o.webkitPresentationMode?n():a()})),f.addBasicMediaListeners_(r,e),!(s=f.cmcdManager_.appendSrcData(f.assetUri_,t)).includes("#t=")&&(0<f.config_.playRangeStart||isFinite(f.config_.playRangeEnd))&&(s+="#t=",0<f.config_.playRangeStart&&(s+=f.config_.playRangeStart),isFinite(f.config_.playRangeEnd)&&(s+=","+f.config_.playRangeEnd)),!f.mediaSourceEngine_){g.jumpTo(2);break}return g.yield(f.mediaSourceEngine_.destroy(),3);case 3:f.mediaSourceEngine_=null;
1case 2:return shaka.util.Dom.removeAllChildren(r),r.src=s,(shaka.util.Platform.isTizen()||shaka.util.Platform.isWebOS())&&r.load(),"none"!=r.preload&&!r.autoplay&&shaka.util.MimeUtils.isHlsType(t)&&shaka.util.Platform.isApple()&&r.load(),f.loadMode_=shaka.Player.LoadMode.SRC_EQUALS,f.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming)),l=new shaka.util.PublicPromise,shaka.util.MediaReadyState.waitForReadyState(r,HTMLMediaElement.HAVE_METADATA,f.loadEventManager_,function(){f.playhead_.ready(),l.resolve()}),u=function(){return new Promise(function(e){var t=new shaka.util.Timer(e);f.loadEventManager_.listen(r.textTracks,"change",function(){return t.tickAfter(.5)}),t.tickAfter(.5)})},shaka.util.MediaReadyState.waitForReadyState(r,HTMLMediaElement.HAVE_CURRENT_DATA,f.loadEventManager_,function(){var e,t,r,n,a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){if(1==o.nextAddress)return o.yield(u(),2);if(i)return o.return();for(f.setupPreferredAudioOnSrc_(),(e=f.getFilteredTextTracks_()).some(function(e){return"showing"===e.mode})&&(f.isTextVisible_=!0,f.textDisplayer_.setTextVisibility(!0)),e.length&&(f.textDisplayer_.enableTextDisplayer?f.textDisplayer_.enableTextDisplayer():shaka.Deprecate.deprecateFeature(5,"Text displayer w/ enableTextDisplayer",'Text displayer should have a "enableTextDisplayer" method!')),t=!1,n=(r=$jscomp.makeIterator(e)).next();!n.done;n=r.next())"disabled"!==(a=n.value).mode&&(t?(a.mode="disabled",shaka.log.alwaysWarn("Found more than one enabled text track, disabling it",a)):(f.enableNativeTrack_(a),t=!0));f.setupPreferredTextOnSrc_(),o.jumpToEnd()})}),r.error?l.reject(f.videoErrorToShakaError_()):"none"==r.preload&&(shaka.log.alwaysWarn('With <video preload="none">, the browser will not load anything until play() is called. We are unable to measure load latency in a meaningful way, and we cannot provide track info yet. Please do not use preload="none" with Shaka Player.'),l.resolve()),f.loadEventManager_.listenOnce(r,"error",function(){l.reject(f.videoErrorToShakaError_())}),g.yield(shaka.util.Functional.promiseWithTimeout(f.config_.streaming.loadTimeout,l),4);case 4:((d=f.isLive())&&(f.config_.streaming.liveSync&&f.config_.streaming.liveSync.enabled||f.config_.streaming.liveSync.panicMode)||f.config_.streaming.vodDynamicPlaybackRate)&&(c=function(){return f.onTimeUpdate_()},f.loadEventManager_.listen(r,"timeupdate",c)),d||(p=function(){return f.onVideoProgress_()},f.loadEventManager_.listen(r,"timeupdate",p),f.onVideoProgress_()),f.adManager_&&(f.adManager_.onManifestUpdated(d),d&&(m=f.seekRange().end,f.loadEventManager_.listen(r,"progress",function(){var e=f.seekRange().end;m!=e&&(f.adManager_.onManifestUpdated(f.isLive()),m=e)}))),f.fullyLoaded_=!0,g.jumpToEnd()}})},shaka.Player.prototype.setupPreferredAudioOnSrc_=function(){var e=this.config_.preferredAudioLanguage;""!=e&&this.selectAudioLanguage(e,this.config_.preferredVariantRole)},shaka.Player.prototype.setupPreferredTextOnSrc_=function(){var e=this.config_.preferredTextLanguage;""!=e&&this.selectTextLanguage(e,this.config_.preferredTextRole,this.config_.preferForcedSubs)},shaka.Player.prototype.processTimedMetadataSrcEquals_=function(e){var t=this;if("metadata"==e.kind){e.mode="hidden",this.loadEventManager_.listen(e,"cuechange",function(){if(e.activeCues)for(var r=$jscomp.makeIterator(e.activeCues),i=r.next();!i.done;i=r.next())i=i.value,t.dispatchMetadataEvent_(i.startTime,i.endTime,i.type,i.value),t.adManager_&&t.adManager_.onCueMetadataChange(i.value);if(e.cues){r=[],i=$jscomp.makeIterator(e.cues);for(var n=i.next(),a={};!n.done;a={cue$jscomp$37:void 0},n=i.next())a.cue$jscomp$37=n.value,"com.apple.quicktime.HLS"==a.cue$jscomp$37.type&&null!=a.cue$jscomp$37.startTime&&((n=r.find(function(e){return function(t){return t.startTime==e.cue$jscomp$37.startTime&&t.endTime==e.cue$jscomp$37.endTime}}(a)))||(n={startTime:a.cue$jscomp$37.startTime,endTime:a.cue$jscomp$37.endTime,values:[]},r.push(n)),n.values.push(a.cue$jscomp$37.value));for(i=(r=$jscomp.makeIterator(r)).next();!i.done;i=r.next())(i=i.value).values.some(function(e){return"X-ASSET-URI"==e.key||"X-ASSET-LIST"==e.key})&&t.adManager_&&(a=0==i.startTime&&!t.isLive(),i.values.push({key:"CUE",description:"",data:a?"ONCE,PRE":"ONCE",mimeType:null,pictureType:null}),goog.asserts.assert(t.video_,"Must have video"),t.adManager_.onHLSInterstitialMetadata(t,t.video_,i))}});var r=new shaka.util.Timer(function(){var e=t.getMetadataTracks_();e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())r.value.mode="hidden"}).tickNow().tickAfter(.5);this.cleanupOnUnload_.push(function(){r.stop()})}},shaka.Player.prototype.processTimedMetadataMediaSrc_=function(e,t,r){e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())if((i=i.value).data&&"number"==typeof i.cueTime&&i.frames){var n=i.cueTime+t,a=r;a&&n>a&&(a=n);for(var o=$jscomp.makeIterator(i.frames),s=o.next();!s.done;s=o.next())this.dispatchMetadataEvent_(n,a,"org.id3",s.value);this.adManager_&&this.adManager_.onHlsTimedMetadata(i,n)}},shaka.Player.prototype.dispatchMetadataEvent_=function(e,t,r,i){goog.asserts.assert(!t||e<=t,"Metadata start time should be less or equal to the end time!");var n=shaka.util.FakeEvent.EventName.Metadata;e=(new Map).set("startTime",e).set("endTime",t).set("metadataType",r).set("payload",i),this.dispatchEvent(shaka.Player.makeEvent_(n,e))},shaka.Player.prototype.activateChaptersTrack_=function(e){if(e&&"chapters"==e.kind){e.mode="hidden";var t=new shaka.util.Timer(function(){e.mode="hidden"}).tickNow().tickAfter(.5);this.cleanupOnUnload_.push(function(){t.stop()})}},shaka.Player.prototype.releaseAllMutexes=function(){this.mutex_.releaseAll()},shaka.Player.prototype.createDrmEngine=function(e){return new shaka.drm.DrmEngine(e)},shaka.Player.prototype.createNetworkingEngine=function(e){var t=this;e||(e=function(){return null});var r=function(t){e()?e().addQueuedOperation(!0,t):t()},i=function(r){e()?e().dispatchEvent(r):t.dispatchEvent(r)};return new shaka.net.NetworkingEngine(function(r,i,n,a){var o=e()?e().getAbrManager():t.abrManager_;o&&o.segmentDownloaded(r,i,n,a)},function(e,n,a){var o=shaka.util.FakeEvent.EventName.DownloadHeadersReceived;n=(new Map).set("headers",e).set("request",n).set("requestType",a),i(shaka.Player.makeEvent_(o,n)),r(function(){t.cmsdManager_&&t.cmsdManager_.processHeaders(e)})},function(e,t){var r=shaka.util.FakeEvent.EventName.DownloadCompleted;e=(new Map).set("request",e).set("response",t),i(shaka.Player.makeEvent_(r,e))},function(e,t,r,n){var a=shaka.util.FakeEvent.EventName.DownloadFailed;e=(new Map).set("request",e).set("error",t).set("httpResponseCode",r).set("aborted",n),i(shaka.Player.makeEvent_(a,e))},function(e,i,n){r(function(){t.cmcdManager_.applyRequestData(e,i,n)})},function(r,i,n,a){(r=e()?e().getParser():t.parser_)&&r.banLocation&&r.banLocation(a)},function(r,i,n){i.data&&(i=i.data.byteLength,(n=e()?e().getStats():t.stats_)&&(n.addBytesDownloaded(i),r===shaka.net.NetworkingEngine.RequestType.MANIFEST&&n.setManifestSize(i)))})},shaka.Player.prototype.createPlayhead=function(e){var t=this;return goog.asserts.assert(this.manifest_,"Must have manifest"),goog.asserts.assert(this.video_,"Must have video"),new shaka.media.MediaSourcePlayhead(this.video_,this.manifest_,this.config_.streaming,e,function(){return t.onSeek_()},function(e){return t.dispatchEvent(e)})},shaka.Player.prototype.createPlayheadObserversForMSE_=function(e){var t=this;goog.asserts.assert(this.manifest_,"Must have manifest"),goog.asserts.assert(this.regionTimeline_,"Must have region timeline"),goog.asserts.assert(this.video_,"Must have video element"),e=this.isLive()||0<e,(e=new shaka.media.RegionObserver(this.regionTimeline_,e)).addEventListener("enter",function(e){t.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionEnter,e.region)}),e.addEventListener("exit",function(e){t.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionExit,e.region)}),e.addEventListener("skip",function(e){var r=e.region;e.seeking||(t.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionEnter,r),t.onReg
1ionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionExit,r))});var r=new shaka.media.PlayheadObserverManager(this.video_);return r.manage(e),this.qualityObserver_&&r.manage(this.qualityObserver_),r},shaka.Player.prototype.startBufferManagement_=function(e,t){var r=this;goog.asserts.assert(!this.bufferObserver_,"No buffering observer should exist before initialization."),goog.asserts.assert(!this.bufferPoller_,"No buffer timer should exist before initialization."),this.bufferObserver_=new shaka.media.BufferingObserver(1,2),this.bufferObserver_.setState(shaka.media.BufferingObserver.State.STARVING),this.updateBufferingSettings_(),this.updateBufferState_(),this.bufferPoller_=new shaka.util.Timer(function(){r.pollBufferState_()}),this.config_.streaming.rebufferingGoal&&this.bufferPoller_.tickEvery(.25),this.loadEventManager_.listen(e,"waiting",function(e){return r.pollBufferState_()}),this.loadEventManager_.listen(e,"canplaythrough",function(e){return r.pollBufferState_()}),this.loadEventManager_.listen(e,"playing",function(e){return r.pollBufferState_()}),this.loadEventManager_.listen(e,"seeked",function(e){return r.pollBufferState_()}),t&&(this.loadEventManager_.listen(e,"stalled",function(e){return r.pollBufferState_()}),this.loadEventManager_.listen(e,"progress",function(e){return r.pollBufferState_()}),this.loadEventManager_.listen(e,"timeupdate",function(e){return r.pollBufferState_()}))},shaka.Player.prototype.updateBufferingSettings_=function(){var e=this.config_.streaming.rebufferingGoal;this.bufferObserver_.setThresholds(e,Math.min(shaka.Player.TYPICAL_BUFFERING_THRESHOLD_,e/2))},shaka.Player.prototype.pollBufferState_=function(){switch(goog.asserts.assert(this.video_,"Need a media element to update the buffering observer"),goog.asserts.assert(this.bufferObserver_,"Need a buffering observer to update"),this.loadMode_){case shaka.Player.LoadMode.SRC_EQUALS:var e=this.isBufferedToEndSrc_();break;case shaka.Player.LoadMode.MEDIA_SOURCE:e=this.isBufferedToEndMS_();break;default:e=!1}var t=shaka.media.TimeRangesUtils.bufferedAheadOf(this.video_.buffered,this.video_.currentTime);this.bufferObserver_.update(t,e)&&this.updateBufferState_()},shaka.Player.prototype.createMediaSourceEngine=function(e,t,r,i){return new shaka.media.MediaSourceEngine(e,t,r,i)},shaka.Player.prototype.createCmcd_=function(){var e=this;return new shaka.util.CmcdManager({getBandwidthEstimate:function(){return e.abrManager_?e.abrManager_.getBandwidthEstimate():NaN},getBufferedInfo:function(){return e.getBufferedInfo()},getCurrentTime:function(){return e.video_?e.video_.currentTime:0},getPlaybackRate:function(){return e.getPlaybackRate()},getNetworkingEngine:function(){return e.getNetworkingEngine()},getVariantTracks:function(){return e.getVariantTracks()},isLive:function(){return e.isLive()},getLiveLatency:function(){return e.getLiveLatency()}},this.config_.cmcd)},shaka.Player.prototype.createCmsd_=function(){return new shaka.util.CmsdManager(this.config_.cmsd)},shaka.Player.prototype.createStreamingEngine=function(){var e=this;return goog.asserts.assert(this.abrManager_&&this.mediaSourceEngine_&&this.manifest_,"Must not be destroyed"),new shaka.media.StreamingEngine(this.manifest_,{getPresentationTime:function(){return e.playhead_?e.playhead_.getTime():0},getBandwidthEstimate:function(){return e.abrManager_.getBandwidthEstimate()},getPlaybackRate:function(){return e.getPlaybackRate()},mediaSourceEngine:this.mediaSourceEngine_,netEngine:this.networkingEngine_,onError:function(t){return e.onError_(t)},onEvent:function(t){return e.dispatchEvent(t)},onSegmentAppended:function(t,r,i){e.onSegmentAppended_(t.startTime,t.endTime,r.type,i)},onInitSegmentAppended:function(t,r){(r=r.getMediaQuality())&&e.qualityObserver_&&e.qualityObserver_.addMediaQualityChange(r,t)},beforeAppendSegment:function(t,r){return e.drmEngine_.parseInbandPssh(t,r)},disableStream:function(t,r){return e.disableStream(t,r)}})},shaka.Player.prototype.configure=function(e,t){var r=shaka.util.Platform;if(goog.asserts.assert(this.config_,"Config must not be null!"),goog.asserts.assert("object"==typeof e||2==arguments.length,"String configs should have values!"),2==arguments.length&&"string"==typeof e&&(e=shaka.util.ConfigUtils.convertToConfigObject(e,t)),goog.asserts.assert("object"==typeof e,"Should be an object!"),e.streaming&&"forceTransmuxTS"in e.streaming&&(shaka.Deprecate.deprecateFeature
1(5,"streaming.forceTransmuxTS configuration","Please Use mediaSource.forceTransmux instead."),e.mediaSource.mediaSource=e.streaming.forceTransmuxTS,delete e.streaming.forceTransmuxTS),e.streaming&&"forceTransmux"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.forceTransmux configuration","Please Use mediaSource.forceTransmux instead."),e.mediaSource.mediaSource=e.streaming.forceTransmux,delete e.streaming.forceTransmux),e.streaming&&"useNativeHlsOnSafari"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.useNativeHlsOnSafari configuration","Please Use streaming.useNativeHlsForFairPlay or streaming.preferNativeHls instead."),e.streaming.preferNativeHls=e.streaming.useNativeHlsOnSafari&&r.isApple(),delete e.streaming.useNativeHlsOnSafari),e.streaming&&"boolean"==typeof e.streaming.liveSync&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSync","Please Use streaming.liveSync.enabled instead."),r=e.streaming.liveSync,e.streaming.liveSync={},e.streaming.liveSync.enabled=r),e.streaming&&!(e.streaming.liveSync&&"targetLatency"in e.streaming.liveSync)&&("liveSyncMinLatency"in e.streaming||"liveSyncMaxLatency"in e.streaming)){r=e.streaming.liveSyncMinLatency||0;var i=Math.abs((e.streaming.liveSyncMaxLatency||1)-r)/2;e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.targetLatency=r+i,e.streaming.liveSync.targetLatencyTolerance=i}if(e.streaming&&"liveSyncMaxLatency"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncMaxLatency","Please Use streaming.liveSync.targetLatency and streaming.liveSync.targetLatencyTolerance instead. Or, set the values in your DASH manifest"),delete e.streaming.liveSyncMaxLatency),e.streaming&&"liveSyncMinLatency"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncMinLatency","Please Use streaming.liveSync.targetLatency and streaming.liveSync.targetLatencyTolerance instead. Or, set the values in your DASH manifest"),delete e.streaming.liveSyncMinLatency),e.streaming&&"liveSyncTargetLatency"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncTargetLatency","Please Use streaming.liveSync.targetLatency instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.targetLatency=e.streaming.liveSyncTargetLatency,delete e.streaming.liveSyncTargetLatency),e.streaming&&"liveSyncTargetLatencyTolerance"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncTargetLatencyTolerance","Please Use streaming.liveSync.targetLatencyTolerance instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.targetLatencyTolerance=e.streaming.liveSyncTargetLatencyTolerance,delete e.streaming.liveSyncTargetLatencyTolerance),e.streaming&&"liveSyncPlaybackRate"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncPlaybackRate","Please Use streaming.liveSync.maxPlaybackRate instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.maxPlaybackRate=e.streaming.liveSyncPlaybackRate,delete e.streaming.liveSyncPlaybackRate),e.streaming&&"liveSyncMinPlaybackRate"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncMinPlaybackRate","Please Use streaming.liveSync.minPlaybackRate instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.minPlaybackRate=e.streaming.liveSyncMinPlaybackRate,delete e.streaming.liveSyncMinPlaybackRate),e.streaming&&"liveSyncPanicMode"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncPanicMode","Please Use streaming.liveSync.panicMode instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.panicMode=e.streaming.liveSyncPanicMode,delete e.streaming.liveSyncPanicMode),e.streaming&&"liveSyncPanicThreshold"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.liveSyncPanicThreshold","Please Use streaming.liveSync.panicThreshold instead."),e.streaming.liveSync=e.streaming.liveSync||{},e.streaming.liveSync.panicThreshold=e.streaming.liveSyncPanicThreshold,delete e.streaming.liveSyncPanicThreshold),e.mediaSource&&"sourceBufferExtraFeatures"in e.mediaSource){shaka.Deprecate.deprecateFeature
1(5,"mediaSource.sourceBufferExtraFeatures configuration","Please Use mediaSource.addExtraFeaturesToSourceBuffer() instead.");var n=e.mediaSource.sourceBufferExtraFeatures;e.mediaSource.addExtraFeaturesToSourceBuffer=function(){return n},delete e.mediaSource.sourceBufferExtraFeatures}if(e.manifest&&e.manifest.hls&&"useSafariBehaviorForLive"in e.manifest.hls&&(shaka.Deprecate.deprecateFeature(5,"manifest.hls.useSafariBehaviorForLive configuration","Please Use liveSync config to keep on live Edge instead."),delete e.manifest.hls.useSafariBehaviorForLive),e.streaming&&"parsePrftBox"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.parsePrftBox configuration","Now fired without needing a configuration."),delete e.streaming.parsePrftBox),e.manifest&&e.manifest.dash&&"enableAudioGroups"in e.manifest.dash&&(shaka.Deprecate.deprecateFeature(5,"manifest.dash.enableAudioGroups configuration","It is now enabled by default and cannot be disabled."),delete e.manifest.dash.enableAudioGroups),e.streaming&&"dispatchAllEmsgBoxes"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.dispatchAllEmsgBoxes configuration","Please Use mediaSource.dispatchAllEmsgBoxes instead."),e.mediaSource.dispatchAllEmsgBoxes=e.streaming.dispatchAllEmsgBoxes,delete e.streaming.dispatchAllEmsgBoxes),e.streaming&&"autoLowLatencyMode"in e.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.autoLowLatencyMode configuration","Please Use streaming.lowLatencyMode instead."),e.streaming.lowLatencyMode=e.streaming.autoLowLatencyMode,delete e.streaming.autoLowLatencyMode),e.drm&&e.drm.advanced){for(var a in r=!1,e.drm.advanced){var o=e.drm.advanced[a];i=o.videoRobustness,o=o.audioRobustness,"videoRobustness"in e.drm.advanced[a]&&!Array.isArray(e.drm.advanced[a].videoRobustness)&&(e.drm.advanced[a].videoRobustness=[i],r=!0),"audioRobustness"in e.drm.advanced[a]&&!Array.isArray(e.drm.advanced[a].audioRobustness)&&(e.drm.advanced[a].audioRobustness=[o],r=!0)}r&&shaka.Deprecate.deprecateFeature(5,"AdvancedDrmConfiguration's videoRobustness and audioRobustness","These properties are no longer strings but array of strings, please update your usage of these properties.")}return a=shaka.util.PlayerConfiguration.mergeConfigObjects(this.config_,e,this.defaultConfig_()),this.applyConfig_(),a},shaka.Player.prototype.configurationForLowLatency=function(e){this.lowLatencyConfig_=e},shaka.Player.prototype.applyConfig_=function(){if(this.manifestFilterer_=new shaka.media.ManifestFilterer(this.config_,this.maxHwRes_,this.drmEngine_),this.parser_){var e=shaka.util.ObjectUtils.cloneObject(this.config_.manifest);this.video_&&"AUDIO"===this.video_.nodeName&&(e.disableVideo=!0),this.parser_.configure(e)}if(this.drmEngine_&&this.drmEngine_.configure(this.config_.drm),this.streamingEngine_){this.streamingEngine_.configure(this.config_.streaming);try{this.loadMode_!=shaka.Player.LoadMode.DESTROYED&&this.manifestFilterer_.filterManifestWithRestrictions(this.manifest_)&&this.onTracksChanged_()}catch(e){this.onError_(e)}this.abrManager_&&this.updateAbrManagerVariants_(),(e=this.streamingEngine_.getCurrentVariant())&&(!e.allowedByApplication||!e.allowedByKeySystem)&&(shaka.log.debug("Choosing new variant after changing configuration"),this.chooseVariantAndSwitch_())}if(this.networkingEngine_&&(this.networkingEngine_.setForceHTTP(this.config_.streaming.forceHTTP),this.networkingEngine_.setForceHTTPS(this.config_.streaming.forceHTTPS),this.networkingEngine_.setMinBytesForProgressEvents(this.config_.streaming.minBytesForProgressEvents)),this.mediaSourceEngine_&&(this.mediaSourceEngine_.configure(this.config_.mediaSource),this.mediaSourceEngine_.setSegmentRelativeVttTiming(this.config_.manifest.segmentRelativeVttTiming)),this.textDisplayer_)if(e=this.config_.textDisplayFactory,this.lastTextFactory_!=e){var t=this.textDisplayer_;this.textDisplayer_=e(),this.textDisplayer_.configure?this.textDisplayer_.configure(this.config_.textDisplayer):shaka.Deprecate.deprecateFeature(5,"Text displayer w/ configure",'Text displayer should have a "configure" method!'),this.textDisplayer_.setTextLanguage||shaka.Deprecate.deprecateFeature
1(5,"Text displayer w/ setTextLanguage",'Text displayer should have a "setTextLanguage" method!'),this.textDisplayer_.setTextVisibility(t.isTextVisible()),t.destroy(),this.mediaSourceEngine_&&this.mediaSourceEngine_.setTextDisplayer(this.textDisplayer_),this.lastTextFactory_=e,this.streamingEngine_&&this.streamingEngine_.reloadTextStream()}else this.textDisplayer_.configure&&this.textDisplayer_.configure(this.config_.textDisplayer);this.abrManager_&&(this.abrManager_.configure(this.config_.abr),this.config_.abr.enabled?this.abrManager_.enable():this.abrManager_.disable(),this.onAbrStatusChanged_()),this.bufferObserver_&&this.updateBufferingSettings_(),this.bufferPoller_&&(this.config_.streaming.rebufferingGoal?this.bufferPoller_.tickEvery(.25):this.bufferPoller_.stop()),this.manifest_&&shaka.Player.applyPlayRange_(this.manifest_.presentationTimeline,this.config_.playRangeStart,this.config_.playRangeEnd),this.adManager_&&this.adManager_.configure(this.config_.ads),this.cmcdManager_&&this.cmcdManager_.configure(this.config_.cmcd),this.cmsdManager_&&this.cmsdManager_.configure(this.config_.cmsd)},shaka.Player.prototype.getConfiguration=function(){goog.asserts.assert(this.config_,"Config must not be null!");var e=this.defaultConfig_();return shaka.util.PlayerConfiguration.mergeConfigObjects(e,this.config_,this.defaultConfig_()),e},shaka.Player.prototype.getConfigurationForLowLatency=function(){return this.lowLatencyConfig_},shaka.Player.prototype.getNonDefaultConfiguration=function(){goog.asserts.assert(this.config_,"Config must not be null!");var e=this.defaultConfig_();return shaka.util.PlayerConfiguration.mergeConfigObjects(e,this.config_,this.defaultConfig_()),shaka.util.ConfigUtils.getDifferenceFromConfigObjects(this.config_,this.defaultConfig_())},shaka.Player.prototype.getSharedConfiguration=function(){return goog.asserts.assert(this.config_,"Cannot call getSharedConfiguration after call destroy!"),this.config_},shaka.Player.prototype.getBufferFullness=function(){if(this.video_){var e=this.video_.buffered.length;e=e?this.video_.buffered.end(e-1):0;var t=this.getConfiguration().streaming.bufferingGoal;if(e>=(t=Math.min(this.video_.currentTime+t,this.seekRange().end)))return 1;if(!(e<=this.video_.currentTime)&&e<t)return(e-this.video_.currentTime)/(t-this.video_.currentTime)}return 0},shaka.Player.prototype.resetConfiguration=function(){for(var e in goog.asserts.assert(this.config_,"Cannot be destroyed"),this.config_)delete this.config_[e];shaka.util.PlayerConfiguration.mergeConfigObjects(this.config_,this.defaultConfig_(),this.defaultConfig_()),this.applyConfig_()},shaka.Player.prototype.getLoadMode=function(){return this.loadMode_},shaka.Player.prototype.getManifestType=function(){return this.manifest_?this.manifest_.type:null},shaka.Player.prototype.getMediaElement=function(){return this.video_},shaka.Player.prototype.getNetworkingEngine=function(){return this.networkingEngine_},shaka.Player.prototype.getAssetUri=function(){return this.assetUri_},shaka.Player.prototype.getAdManager=function(){return this.adManager_?this.adManager_:null},shaka.Player.prototype.isLive=function(){return this.manifest_&&!this.isRemotePlayback()?this.manifest_.presentationTimeline.isLive():!!(this.video_&&(this.video_.src||this.isRemotePlayback()))&&1/0==this.video_.duration},shaka.Player.prototype.isInProgress=function(){return!!this.manifest_&&this.manifest_.presentationTimeline.isInProgress()},shaka.Player.prototype.isAudioOnly=function(){if(this.manifest_&&!this.isRemotePlayback()){var e=this.manifest_.variants;return!!e.length&&!e[0].video}return!!(this.video_&&(this.video_.src||this.isRemotePlayback()))&&(this.video_.videoTracks?0==this.video_.videoTracks.length:0==this.video_.videoHeight)},shaka.Player.prototype.seekRange=function(){if(this.manifest_&&!this.isRemotePlayback()){if(!this.fullyLoaded_&&this.manifest_.type==shaka.media.ManifestParser.HLS)return{start:0,end:0};var e=this.manifest_.presentationTimeline;return{start:e.getSeekRangeStart(),end:e.getSeekRangeEnd()}}if(this.video_&&(this.video_.src||this.isRemotePlayback())&&(e=this.video_.seekable)&&e.length){var t=this.config_?this.config_.playRangeStart:0;t=Math.max(e.start(0),t);var r=this.config_?this.config_.playRangeEnd:1/0;return{start:t,end:e=Math.min(e.end(e.length-1),r)}}return{start:0,end:0}},shaka.Player.prototype.goToLive=function(){this.isLive()?this.video_.currentTime=this.seekRange().end:shaka.log.warning("goToLive is for live streams!")},shaka.Player.prototype.isFullyLoaded=function(){return this.fullyLoaded_},shaka.Player.prototype.keySystem=function(){return shaka.drm.DrmUtils.
1keySystem(this.drmInfo())},shaka.Player.prototype.drmInfo=function(){return this.drmEngine_?this.drmEngine_.getDrmInfo():null},shaka.Player.prototype.getDrmEngine=function(){return this.drmEngine_},shaka.Player.prototype.getExpiration=function(){return this.drmEngine_?this.drmEngine_.getExpiration():1/0},shaka.Player.prototype.getActiveSessionsMetadata=function(){return this.drmEngine_?this.drmEngine_.getActiveSessionsMetadata():[]},shaka.Player.prototype.getKeyStatuses=function(){return this.drmEngine_?this.drmEngine_.getKeyStatuses():{}},shaka.Player.prototype.isBuffering=function(){var e=shaka.media.BufferingObserver.State;return!!this.bufferObserver_&&this.bufferObserver_.getState()==e.STARVING},shaka.Player.prototype.getPlaybackRate=function(){return this.video_?this.playRateController_?this.playRateController_.getRealRate():1:0},shaka.Player.prototype.trickPlay=function(e,t){t=void 0===t||t,goog.asserts.assert(0!=e,"Should never set a trick play rate of 0!"),0==e?shaka.log.alwaysWarn("A trick play rate of 0 is unsupported!"):(this.playRateController_.set(e),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&(this.abrManager_.playbackRateChanged(e),this.streamingEngine_.setTrickPlay(t&&1<Math.abs(e))),this.setupTrickPlayEventListeners_(e))},shaka.Player.prototype.cancelTrickPlay=function(){var e=this.playRateController_.getDefaultRate();this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.playRateController_.set(e),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&(this.playRateController_.set(e),this.abrManager_.playbackRateChanged(e),this.streamingEngine_.setTrickPlay(!1)),this.trickPlayEventManager_.removeAll()},shaka.Player.prototype.getVariantTracks=function(){if(this.manifest_&&!this.isRemotePlayback()){for(var e=this.streamingEngine_?this.streamingEngine_.getCurrentVariant():null,t=[],r=0,i=$jscomp.makeIterator(this.manifest_.variants),n=i.next();!n.done;n=i.next())if(n=n.value,shaka.util.StreamUtils.isPlayable(n)){var a=shaka.util.StreamUtils.variantToTrack(n);a.active=n==e,a.active||1==r||null==e||n.video!=e.video||n.audio!=e.audio||(a.active=!0),a.active&&r++,t.push(a)}return goog.asserts.assert(1>=r,"It should only have one active track"),t}return this.video_&&this.video_.audioTracks?Array.from(this.video_.audioTracks).map(function(e){return shaka.util.StreamUtils.html5AudioTrackToTrack(e)}):[]},shaka.Player.prototype.getTextTracks=function(){if(this.manifest_&&!this.isRemotePlayback()){for(var e=this.streamingEngine_?this.streamingEngine_.getCurrentTextStream():null,t=[],r=$jscomp.makeIterator(this.manifest_.textStreams),i=r.next();!i.done;i=r.next()){i=i.value;var n=shaka.util.StreamUtils.textStreamToTrack(i);n.active=i==e,t.push(n)}return t}if(this.video_&&this.video_.src&&this.video_.textTracks){e=this.getFilteredTextTracks_();var a=shaka.util.StreamUtils;return e.map(function(e){return a.html5TextTrackToTrack(e)})}return[]},shaka.Player.prototype.getImageTracks=function(){var e=shaka.util.StreamUtils,t=this.externalSrcEqualsThumbnailsStreams_;return this.manifest_&&(t=this.manifest_.imageStreams),t.map(function(t){return e.imageStreamToTrack(t)})},shaka.Player.prototype.getAllThumbnails=function(e){var t,r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?n.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&n.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS?a.return(null):(t=n.externalSrcEqualsThumbnailsStreams_,n.manifest_&&(t=n.manifest_.imageStreams),(r=t.find(function(t){return t.id==e}))?r.segmentIndex?a.jumpTo(2):a.yield(r.createSegmentIndex(),2):a.return(null)):(i=[],r.segmentIndex.forEachTopLevelReference(function(e){var t=n.parseTilesLayout_(e.getTilesLayout()||r.tilesLayout);if(t){t=t.rows*t.columns;for(var a=e.trueEndTime-e.startTime,o=0;o<t;o++){var s=n.getThumbnailsByStream_(r,e.startTime+a*o/t);s&&i.push(s)}}}),r.closeSegmentIndex&&r.closeSegmentIndex(),a.return(i))})},shaka.Player.prototype.parseTilesLayout_=function(e){if(!e)return null;var t=/(\d+)x(\d+)/.exec(e);return t?{columns:e=parseInt(t[1],10),rows:t=parseInt(t[2],10)}:(shaka.log.warning("Tiles layout does not contain a valid format  (columns x rows)"),null)},shaka.Player.prototype.getThumbnails=function(e,t){var r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?n.loadM
1ode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&n.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS?a.return(null):(r=n.externalSrcEqualsThumbnailsStreams_,n.manifest_&&(r=n.manifest_.imageStreams),(i=r.find(function(t){return t.id==e}))?i.segmentIndex?a.jumpTo(2):a.yield(i.createSegmentIndex(),2):a.return(null)):a.return(n.getThumbnailsByStream_(i,t))})},shaka.Player.prototype.getThumbnailsByStream_=function(e,t){var r=e.segmentIndex.find(t);if(null==r)return null;r=e.segmentIndex.get(r);var i=this.parseTilesLayout_(r.getTilesLayout()||e.tilesLayout);if(!i)return null;var n=e.width||0;e=e.height||0;var a=n/i.columns,o=e/i.rows,s=i.columns*i.rows,l=r.trueEndTime-r.startTime;l=r.getTileDuration()||l/s;var u=r.startTime,d=0,c=0;return 1<s&&(t=Math.floor((t-r.startTime)/l),u=r.startTime+t*l,d=t%i.columns*a,c=Math.floor(t/i.columns)*o),t=!1,(i=r.getThumbnailSprite())&&(t=!0,o=i.height,d=i.positionX,c=i.positionY,a=i.width),{segment:r,imageHeight:e,imageWidth:n,height:o,positionX:d,positionY:c,startTime:u,duration:l,uris:r.getUris(),startByte:r.getStartByte(),endByte:r.getEndByte(),width:a,sprite:t}},shaka.Player.prototype.selectTextTrack=function(e){var t=this,r=function(){var r=t.manifest_.textStreams.find(function(t){return t.id==e.id});r?r==t.streamingEngine_.getCurrentTextStream()?shaka.log.debug("Text track already selected."):(t.addTextStreamToSwitchHistory_(r,!1),t.streamingEngine_.switchTextStream(r),t.onTextChanged_(),t.setTextDisplayerL
1anguage_(),t.currentTextLanguage_=r.language):t.isRemotePlayback()||shaka.log.error("No stream with id",e.id)};if((!this.manifest_||!this.playhead_||(r(),this.isRemotePlayback()))&&t.video_&&t.video_.textTracks){var i=t.getFilteredTextTracks_(),n=i.find(function(e){return"disabled"!==e.mode});(i=i.find(function(t){return shaka.util.StreamUtils.html5TrackId(t)===e.id}))?(n!==i&&(n&&(n.mode="disabled",t.loadEventManager_.unlisten(n,"cuechange"),t.textDisplayer_.remove(0,1/0)),i&&t.enableNativeTrack_(i)),t.onTextChanged_(),t.setTextDisplayerLanguage_()):shaka.log.error("No track with id",e.id)}},shaka.Player.prototype.enableNativeTrack_=function(e){var t=this;this.loadEventManager_.listen(e,"cuechange",function(){t.textDisplayer_.remove(0,Math.max(0,t.video_.currentTime-t.config_.streaming.bufferBehind));var r={periodStart:0,segmentStart:0,segmentEnd:t.video_.duration,vttOffset:0},i=[],n=Array.from(e.activeCues||[]);n=$jscomp.makeIterator(n);for(var a=n.next();!a.done;a=n.next())if(a=shaka.text.Utils.mapNativeCueToShakaCue(a.value)){var o=t.config_.mediaSource.modifyCueCallback;o&&o(a,null,r),i.push(a)}t.textDisplayer_.append(i)}),e.mode=document.pictureInPictureElement?"showing":"hidden"},shaka.Player.prototype.selectVariantTrack=function(e,t,r){var i=this;t=void 0!==t&&t,r=void 0===r?0:r;var n=function(){var n=i.manifest_.variants.find(function(t){return t.id==e.id});if(n)if(shaka.util.StreamUtils.isPlayable(n)){var a=i.streamingEngine_.getCurrentVariant();i.config_.abr.enabled&&(a.video!=n.video||a.audio&&n.audio&&a.audio.language==n.audio.language&&a.audio.channelsCount==n.audio.channelsCount&&a.audio.label==n.audio.label)&&shaka.log.alwaysWarn("Changing tracks while abr manager is enabled will likely result in the selected track being overridden. Consider disabling abr before calling selectVariantTrack()."),i.isRemotePlayback()?i.switchVariant_(n,!1,!1,0):i.switchVariant_(n,!1,t||!1,r||0),i.currentAdaptationSetCriteria_.configure({language:n.language,role:n.audio&&n.audio.roles&&n.audio.roles[0]||"",channelCount:n.audio&&n.audio.channelsCount?n.audio.channelsCount:0,hdrLevel:n.video&&n.video.hdr?n.video.hdr:"",spatialAudio:!!n.audio&&!!n.audio.spatialAudio&&n.audio.spatialAudio,videoLayout:n.video&&n.video.videoLayout?n.video.videoLayout:"",audioLabel:n.audio&&n.audio.label?n.audio.label:"",videoLabel:"",codecSwitchingStrategy:i.config_.mediaSource.codecSwitchingStrategy,audioCodec:n.audio&&n.audio.codecs?n.audio.codecs:""}),i.updateAbrManagerVariants_()}else shaka.log.error("Unable to switch to restricted track",e.id);else i.isRemotePlayback()||shaka.log.error("No variant with id",e.id)};if((!this.manifest_||!this.playhead_||(n(),this.isRemotePlayback()))&&i.video_&&i.video_.audioTracks){var a=Array.from(i.video_.audioTracks);a=$jscomp.makeIterator(a);for(var o=a.next();!o.done;o=a.next())if(o=o.value,shaka.util.StreamUtils.html5TrackId(o)==e.id){i.switchHtml5Track_(o);break}}},shaka.Player.prototype.getAudioLanguagesAndRoles=function(){return shaka.Player.getLanguageAndRolesFrom_(this.getVariantTracks())},shaka.Player.prototype.getTextLanguagesAndRoles=function(){return shaka.Player.getLanguageAndRolesFrom_(this.getTextTracks())},shaka.Player.prototype.getAudioLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getVariantTracks()))},shaka.Player.prototype.getTextLanguages=function(){return Array.from(shaka.Player.getLanguagesFrom_(this.getTextTracks()))},shaka.Player.prototype.selectAudioLanguage=function(e,t,r,i,n,a,o){var s=this;r=void 0===r?0:r,i=void 0===i?0:i,n=void 0===n?"":n,a=void 0!==a&&a,o=void 0===o?"":o;var l=function(){s.currentAdaptationSetCriteria_=s.config_.adaptationSetCriteriaFactory(),s.currentAdaptationSetCriteria_.configure({language:e,role:t||"",channelCount:r||0,hdrLevel:"",spatialAudio:a||!1,videoLayout:"",audioLabel:o||"",videoLabel:"",codecSwitchingStrategy:s.config_.mediaSource.codecSwitchingStrategy,audioCodec:n||""});var l=function(e,t){return e.video||t.video?e.video&&t.video?Math.abs((e.video.height||0)-(t.video.height||0))+Math.abs((e.video.width||0)-(t.video.width||0)):1/0:0},u=s.streamingEngine_.getCurrentVariant(),d=s.currentAdaptationSetCriteria_.create(s.manifest_.variants),c=null;d=$jscomp.makeIterator(d.values());for(var p=d.next();!p.done;p=d.next())p=p.value,shaka.util.StreamUtils.isPlayable(p)&&(!c||l(c,u)>l(p,u))&&(c=p);
1c==u?shaka.log.debug("Audio already selected."):c?(l=shaka.util.StreamUtils.variantToTrack(c),s.selectVariantTrack(l,!0,i||0)):s.chooseVariantAndSwitch_()};if((!this.manifest_||!this.playhead_||(l(),this.isRemotePlayback()))&&s.video_&&s.video_.audioTracks){var u=shaka.util.StreamUtils.filterStreamsByLanguageAndRole(s.getVariantTracks(),e,t||"",!1)[0];u&&s.selectVariantTrack(u)}},shaka.Player.prototype.selectTextLanguage=function(e,t,r){var i,n=this;r=void 0!==r&&r;var a=function(){n.currentTextLanguage_=e,n.currentTextRole_=t||"",n.currentTextForced_=r||!1;var i=n.chooseTextStream_();i&&(i==n.streamingEngine_.getCurrentTextStream()?shaka.log.debug("Text track already selected."):(n.addTextStreamToSwitchHistory_(i,!1),n.shouldStreamText_()&&(n.streamingEngine_.switchTextStream(i),n.onTextChanged_(),n.setTextDisplayerLanguage_())))};(!this.manifest_||!this.playhead_||(a(),this.isRemotePlayback()))&&(i=shaka.util.StreamUtils.filterStreamsByLanguageAndRole(n.getTextTracks(),e,t||"",r||!1)[0])&&n.selectTextTrack(i)},shaka.Player.prototype.selectVariantsByLabel=function(e,t,r){var i=this;t=void 0===t||t,r=void 0===r?0:r;var n=function(){for(var n=null,a=$jscomp.makeIterator(i.manifest_.variants),o=a.next();!o.done;o=a.next())if((o=o.value).audio.label==e){n=o;break}null==n?shaka.log.warning("No variants were found with label: "+e+". Ignoring the request to switch."):(i.currentAdaptationSetCriteria_=i.config_.adaptationSetCriteriaFactory(),i.currentAdaptationSetCriteria_.configure({language:n.language,role:"",channelCount:0,hdrLevel:"",spatialAudio:!1,videoLayout:"",videoLabel:"",audioLabel:e,codecSwitchingStrategy:i.config_.mediaSource.codecSwitchingStrategy,audioCodec:""}),i.chooseVariantAndSwitch_(t,r))};if((!this.manifest_||!this.playhead_||(n(),this.isRemotePlayback()))&&i.video_&&i.video_.audioTracks){var a=Array.from(i.video_.audioTracks),o=null;a=$jscomp.makeIterator(a);for(var s=a.next();!s.done;s=a.next())(s=s.value).label==e&&(o=s);o&&i.switchHtml5Track_(o)}},shaka.Player.prototype.isTextTrackVisible=function(){var e=this.isTextVisible_;if(this.textDisplayer_){var t=this.textDisplayer_.isTextVisible();return goog.asserts.assert(t==e,"text visibility has fallen out of sync"),t}return e},shaka.Player.prototype.getChaptersTracks=function(){return this.externalChaptersStreams_.map(function(e){return shaka.util.StreamUtils.textStreamToTrack(e)})},shaka.Player.prototype.getChapters=function(e){if(!this.externalChaptersStreams_.length)return[];var t=shaka.util.LanguageUtils,r=t.normalize(e);if(!(e=this.externalChaptersStreams_.filter(function(e){return t.normalize(e.language)==r})).length)return[];var i=[],n=new Set;e=$jscomp.makeIterator(e);for(var a=e.next();!a.done;a=e.next())(a=a.value).segmentIndex&&a.segmentIndex.forEachTopLevelReference(function(e){var t=e.getUris()[0],r=e.startTime+"-"+e.endTime+"-"+t;e={id:r,title:t,startTime:e.startTime,endTime:e.endTime},n.has(r)||(i.push(e),n.add(r))});return i},shaka.Player.prototype.getFilteredTextTracks_=function(){return goog.asserts.assert(this.video_.textTracks,"TextTracks should be valid."),Array.from(this.video_.textTracks).filter(function(e){return"metadata"!=e.kind&&"chapters"!=e.kind&&e.label!=shaka.Player.TextTrackLabel})},shaka.Player.prototype.getGeneratedTextTrack_=function(){return goog.asserts.assert(this.video_.textTracks,"TextTracks should be valid."),Array.from(this.video_.textTracks).find(function(e){return e.label==shaka.Player.TextTrackLabel})},shaka.Player.prototype.getMetadataTracks_=function(){return goog.asserts.assert(this.video_.textTracks,"TextTracks should be valid."),Array.from(this.video_.textTracks).filter(function(e){return"metadata"==e.kind})},shaka.Player.prototype.setTextTrackVisibility=function(e){e=!!e,this.isTextVisible_!=e&&(this.isTextVisible_=e,this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE?(this.textDisplayer_.setTextVisibility(e),this.config_.streaming.alwaysStreamText||(e?this.streamingEngine_.getCurrentTextStream()||0<(e=shaka.util.StreamUtils.filterStreamsByLanguageAndRole(this.manifest_.textStreams,this.currentTextLanguage_,this.currentTextRole_,this.currentTextForced_)).length&&(this.streamingEngine_.
1switchTextStream(e[0]),this.onTextChanged_(),this.setTextDisplayerLanguage_()):this.streamingEngine_.unloadTextStream())):this.video_&&this.video_.src&&this.video_.textTracks&&this.textDisplayer_.setTextVisibility(e),this.onTextTrackVisibility_())},shaka.Player.prototype.getPlayheadTimeAsDate=function(){if(this.playhead_)var e=this.playhead_.getTime();else{if(null==this.startTime_)return new Date;e=this.startTime_}if(this.manifest_&&!this.isRemotePlayback()){var t=this.manifest_.presentationTimeline;return new Date(1e3*((t=t.getInitialProgramDateTime()||t.getPresentationStartTime())+e))}return this.video_&&this.video_.getStartDate?isNaN((t=this.video_.getStartDate()).getTime())?(shaka.log.warning("EXT-X-PROGRAM-DATETIME required to get playhead time as Date!"),null):new Date(t.getTime()+1e3*e):(shaka.log.warning("No way to get playhead time as Date!"),null)},shaka.Player.prototype.getPresentationStartTimeAsDate=function(){if(this.manifest_&&!this.isRemotePlayback()){var e=this.manifest_.presentationTimeline;return e=e.getInitialProgramDateTime()||e.getPresentationStartTime(),goog.asserts.assert(null!=e,"Presentation start time should not be null!"),new Date(1e3*e)}return this.video_&&this.video_.getStartDate?isNaN((e=this.video_.getStartDate()).getTime())?(shaka.log.warning("EXT-X-PROGRAM-DATETIME required to get presentation start time as Date!"),null):e:(shaka.log.warning("No way to get presentation start time as Date!"),null)},shaka.Player.prototype.getSegmentAvailabilityDuration=function(){return this.isLive()?this.manifest_?this.manifest_.presentationTimeline.getSegmentAvailabilityDuration():(shaka.log.warning("No way to get segment segment availability duration!"),null):(shaka.log.warning("getSegmentAvailabilityDuration is for live streams!"),null)},shaka.Player.prototype.getBufferedInfo=function(){if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE)return this.mediaSourceEngine_.getBufferedInfo();var e={total:[],audio:[],video:[],text:[]};return this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&(e.total=shaka.media.TimeRangesUtils.getBufferedInfo(this.video_.buffered)),e},shaka.Player.prototype.getLiveLatency=function(){if(!this.video_||!this.video_.currentTime)return null;var e=this.getPresentationStartTimeAsDate().getTime()+1e3*this.video_.currentTime;return Math.floor(Date.now()-e)},shaka.Player.prototype.getStats=function(){if(this.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&this.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)return shaka.util.Stats.getEmptyBlob();this.updateStateHistory_(),goog.asserts.assert(this.video_,"If we have stats, we should have video_");var e=this.video_,t=e.currentTime/e.duration;if(isNaN(t)||this.isLive()||this.stats_.setCompletionPercent(Math.round(100*t)),this.playhead_&&(this.stats_.setGapsJumped(this.playhead_.getGapsJumped()),this.stats_.setStallsDetected(this.playhead_.getStallsDetected())),e.getVideoPlaybackQuality&&(t=e.getVideoPlaybackQuality(),this.stats_.setDroppedFrames(Number(t.droppedVideoFrames),Number(t.totalVideoFrames)),this.stats_.setCorruptedFrames(Number(t.corruptedVideoFrames))),t=this.drmEngine_?this.drmEngine_.getLicenseTime():NaN,this.stats_.setLicenseTime(t),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){t=this.streamingEngine_.getCurrentVariant();var r=this.streamingEngine_.getCurrentTextStream();if(t){var i=this.playRateController_?this.playRateController_.getRealRate():1,n=i*t.bandwidth;r&&r.bandwidth&&(n+=i*r.bandwidth),this.stats_.setCurrentStreamBandwidth(n)}t&&t.video&&this.stats_.setResolution(t.video.width||NaN,t.video.height||NaN),this.isLive()&&(t=this.getLiveLatency()||0,this.stats_.setLiveLatency(t/1e3)),this.manifest_&&(this.stats_.setManifestPeriodCount(this.manifest_.periodCount),this.stats_.setManifestGapCount(this.manifest_.gapCount),this.manifest_.presentationTimeline&&(t=this.manifest_.presentationTimeline.getMaxSegmentDuration(),this.stats_.setMaxSegmentDuration(t))),t=this.abrManager_.getBandwidthEstimate(),this.stats_.setBandwidthEstimate(t)}return this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&(this.stats_.addBytesDownloaded(NaN),this.stats_.setResolution(e.videoWidth||NaN,e.videoHeight||NaN)),this.stats_.getBlob()},shaka.Player.prototype.addTextTrackAsync=function(e,t,r,i,n,a,o){o=void 0!==o&&o;var s,l,u,d,c,p,m,f,g,h,y,_=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:if(_.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&_.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)throw shaka.log.error("Must call load() and wait for it to resolve before adding text tracks."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.CONTENT_NOT_LOADED);if("subtitles"!=r&&"captions"!=r&&shaka.log.alwaysWarn("Using a kind value different of `subtitles` or `captions` can cause unwanted issues."),i){S.jumpTo(2);break}return S.yield(_.getTextMimetype_(e),3);case 3:i=S.yieldResult;case 2:if(s=[],_.adManager_&&(s=_.adManager_.getCuePoints()),_.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS){S.jumpTo(4);break}return o&&(r="forced"),S.yield(_.addSrcTrackElement_(e,t,r,i,a||"",s),5);case 5:if(u=(l=shaka.util.LanguageUtils).normalize(t),d=_.getTextTracks().find(function(e){return l.normalize(e.language)==u&&e.label==(a||"")&&e.kind==r}))return _.onTracksChanged_(),S.return(d);throw shaka.log.error("Cannot add this text when loaded with src="),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS);case 4:if(c=shaka.util.ManifestParserUtils.ContentType,m=(p=_.seekRange()).end-p.start,_.manifest_&&(m=_.manifest_.presentationTimeline.getDuration()),1/0==m)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM);if(!s.length){S.jumpTo(6);break}return goog.asserts.assert(_.networkingEngine_,"Need networking engine."),S.yield(_.getTextData_(e,_.networkingEngine_,_.config_.streaming.retryParameters),7);case 7:f=S.yieldResult,g=new Blob([_.convertToWebVTT_(f,i,s)],{type:"text/vtt"}),e=shaka.media.MediaSourceEngine.createObjectURL(g),i="text/vtt";
1case 6:if(h={id:_.nextExternalStreamId_++,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:shaka.media.SegmentIndex.forSingleSegment(0,m,[e]),mimeType:i||"",codecs:n||"",kind:r,encrypted:!1,drmInfos:[],keyIds:new Set,language:t,originalLanguage:t,label:a||null,type:c.TEXT,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!!o,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!0,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(i||"",n||"")]),isAudioMuxedInVideo:!1},y=shaka.util.MimeUtils.getFullType(h.mimeType,h.codecs),!shaka.text.TextEngine.isTypeSupported(y))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,i);return _.manifest_.textStreams.push(h),_.onTracksChanged_(),S.return(shaka.util.StreamUtils.textStreamToTrack(h))}})},shaka.Player.prototype.addThumbnailsTrack=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(T){switch(T.nextAddress){case 1:if(v.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&v.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)throw shaka.log.error("Must call load() and wait for it to resolve before adding image tracks."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.CONTENT_NOT_LOADED);if(t){T.jumpTo(2);break}return T.yield(v.getTextMimetype_(e),3);case 3:t=T.yieldResult;case 2:if("text/vtt"!=t)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.UNSUPPORTED_EXTERNAL_THUMBNAILS_URI,e);if(r=shaka.util.ManifestParserUtils.ContentType,n=(i=v.seekRange()).end-i.start,v.manifest_&&(n=v.manifest_.presentationTimeline.getDuration()),1/0==n)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM);return goog.asserts.assert(v.networkingEngine_,"Need networking engine."),T.yield(v.getTextData_(e,v.networkingEngine_,v.config_.streaming.retryParameters),4);case 4:if(a=T.yieldResult,!(o=shaka.text.TextEngine.findParser(t)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,t);for(s=o(),l={periodStart:0,segmentStart:0,segmentEnd:n,vttOffset:0},u=shaka.util.BufferUtils.toUint8(a),d=s.parseMedia(u,l,e,[]),c=[],m=(p=$jscomp.makeIterator(d)).next(),f={};!m.done;f={uris$jscomp$5:void 0,cue$jscomp$39:void 0},m=p.next())f.cue$jscomp$39=m.value,f.uris$jscomp$5=null,g=function(t){return function(){return null==t.uris$jscomp$5&&(t.uris$jscomp$5=shaka.util.ManifestParserUtils.resolveUris([e],[t.cue$jscomp$39.payload])),t.uris$jscomp$5||[]}}(f),h=new shaka.media.SegmentReference(f.cue$jscomp$39.startTime,f.cue$jscomp$39.endTime,g,0,null,null,0,0,1/0),f.cue$jscomp$39.payload.includes("#xywh")&&4===(y=f.cue$jscomp$39.payload.split("#xywh=")[1].split(",")).length&&h.setThumbnailSprite({height:parseInt(y[3],10),positionX:parseInt(y[0],10),positionY:parseInt(y[1],10),width:parseInt(y[2],10)}),c.push(h);if(_=t,!c.length){T.jumpTo(5);break}return T.yield(shaka.net.NetworkingUtils.getMimeType(c[0].getUris()[0],v.networkingEngine_,v.config_.manifest.retryParameters),6);case 6:_=T.yieldResult;
1case 5:return S={id:v.nextExternalStreamId_++,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:new shaka.media.SegmentIndex(c),mimeType:_||"",codecs:"",kind:"",encrypted:!1,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:r.IMAGE,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,tilesLayout:"1x1",accessibilityPurpose:null,external:!0,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(_||"","")]),isAudioMuxedInVideo:!1},v.loadMode_==shaka.Player.LoadMode.SRC_EQUALS?v.externalSrcEqualsThumbnailsStreams_.push(S):v.manifest_.imageStreams.push(S),v.onTracksChanged_(),T.return(shaka.util.StreamUtils.imageStreamToTrack(S))}})},shaka.Player.prototype.addChaptersTrack=function(e,t,r){var i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:if(_.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&_.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)throw shaka.log.error("Must call load() and wait for it to resolve before adding chapters tracks."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.CONTENT_NOT_LOADED);if(r){S.jumpTo(2);break}return S.yield(_.getTextMimetype_(e),3);case 3:r=S.yieldResult;case 2:if(i=shaka.util.ManifestParserUtils.ContentType,a=(n=_.seekRange()).end-n.start,_.manifest_&&(a=_.manifest_.presentationTimeline.getDuration()),1/0==a)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_CHAPTERS_TO_LIVE_STREAM);return goog.asserts.assert(_.networkingEngine_,"Need networking engine."),S.yield(_.getTextData_(e,_.networkingEngine_,_.config_.streaming.retryParameters),4);case 4:if(o=S.yieldResult,!(s=shaka.text.TextEngine.findParser(r)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,r);for(l=s(),u={periodStart:0,segmentStart:0,segmentEnd:a,vttOffset:0},d=shaka.util.BufferUtils.toUint8(o),c=l.parseMedia(d,u,e,[]),p=[],f=(m=$jscomp.makeIterator(c)).next(),g={};!f.done;g={cue$jscomp$40:void 0},f=m.next())g.cue$jscomp$40=f.value,h=new shaka.media.SegmentReference(g.cue$jscomp$40.startTime,g.cue$jscomp$40.endTime,function(e){return function(){return[e.cue$jscomp$40.payload]}}(g),0,null,null,0,0,1/0),p.push(h);
1return y={id:_.nextExternalStreamId_++,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:new shaka.media.SegmentIndex(p),mimeType:"text/plain",codecs:"",kind:"",encrypted:!1,drmInfos:[],keyIds:new Set,language:t,originalLanguage:t,label:null,type:i.TEXT,primary:!1,trickModeVideo:null,dependencyStream:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!0,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType("text/plain","")]),isAudioMuxedInVideo:!1,baseOriginalId:null},_.externalChaptersStreams_.push(y),_.onTracksChanged_(),S.return(shaka.util.StreamUtils.textStreamToTrack(y))}})},shaka.Player.prototype.getTextMimetype_=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){switch(i.nextAddress){case 1:return i.setCatchFinallyBlocks(2),goog.asserts.assert(r.networkingEngine_,"Need networking engine."),i.yield(shaka.net.NetworkingUtils.getMimeType(e,r.networkingEngine_,r.config_.streaming.retryParameters),4);case 4:t=i.yieldResult,i.leaveTryBlock(3);break;case 2:i.enterCatchBlock();case 3:if(t)return i.return(t);throw shaka.log.error("The mimeType has not been provided and it could not be deduced from its uri."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.TEXT_COULD_NOT_GUESS_MIME_TYPE,e)}})},shaka.Player.prototype.addSrcTrackElement_=function(e,t,r,i,n,a){var o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?"text/vtt"!=i||a.length?(goog.asserts.assert(u.networkingEngine_,"Need networking engine."),d.yield(u.getTextData_(e,u.networkingEngine_,u.config_.streaming.retryParameters),3)):d.jumpTo(2):(2!=d.nextAddress&&(o=d.yieldResult,s=new Blob([u.convertToWebVTT_(o,i,a)],{type:"text/vtt"}),e=shaka.media.MediaSourceEngine.createObjectURL(s),i="text/vtt"),(l=document.createElement("track")).src=u.cmcdManager_.appendTextTrackData(e),l.label=n,l.kind=r,l.srclang=t,u.video_.getAttribute("crossorigin")||u.video_.setAttribute("crossorigin","anonymous"),u.video_.appendChild(l),d.return(l))})},shaka.Player.prototype.getTextData_=function(e,t,r){var i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(i=shaka.net.NetworkingEngine.RequestType.SEGMENT,(n=shaka.net.NetworkingEngine.makeRequest([e],r)).method="GET",o.cmcdManager_.applyTextData(n),s.yield(t.request(i,n).promise,2)):(a=s.yieldResult,s.return(a.data))})},shaka.Player.prototype.convertToWebVTT_=function(e,t,r){var i=shaka.text.TextEngine.findParser(t);if(i)return t=i(),i={periodStart:0,segmentStart:0,segmentEnd:this.video_.duration,vttOffset:0},e=shaka.util.BufferUtils.toUint8(e),e=t.parseMedia(e,i,null,[]),shaka.text.WebVttGenerator.convert(e,r);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,t)},shaka.Player.prototype.setMaxHardwareResolution=function(e,t){this.maxHwRes_.width=e,this.maxHwRes_.height=t},shaka.Player.prototype.retryStreaming=function(e){return this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&this.streamingEngine_.retry(void 0===e?.1:e)},shaka.Player.prototype.getManifest=function(){return shaka.log.alwaysWarn("Shaka Player's internal Manifest structure is NOT covered by semantic versioning compatibility guarantees.  It may change at any time!  Please consider filing a feature request for whatever you use getManifest() for."),this.manifest_},shaka.Player.prototype.getManifestParserFactory=function(){return this.parserFactory_},shaka.Player.prototype.getFetchedPlaybackInfo=function(){var e={video:null,audio:null,text:null};if(this.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE)return e;var t=shaka.util.ManifestParserUtils.ContentType,r=this.streamingEngine_.getCurrentVariant(),i=this.streamingEngine_.getCurrentTextStream(),n=this.video_.currentTime;for(i=(r=$jscomp.makeIterator([r.video,r.audio,i])).next();!i.done;i=r.next())if((i=i.value)&&i.segmentIndex){var a=i.segmentIndex.find(n);a={codecs:(a=i.segmentIndex.get(a)).codecs||i.codecs,mimeType:a.mimeType||i.mimeType,bandwidth:a.bandwidth||i.bandwidth}
1,i.type==t.VIDEO?(a.width=i.width,a.height=i.height,e.video=a):i.type==t.AUDIO?e.audio=a:i.type==t.TEXT&&(e.text=a)}return e},shaka.Player.prototype.addVariantToSwitchHistory_=function(e,t){this.stats_.getSwitchHistory().updateCurrentVariant(e,t)},shaka.Player.prototype.addTextStreamToSwitchHistory_=function(e,t){this.stats_.getSwitchHistory().updateCurrentText(e,t)},shaka.Player.prototype.defaultConfig_=function(){var e=this,t=shaka.util.PlayerConfiguration.createDefault();return t.streaming.failureCallback=function(t){e.defaultStreamingFailureCallback_(t)},t.textDisplayFactory=function(){var t=shaka.util.Platform;return!e.videoContainer_||t.isApple()&&!document.fullscreenEnabled?"addTextTrack"in e.video_?new shaka.text.SimpleTextDisplayer(e.video_,shaka.Player.TextTrackLabel):(shaka.log.warning("Text tracks are not supported by the browser, disabling."),new shaka.text.StubTextDisplayer):new shaka.text.UITextDisplayer(e.video_,e.videoContainer_)},t},shaka.Player.prototype.setVideoContainer=function(e){this.videoContainer_=e},shaka.Player.prototype.defaultStreamingFailureCallback_=function(e){if(this.isLive()){var t=null;e.code==shaka.util.Error.Code.BAD_HTTP_STATUS||e.code==shaka.util.Error.Code.HTTP_ERROR?(t=1,this.config_.streaming.lowLatencyMode&&(t=.1)):e.code==shaka.util.Error.Code.TIMEOUT&&(t=.1),null!=t&&(e.severity=shaka.util.Error.Severity.RECOVERABLE,shaka.log.warning("Live streaming error.  Retrying automatically..."),this.retryStreaming(t))}},shaka.Player.prototype.makeTextStreamsForClosedCaptions_=function(e){for(var t=shaka.util.ManifestParserUtils.ContentType,r=shaka.util.ManifestParserUtils.TextStreamKind,i=shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,n=shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE,a=new Set,o=$jscomp.makeIterator(e.textStreams),s=o.next();!s.done;s=o.next())(s=s.value).mimeType!=i&&s.mimeType!=n||a.add(s.originalId);for(s=(o=$jscomp.makeIterator(e.variants)).next();!s.done;s=o.next())if((s=s.value.video)&&s.closedCaptions){for(var l=$jscomp.makeIterator(s.closedCaptions.keys()),u=l.next();!u.done;u=l.next())if(u=u.value,!a.has(u)){var d=u.startsWith("CC")?i:n,c=new shaka.media.MetaSegmentIndex,p=s.closedCaptions.get(u);d={id:this.nextExternalStreamId_++,originalId:u,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:c,mimeType:d,codecs:"",kind:r.CLOSED_CAPTION,encrypted:!1,drmInfos:[],keyIds:new Set,language:p,originalLanguage:p,label:null,type:t.TEXT,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:s.roles,forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(d,"")]),isAudioMuxedInVideo:!1},e.textStreams.push(d),a.add(u)}}},shaka.Player.prototype.adjustStartTime_=function(e,t){var r,i,n,a,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(r=e.audio,i=e.video,n=function(e,t){var r,i,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?e?e.segmentIndex?a.jumpTo(2):a.yield(e.createSegmentIndex(),2):a.return(null):(i=(r=e.segmentIndex.getIteratorForTime(t))?r.next().value:null)?(n=i.startTime,goog.asserts.assert(n<=t,"Segment should start before target time!"),a.return(n)):a.return(null)})},s.yield(n(r,t),2)):3!=s.nextAddress?(a=s.yieldResult,s.yield(n(i,t),3)):null!=(o=s.yieldResult)&&null!=a?s.return(Math.max(o,a)):null!=o?s.return(o):null!=a?s.return(a):s.return(t)})},shaka.Player.prototype.updateBufferState_=function(){var e=this.isBuffering();if(shaka.log.v2("Player changing buffering state to",e),this.stats_&&this.bufferObserver_&&this.playhead_){0==this.config_.streaming.rebufferingGoal?this.playRateController_.setBuffering(!1):this.playRateController_.setBuffering(e),this.cmcdManager_&&this.cmcdManager_.setBuffering(e),this.updateStateHistory_();var t=this.config_.streaming.liveSync.dynamicTargetLatency.maxAttempts;if(this.config_.streaming.liveSync.dynamicTargetLatency.enabled&&e&&this.rebufferingCount_<t){t=this.config_.streaming.liveSync.dynamicTargetLatency.maxLatency;var r=this.config_.streaming.liveSync.targetLatencyTolerance,i=this.config_.streaming.liveSync.dynamicTargetLatency.rebufferIncrement;this.currentTargetLatency_&&(this.currentTargetLatency_=Math.min(this.currentTargetLatency_+ ++this.rebufferingCount_*i,t-r))}}t=shaka.util.FakeEvent.EventName.Buffering,e=(new Map).set("buffering",e),this.dispatchEvent(shaka.Player.makeEvent_(t,e))},shaka.Player.prototype.onRateChange_=function(){var e=this.video_.playbackRate;0!=e&&(this.playRateController_&&(this.playRateController_.set(e),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&this.abrManager_.playbackRateChanged(e),this.setupTrickPlayEventListeners_(e)),e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.RateChange),this.dispatchEvent(e))},shaka.Player.prototype.setupTrickPlayEventListeners_=function(e){var t=this;this.trickPlayEventManager_.removeAll(),this.trickPlayEventManager_.listen(this.video_,"timeupdate",function(){var r=t.video_.currentTime,i=t.seekRange(),n=t.isLive()?t.config_.streaming.safeSeekOffset:0;0<e?Math.floor(r)>=Math.floor(i.end)&&t.cancelTrickPlay():Math.floor(r)<=Math.floor(i.start+n)&&t.cancelTrickPlay()})},shaka.Player.prototype.updateStateHistory_=function(){if(this.stats_&&this.bufferObserver_){var e=shaka.media.BufferingObserver.
1State,t=this.stats_.getStateHistory(),r="playing";this.bufferObserver_.getState()==e.STARVING?r="buffering":this.isEnded()?r="ended":this.video_.paused&&(r="paused"),t.update(r)&&(e=shaka.util.FakeEvent.EventName.StateChanged,r=(new Map).set("newstate",r),this.dispatchEvent(shaka.Player.makeEvent_(e,r)))}},shaka.Player.prototype.onTimeUpdate_=function(){var e=this.video_.playbackRate,t=this.isLive();if(this.config_.streaming.vodDynamicPlaybackRate&&!t){var r=this.config_.streaming.vodDynamicPlaybackRateLowBufferRate,i=this.getBufferFullness(),n=this.config_.streaming.vodDynamicPlaybackRateBufferRatio;i<=n?e!=r&&(shaka.log.debug("Buffer fullness ratio ("+i+") is less than the vodDynamicPlaybackRateBufferRatio ("+n+"). Updating playbackRate to "+r),this.trickPlay(r,!1)):1==i&&e!==this.playRateController_.getDefaultRate()&&(shaka.log.debug("Buffer is full. Cancel trick play."),this.cancelTrickPlay())}if(t&&Number.isFinite((t=this.seekRange()).end)&&!(this.video_.currentTime<t.start||this.video_.paused)){if(r=this.config_.streaming.liveSync.targetLatencyTolerance,i=this.config_.streaming.liveSync.dynamicTargetLatency.enabled,n=this.config_.streaming.liveSync.dynamicTargetLatency.stabilityThreshold,this.config_.streaming.liveSync&&this.config_.streaming.liveSync.enabled)var a=this.config_.streaming.liveSync.targetLatency,o=a+r,s=Math.max(0,a-r),l=this.config_.streaming.liveSync.maxPlaybackRate,u=this.config_.streaming.liveSync.minPlaybackRate;else this.manifest_&&this.manifest_.serviceDescription&&(a=this.manifest_.serviceDescription.targetLatency,null!=this.manifest_.serviceDescription.targetLatency?o=this.manifest_.serviceDescription.targetLatency+r:null!=this.manifest_.serviceDescription.maxLatency&&(o=this.manifest_.serviceDescription.maxLatency),null!=this.manifest_.serviceDescription.targetLatency?s=Math.max(0,this.manifest_.serviceDescription.targetLatency-r):null!=this.manifest_.serviceDescription.minLatency&&(s=this.manifest_.serviceDescription.minLatency),l=this.manifest_.serviceDescription.maxPlaybackRate||this.config_.streaming.liveSync.maxPlaybackRate,u=this.manifest_.serviceDescription.minPlaybackRate||this.config_.streaming.liveSync.minPlaybackRate);this.currentTargetLatency_||"number"!=typeof a||(this.currentTargetLatency_=a);var d=this.config_.streaming.liveSync.dynamicTargetLatency.maxAttempts;i&&this.targetLatencyReached_&&null!==this.currentTargetLatency_&&"number"==typeof a&&this.rebufferingCount_<d&&Date.now()-this.targetLatencyReached_>1e3*n&&(n=this.config_.streaming.liveSync.dynamicTargetLatency.minLatency,this.currentTargetLatency_=Math.max(this.currentTargetLatency_-(a-n)/2,n+r),this.targetLatencyReached_=Date.now()),i&&null!==this.currentTargetLatency_&&(o=this.currentTargetLatency_+r,s=this.currentTargetLatency_-r),a=t.end-this.video_.currentTime,r=0,this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&0<(i=this.video_.buffered).length&&(r=Math.max(l,(r=i.end(i.length-1))-t.end)),t=this.config_.streaming.liveSync.panicMode,i=1e3*this.config_.streaming.liveSync.panicThreshold,n=Date.now()-this.bufferObserver_.getLastRebufferTime(),t&&!u&&(u=this.config_.streaming.liveSync.minPlaybackRate),t&&u&&n<=i?e!=u&&(shaka.log.debug("Time since last rebuffer ("+n+"s) is less than the live sync panicThreshold ("+i+"s). Updating playbackRate to "+u),this.trickPlay(u,!1)):void 0!=o&&l&&a-r>o?(e!=l&&(shaka.log.debug("Latency ("+a+"s) is greater than live sync maxLatency ("+o+"s). Updating playbackRate to "+l),this.trickPlay(l,!1)),this.targetLatencyReached_=null):void 0!=s&&u&&a-r<s?(e!=u&&(shaka.log.debug("Latency ("+a+"s) is smaller than live sync minLatency ("+s+"s). Updating playbackRate to "+u),this.trickPlay(u,!1)),this.targetLatencyReached_=null):e!==this.playRateController_.getDefaultRate()&&(this.cancelTrickPlay(),this.targetLatencyReached_=Date.now())}},shaka.Player.prototype.onVideoProgress_=function(){var e=this;if(this.video_){var t=function(t,r){return(!!shaka.util.NumberUtils.isFloatEqual(t,r)||r>t)&&e.completionPercent_<t&&(e.completionPercent_=t,!0)},r=this.seekRange();if(!isNaN(r=0<(r=r.end-r.start)?this.video_.currentTime/r:0)){if(t(0,r*=100))var i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Started);else t(25,r)?i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.FirstQuartile):t(50,r)?i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Midpoint):t(75,r)?i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ThirdQuartile):((t(100,r)||100<r)&&(i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Complete)),e.config_&&1/0!=e.config_.playRangeEnd&&e.isEnded()&&e.video_.pause());i&&this.dispatchEvent(i)}}},shaka.Player.prototype.onSeek_=function(){this.playheadObservers_&&this.playheadObservers_.notifyOf
1Seek(),this.streamingEngine_&&this.streamingEngine_.seeked(),this.bufferObserver_&&this.pollBufferState_()},shaka.Player.prototype.updateAbrManagerVariants_=function(){try{goog.asserts.assert(this.manifest_,"Manifest should exist by now!"),this.manifestFilterer_.checkRestrictedVariants(this.manifest_)}catch(e){return this.onError_(e),!1}var e=shaka.util.StreamUtils.getPlayableVariants(this.manifest_.variants);return e=this.currentAdaptationSetCriteria_.create(e),this.abrManager_.setVariants(Array.from(e.values())),!0},shaka.Player.prototype.chooseVariant_=function(){return this.updateAbrManagerVariants_()?this.abrManager_.chooseVariant():null},shaka.Player.prototype.checkVariants_=function(){goog.asserts.assert(this.manifest_,"Should have manifest!");for(var e=Date.now()/1e3,t=!1,r=!0,i=$jscomp.makeIterator(this.manifest_.variants),n=i.next();!n.done;n=i.next()){if(0<(n=n.value).disabledUntilTime&&n.disabledUntilTime<=e){n.disabledUntilTime=0,t=!0;var a=shaka.log,o=a.v2,s="";n.video&&(s+="video:"+n.video.id),n.audio&&(s=s+(s?"&":"")+"audio:"+n.audio.id),o.call(a,"Re-enabled variant with "+s)}0<n.disabledUntilTime&&(r=!1)}r&&this.checkVariantsTimer_.stop(),t&&this.chooseVariantAndSwitch_(!1,void 0,!1,!1)},shaka.Player.prototype.chooseTextStream_=function(){return shaka.util.StreamUtils.filterStreamsByLanguageAndRole(this.manifest_.textStreams,this.currentTextLanguage_,this.currentTextRole_,this.currentTextForced_)[0]||null},shaka.Player.prototype.chooseVariantAndSwitch_=function(e,t,r,i){e=void 0===e||e,t=void 0===t?0:t,r=void 0!==r&&r,i=void 0===i||i,goog.asserts.assert(this.config_,"Must not be destroyed");var n=this.chooseVariant_();n&&this.switchVariant_(n,i,e,t,r)},shaka.Player.prototype.switchVariant_=function(e,t,r,i,n){n=void 0!==n&&n;var a=this.streamingEngine_.getCurrentVariant();e==a?(shaka.log.debug("Variant already selected."),r&&this.streamingEngine_.switchVariant(e,r,i,!0)):(this.addVariantToSwitchHistory_(e,t),this.streamingEngine_.switchVariant(e,r,i,n,t),r=null,a&&(r=shaka.util.StreamUtils.variantToTrack(a)),(e=shaka.util.StreamUtils.variantToTrack(e)).active=!0,t)?this.onAdaptation_(r,e):this.onVariantChanged_(r,e)},shaka.Player.prototype.switchHtml5Track_=function(e){goog.asserts.assert(this.video_&&this.video_.audioTracks,"Video and video.audioTracks should not be null!");var t=Array.from(this.video_.audioTracks).find(function(e){return e.enabled});e.enabled=!0,t&&(e.id!==t.id&&(t.enabled=!1),t=shaka.util.StreamUtils.html5AudioTrackToTrack(t),e=shaka.util.StreamUtils.html5AudioTrackToTrack(e),this.onVariantChanged_(t,e))},shaka.Player.prototype.setInitialTextState_=function(e,t){t?(this.shouldInitiallyShowText_(e.audio,t)&&(this.isTextVisible_=!0),this.isTextVisible_&&(this.textDisplayer_.setTextVisibility(!0),goog.asserts.assert(this.shouldStreamText_(),"Should be streaming text"))):(this.isTextVisible_=!1,this.textDisplayer_.setTextVisibility(!1)),this.onTextTrackVisibility_()},shaka.Player.prototype.shouldInitiallyShowText_=function(e,t){var r=shaka.config.AutoShowText;if(this.config_.autoShowText==r.NEVER)return!1;if(this.config_.autoShowText==r.ALWAYS)return!0;var i=shaka.util.LanguageUtils,n=i.normalize(this.config_.preferredTextLanguage);return(t=i.normalize(t.language),this.config_.autoShowText==r.IF_PREFERRED_TEXT_LANGUAGE)?i.areLanguageCompatible(t,n):this.config_.autoShowText==r.IF_SUBTITLES_MAY_BE_NEEDED?!!e&&(e=i.normalize(e.language),i.areLanguageCompatible(t,n)&&!i.areLanguageCompatible(e,t)):(shaka.log.alwaysWarn("Invalid autoShowText setting!"),!1)},shaka.Player.prototype.onManifestUpdate_=function(){this.parser_&&this.parser_.update&&this.parser_.update()},shaka.Player.prototype.onSegmentAppended_=function(e,t,r,i){if(r!=shaka.util.ManifestParserUtils.ContentType.TEXT){if(this.playhead_){this.playhead_.notifyOfBufferingChange();var n=this.mediaSourceEngine_.bufferStart(r);!this.isLive()&&this.video_.paused&&!this.video_.seeking&&null!=n&&0<n&&this.playhead_.getTime()<n&&this.playhead_.setStartTime(n)}this.pollBufferState_()}e=(new Map).set("start",e).set("end",t).set("contentType",r).set("isMuxed",i),this.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.SegmentAppended,e))},shaka.Player.prototype.switch_=function(e,t,r){t=void 0!==t&&t,r=void 0===r?0:r,shaka.log.debug("switch_"),goog.asserts.assert(this.config_.abr.enabled,"AbrManager should not call switch while disabled!"),this.manifest_&&this.streamingEngine_&&e!=this.streamingEngine_.getCurrentVariant()&&this.switchVariant_(e,!0,t,r)},shaka.Player.prototype.onAdaptation_=function(e,t){e=(new Map).set("oldTrack",e).set("newTrack",t),this.lcevcDec_&&this.lcevcDec_.updateVariant(t,this.getManifestType()),t=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Adaptation,e),this.delayDispatchEvent_(t)},shaka.Player.prototype.onTracksChanged_=function(){var e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);this.delayDispatchEvent_(e)},shaka.Player.prototype.onVariantChanged_=function(e,t){e=(new Map).set("oldTrack",e).set("newTrack",t),this.lcevcDec_&&this.lcevcDec_.updateVariant(t,this.getManifestType()),t=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.VariantChanged,e),this.delayDispatchEvent_(t)},shaka.Player.prototype.onTextChanged_=function(){var e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TextChanged);this.delayDispatchEvent_(e)},shaka.Player.prototype.onTextTrackVisibility_=function(){var e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TextTrackVisibility);this.delayDispatchEvent_(e)},shaka.Player.prototype.onAbrStatusChanged_=function(){this.config_.abr.enabled||this.restoreDisabledVariants_();var e=(new Map).set("newStatus",this.config_.abr.enabled);this.delayDispatchEvent_(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.AbrStatusChanged,e))}
1,shaka.Player.prototype.setTextDisplayerLanguage_=function(){var e=this.getTextTracks().find(function(e){return e.active});e&&this.textDisplayer_&&this.textDisplayer_.setTextLanguage&&this.textDisplayer_.setTextLanguage(e.language)},shaka.Player.prototype.restoreDisabledVariants_=function(e){if(e=void 0===e||e,this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){goog.asserts.assert(this.manifest_,"Should have manifest!"),shaka.log.v2("Restoring all disabled streams..."),this.checkVariantsTimer_.stop();for(var t=$jscomp.makeIterator(this.manifest_.variants),r=t.next();!r.done;r=t.next())r.value.disabledUntilTime=0;e&&this.updateAbrManagerVariants_()}},shaka.Player.prototype.disableStream=function(e,t){if(!this.config_.abr.enabled||this.loadMode_===shaka.Player.LoadMode.DESTROYED||!navigator.onLine||0==t||!this.manifest_)return!1;if(this.manifest_.variants.some(function(t){var r=t[e.type];return!!r&&r.id!==e.id&&!t.disabledUntilTime&&(!shaka.util.StreamUtils.isAudio(e)||e.language===r.language)})){for(var r=!1,i=!1,n=$jscomp.makeIterator(this.manifest_.variants),a=n.next();!a.done;a=n.next()){var o=(a=a.value)[e.type];o&&(o.id===e.id?(a.disabledUntilTime=Date.now()/1e3+t,r=!0,shaka.log.v2("Disabled stream "+e.type+":"+e.id+" for "+t+" seconds...")):o.trickModeVideo&&o.trickModeVideo.id==e.id&&(i=!0))}return(!!r||!i)&&(goog.asserts.assert(r,"Must have disabled stream"),this.checkVariantsTimer_.tickEvery(1),t=this.getBufferedInfo().video.reduce(function(e,t){return e+t.end-t.start},0),this.chooseVariantAndSwitch_(!1,t,!0,!1),!0)}return shaka.log.warning("No alternate stream found for active "+e.type+" stream. Will ignore request to disable stream..."),!1},shaka.Player.prototype.onError_=function(e){var t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){switch(s.nextAddress){case 1:if(goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!"),o.loadMode_==shaka.Player.LoadMode.DESTROYED)return s.return();if(e.severity===shaka.util.Error.Severity.RECOVERABLE&&o.stats_.addNonFatalError(),t=!0,!(o.fullyLoaded_&&o.manifest_&&o.streamingEngine_)||e.code!=shaka.util.Error.Code.VIDEO_ERROR&&e.code!=shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_FAILED&&e.code!=shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW&&e.code!=shaka.util.Error.Code.TRANSMUXING_FAILED){s.jumpTo(2);break}if(shaka.util.Platform.isApple()&&e.code==shaka.util.Error.Code.VIDEO_ERROR)return s.return();return s.setCatchFinallyBlocks(3),s.yield(o.streamingEngine_.resetMediaSource(),5);case 5:t=!(r=s.yieldResult),r&&(i=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.MediaSourceRecovered),o.dispatchEvent(i)),s.leaveTryBlock(2);break;case 3:s.enterCatchBlock(),t=!0;case 2:if(!t)return s.return();e.severity===shaka.util.Error.Severity.CRITICAL&&o.restoreDisabledVariants_(!1),n=shaka.util.FakeEvent.EventName.Error,a=shaka.Player.makeEvent_(n,(new Map).set("detail",e)),o.dispatchEvent(a),a.defaultPrevented&&(e.handled=!0),s.jumpToEnd()}})},shaka.Player.prototype.addFont=function(e,t){return shaka.util.Dom.addFont(e,t)},shaka.Player.prototype.onRegionEvent_=function(e,t,r){r=void 0===r?this:r,t={schemeIdUri:t.schemeIdUri,value:t.value,startTime:t.startTime,endTime:t.endTime,id:t.id,eventElement:t.eventElement,eventNode:t.eventNode},t=(new Map).set("detail",t),r.dispatchEvent(shaka.Player.makeEvent_(e,t))},shaka.Player.prototype.onMediaQualityChange_=function(e,t,r){r=void 0!==r&&r,e={bandwidth:e.bandwidth,audioSamplingRate:e.audioSamplingRate,codecs:e.codecs,contentType:e.contentType,frameRate:e.frameRate,height:e.height,mimeType:e.mimeType,channelsCount:e.channelsCount,pixelAspectRatio:e.pixelAspectRatio,width:e.width,label:e.label,roles:e.roles,language:e.language},t=(new Map).set("mediaQuality",e).set("position",t),this.dispatchEvent(shaka.Player.makeEvent_(r?shaka.util.FakeEvent.EventName.AudioTrackChanged:shaka.util.FakeEvent.EventName.MediaQualityChanged,t))},shaka.Player.prototype.videoErrorToShakaError_=function(e){if(e=void 0===e||e,goog.asserts.assert(this.video_.error,"Video error expected, but missing!"),!this.video_.error)return e?new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.VIDEO_ERROR):null;var t=this.video_.error.code;return e||1!=t?((e=this.video_.error.msExtendedCode)&&(0>e&&(e+=0x100000000),e=e.toString(16)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.VIDEO_ERROR,t,e,this.video_.error.message)):null},shaka.Player.prototype.onVideoError_=function(e){(e=this.videoErrorToShakaError_(!1))&&this.onError_(e)},shaka.Player.prototype.onKeyStatus_=function(e){goog.asserts.assert(this.streamingEngine_,"Cannot be called in src= mode");var t=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.KeyStatusChanged);this.dispatchEvent(t);var r=Object.keys(e);0==r.length&&shaka.log.warning("Got a key status event without any key statuses, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks."),1==r.length&&""==r[0]&&(r=["00"],e={"00":e[""]}),(t=1==r.length&&"00"==r[0])&&shaka.log.warning("Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");var i=shaka.media.ManifestFilterer.restrictedStatuses,n=!1;if(goog.asserts.assert(this.drmEngine_,"drmEngine should be non-null here."),r.length){r=this.keySystem();for(var a=shaka.util.MapUtils.asMap(this.config_.drm.clearKeys),o=$jscomp.makeIterator(this.manifest_.variants),s=o.next();!s.done;s=o.next()){s=s.value;var l=shaka.util.StreamUtils.getVariantStreams(s);l=$jscomp.makeIterator(l);for(var u=l.next();!u.done;u=l.next()){var d=u.value;if(u=s.allowedByKeySystem,d.keyIds.size)if(d.drmInfos.length&&!a.size){d=$jscomp.makeIterator(d.drmInfos);for(var c=d.next();!c.done;
1c=d.next())if((c=c.value).keyIds.size&&c.keySystem==r){s.allowedByKeySystem=!0,c=$jscomp.makeIterator(c.keyIds);for(var p=c.next();!p.done;p=c.next())p=p.value,((p=e[t?"00":p])||this.drmEngine_.hasManifestInitData())&&(s.allowedByKeySystem=s.allowedByKeySystem&&!!p&&!i.includes(p))}}else for(s.allowedByKeySystem=!0,c=(d=$jscomp.makeIterator(d.keyIds)).next();!c.done;c=d.next())c=c.value,((c=e[t?"00":c])||this.drmEngine_.hasManifestInitData())&&(s.allowedByKeySystem=s.allowedByKeySystem&&!!c&&!i.includes(c));u!=s.allowedByKeySystem&&(n=!0)}}}(!n||(this.onTracksChanged_(),this.updateAbrManagerVariants_()))&&(e=this.streamingEngine_.getCurrentVariant())&&!e.allowedByKeySystem&&(shaka.log.debug("Choosing new streams after key status changed"),this.chooseVariantAndSwitch_())},shaka.Player.prototype.shouldStreamText_=function(){return this.config_.streaming.alwaysStreamText||this.isTextTrackVisible()},shaka.Player.applyPlayRange_=function(e,t,r){0<t&&(e.isLive()?shaka.log.warning("|playRangeStart| has been configured for live content. Ignoring the setting."):e.setUserSeekStart(t)),r<(t=e.getDuration())&&(e.isLive()?shaka.log.warning("|playRangeEnd| has been configured for live content. Ignoring the setting."):e.setDuration(r))},shaka.Player.prototype.delayDispatchEvent_=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return r.yield(Promise.resolve(),2);t.loadMode_!=shaka.Player.LoadMode.DESTROYED&&t.dispatchEvent(e),r.jumpToEnd()})},shaka.Player.getLanguagesFrom_=function(e){var t=new Set;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())(r=r.value).language?t.add(shaka.util.LanguageUtils.normalize(r.language)):t.add("und");return t},shaka.Player.getLanguageAndRolesFrom_=function(e){var t=new Map,r=new Map;e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;var n="und",a=[];i.language&&(n=shaka.util.LanguageUtils.normalize(i.language)),(a="variant"==i.type?i.audioRoles:i.roles)&&a.length||(a=[""]),t.has(n)||t.set(n,new Set),a=$jscomp.makeIterator(a);for(var o=a.next();!o.done;o=a.next())o=o.value,t.get(n).add(o),i.label&&(r.has(n)||r.set(n,new Map),r.get(n).set(o,i.label))}var s=[];return t.forEach(function(e,t){e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;var n=null;r.has(t)&&r.get(t).has(i)&&(n=r.get(t).get(i)),s.push({language:t,role:i,label:n})}}),s},shaka.Player.prototype.isBufferedToEndMS_=function(){if(goog.asserts.assert(this.video_,"We need a video element to get buffering information"),goog.asserts.assert(this.mediaSourceEngine_,"We need a media source engine to get buffering information"),goog.asserts.assert(this.manifest_,"We need a manifest to get buffering information"),this.isEnded()||this.mediaSourceEngine_.ended())return!0;if(this.manifest_.presentationTimeline.isLive()){var e=this.manifest_.presentationTimeline.getSegmentAvailabilityEnd(),t=shaka.media.TimeRangesUtils.bufferEnd(this.video_.buffered);if(null!=t&&t>=e)return!0}return!1},shaka.Player.prototype.isBufferedToEndSrc_=function(){if(goog.asserts.assert(this.video_,"We need a video element to get buffering information"),this.isEnded())return!0;var e=shaka.media.TimeRangesUtils.bufferEnd(this.video_.buffered);return null!=e&&e>=this.video_.duration-1},shaka.Player.prototype.createAbortLoadError_=function(){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.LOAD_INTERRUPTED)},shaka.Player.prototype.isRemotePlayback=function(){return!!this.video_&&!!this.video_.remote&&"disconnected"!=this.video_.remote.state},shaka.Player.prototype.isEnded=function(){return!this.video_||!!this.video_.ended||this.fullyLoaded_&&!this.isLive()&&this.video_.currentTime>=this.seekRange().end},goog.exportSymbol("shaka.Player",shaka.Player),goog.exportProperty(shaka.Player.prototype,"isEnded",shaka.Player.prototype.isEnded),goog.exportProperty(shaka.Player.prototype,"isRemotePlayback",shaka.Player.prototype.isRemotePlayback),goog.exportProperty(shaka.Player.prototype,"addFont",shaka.Player.prototype.addFont),goog.exportProperty(shaka.Player.prototype,"setVideoContainer",shaka.Player.prototype.setVideoContainer),goog.exportProperty(shaka.Player.prototype,"getFetchedPlaybackInfo",shaka.Player.prototype.getFetchedPlaybackInfo),goog.exportProperty(shaka.Player.prototype,"getManifestParserFactory",shaka.Player.prototype.getManifestParserFactory),goog.exportProperty(shaka.Player.prototype,"getManifest",shaka.Player.prototype.getManifest),goog.exportProperty(shaka.Player.prototype,"retryStreaming",shaka.Player.prototype.retryStreaming),goog.exportProperty(shaka.Player.prototype,"setMaxHardwareResolution",shaka.Player.prototype.setMaxHardwareResolution),goog.exportProperty(shaka.Player.prototype,"addChapter
1sTrack",shaka.Player.prototype.addChaptersTrack),goog.exportProperty(shaka.Player.prototype,"addThumbnailsTrack",shaka.Player.prototype.addThumbnailsTrack),goog.exportProperty(shaka.Player.prototype,"addTextTrackAsync",shaka.Player.prototype.addTextTrackAsync),goog.exportProperty(shaka.Player.prototype,"getStats",shaka.Player.prototype.getStats),goog.exportProperty(shaka.Player.prototype,"getBufferedInfo",shaka.Player.prototype.getBufferedInfo),goog.exportProperty(shaka.Player.prototype,"getSegmentAvailabilityDuration",shaka.Player.prototype.getSegmentAvailabilityDuration),goog.exportProperty(shaka.Player.prototype,"getPresentationStartTimeAsDate",shaka.Player.prototype.getPresentationStartTimeAsDate),goog.exportProperty(shaka.Player.prototype,"getPlayheadTimeAsDate",shaka.Player.prototype.getPlayheadTimeAsDate),goog.exportProperty(shaka.Player.prototype,"setTextTrackVisibility",shaka.Player.prototype.setTextTrackVisibility),goog.exportProperty(shaka.Player.prototype,"getChapters",shaka.Player.prototype.getChapters),goog.exportProperty(shaka.Player.prototype,"getChaptersTracks",shaka.Player.prototype.getChaptersTracks),goog.exportProperty(shaka.Player.prototype,"isTextTrackVisible",shaka.Player.prototype.isTextTrackVisible),goog.exportProperty(shaka.Player.prototype,"selectVariantsByLabel",shaka.Player.prototype.selectVariantsByLabel),goog.exportProperty(shaka.Player.prototype,"selectTextLanguage",shaka.Player.prototype.selectTextLanguage),goog.exportProperty(shaka.Player.prototype,"selectAudioLanguage",shaka.Player.prototype.selectAudioLanguage),goog.exportProperty(shaka.Player.prototype,"getTextLanguages",shaka.Player.prototype.getTextLanguages),goog.exportProperty(shaka.Player.prototype,"getAudioLanguages",shaka.Player.prototype.getAudioLanguages),goog.exportProperty(shaka.Player.prototype,"getTextLanguagesAndRoles",shaka.Player.prototype.getTextLanguagesAndRoles),goog.exportProperty(shaka.Player.prototype,"getAudioLanguagesAndRoles",shaka.Player.prototype.getAudioLanguagesAndRoles),goog.exportProperty(shaka.Player.prototype,"selectVariantTrack",shaka.Player.prototype.selectVariantTrack),goog.exportProperty(shaka.Player.prototype,"selectTextTrack",shaka.Player.prototype.selectTextTrack),goog.exportProperty(shaka.Player.prototype,"getThumbnails",shaka.Player.prototype.getThumbnails),goog.exportProperty(shaka.Player.prototype,"getAllThumbnails",shaka.Player.prototype.getAllThumbnails),goog.exportProperty(shaka.Player.prototype,"getImageTracks",shaka.Player.prototype.getImageTracks),goog.exportProperty(shaka.Player.prototype,"getTextTracks",shaka.Player.prototype.getTextTracks),goog.exportProperty(shaka.Player.prototype,"getVariantTracks",shaka.Player.prototype.getVariantTracks),goog.exportProperty(shaka.Player.prototype,"cancelTrickPlay",shaka.Player.prototype.cancelTrickPlay),goog.exportProperty(shaka.Player.prototype,"trickPlay",shaka.Player.prototype.trickPlay),goog.exportProperty(shaka.Player.prototype,"getPlaybackRate",shaka.Player.prototype.getPlaybackRate),goog.exportProperty(shaka.Player.prototype,"isBuffering",shaka.Player.prototype.isBuffering),goog.exportProperty(shaka.Player.prototype,"getKeyStatuses",shaka.Player.prototype.getKeyStatuses),goog.exportProperty(shaka.Player.prototype,"getActiveSessionsMetadata",shaka.Player.prototype.getActiveSessionsMetadata),goog.exportProperty(shaka.Player.prototype,"getExpiration",shaka.Player.prototype.getExpiration),goog.exportProperty(shaka.Player.prototype,"drmInfo",shaka.Player.prototype.drmInfo),goog.exportProperty(shaka.Player.prototype,"keySystem",shaka.Player.prototype.keySystem),goog.exportProperty(shaka.Player.prototype,"isFullyLoaded",shaka.Player.prototype.isFullyLoaded),goog.exportProperty(shaka.Player.prototype,"goToLive",shaka.Player.prototype.goToLive),goog.exportProperty(shaka.Player.prototype,"seekRange",shaka.Player.prototype.seekRange),goog.exportProperty(shaka.Player.prototype,"isAudioOnly",shaka.Player.prototype.isAudioOnly),goog.exportProperty(shaka.Player.prototype,"isInProgress",shaka.Player.prototype.isInProgress),goog.exportProperty(shaka.Player.prototype,"isLive",shaka.Player.prototype.isLive),goog.exportProperty(shaka.Player.prototype,"getAdManager",shaka.Player.prototype.getAdManager),goog.exportProperty(shaka.Player.prototype,"getAssetUri",shaka.Player.prototype.getAssetUri),goog.exportProperty(shaka.Player.prototype,"getNetworkingEngine",shaka.Player.prototype.getNetworkingEngine),goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.prototype.getMediaElement),goog.exportProperty(shaka.Player.prototype,"getManifestType",shaka.Player.prototype.getManifestType),goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.getLoadMode),goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.prototype.resetConfiguration),goog.exportProperty(shaka.Player.prototype,"getBufferFullness",shaka.Player.prototype.getBufferFullness),goog.exportProperty(shaka.Player.prototype,"getNonDefaultConfiguration",shaka.Player.prototype.getNonDefaultConfiguration),goog.exportProperty(shaka.Player.prototype,"getConfigurationForLowLatency",shaka.Player.prototype.getConfigurationForLowLatency),goog.exportProperty(shaka.Player.prototype,"getConfiguration",shaka.Player.prototype.getConfiguration),goog.exportProperty(shaka.Player.prototype,"configurationForLowLatency",shaka.Player.prototype.configurationForLowLatency),goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure),goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes),goog.exportProperty(shaka.Player.prototype,"destroyAllPreloads",shaka.Player.prototype.destroyAllPreloads),goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload),goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload),goog.exportProperty(shaka.Player.prototype,"unloadAndSavePreload",shaka.Player.prototype.unloadAndSavePreload),goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load),goog.exportProperty(shaka.Player.prototype,"updateStartTime",shaka.Player.prototype.updateStartTime),goog.exportProperty(shaka.Player.prototype,"unload",shaka.Player.prototype.unload),goog.exportProperty(shaka.Player.prototype,"detach",shaka.Player.prototype.detach),goog.exportProperty(shaka.Player.prototype,"attachCanvas",shaka.Player.prototype.attachCanvas),goog.exportProperty(shaka.Player.prototype,"attach",shaka.Player.prototype.attach),goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport),goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported),goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory),goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin),goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy),shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3},goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode),shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5,shaka.Player.version="v4.13.25-debug",goog.exportProperty(shaka.Player,"version",shaka.Player.version),shaka.Deprecate.init(shaka.Player.version),shaka.Player.supportPlugins_=new Map,shaka.Player.adManagerFactory_=null,shaka.Player.TextTrackLabel="Shaka Player TextTrack",shaka.ads={},shaka.ads.AdsStats=function(){this.loadTimes_=[],this.errors_=this.skipped_=this.playedCompletely_=this.started_=0},shaka.ads.AdsStats.prototype.addLoadTime=function(e){this.loadTimes_.push(e)},shaka.ads.AdsStats.prototype.incrementStarted=function(){this.started_++},shaka.ads.AdsStats.prototype.incrementPlayedCompletely=function(){this.playedCompletely_++},shaka.ads.AdsStats.prototype.incrementSkipped=function(){this.skipped_++},shaka.ads.AdsStats.prototype.incrementErrors=function(){this.errors_++},shaka.ads.AdsStats.prototype.getAverageLoadTime_=function(){return this.loadTimes_.length?this.loadTimes_.reduce(function(e,t){return e+t},0)/this.loadTimes_.length:0},shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,averageLoadTime:this.getAverageLoadTime_(),started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_,errors:this.errors_}},shaka.ads.ClientSideAd=function(e,t,r){var i=this;this.ad_=e,this.manager_=t,this.video_=r,this.isPaused_=!1,this.volume_=this.manager_.getVolume(),this.eventManager_=new shaka.util.EventManager,this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.PAUSED,function(){i.isPaused_=!0}),this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.RESUMED,function(){i.isPaused_=!1})},shaka.ads.ClientSideAd.prototype.needsSkipUI=function(){return!1},shaka.ads.ClientSideAd.prototype.isClientRendering=function(){return!0}
1,shaka.ads.ClientSideAd.prototype.hasCustomClick=function(){return!0},shaka.ads.ClientSideAd.prototype.isUsingAnotherMediaElement=function(){return!0},shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()},shaka.ads.ClientSideAd.prototype.getMinSuggestedDuration=function(){return this.ad_.getMinSuggestedDuration()},shaka.ads.ClientSideAd.prototype.getRemainingTime=function(){return this.manager_.getRemainingTime()},shaka.ads.ClientSideAd.prototype.isPaused=function(){return this.isPaused_},shaka.ads.ClientSideAd.prototype.isSkippable=function(){return 0<=this.ad_.getSkipTimeOffset()},shaka.ads.ClientSideAd.prototype.getTimeUntilSkippable=function(){var e=this.ad_.getSkipTimeOffset();return Math.max(e=this.getRemainingTime()-e,0)},shaka.ads.ClientSideAd.prototype.canSkipNow=function(){return this.manager_.getAdSkippableState()},shaka.ads.ClientSideAd.prototype.skip=function(){return this.manager_.skip()},shaka.ads.ClientSideAd.prototype.setPaused=function(e){this.isPaused_=e},shaka.ads.ClientSideAd.prototype.pause=function(){return this.manager_.pause()},shaka.ads.ClientSideAd.prototype.play=function(){return this.manager_.resume()},shaka.ads.ClientSideAd.prototype.getVolume=function(){return this.manager_.getVolume()},shaka.ads.ClientSideAd.prototype.setVolume=function(e){return this.video_.volume=e,this.manager_.setVolume(e)},shaka.ads.ClientSideAd.prototype.isMuted=function(){return 0==this.manager_.getVolume()},shaka.ads.ClientSideAd.prototype.isLinear=function(){return this.ad_.isLinear()},shaka.ads.ClientSideAd.prototype.resize=function(e,t){this.manager_.resize(e,t)},shaka.ads.ClientSideAd.prototype.setMuted=function(e){(this.video_.muted=e)?(this.volume_=this.getVolume(),this.manager_.setVolume(0)):this.manager_.setVolume(this.volume_)},shaka.ads.ClientSideAd.prototype.setInitialMuted=function(e){this.volume_=e,this.manager_.setVolume(0)},shaka.ads.ClientSideAd.prototype.getSequenceLength=function(){var e=this.ad_.getAdPodInfo();return null==e?1:e.getTotalAds()},shaka.ads.ClientSideAd.prototype.getPositionInSequence=function(){var e=this.ad_.getAdPodInfo();return null==e?1:e.getAdPosition()},shaka.ads.ClientSideAd.prototype.getTitle=function(){return this.ad_.getTitle()},shaka.ads.ClientSideAd.prototype.getDescription=function(){return this.ad_.getDescription()},shaka.ads.ClientSideAd.prototype.getVastMediaBitrate=function(){return this.ad_.getVastMediaBitrate()},shaka.ads.ClientSideAd.prototype.getVastMediaHeight=function(){return this.ad_.getVastMediaHeight()},shaka.ads.ClientSideAd.prototype.getVastMediaWidth=function(){return this.ad_.getVastMediaWidth()},shaka.ads.ClientSideAd.prototype.getAdId=function(){return this.ad_.getAdId()},shaka.ads.ClientSideAd.prototype.getCreativeAdId=function(){return this.ad_.getCreativeAdId()},shaka.ads.ClientSideAd.prototype.getAdvertiserName=function(){return this.ad_.getAdvertiserName()},shaka.ads.ClientSideAd.prototype.getMediaUrl=function(){return this.ad_.getMediaUrl()},shaka.ads.ClientSideAd.prototype.getTimeOffset=function(){var e=this.ad_.getAdPodInfo();return null==e?0:e.getTimeOffset()},shaka.ads.ClientSideAd.prototype.getPodIndex=function(){var e=this.ad_.getAdPodInfo();return null==e?0:e.getPodIndex()},shaka.ads.ClientSideAd.prototype.release=function(){this.manager_=this.ad_=null},goog.exportSymbol("shaka.ads.ClientSideAd",shaka.ads.ClientSideAd),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"release",shaka.ads.ClientSideAd.prototype.release),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getPodIndex",shaka.ads.ClientSideAd.prototype.getPodIndex),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getTimeOffset",shaka.ads.ClientSideAd.prototype.getTimeOffset),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getMediaUrl",shaka.ads.ClientSideAd.prototype.getMediaUrl),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getAdvertiserName",shaka.ads.ClientSideAd.prototype.getAdvertiserName),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getCreativeAdId",shaka.ads.ClientSideAd.prototype.getCreativeAdId),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getAdId",shaka.ads.ClientSideAd.prototype.getAdId),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getVastMediaWidth",shaka.ads.ClientSideAd.prototype.getVastMediaWidth),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getVastMediaHeight",shaka.ads.ClientSideAd.prototype.getVastMediaHeight),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getVastMediaBitrate",shaka.ads.ClientSideAd.prototype.getVastMediaBitrate),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getDescription",shaka.ads.ClientSideAd.prototype.getDescription),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getTitle",shaka.ads.ClientSideAd.prototype.getTitle),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getPositionInSequence",shaka.ads.ClientSideAd.prototype.getPositionInSequence),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getSequenceLength",shaka.ads.ClientSideAd.prototype.getSequenceLength),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"setMuted",shaka.ads.ClientSideAd.prototype.setMuted),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"resize",shaka.ads.ClientSideAd.prototype.resize),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isLinear",shaka.ads.ClientSideAd.prototype.isLinear),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isMuted",
1shaka.ads.ClientSideAd.prototype.isMuted),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"setVolume",shaka.ads.ClientSideAd.prototype.setVolume),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getVolume",shaka.ads.ClientSideAd.prototype.getVolume),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"play",shaka.ads.ClientSideAd.prototype.play),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"pause",shaka.ads.ClientSideAd.prototype.pause),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"skip",shaka.ads.ClientSideAd.prototype.skip),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"canSkipNow",shaka.ads.ClientSideAd.prototype.canSkipNow),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getTimeUntilSkippable",shaka.ads.ClientSideAd.prototype.getTimeUntilSkippable),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isSkippable",shaka.ads.ClientSideAd.prototype.isSkippable),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isPaused",shaka.ads.ClientSideAd.prototype.isPaused),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getRemainingTime",shaka.ads.ClientSideAd.prototype.getRemainingTime),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getMinSuggestedDuration",shaka.ads.ClientSideAd.prototype.getMinSuggestedDuration),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"getDuration",shaka.ads.ClientSideAd.prototype.getDuration),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isUsingAnotherMediaElement",shaka.ads.ClientSideAd.prototype.isUsingAnotherMediaElement),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"hasCustomClick",shaka.ads.ClientSideAd.prototype.hasCustomClick),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"isClientRendering",shaka.ads.ClientSideAd.prototype.isClientRendering),goog.exportProperty(shaka.ads.ClientSideAd.prototype,"needsSkipUI",shaka.ads.ClientSideAd.prototype.needsSkipUI),shaka.ads.Utils=function(){},shaka.ads.Utils.parseVastToInterstitials=function(e,t){var r=shaka.util.TXml,i=[];e=$jscomp.makeIterator(r.findChildren(e,"Ad"));for(var n=e.next();!n.done;n=e.next())if((n=r.findChild(n.value,"InLine"))&&(n=r.findChild(n,"Creatives"))){n=$jscomp.makeIterator(r.findChildren(n,"Creative"));for(var a=n.next();!a.done;a=n.next()){a=a.value;var o=r.findChild(a,"Linear");if(o&&shaka.ads.Utils.processLinearAd_(i,t,o),a=r.findChild(a,"NonLinearAds"))for(a=r.findChildren(a,"NonLinear"),o=(a=$jscomp.makeIterator(a)).next();!o.done;o=a.next())shaka.ads.Utils.processNonLinearAd_(i,t,o.value)}}return i},shaka.ads.Utils.processLinearAd_=function(e,t,r){var i=shaka.util.TXml,n=0;null!=t&&(n=t);var a=null;if(r.attributes.skipoffset&&isNaN(a=shaka.util.TextParser.parseTime(r.attributes.skipoffset))&&(a=null),r=i.findChild(r,"MediaFiles")){var o=i.findChildren(r,"MediaFile");for(r=o,(o=o.filter(function(e){return"streaming"==e.attributes.delivery})).length&&(r=o),r=r.sort(function(e,t){return e=parseInt(e.attributes.height,10)||0,(parseInt(t.attributes.height,10)||0)-e}),o=(r=$jscomp.makeIterator(r)).next();!o.done;o=r.next())if(!(o=o.value).attributes.apiFramework){var s=i.getContents(o);if(s){e.push({id:null,groupId:null,startTime:n,endTime:null,uri:s,mimeType:o.attributes.type||null,isSkippable:null!=a,skipOffset:a,skipFor:null,canJump:!1,resumeOffset:0,playoutLimit:null,once:!0,pre:null==t,post:1/0==t,timelineRange:!1,loop:!1,overlay:null});break}}}},shaka.ads.Utils.processNonLinearAd_=function(e,t,r){var i=shaka.util.TXml,n=i.findChild(r,"StaticResource");if(n)var a=n.attributes.creativeType;else{if(!(n=i.findChild(r,"HTMLResource")))return;a="text/html"}if(n=i.getContents(n)){"text/html"===a&&(n="data:text/html;charset=UTF-8,"+encodeURIComponent(n));var o=i.parseAttr(r,"width",i.parseInt)||i.parseAttr(r,"expandedWidth",i.parseInt);if(i=i.parseAttr(r,"height",i.parseInt)||i.parseAttr(r,"expandedHeight",i.parseInt),o||i){var s=null;(r=r.attributes.minSuggestedDuration)&&(s=shaka.util.TextParser.parseTime(r)),r=0,null!=t&&(r=t),e.push({id:null,groupId:null,startTime:r,endTime:null,uri:n,mimeType:a,isSkippable:!1,skipOffset:null,skipFor:null,canJump:!1,resumeOffset:0,playoutLimit:s,once:!0,pre:null==t,post:1/0==t,timelineRange:!1,loop:!1,overlay:{viewport:{x:0,y:0},topLeft:{x:0,y:0},size:{x:o||0,y:i||0}}})}}},shaka.ads.Utils.parseVMAP=function(e){var t=shaka.util.TXml,r=[];e=$jscomp.makeIterator(t.findChildren(e,"vmap:AdBreak"));for(var i=e.next();!i.done;i=e.next()){var n=i.value;(i=n.attributes.timeOffset)&&(i="start"==i?0:"end"==i?1/0:shaka.util.TextParser.parseTime(i),(n=t.findChild(n,"vmap:AdSource"))&&(n=t.findChild(n,"vmap:AdTagURI"))&&(n=t.getTextContents(n))&&r.push({time:i,uri:n}))}return r},goog.exportSymbol("shaka.ads.Utils",shaka.ads.Utils),shaka.ads.Utils.ADS_LOADED="ads-loaded",goog.exportProperty(shaka.ads.Utils,"ADS_LOADED",shaka.ads.Utils.ADS_LOADED),shaka.ads.Utils.AD_STARTED="ad-started",goog.exportProperty(shaka.ads.Utils,"AD_STARTED",shaka.ads.Utils.AD_STARTED),shaka.ads.Utils.AD_FIRST_QUARTILE="ad-first-quartile",goog.exportProperty(shaka.ads.Utils,"AD_FIRST_QUARTILE",shaka.ads.Utils.AD_FIRST_QUARTILE),shaka.ads.Utils.AD_MIDPOINT="ad-midpoint",goog.exportProperty(shaka.ads.Utils,"AD_MIDPOINT",shaka.ads.Utils.AD_MIDPOINT),shaka.ads.Utils.AD_THIRD_QUARTILE="ad-third-quartile",goog.exportProperty(shaka.ads.Utils,"AD_THIRD_QUARTILE",shaka.ads.Utils.AD_THIRD_QUARTILE),shaka.ads.Utils.AD_COMPLETE="ad-complete",goog.exportProperty(shaka.ads.Utils,"AD_COMPLETE",shaka.ads.Utils.AD_COMPLETE),shaka.ads.Utils.AD_STOPPED="ad-stopped",goog.exportProperty(shaka.ads.Utils,"AD_STOPPED",shaka.ads.Utils.AD_STOPPED),shaka.ads.Utils.AD_SKIPPED="ad-skipped",goog.exportProperty(shaka.ads.Utils,"AD_SKIPPED",shaka.ads.Utils.AD_SKIPPED),shaka.ads.Utils.AD_VOLUME_CHANGED="ad-volume-changed",goog.exportProperty(shaka.ads.Utils,"AD_VOLUME_CHANGED",shaka.ads.Utils.AD_VOLUME_CHANGED),shaka.ads.Utils.AD_MUTED="ad-muted",goog.exportProperty(shaka.ads.Utils,"AD_MUTED",shaka.ads.Utils.AD_MUTED),shaka.ads.Utils.AD_PAUSED="ad-paused",goog.exportProperty(shaka.ads.Utils,"AD_PAUSED",shaka.ads.Utils.AD_PAUSED),shaka.ads.Utils.AD_RESUMED="ad-resumed",goog.exportProperty(shaka.ads.Utils,"AD_RESUMED",shaka.ads.Utils.AD_RESUMED),shaka.ads.Utils.AD_SKIP_STATE_CHANGED="ad-skip-state-changed",goog.exportProperty(shaka.ads.Utils,"AD_SKIP_STATE_CHANGED",shaka.ads.Utils.AD_SKIP_STATE_CHANGED),shaka.ads.Utils.CUEPOINTS_CHANGED="ad-cue-points-changed",goog.exportProperty(shaka.ads.Utils,"CUEPOINTS_CHANGED",shaka.ads.Utils.CUEPOINTS_CHANGED),shaka.ads.Utils.IMA_AD_MANAGER_LOADED="ima-ad-manager-loaded",goog.exportProperty(shaka.ads.Utils,"IMA_AD_MANAGER_LOADED",shaka.ads.Utils.IMA_AD_MANAGER_LOADED),shaka.ads.Utils.IMA_STREAM_MANAGER_LOADED="ima-stream-manager-loaded",goog.exportProperty(shaka.ads.Utils,"IMA_STREAM_MANAGER_LOADED",shaka.ads.Utils.IMA_STREAM_MANAGER_LOADED),shaka.ads.Utils.AD_CLICKED="ad-clicked",goog.exportProperty(shaka.ads.Utils,"AD_CLICKED",shaka.ads.Utils.AD_CLICKED),shaka.ads.Utils.AD_PROGRESS="ad-progress",goog.exportProperty(shaka.ads.Utils,"AD_PROGRESS",shaka.ads.Utils.AD_PROGRESS),shaka.ads.Utils.AD_BUFFERING="ad-buffering",goog.exportProperty(shaka.ads.Utils,"AD_BUFFERING",shaka.ads.Utils.AD_BUFFERING),shaka.ads.Utils.AD_IMPRESSION="ad-impression",goog.exportProperty(shaka.ads.Utils,"AD_IMPRESSION",shaka.ads.Utils.AD_IMPRESSION),shaka.ads.Utils.AD_DURATION_CHANGED="ad-duration-changed",goog.exportProperty(shaka.ads.Utils,"AD_DURATION_CHANGED",shaka.ads.Utils.AD_DURATION_CHANGED),shaka.ads.Utils.AD_CLOSED="ad-closed",goog.exportProperty(shaka.ads.Utils,"AD_CLOSED",shaka.ads.Utils.AD_CLOSED),shaka.ads.Utils.AD_LOADED="ad-loaded",goog.exportProperty(shaka.ads.Utils,"AD_LOADED",shaka.ads.Utils.AD_LOADED),shaka.ads.Utils.ALL_ADS_COMPLETED="all-ads-completed",goog.exportProperty(shaka.ads.Utils,"ALL_ADS_COMPLETED",shaka.ads.Utils.ALL_ADS_COMPLETED),shaka.ads.Utils.AD_LINEAR_CHANGED="ad-linear-changed",goog.exportProperty(shaka.ads.Utils,"AD_LINEAR_CHANGED",shaka.ads.Utils.AD_LINEAR_CHANGED),shaka.ads.Utils.AD_METADATA="ad-metadata",goog.exportProperty(shaka.ads.Utils,"AD_METADATA",shaka.ads.Utils.AD_METADATA),shaka.ads.Utils.AD_RECOVERABLE_ERROR="ad-recoverable-error",goog.exportProperty(shaka.ads.Utils,"AD_RECOVERABLE_ERROR",shaka.ads.Utils.AD_RECOVERABLE_ERROR),shaka.ads.Utils.AD_ERROR="ad-error",goog.exportProperty(shaka.ads.Utils,"AD_ERROR",shaka.ads.Utils.AD_ERROR),shaka.ads.Utils.AD_BREAK_READY="ad-break-ready",goog.exportProperty(shaka.ads.Utils,"AD_BREAK_READY",shaka.ads.Utils.AD_BREAK_READY),shaka.ads.Utils.AD_INTERACTION="ad-interaction",goog.exportProperty(shaka.ads.Utils,"AD_INTERACTION",shaka.ads.Utils.AD_INTERACTION),shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED="ad-content-pause-requested",goog.exportProperty(shaka.ads.Utils,"AD_CONTENT_PAUSE_REQUESTED",shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED),shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED="ad-content-resume-requested",goog.exportProperty(shaka.ads.Utils,"AD_CONTENT_RESUME_REQUESTED",shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED),shaka.ads.Utils.AD_CONTENT_ATTACH_REQUESTED="ad-content-attach-requested",goog.exportProperty(shaka.ads.Utils,"AD_CONTENT_ATTACH_REQUESTED",shaka.ads.Utils.AD_CONTENT_ATTACH_REQUESTED),shaka.ads.ClientSideAdManager=function(e,t,r,i,n){var a=this;this.adContainer_=e,this.video_=t,this.videoPlayed_=!1,this.resizeObserver_=this.config_=null,this.requestAdsStartTime_=NaN,this.onEvent_=n,this.ad_=null,this.eventManager_=new shaka.util.EventManager,google.ima.settings.setLocale(r),google.ima.settings.setDisableCustomPlaybackForIOS10Plus(!0),this.adDisplayContainer_=new google.ima.AdDisplayContainer(this.adContainer_,this.video_),this.adDisplayContainer_.initialize(),this.adsLoader_=new google.ima.AdsLoader(this.adDisplayContainer_),this.adsLoader_.getSettings().setPlayerType("shaka-player"),this.adsLoader_.getSettings().setPlayerVersion(shaka.Player.version),this.imaAdsManager_=null,this.adsRenderingSettings_=i||new google.ima.AdsRenderingSettings,this.eventManager_.listen(this.adsLoader_,google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,function(e){a.onAdsManagerLoaded_(e)}),this.eventManager_.listen(this.adsLoader_,google.ima.AdErrorEvent.Type.AD_ERROR,function(e){a.onAdError_(e)}),this.eventManager_.listen(this.video_,"ended",function(){a.adsLoader_.contentComplete()}),this.eventManager_.listenOnce(this.video_,"play",function(){a.videoPlayed_=!0})},shaka.ads.ClientSideAdManager.prototype.configure=function(e){this.config_=e},shaka.ads.ClientSideAdManager.prototype.requestAds=function(e){goog.asserts.assert(e.adTagUrl||e.adsResponse,"The ad tag needs to be set up before requesting ads, or adsResponse must be filled."),this.imaAdsManager_&&this.imaAdsManager_.destroy(),this.adsLoader_&&this.adsLoader_.contentComplete(),this.requestAdsStartTime_=Date.now()/1e3,this.adsLoader_.requestAds(e)},shaka.ads.ClientSideAdManager.prototype.updateAdsRenderingSettings=function(e){this.adsRenderingSettings_=e,this.imaAdsManager_&&this.imaAdsManager_.updateAdsRenderingSettings(this.adsRenderingSettings_)},shaka.ads.ClientSideAdManager.prototype.stop=function(){this.imaAdsManager_&&this.imaAdsManager_.stop(),this.adContainer_&&shaka.util.Dom.removeAllChildren(this.adContainer_)},shaka.ads.ClientSideAdManager.prototype.release=function(){this.stop(),this.resizeObserver_&&this.resizeObserver_.disconnect(),this.eventManager_&&this.eventManager_.release(),this.imaAdsManager_&&this.imaAdsManager_.destroy(),this.adsLoader_.destroy(),this.adDisplayContainer_.destroy()},shaka.ads.ClientSideAdManager.prototype.onAdError_=function(e){shaka.log.warning("There was an ad error from the IMA SDK: "+e.getError()),shaka.log.warning("Resuming playback."),e=(new Map).set("originalEvent",e),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_ERROR,e)),this.onAdComplete_(null),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",[])))},shaka.ads.ClientSideAdManager.prototype.onAdsManagerLoaded_=function(e){var t=this;goog.asserts.assert(null!=this.video_,"Video should not be null!");var r=Date.now()/1e3-this.requestAdsStartTime_;if(this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",r))),this.config_.customPlayheadTracker){var i={currentTime:this.video_.currentTime};this.imaAdsManager_=e.getAdsManager(i,this.adsRenderingSettings_),this.video_.muted?this.imaAdsManager_.setVolume(0):this.imaAdsManager_.setVolume(this.video_.volume),this.eventManager_.listen(this.video_,"timeupdate",function(){t.video_.duration&&(i.currentTime=t.video_.currentTime)}),this.eventManager_.listen(this.video_,"volumechange",function(){t.ad_&&(t.ad_.setVolume(t.video_.volume),t.video_.muted&&t.ad_.setMuted(!0))})}else this.imaAdsManager_=e.getAdsManager(this.video_,this.adsRenderingSettings_);if(this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.IMA_AD_MANAGER_LOADED,(new Map).set("imaAdManager",this.imaAdsManager_))),(r=this.imaAdsManager_.getCuePoints()).length){e=[],r=$jscomp.makeIterator(r);for(var n=r.next();!n.done;n=r.next())e.push({start:n.value,end:null});this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",e)))}this.addImaEventListeners_();try{this.imaAdsManager_.init(this.video_.offsetWidth,this.video_.offsetHeight),this.eventManager_.listen(this.video_,"loadeddata",function(){t.imaAdsManager_.resize(t.video_.offsetWidth,t.video_.offsetHeight)}),"ResizeObserver"in window?(this.resizeObserver_=new ResizeObserver(function(){t.imaAdsManager_.resize(t.video_.offsetWidth,t.video_.offsetHeight)}),this.resizeObserver_.observe(this.video_)):this.eventManager_.listen(document,"fullscreenchange",function(){t.imaAdsManager_.resize(t.video_.offsetWidth,t.video_.offsetHeight)}),this.videoPlayed_||this.config_.skipPlayDetection?this.imaAdsManager_.start():this.eventManager_.listenOnce(this.video_,"play",function(){t.videoPlayed_=!0,t.imaAdsManager_.start()})}catch(e){this.onAdComplete_(null)}},shaka.ads.ClientSideAdManager.prototype.addImaEventListeners_=function(){var e=this,t=function(t,r){t=(new Map).set("originalEvent",t),e.onEvent_(new shaka.util.FakeEvent(r,t))};this.eventManager_.listen(this.imaAdsManager_,google.ima.AdErrorEvent.Type.AD_ERROR,function(t){e.onAdError_(t)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,function(t){e.onAdStart_(t)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.STARTED,function(t){e.onAdStart_(t)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.FIRST_QUARTILE,function(e){t(e,shaka.ads.Utils.AD_FIRST_QUARTILE)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.MIDPOINT,function(e){t(e,shaka.ads.Utils.AD_MIDPOINT)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.THIRD_QUARTILE,function(e){t(e,shaka.ads.Utils.AD_THIRD_QUARTILE)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.COMPLETE,function(e){t(e,shaka.ads.Utils.AD_COMPLETE)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,function(t){e.onAdComplete_(t)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,function(t){e.onAdComplete_(t)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.SKIPPED,function(e){t(e,shaka.ads.Utils.AD_SKIPPED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.VOLUME_CHANGED,function(e){t(e,shaka.ads.Utils.AD_VOLUME_CHANGED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.VOLUME_MUTED,function(e){t(e,shaka.ads.Utils.AD_MUTED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.PAUSED,function(r){e.ad_&&(e.ad_.setPaused(!0),t(r,shaka.ads.Utils.AD_PAUSED))}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.RESUMED,function(r){e.ad_&&(e.ad_.setPaused(!1),t(r,shaka.ads.Utils.AD_RESUMED))}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,function(r){e.ad_&&t(r,shaka.ads.Utils.AD_SKIP_STATE_CHANGED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.CLICK,function(e){t(e,shaka.ads.Utils.AD_CLICKED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.AD_PROGRESS,function(e){t(e,shaka.ads.Utils.AD_PROGR
1ESS)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.AD_BUFFERING,function(e){t(e,shaka.ads.Utils.AD_BUFFERING)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.IMPRESSION,function(e){t(e,shaka.ads.Utils.AD_IMPRESSION)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.DURATION_CHANGE,function(e){t(e,shaka.ads.Utils.AD_DURATION_CHANGED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.USER_CLOSE,function(e){t(e,shaka.ads.Utils.AD_CLOSED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.LOADED,function(e){t(e,shaka.ads.Utils.AD_LOADED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,function(e){t(e,shaka.ads.Utils.ALL_ADS_COMPLETED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.LINEAR_CHANGED,function(e){t(e,shaka.ads.Utils.AD_LINEAR_CHANGED)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.AD_METADATA,function(e){t(e,shaka.ads.Utils.AD_METADATA)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.LOG,function(e){t(e,shaka.ads.Utils.AD_RECOVERABLE_ERROR)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.AD_BREAK_READY,function(e){t(e,shaka.ads.Utils.AD_BREAK_READY)}),this.eventManager_.listen(this.imaAdsManager_,google.ima.AdEvent.Type.INTERACTION,function(e){t(e,shaka.ads.Utils.AD_INTERACTION)})},shaka.ads.ClientSideAdManager.prototype.onAdStart_=function(e){goog.asserts.assert(this.imaAdsManager_,"Should have an ads manager at this point!");var t=e.getAd();t?(this.ad_=new shaka.ads.ClientSideAd(t,this.imaAdsManager_,this.video_),e.type!=google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED||this.config_.supportsMultipleMediaElements||this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED)),e=(new Map).set("ad",this.ad_).set("sdkAdObject",t).set("originalEvent",e),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,e)),this.ad_.isLinear()&&(this.adContainer_.setAttribute("ad-active","true"),this.config_.customPlayheadTracker||this.video_.pause(),this.video_.muted?this.ad_.setInitialMuted(this.video_.volume):this.ad_.setVolume(this.video_.volume))):shaka.log.alwaysWarn("The IMA SDK fired a "+e.type+" event with no associated ad. Unable to play ad!")},shaka.ads.ClientSideAdManager.prototype.onAdComplete_=function(e){e&&e.type==google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED&&!this.config_.supportsMultipleMediaElements&&this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED)),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED,(new Map).set("originalEvent",e))),this.ad_&&this.ad_.isLinear()&&(this.adContainer_.removeAttribute("ad-active"),this.config_.customPlayheadTracker||this.video_.ended||this.video_.play())},shaka.ads.InterstitialAd=function(e,t,r,i,n,a){this.video_=e,this.interstitial_=t,this.skipOffset_=(this.isSkippable_=t.isSkippable)?t.skipOffset||0:t.skipOffset,this.skipFor_=t.skipFor,this.onSkip_=r,this.sequenceLength_=i,this.adPosition_=n,this.isUsingAnotherMediaElement_=a,this.overlay_=t.overlay},shaka.ads.InterstitialAd.prototype.needsSkipUI=function(){return!0},shaka.ads.InterstitialAd.prototype.isClientRendering=function(){return!0},shaka.ads.InterstitialAd.prototype.hasCustomClick=function(){return!1},shaka.ads.InterstitialAd.prototype.isUsingAnotherMediaElement=function(){return this.isUsingAnotherMediaElement_},shaka.ads.InterstitialAd.prototype.getDuration=function(){var e=this.video_.duration;return isNaN(e)?-1:e},shaka.ads.InterstitialAd.prototype.getMinSuggestedDuration=function(){return this.getDuration()},shaka.ads.InterstitialAd.prototype.getRemainingTime=function(){var e=this.video_.duration;return isNaN(e)?-1:e-this.video_.currentTime},shaka.ads.InterstitialAd.prototype.isPaused=function(){return this.video_.paused},shaka.ads.InterstitialAd.prototype.isSkippable=function(){return this.isSkippable_&&null!=this.skipFor_?this.getDuration()-this.getRemainingTime()<this.skipOffset_+this.skipFor_:this.isSkippable_},shaka.ads.InterstitialAd.prototype.getTimeUntilSkippable=function(){return this.isSkippable()?Math.max(this.getRemainingTime()+this.skipOffset_-this.getDuration(),0):Math.max(this.getRemainingTime(),0)},shaka.ads.InterstitialAd.prototype.canSkipNow=function(){return this.isSkippable_&&0==this.getTimeUntilSkippable()},shaka.ads.InterstitialAd.prototype.skip=function(){this.canSkipNow()&&this.onSkip_()},shaka.ads.InterstitialAd.prototype.pause=function(){return this.video_.pause()},shaka.ads.InterstitialAd.prototype.play=function(){return this.video_.play()},shaka.ads.InterstitialAd.prototype.getVolume=function(){return this.video_.volume},shaka.ads.InterstitialAd.prototype.setVolume=function(e){this.video_.volume=e},shaka.ads.InterstitialAd.prototype.isMuted=function(){return this.video_.muted},shaka.ads.InterstitialAd.prototype.isLinear=function(){return null==this.overlay_},shaka.ads.InterstitialAd.prototype.resize=function(e,t){},shaka.ads.InterstitialAd.prototype.setMuted=function(e){this.video_.muted=e},shaka.ads.InterstitialAd.prototype.getSequenceLength=function(){return this.sequenceLength_},shaka.ads.InterstitialAd.prototype.getPositionInSequence=function(){return this.adPosition_},shaka.ads.InterstitialAd.prototype.getTitle=function(){return""},shaka.ads.InterstitialAd.prototype.getDescription=function(){return""},shaka.ads.InterstitialAd.prototype.getVastMediaBitrate=function(){return 0},shaka.ads.InterstitialAd.prototype.getVastMediaHeight=function(){return 0},shaka.ads.InterstitialAd.prototype.getVastMediaWidth=function(){return 0},shaka.ads.InterstitialAd.prototype.getAdId=function(){return this.interstitial_.id||""},shaka.ads.InterstitialAd.prototype.getCreativeAdId=function(){return""},shaka.ads.InterstitialAd.prototype.getAdvertiserName=function(){return""},shaka.ads.InterstitialAd.prototype.getMediaUrl=function(){return this.interstitial_.uri},shaka.ads.InterstitialAd.prototype.getTimeOffset=function(){return 0},shaka.ads.InterstitialAd.prototype.getPodIndex=function(){return 0},shaka.ads.InterstitialAd.prototype.release=function(){this.video_=null},goog.exportSymbol("shaka.ads.InterstitialAd",shaka.ads.InterstitialAd),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"release",shaka.ads.InterstitialAd.prototype.release),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getPodIndex",shaka.ads.InterstitialAd.prototype.getPodIndex),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getTimeOffset",shaka.ads.InterstitialAd.prototype.getTimeOffset),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getMediaUrl",shaka.ads.InterstitialAd.prototype.getMediaUrl),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getAdvertiserName",shaka.ads.InterstitialAd.prototype.getAdvertiserName),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getCreativeAdId",shaka.ads.InterstitialAd.prototype.getCreativeAdId),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getAdId",shaka.ads.InterstitialAd.prototype.getAdId),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getVastMediaWidth",shaka.ads.InterstitialAd.prototype.getVastMediaWidth),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getVastMediaHeight",shaka.ads.InterstitialAd.prototype.getVastMediaHeight),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getVastMediaBitrate",shaka.ads.InterstitialAd.prototype.getVastMediaBitrate),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getDescription",shaka.ads.InterstitialAd.prototype.getDescription),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getTitle",shaka.ads.InterstitialAd.prototype.getTitle),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getPositionInSequence",shaka.ads.InterstitialAd.prototype.getPositionInSequence),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getSequenceLength",shaka.ads.InterstitialAd.prototype.getSequenceLength),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"setMuted",shaka.ads.InterstitialAd.prototype.setMuted),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"resize",shaka.ads.InterstitialAd.prototype.resize),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isLinear",shaka.ads.InterstitialAd.prototype.isLinear),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isMuted",
1shaka.ads.InterstitialAd.prototype.isMuted),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"setVolume",shaka.ads.InterstitialAd.prototype.setVolume),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getVolume",shaka.ads.InterstitialAd.prototype.getVolume),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"play",shaka.ads.InterstitialAd.prototype.play),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"pause",shaka.ads.InterstitialAd.prototype.pause),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"skip",shaka.ads.InterstitialAd.prototype.skip),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"canSkipNow",shaka.ads.InterstitialAd.prototype.canSkipNow),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getTimeUntilSkippable",shaka.ads.InterstitialAd.prototype.getTimeUntilSkippable),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isSkippable",shaka.ads.InterstitialAd.prototype.isSkippable),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isPaused",shaka.ads.InterstitialAd.prototype.isPaused),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getRemainingTime",shaka.ads.InterstitialAd.prototype.getRemainingTime),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getMinSuggestedDuration",shaka.ads.InterstitialAd.prototype.getMinSuggestedDuration),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getDuration",shaka.ads.InterstitialAd.prototype.getDuration),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isUsingAnotherMediaElement",shaka.ads.InterstitialAd.prototype.isUsingAnotherMediaElement),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"hasCustomClick",shaka.ads.InterstitialAd.prototype.hasCustomClick),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isClientRendering",shaka.ads.InterstitialAd.prototype.isClientRendering),goog.exportProperty(shaka.ads.InterstitialAd.prototype,"needsSkipUI",shaka.ads.InterstitialAd.prototype.needsSkipUI),shaka.ads.InterstitialStaticAd=function(e,t,r){this.interstitial_=e,this.sequenceLength_=t,this.adPosition_=r,this.isLinear_=null==e.overlay},shaka.ads.InterstitialStaticAd.prototype.needsSkipUI=function(){return!0},shaka.ads.InterstitialStaticAd.prototype.isClientRendering=function(){return!0},shaka.ads.InterstitialStaticAd.prototype.hasCustomClick=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.isUsingAnotherMediaElement=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.getDuration=function(){return -1},shaka.ads.InterstitialStaticAd.prototype.getMinSuggestedDuration=function(){return this.getDuration()},shaka.ads.InterstitialStaticAd.prototype.getRemainingTime=function(){return -1},shaka.ads.InterstitialStaticAd.prototype.isPaused=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.isSkippable=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.getTimeUntilSkippable=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.canSkipNow=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.skip=function(){},shaka.ads.InterstitialStaticAd.prototype.pause=function(){},shaka.ads.InterstitialStaticAd.prototype.play=function(){},shaka.ads.InterstitialStaticAd.prototype.getVolume=function(){return 1},shaka.ads.InterstitialStaticAd.prototype.setVolume=function(e){},shaka.ads.InterstitialStaticAd.prototype.isMuted=function(){return!1},shaka.ads.InterstitialStaticAd.prototype.isLinear=function(){return this.isLinear_},shaka.ads.InterstitialStaticAd.prototype.resize=function(e,t){},shaka.ads.InterstitialStaticAd.prototype.setMuted=function(e){},shaka.ads.InterstitialStaticAd.prototype.getSequenceLength=function(){return this.sequenceLength_},shaka.ads.InterstitialStaticAd.prototype.getPositionInSequence=function(){return this.adPosition_},shaka.ads.InterstitialStaticAd.prototype.getTitle=function(){return""},shaka.ads.InterstitialStaticAd.prototype.getDescription=function(){return""},shaka.ads.InterstitialStaticAd.prototype.getVastMediaBitrate=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.getVastMediaHeight=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.getVastMediaWidth=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.getAdId=function(){return this.interstitial_.id||""},shaka.ads.InterstitialStaticAd.prototype.getCreativeAdId=function(){return""},shaka.ads.InterstitialStaticAd.prototype.getAdvertiserName=function(){return""},shaka.ads.InterstitialStaticAd.prototype.getMediaUrl=function(){return this.interstitial_.uri},shaka.ads.InterstitialStaticAd.prototype.getTimeOffset=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.getPodIndex=function(){return 0},shaka.ads.InterstitialStaticAd.prototype.release=function(){},goog.exportSymbol("shaka.ads.InterstitialStaticAd",shaka.ads.InterstitialStaticAd),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"release",shaka.ads.InterstitialStaticAd.prototype.release),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getPodIndex",shaka.ads.InterstitialStaticAd.prototype.getPodIndex),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getTimeOffset",shaka.ads.InterstitialStaticAd.prototype.getTimeOffset),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getMediaUrl",shaka.ads.InterstitialStaticAd.prototype.getMediaUrl),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getAdvertiserName",shaka.ads.InterstitialStaticAd.prototype.getAdvertiserName),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getCreativeAdId",shaka.ads.InterstitialStaticAd.prototype.getCreativeAdId),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getAdId",shaka.ads.InterstitialStaticAd.prototype.getAdId),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getVastMediaWidth",shaka.ads.InterstitialStaticAd.prototype.getVastMediaWidth),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getVastMediaHeight",shaka.ads.InterstitialStaticAd.prototype.getVastMediaHeight),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getVastMediaBitrate",shaka.ads.InterstitialStaticAd.prototype.getVastMediaBitrate),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getDescription",shaka.ads.InterstitialStaticAd.prototype.getDescription),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getTitle",shaka.ads.InterstitialStaticAd.prototype.getTitle),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getPositionInSequence",shaka.ads.InterstitialStaticAd.prototype.getPositionInSequence),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getSequenceLength",shaka.ads.InterstitialStaticAd.prototype.getSequenceLength),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"setMuted",shaka.ads.InterstitialStaticAd.prototype.setMuted),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"resize",shaka.ads.InterstitialStaticAd.prototype.resize),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isLinear",shaka.ads.InterstitialStaticAd.prototype.isLinear),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isMuted",
1shaka.ads.InterstitialStaticAd.prototype.isMuted),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"setVolume",shaka.ads.InterstitialStaticAd.prototype.setVolume),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getVolume",shaka.ads.InterstitialStaticAd.prototype.getVolume),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"play",shaka.ads.InterstitialStaticAd.prototype.play),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"pause",shaka.ads.InterstitialStaticAd.prototype.pause),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"skip",shaka.ads.InterstitialStaticAd.prototype.skip),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"canSkipNow",shaka.ads.InterstitialStaticAd.prototype.canSkipNow),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getTimeUntilSkippable",shaka.ads.InterstitialStaticAd.prototype.getTimeUntilSkippable),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isSkippable",shaka.ads.InterstitialStaticAd.prototype.isSkippable),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isPaused",shaka.ads.InterstitialStaticAd.prototype.isPaused),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getRemainingTime",shaka.ads.InterstitialStaticAd.prototype.getRemainingTime),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getMinSuggestedDuration",shaka.ads.InterstitialStaticAd.prototype.getMinSuggestedDuration),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"getDuration",shaka.ads.InterstitialStaticAd.prototype.getDuration),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isUsingAnotherMediaElement",shaka.ads.InterstitialStaticAd.prototype.isUsingAnotherMediaElement),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"hasCustomClick",shaka.ads.InterstitialStaticAd.prototype.hasCustomClick),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"isClientRendering",shaka.ads.InterstitialStaticAd.prototype.isClientRendering),goog.exportProperty(shaka.ads.InterstitialStaticAd.prototype,"needsSkipUI",shaka.ads.InterstitialStaticAd.prototype.needsSkipUI),shaka.ads.InterstitialAdManager=function(e,t,r,i){var n=this;this.config_=null,this.adContainer_=e,this.basePlayer_=t,this.baseVideo_=r,this.adVideo_=null,this.usingBaseVideo_=!0,this.video_=this.baseVideo_,this.onEvent_=i,this.interstitialIds_=new Set,this.interstitials_=new Set,this.preloadManagerInterstitials_=new Map,this.player_=new shaka.Player,this.updatePlayerConfig_(),this.eventManager_=new shaka.util.EventManager,this.adEventManager_=new shaka.util.EventManager,this.playingAd_=!1,this.lastOnSkip_=this.playoutLimitTimer_=this.lastPlayedAd_=this.lastTime_=null,this.eventManager_.listen(this.baseVideo_,"timeupdate",function(){if(!(n.playingAd_||n.lastTime_||n.basePlayer_.isRemotePlayback())){n.lastTime_=n.baseVideo_.currentTime;var e=n.getCurrentInterstitial_(!0);e&&n.setupAd_(e,1,1,Date.now())}});var a=function(){if(!n.playingAd_&&n.lastTime_&&!n.basePlayer_.isRemotePlayback()){n.lastTime_=n.baseVideo_.currentTime,n.lastPlayedAd_&&!n.lastPlayedAd_.pre&&!n.lastPlayedAd_.post&&n.lastTime_<n.lastPlayedAd_.startTime&&(n.lastPlayedAd_=null);var e=n.getCurrentInterstitial_();e&&n.setupAd_(e,1,1,Date.now())}};if(this.eventManager_.listen(this.baseVideo_,"ended",function(){a()}),this.timeUpdateTimer_=new shaka.util.Timer(a),"requestVideoFrameCallback"in this.baseVideo_&&!shaka.util.Platform.isSmartTV()){var o=this.baseVideo_,s=function(){a(),o.requestVideoFrameCallback(s)};o.requestVideoFrameCallback(s)}else this.timeUpdateTimer_.tickEvery(.025);this.pollTimer_=new shaka.util.Timer(function(){var e,t,r,i,a,o,s,l,u,d,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:if(!n.interstitials_.size||null==n.lastTime_){p.jumpTo(0);break}if((e=n.basePlayer_.getLoadMode())==shaka.Player.LoadMode.DESTROYED||e==shaka.Player.LoadMode.NOT_LOADED)return p.return();t=!1,r=Array.from(n.interstitials_),i=n.basePlayer_.seekRange(),o=(a=$jscomp.makeIterator(r)).next();case 3:if(o.done){p.jumpTo(5);break}if((s=o.value)==n.lastPlayedAd_){p.jumpTo(4);break}if(l=s.endTime||s.startTime,!(1<=i.start-l)){0<(u=s.startTime-n.lastTime_)&&10>=u&&!n.preloadManagerInterstitials_.has(s)&&n.isPreloadAllowed_(s)&&n.preloadManagerInterstitials_.set(s,n.player_.preload(s.uri,null,s.mimeType||void 0)),p.jumpTo(4);break}if(!n.preloadManagerInterstitials_.has(s)){p.jumpTo(7);break}return p.yield(n.preloadManagerInterstitials_.get(s),8);case 8:(d=p.yieldResult)&&d.destroy(),n.preloadManagerInterstitials_.delete(s);case 7:c=JSON.stringify(s),n.interstitialIds_.has(c)&&n.interstitialIds_.delete(c),n.interstitials_.delete(s),s.overlay||(t=!0);case 4:o=a.next(),p.jumpTo(3);break;case 5:t&&n.cuepointsChanged_(),p.jumpToEnd()}})}).tickEvery(1)},shaka.ads.InterstitialAdManager.prototype.configure=function(e){this.config_=e,this.determineIfUsingBaseVideo_()},shaka.ads.InterstitialAdManager.prototype.determineIfUsingBaseVideo_=function(){if(this.adContainer_&&this.config_&&!this.playingAd_){var e=this.config_.supportsMultipleMediaElements,t=this.baseVideo_;t.webkitSupportsFullscreen&&t.webkitDisplayingFullscreen&&(e=!1),this.usingBaseVideo_==e&&((this.usingBaseVideo_=!e)?(this.video_=this.baseVideo_,this.adVideo_&&(this.adVideo_.parentElement&&this.adContainer_.removeChild(this.adVideo_),this.adVideo_=null)):(this.adVideo_||(this.adVideo_=this.createMediaElement_()),this.video_=this.adVideo_))}},shaka.ads.InterstitialAdManager.prototype.stop=function(){if(this.adEventManager_&&this.adEventManager_.removeAll(),this.interstitialIds_.clear(),this.interstitials_.clear(),this.player_.destroyAllPreloads(),this.preloadManagerInterstitials_.size){var e=Array.from(this.preloadManagerInterstitials_.values());e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())(t=t.value)&&t.then(function(e){e&&e.destroy()})}this.preloadManagerInterstitials_.clear(),this.player_.detach(),this.playingAd_=!1,this.lastPlayedAd_=this.lastTime_=null,this.usingBaseVideo_=!0,this.video_=this.baseVideo_,this.adVideo_=null,this.adContainer_&&shaka.util.Dom.removeAllChildren(this.adContainer_),this.playoutLimitTimer_&&(this.playoutLimitTimer_.stop(),this.playoutLimitTimer_=null)},shaka.ads.InterstitialAdManager.prototype.release=function(){this.stop(),this.eventManager_&&this.eventManager_.release(),this.adEventManager_&&this.adEventManager_.release(),this.timeUpdateTimer_&&(this.timeUpdateTimer_.stop(),this.timeUpdateTimer_=null),this.pollTimer_&&(this.pollTimer_.stop(),this.pollTimer_=null),this.player_.destroy()},shaka.ads.InterstitialAdManager.prototype.getPlayer=function(){return this.player_},shaka.ads.InterstitialAdManager.prototype.addMetadata=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return r.updatePlayerConfig_(),i.yield(r.getInterstitialsInfo_(e),2);(t=i.yieldResult).length?r.addInterstitials(t):shaka.log.alwaysWarn("Unsupported HLS interstitial",e),i.jumpToEnd()})},shaka.ads.InterstitialAdManager.prototype.addRegion=function(e){for(var t,r=$jscomp.makeIterator(e.eventNode.children),i=r.next();!i.done;i=r.next())if("AlternativeMPD"==(i=i.value).tagName&&(i=i.attributes.uri)){t=i;break}t?(r="urn:mpeg:dash:event:alternativeMPD:replace:2025"==e.schemeIdUri,i="urn:mpeg:dash:event:alternativeMPD:insert:2025"==e.schemeIdUri,r||i?this.addInterstitials([{id:e.id,groupId:null,
1startTime:e.startTime,endTime:e.endTime,uri:t,mimeType:null,isSkippable:!1,skipOffset:null,skipFor:null,canJump:!0,resumeOffset:i?0:null,playoutLimit:null,once:!1,pre:!1,post:!1,timelineRange:r&&!i,loop:!1,overlay:null}]):shaka.log.warning("Unsupported MPD alternate",e)):shaka.log.alwaysWarn("Unsupported MPD alternate",e)},shaka.ads.InterstitialAdManager.prototype.addOverlayRegion=function(e){var t=shaka.util.TXml;goog.asserts.assert(e.eventNode,"Need a region eventNode");var r=t.findChild(e.eventNode,"OverlayEvent"),i=r.attributes.uri,n=r.attributes.mimeType,a="true"==r.attributes.loop;if(i&&n){var o={viewport:{x:1920,y:1080},topLeft:{x:0,y:0},size:{x:1920,y:1080}},s=t.findChild(r,"Viewport"),l=t.findChild(r,"TopLeft");if(r=t.findChild(r,"Size"),s&&l&&r){if(null==(o=t.parseAttr(s,"x",t.parseInt))||null==(s=t.parseAttr(s,"y",t.parseInt)))return void shaka.log.warning("Unsupported OverlayEvent",e);var u=t.parseAttr(l,"x",t.parseInt);if(null==u||null==(l=t.parseAttr(l,"y",t.parseInt)))return void shaka.log.warning("Unsupported OverlayEvent",e);var d=t.parseAttr(r,"x",t.parseInt);if(null==d||null==(t=t.parseAttr(r,"y",t.parseInt)))return void shaka.log.warning("Unsupported OverlayEvent",e);o={viewport:{x:o,y:s},topLeft:{x:u,y:l},size:{x:d,y:t}}}this.addInterstitials([{id:e.id,groupId:null,startTime:e.startTime,endTime:e.endTime,uri:i,mimeType:n,isSkippable:!1,skipOffset:null,skipFor:null,canJump:!0,resumeOffset:null,playoutLimit:null,once:!1,pre:!1,post:!1,timelineRange:!0,loop:a,overlay:o}])}else shaka.log.warning("Unsupported OverlayEvent",e)},shaka.ads.InterstitialAdManager.prototype.addAdUrlInterstitial=function(e){var t,r,i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:return t={type:shaka.net.NetworkingEngine.AdvancedRequestType.INTERSTITIAL_AD_URL},c.yield(d.makeAdRequest_(e,t),2);case 2:if(r=c.yieldResult,!(i=shaka.util.TXml.parseXml(r,"VAST,vmap:VMAP")))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.ADS,shaka.util.Error.Code.VAST_INVALID_XML);if(n=[],"VAST"==i.tagName){n=shaka.ads.Utils.parseVastToInterstitials(i,d.lastTime_),c.jumpTo(3);break}if("vmap:VMAP"!=i.tagName){c.jumpTo(3);break}o=(a=$jscomp.makeIterator(shaka.ads.Utils.parseVMAP(i))).next();case 5:if(o.done){c.jumpTo(3);break}return s=o.value,c.yield(d.makeAdRequest_(s.uri,t),8);case 8:if(l=c.yieldResult,!(u=shaka.util.TXml.parseXml(l,"VAST")))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.ADS,shaka.util.Error.Code.VAST_INVALID_XML);n.push.apply(n,$jscomp.arrayFromIterable(shaka.ads.Utils.parseVastToInterstitials(u,s.time))),o=a.next(),c.jumpTo(5);break;case 3:d.addInterstitials(n),c.jumpToEnd()}})},shaka.ads.InterstitialAdManager.prototype.addInterstitials=function(e){var t,r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:t=!1,i=(r=$jscomp.makeIterator(e)).next();case 2:if(i.done){d.jumpTo(4);break}if(!(n=i.value).uri){shaka.log.alwaysWarn("Missing URL in interstitial",n),d.jumpTo(3);break}if(n.mimeType){d.jumpTo(5);break}return d.setCatchFinallyBlocks(6),a=u.player_.getNetworkingEngine(),goog.asserts.assert(a,"Need networking engine"),d.yield(shaka.net.NetworkingUtils.getMimeType(n.uri,a,u.basePlayer_.getConfiguration().streaming.retryParameters),8);case 8:n.mimeType=d.yieldResult,d.leaveTryBlock(5);break;case 6:d.enterCatchBlock();case 5:if(o=n.id||JSON.stringify(n),u.interstitialIds_.has(o)){d.jumpTo(3);break}n.loop&&!n.overlay&&shaka.log.alwaysWarn("Loop is only supported in overlay interstitials",n),n.overlay||(t=!0),u.interstitialIds_.add(o),u.interstitials_.add(n),s=!1,n.pre&&null==u.lastTime_?s=!0:0!=n.startTime||n.canJump?null!=u.lastTime_&&0<(l=n.startTime-u.lastTime_)&&10>=l&&(s=!0):s=!0,s&&!u.preloadManagerInterstitials_.has(n)&&u.isPreloadAllowed_(n)&&u.preloadManagerInterstitials_.set(n,u.player_.preload(n.uri,null,n.mimeType||void 0));case 3:i=r.next(),d.jumpTo(2);break;case 4:t&&u.cuepointsChanged_(),d.jumpToEnd()}})},shaka.ads.InterstitialAdManager.prototype.createMediaElement_=function(){var e=document.createElement(this.baseVideo_.tagName);
1return e.autoplay=!0,e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.display="none",e.setAttribute("playsinline",""),e},shaka.ads.InterstitialAdManager.prototype.getCurrentInterstitial_=function(e,t){e=void 0!==e&&e,t=void 0===t?null:t;var r=0,i=null;if(this.interstitials_.size&&null!=this.lastTime_){var n=this.baseVideo_.ended,a=Array.from(this.interstitials_).sort(function(e,t){return t.startTime-e.startTime}),o=a;for(o=e?a.filter(function(e){return e.pre}):n?a.filter(function(e){return e.post}):a.filter(function(e){return!e.pre&&!e.post}),o=(a=$jscomp.makeIterator(o)).next();!o.done;o=a.next()){o=o.value;var s=!1;if(e)s=o.pre;else if(n)s=o.post;else if(!o.pre&&!o.post){var l=this.lastTime_-Math.round(1e3*o.startTime)/1e3;0<l&&(1>=l||!o.canJump)&&(s=null!=t||!this.lastPlayedAd_||!!this.lastPlayedAd_.pre||!!this.lastPlayedAd_.post||!(this.lastPlayedAd_.startTime>=o.startTime))}s&&(!this.lastPlayedAd_||o.startTime>=this.lastPlayedAd_.startTime)&&(r==(t||0)?i=o:i&&!o.canJump&&.001<Math.round(1e3*o.startTime)/1e3-Math.round(1e3*i.startTime)/1e3&&(i=o,r=0),r++)}}return i},shaka.ads.InterstitialAdManager.prototype.setupAd_=function(e,t,r,i,n){n=void 0===n?0:n,shaka.log.info("Starting interstitial",e.startTime,"at",this.lastTime_),this.lastPlayedAd_=e,this.determineIfUsingBaseVideo_(),goog.asserts.assert(this.video_,"Must have video"),!this.video_.parentElement&&this.adContainer_&&this.adContainer_.appendChild(this.video_),1==r&&1==t&&(t=Array.from(this.interstitials_).filter(function(t){return e.pre?t.pre==e.pre:e.post?t.post==e.post:.001>Math.abs(t.startTime-e.startTime)}).length),e.once&&(n++,this.interstitials_.delete(e),e.overlay||this.cuepointsChanged_()),e.mimeType&&(e.mimeType.startsWith("image/")||"text/html"===e.mimeType)?e.overlay?this.setupStaticAd_(e,t,r,n):shaka.log.alwaysWarn("Unsupported interstitial",e):this.usingBaseVideo_&&e.overlay?shaka.log.alwaysWarn("Unsupported interstitial",e):this.setupVideoAd_(e,t,r,i,n)},shaka.ads.InterstitialAdManager.prototype.setupStaticAd_=function(e,t,r,i){var n=this,a=e.overlay;goog.asserts.assert(a,"Must have overlay");var o="text/html"==e.mimeType?"iframe":"img",s=document.createElement(o);s.style.objectFit="contain",s.style.position="absolute",s.style.border="none";var l=function(){n.playoutLimitTimer_&&(n.playoutLimitTimer_.stop(),n.playoutLimitTimer_=null),n.adContainer_.removeChild(s),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED));var a=n.getCurrentInterstitial_(e.pre,r-i);a?(n.adEventManager_.removeAll(),n.setupAd_(a,t,++r,Date.now(),i)):n.playingAd_=!1},u=new shaka.ads.InterstitialStaticAd(e,t,r);this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",u))),"iframe"==o?s.src=e.uri:(s.src=e.uri,s.onerror=function(e){n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_ERROR,(new Map).set("originalEvent",e))),l()}),u=a.viewport;var d=a.topLeft;a=a.size,0==u.x&&0==u.y?(s.width=e.overlay.size.x,s.height=e.overlay.size.y,s.style.bottom="10%",s.style.left="0",s.style.right="0",s.style.width="100%",e.overlay.size.y||"iframe"!=o||(s.style.height="auto")):(s.style.height=a.y/u.y*100+"%",s.style.left=d.x/u.x*100+"%",s.style.top=d.y/u.y*100+"%",s.style.width=a.x/u.x*100+"%"),this.adContainer_.appendChild(s);var c=Date.now();this.playoutLimitTimer_&&this.playoutLimitTimer_.stop(),this.playoutLimitTimer_=new shaka.util.Timer(function(){e.playoutLimit&&(Date.now()-c)/1e3>e.playoutLimit||e.endTime&&n.baseVideo_.currentTime>e.endTime?(n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE)),l()):n.baseVideo_.currentTime<e.startTime&&(n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED)),l())}),e.playoutLimit&&!e.endTime?this.playoutLimitTimer_.tickAfter(e.playoutLimit):e.endTime&&this.playoutLimitTimer_.tickEvery(.025)},shaka.ads.InterstitialAdManager.prototype.setupVideoAd_=function(e,t,r,i,n){var a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(P){switch(P.nextAddress){case 1:if(goog.asserts.assert(E.video_,"Must have video"),a=Date.now(),E.playingAd_=!0,!E.usingBaseVideo_||1!=r){P.jumpTo(2);break}return E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED,(new Map).set("saveLivePosition",!0))),o=new shaka.util.PublicPromise,s=function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return"detach"!=e.state?t.jumpTo(0):shaka.util.Platform.isSmartTV()?t.yield(new Promise(function(e){return new shaka.util.Timer(e).tickAfter(.1)}),3):t.jumpTo(3);o.resolve(),E.adEventManager_.unlisten(E.basePlayer_,"onstatechange",s),t.jumpToEnd()})},E.adEventManager_.listen(E.basePlayer_,"onstatechange",s),P.yield(o,2);case 2:return E.usingBaseVideo_||(E.video_.style.display="",e.overlay?(E.video_.loop=e.loop,l=e.overlay.viewport,u=e.overlay.topLeft,d=e.overlay.size,E.video_.style.height=d.y/l.y*100+"%",E.video_.style.left=u.x/l.x*100+"%",E.video_.style.top=u.y/l.y*100+"%",E.video_.style.width=d.x/l.x*100+"%"):(E.baseVideo_.pause(),null!=e.resumeOffset&&0!=e.resumeOffset&&(E.baseVideo_.currentTime+=e.resumeOffset),E.video_.loop=!1,E.video_.style.height="100%",E.video_.style.left="0",E.video_.style.top="0",E.video_.style.width="100%")),c=!1,p=function(){if(!E.usingBaseVideo_&&!e.overlay&&null==e.resumeOffset)if(e.timelineRange&&e.endTime&&1/0!=e.endTime)E.baseVideo_.currentTime!=e.endTime&&(E.baseVideo_.currentTime=e.endTime);else{var t=Date.now();E.baseVideo_.currentTime+=(t-i)/1e3,i=t}},m=function(a){var o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress){if(p(),o=E.getCurrentInterstitial_(e.pre,r-n),a&&e.groupId)for(;o&&o.groupId==e.groupId;)r++,o=E.getCurrentInterstitial_(e.pre,r-n);return(E.playoutLimitTimer_&&(!e.groupId||o&&o.groupId!=e.groupId)&&(E.playoutLimitTimer_.stop(),E.playoutLimitTimer_=null),o&&!o.overlay)?l.jumpTo(2):(e.post&&(E.lastTime_=null,E.lastPlayedAd_=null),E.usingBaseVideo_?l.yield(E.player_.detach(),4):l.yield(E.player_.unload(),4))}2!=l.nextAddress&&(E.usingBaseVideo_&&(null==(s=e.resumeOffset)&&(s=e.timelineRange&&e.endTime&&1/0!=e.endTime?e.endTime-(E.lastTime_||0):(Date.now()-i)/1e3),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED,(new Map).set("offset",s)))),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),E.adEventManager_.removeAll(),E.playingAd_=!1,E.usingBaseVideo_?E.cuepointsChanged_():(E.video_.style.display="none",p(),E.baseVideo_.ended||E.baseVideo_.play())),E.determineIfUsingBaseVideo_(),o&&(E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),E.adEventManager_.removeAll(),E.setupAd_(o,t,++r,i,n)),l.jumpToEnd()})},f=function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return c?t.return():(c=!0,E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_ERROR,(new Map).set("originalEvent",e))),t.yield(m(!1),0))})},g=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return c?e.return():(c=!0,e.yield(m(!1),2));E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE)),e.jumpToEnd()})},E.lastOnSkip_=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return c?e.return():(c=!0,E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED)),e.yield(m(!0),0))})},h=new shaka.ads.InterstitialAd(E.video_,e,E.lastOnSkip_,t,r,!E.usingBaseVideo_),E.usingBaseVideo_||(h.setMuted(E.baseVideo_.muted),h.setVolume(E.baseVideo_.volume)),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",h))),(y=h.canSkipNow())&&E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED)),E.adEventManager_.listenOnce(E.player_,"error",f),E.adEventManager_.listen(E.video_,"timeupdate",function(){if(E.video_.duration){var e=h.canSkipNow();y!=e&&0<h.getRemainingTime()&&0<h.getDuration()&&E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED)),y=e}}),E.adEventManager_.listenOnce(E.player_,"firstquartile",function(){p(),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_FIRST_QUARTILE))}),E.adEventManager_.listenOnce(E.player_,"midpoint",function(){p(),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MIDPOINT))}),E.adEventManager_.listenOnce(E.player_,"thirdquartile",function(){p(),E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_THIRD_QUARTILE))}),E.adEventManager_.listenOnce(E.player_,"complete",g),E.adEventManager_.listen(E.video_,"play",function(){E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_RESUMED))}),E.adEventManager_.listen(E.video_,"pause",function(){var e=E.player_.getConfiguration();E.video_.currentTime>=e.playRangeEnd?g():E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_PAUSED))}),E.adEventManager_.listen(E.video_,"volumechange",function(){E.video_.muted?E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MUTED)):E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_VOLUME_CHANGED))}),P.setCatchFinallyBlocks(4),E.updatePlayerConfig_(),e.startTime&&e.endTime&&1/0!=e.endTime&&e.startTime!=e.endTime&&0<(_=e.endTime-e.startTime)&&E.player_.configure("playRangeEnd",_),e.playoutLimit&&!E.playoutLimitTimer_&&(E.playoutLimitTimer_=new shaka.util.Timer(function(){E.lastOnSkip_()}).tickAfter(e.playoutLimit),E.player_.configure("playRangeEnd",e.playoutLimit)),P.yield(E.player_.attach(E.video_),6);case 6:return E.preloadManagerInterstitials_.has(e)?P.yield(E.preloadManagerInterstitials_.get(e),10):P.yield(E.player_.load(e.uri,null,e.mimeType||void 0),8);case 10:return S=P.yieldResult,E.preloadManagerInterstitials_.delete(e),S?P.yield(E.player_.load(S),8):P.yield(E.player_.load(e.uri,null,e.mimeType||void 0),8);case 8:v=(Date.now()-a)/1e3,E.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",v))),E.usingBaseVideo_&&E.baseVideo_.play(),P.leaveTryBlock(0);break;case 4:if(T=P.enterCatchBlock(),!E.playingAd_)return P.return();f(T),P.jumpToEnd()}})},shaka.ads.InterstitialAdManager.prototype.getInterstitialsInfo_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){switch(B.nextAddress){case 1:if(t=[],!e||(r=e.values.find(function(e){return"X-ASSET-URI"==e.key}),i=e.values.find(function(e){return"X-ASSET-LIST"==e.key}),!r&&!i))return B.return(t);if(n=null,(a=e.values.find(function(e){return"ID"==e.key}))&&(n=a.data),o=null==n?Math.floor(10*e.startTime)/10:e.startTime,(s=e.endTime)&&1/0!=e.endTime&&"number"==typeof e.endTime&&(s=null==n?Math.floor(10*e.endTime)/10:e.endTime),l=e.values.find(function(e){return"X-RESTRICT"==e.key}),d=u=!0,l&&l.data&&(u=!(c=l.data).includes("SKIP"),d=!c.includes("JUMP")),p=u?0:null,(m=e.values.find(function(e){return"X-ENABLE-SKIP-AFTER"==e.key}))&&isNaN(p=parseFloat(m.data))&&(p=u?0:null),f=null,(g=e.values.find(function(e){return"X-ENABLE-SKIP-FOR"==e.key}))&&(f=parseFloat(g.data),isNaN(p)&&(f=null)),h=null,(y=e.values.find(function(e){return"X-RESUME-OFFSET"==e.key}))&&isNaN(h=parseFloat(y.data))&&(h=null),_=null,(S=e.values.find(function(e){return"X-PLAYOUT-LIMIT"==e.key}))&&isNaN(_=parseFloat(S.data))&&(_=null),E=T=v=!1,(P=e.values.find(function(e){return"CUE"==e.key}))&&(v=(x=P.data).includes("ONCE"),T=x.includes("PRE"),E=x.includes("POST")),A=!1,(C=e.values.find(function(e){return"X-TIMELINE-OCCUPIES"==e.key}))?A=C.data.includes("RANGE"):!y&&O.basePlayer_.isLive()&&(A=!T&&!E),r){if(!(M=r.data))return B.return(t);t.push({id:n,groupId:null,startTime:o,endTime:s,uri:M,mimeType:null,isSkippable:u,skipOffset:p,skipFor:f,canJump:d,resumeOffset:h,playoutLimit:_,once:v,pre:T,post:E,timelineRange:A,loop:!1,overlay:null}),B.jumpTo(2);break}if(!i){B.jumpTo(2);break}if(!(I=i.data))return B.return(t);return B.setCatchFinallyBlocks(4),b={type:shaka.net.NetworkingEngine.AdvancedRequestType.INTERSTITIAL_ASSET_LIST},B.yield(O.makeAdRequest_(I,b),6);case 6:for(D=B.yieldResult,(k=(R=JSON.parse(shaka.util.StringUtils.fromUTF8(D)))["SKIP-CONTROL"])&&("number"==typeof(w=k["ENABLE-SKIP-AFTER"])&&(p=parseFloat(w),isNaN(w)&&(p=u?0:null)),"number"==typeof(U=k["ENABLE-SKIP-FOR"])&&(f=parseFloat(U),isNaN(U)&&(f=null))),L=0;L<R.ASSETS.length;L++)(N=R.ASSETS[L]).URI&&t.push({id:n+"_shaka_asset_"+L,groupId:n,startTime:o,endTime:s,uri:N.URI,mimeType:null,isSkippable:u,skipOffset:p,skipFor:f,canJump:d,resumeOffset:h,playoutLimit:_,once:v,pre:T,post:E,timelineRange:A,loop:!1,overlay:null});B.leaveTryBlock(2);break;case 4:B.enterCatchBlock();case 2:return B.return(t)}})},shaka.ads.InterstitialAdManager.prototype.cuepointsChanged_=function(){for(var e=[],t=$jscomp.makeIterator(this.interstitials_),r=t.next(),i={};!r.done;i={shakaCuePoint$jscomp$1:void 0},r=t.next())(r=r.value).overlay||(i.shakaCuePoint$jscomp$1={start:r.startTime,end:null},r.pre?(i.shakaCuePoint$jscomp$1.start=0,i.shakaCuePoint$jscomp$1.end=null):r.post?(i.shakaCuePoint$jscomp$1.start=-1,i.shakaCuePoint$jscomp$1.end=null):r.timelineRange&&(i.shakaCuePoint$jscomp$1.end=r.endTime),e.find(function(e){return function(t){return e.shakaCuePoint$jscomp$1.start==t.start&&e.shakaCuePoint$jscomp$1.end==t.end}}(i))||e.push(i.shakaCuePoint$jscomp$1));this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",e)))},shaka.ads.InterstitialAdManager.prototype.updatePlayerConfig_=function(){goog.asserts.assert(this.player_,"Must have player"),goog.asserts.assert(this.basePlayer_,"Must have base player"),this.player_.configure(this.basePlayer_.getNonDefaultConfiguration()),this.player_.configure("ads.disableHLSInterstitial",!0),this.player_.configure("ads.disableDASHInterstitial",!0),this.player_.configure("playRangeEnd",1/0);var e=this.player_.getNetworkingEngine();goog.asserts.assert(e,"Need networking engine"),this.basePlayer_.getNetworkingEngine().copyFiltersInto(e)},shaka.ads.InterstitialAdManager.prototype.makeAdRequest_=function(e,t){var r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(r=shaka.net.NetworkingEngine.RequestType.ADS,i=shaka.net.NetworkingEngine.makeRequest([e],shaka.net.NetworkingEngine.defaultRetryParameters()),n=o.basePlayer_.getNetworkingEngine().request(r,i,t),s.yield(n.promise,2)):(a=s.yieldResult,s.return(a.data))})},shaka.ads.InterstitialAdManager.prototype.isPreloadAllowed_=function(e){return!(e=e.mimeType)||!e.startsWith("image/")&&"text/html"!==e},shaka.ads.InterstitialAdManager.prototype.getInterstitials=function(){return Array.from(this.interstitials_)},shaka.ads.MediaTailorAd=function(e,t,r,i,n){this.ad_=e,this.skipOffset_=shaka.util.TextParser.parseTime(this.ad_.skipOffset),this.video_=n,this.adPosition_=t,this.totalAds_=r,this.isLinear_=i,this.isSkipped_=!1},shaka.ads.MediaTailorAd.prototype.needsSkipUI=function(){return!0},shaka.ads.MediaTailorAd.prototype.isClientRendering=function(){return!1}
1,shaka.ads.MediaTailorAd.prototype.hasCustomClick=function(){return!1},shaka.ads.MediaTailorAd.prototype.isUsingAnotherMediaElement=function(){return!1},shaka.ads.MediaTailorAd.prototype.getDuration=function(){return this.ad_.durationInSeconds},shaka.ads.MediaTailorAd.prototype.getMinSuggestedDuration=function(){return this.getDuration()},shaka.ads.MediaTailorAd.prototype.getRemainingTime=function(){return this.ad_.startTimeInSeconds+this.ad_.durationInSeconds-this.video_.currentTime},shaka.ads.MediaTailorAd.prototype.isPaused=function(){return this.video_.paused},shaka.ads.MediaTailorAd.prototype.isSkippable=function(){return"number"==typeof this.skipOffset_},shaka.ads.MediaTailorAd.prototype.getTimeUntilSkippable=function(){return"number"!=typeof this.skipOffset_?this.getRemainingTime():Math.max(this.getRemainingTime()+this.skipOffset_-this.getDuration(),0)},shaka.ads.MediaTailorAd.prototype.canSkipNow=function(){return 0==this.getTimeUntilSkippable()},shaka.ads.MediaTailorAd.prototype.skip=function(){this.isSkipped_=!0,this.video_.currentTime+=this.getRemainingTime()},shaka.ads.MediaTailorAd.prototype.pause=function(){return this.video_.pause()},shaka.ads.MediaTailorAd.prototype.play=function(){return this.video_.play()},shaka.ads.MediaTailorAd.prototype.getVolume=function(){return this.video_.volume},shaka.ads.MediaTailorAd.prototype.setVolume=function(e){this.video_.volume=e},shaka.ads.MediaTailorAd.prototype.isMuted=function(){return this.video_.muted},shaka.ads.MediaTailorAd.prototype.isLinear=function(){return this.isLinear_},shaka.ads.MediaTailorAd.prototype.resize=function(e,t){},shaka.ads.MediaTailorAd.prototype.setMuted=function(e){this.video_.muted=e},shaka.ads.MediaTailorAd.prototype.getSequenceLength=function(){return this.totalAds_?this.totalAds_:1},shaka.ads.MediaTailorAd.prototype.getPositionInSequence=function(){return this.adPosition_?this.adPosition_:1},shaka.ads.MediaTailorAd.prototype.getTitle=function(){return this.ad_.adTitle},shaka.ads.MediaTailorAd.prototype.getDescription=function(){return""},shaka.ads.MediaTailorAd.prototype.getVastMediaBitrate=function(){return 0},shaka.ads.MediaTailorAd.prototype.getVastMediaHeight=function(){return 0},shaka.ads.MediaTailorAd.prototype.getVastMediaWidth=function(){return 0},shaka.ads.MediaTailorAd.prototype.getAdId=function(){return this.ad_.adId},shaka.ads.MediaTailorAd.prototype.getCreativeAdId=function(){return this.ad_.creativeId},shaka.ads.MediaTailorAd.prototype.getAdvertiserName=function(){return""},shaka.ads.MediaTailorAd.prototype.getMediaUrl=function(){return null},shaka.ads.MediaTailorAd.prototype.getTimeOffset=function(){return 0},shaka.ads.MediaTailorAd.prototype.getPodIndex=function(){return 0},shaka.ads.MediaTailorAd.prototype.release=function(){this.totalAds_=this.adPosition_=this.video_=this.ad_=null},shaka.ads.MediaTailorAd.prototype.isSkipped=function(){return this.isSkipped_},goog.exportSymbol("shaka.ads.MediaTailorAd",shaka.ads.MediaTailorAd),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"release",shaka.ads.MediaTailorAd.prototype.release),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getPodIndex",shaka.ads.MediaTailorAd.prototype.getPodIndex),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getTimeOffset",shaka.ads.MediaTailorAd.prototype.getTimeOffset),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getMediaUrl",shaka.ads.MediaTailorAd.prototype.getMediaUrl),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getAdvertiserName",shaka.ads.MediaTailorAd.prototype.getAdvertiserName),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getCreativeAdId",shaka.ads.MediaTailorAd.prototype.getCreativeAdId),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getAdId",shaka.ads.MediaTailorAd.prototype.getAdId),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getVastMediaWidth",shaka.ads.MediaTailorAd.prototype.getVastMediaWidth),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getVastMediaHeight",shaka.ads.MediaTailorAd.prototype.getVastMediaHeight),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getVastMediaBitrate",shaka.ads.MediaTailorAd.prototype.getVastMediaBitrate),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getDescription",shaka.ads.MediaTailorAd.prototype.getDescription),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getTitle",shaka.ads.MediaTailorAd.prototype.getTitle),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getPositionInSequence",shaka.ads.MediaTailorAd.prototype.getPositionInSequence),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getSequenceLength",shaka.ads.MediaTailorAd.prototype.getSequenceLength),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"setMuted",shaka.ads.MediaTailorAd.prototype.setMuted),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"resize",shaka.ads.MediaTailorAd.prototype.resize),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isLinear",shaka.ads.MediaTailorAd.prototype.isLinear),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isMuted",
1shaka.ads.MediaTailorAd.prototype.isMuted),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"setVolume",shaka.ads.MediaTailorAd.prototype.setVolume),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getVolume",shaka.ads.MediaTailorAd.prototype.getVolume),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"play",shaka.ads.MediaTailorAd.prototype.play),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"pause",shaka.ads.MediaTailorAd.prototype.pause),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"skip",shaka.ads.MediaTailorAd.prototype.skip),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"canSkipNow",shaka.ads.MediaTailorAd.prototype.canSkipNow),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getTimeUntilSkippable",shaka.ads.MediaTailorAd.prototype.getTimeUntilSkippable),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isSkippable",shaka.ads.MediaTailorAd.prototype.isSkippable),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isPaused",shaka.ads.MediaTailorAd.prototype.isPaused),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getRemainingTime",shaka.ads.MediaTailorAd.prototype.getRemainingTime),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getMinSuggestedDuration",shaka.ads.MediaTailorAd.prototype.getMinSuggestedDuration),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"getDuration",shaka.ads.MediaTailorAd.prototype.getDuration),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isUsingAnotherMediaElement",shaka.ads.MediaTailorAd.prototype.isUsingAnotherMediaElement),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"hasCustomClick",shaka.ads.MediaTailorAd.prototype.hasCustomClick),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"isClientRendering",shaka.ads.MediaTailorAd.prototype.isClientRendering),goog.exportProperty(shaka.ads.MediaTailorAd.prototype,"needsSkipUI",shaka.ads.MediaTailorAd.prototype.needsSkipUI),shaka.ads.MediaTailorAdManager=function(e,t,r,i){this.adContainer_=e,this.networkingEngine_=t,this.video_=r,this.streamPromise_=null,this.streamRequestStartTime_=NaN,this.onEvent_=i,this.isLive_=!1,this.snapForwardTime_=null,this.adBreaks_=[],this.playedAds_=[],this.mediaTailorAdBreak_=this.mediaTailorAd_=this.ad_=null,this.staticResources_=new Map,this.adListeners_=[],this.eventsSent=[],this.trackingUrl_="",this.firstTrackingRequest_=!0,this.backupUrl_="",this.currentCuePoints_=[],this.eventManager_=new shaka.util.EventManager},shaka.ads.MediaTailorAdManager.prototype.streamRequest=function(e,t,r){return this.streamPromise_?Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.CURRENT_DAI_REQUEST_NOT_FINISHED)):(this.streamPromise_=new shaka.util.PublicPromise,this.requestSessionInfo_(e,t),this.backupUrl_=r||"",this.streamRequestStartTime_=Date.now()/1e3,this.streamPromise_)},shaka.ads.MediaTailorAdManager.prototype.addTrackingUrl=function(e){this.trackingUrl_=e,this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",0)))},shaka.ads.MediaTailorAdManager.prototype.stop=function(){for(var e=$jscomp.makeIterator(this.adListeners_),t=e.next();!t.done;t=e.next())t=t.value,this.eventManager_.unlisten(t.target,t.type,t.listener);this.onEnded_(),this.adListeners_=[],this.eventsSent=[],this.trackingUrl_="",this.firstTrackingRequest_=!0,this.backupUrl_="",this.snapForwardTime_=null,this.adBreaks_=[],this.playedAds_=[],this.staticResources_.clear()},shaka.ads.MediaTailorAdManager.prototype.release=function(){this.stop(),this.eventManager_&&this.eventManager_.release()},shaka.ads.MediaTailorAdManager.prototype.onManifestUpdated=function(e){this.isLive_=e,""!=this.trackingUrl_&&(this.requestTrackingInfo_(this.trackingUrl_,this.firstTrackingRequest_),this.firstTrackingRequest_=!1)},shaka.ads.MediaTailorAdManager.prototype.getCuePoints=function(){for(var e=[],t=$jscomp.makeIterator(this.adBreaks_),r=t.next();!r.done;r=t.next()){r=$jscomp.makeIterator(r.value.ads);for(var i=r.next();!i.done;i=r.next())i=i.value,e.push({start:i.startTimeInSeconds,end:i.startTimeInSeconds+i.durationInSeconds})}return e},shaka.ads.MediaTailorAdManager.prototype.requestSessionInfo_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return i=(r=shaka.net.NetworkingEngine).RequestType.ADS,n={type:r.AdvancedRequestType.MEDIATAILOR_SESSION_INFO}
1,(a=r.makeRequest([e],r.defaultRetryParameters())).method="POST",t&&(o=JSON.stringify(t),a.body=shaka.util.StringUtils.toUTF8(o)),s=f.networkingEngine_.request(i,a,n),g.setCatchFinallyBlocks(2),g.yield(s.promise,4);if(2!=g.nextAddress){if(l=g.yieldResult,(u=JSON.parse(shaka.util.StringUtils.fromUTF8(l.data))).manifestUrl&&u.trackingUrl)d=new goog.Uri(e),c=new goog.Uri(u.trackingUrl),f.trackingUrl_=d.resolve(c).toString(),p=Date.now()/1e3-f.streamRequestStartTime_,f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",p))),m=new goog.Uri(u.manifestUrl),f.streamPromise_.resolve(d.resolve(m).toString()),f.streamPromise_=null;else throw Error("Insufficient data from MediaTailor.");return g.leaveTryBlock(0)}if(g.enterCatchBlock(),!f.backupUrl_.length)return f.streamPromise_.reject("MediaTailor request returned an error and there was no backup asset uri provided."),f.streamPromise_=null,g.return();shaka.log.warning("MediaTailor request returned an error. Falling back to the backup asset uri."),f.streamPromise_.resolve(f.backupUrl_),f.streamPromise_=null,g.jumpToEnd()})},shaka.ads.MediaTailorAdManager.prototype.requestTrackingInfo_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){if(1==v.nextAddress)return i=(r=shaka.net.NetworkingEngine).RequestType.ADS,n={type:r.AdvancedRequestType.MEDIATAILOR_TRACKING_INFO},a=r.makeRequest([e],r.defaultRetryParameters()),o=S.networkingEngine_.request(i,a,n),v.setCatchFinallyBlocks(2),v.yield(o.promise,4);if(2!=v.nextAddress){if(s=v.yieldResult,l=[],0<(u=JSON.parse(shaka.util.StringUtils.fromUTF8(s.data))).avails.length){if(JSON.stringify(S.adBreaks_)!=JSON.stringify(u.avails)){for(S.adBreaks_=u.avails,c=(d=$jscomp.makeIterator(S.adBreaks_)).next();!c.done;c=d.next())for(p=c.value,f=(m=$jscomp.makeIterator(p.nonLinearAdsList)).next();!f.done;f=m.next())for(g=f.value,y=(h=$jscomp.makeIterator(g.nonLinearAdList)).next();!y.done;y=h.next())_=y.value,S.requestStaticResource_(_);l=S.getCuePoints(),S.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",l)))}}else S.adBreaks_.length&&S.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",l))),S.onEnded_(),S.adBreaks_=[];return t&&(S.isLive_||0<l.length)&&S.setupAdBreakListeners_(),v.leaveTryBlock(0)}v.enterCatchBlock(),v.jumpToEnd()})},shaka.ads.MediaTailorAdManager.prototype.requestStaticResource_=function(e){var t,r,i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return 1==c.nextAddress?e.staticResource?(t=d.getCacheKeyForNonLinear_(e),r=d.staticResources_.get(t))?c.return():(n=(i=shaka.net.NetworkingEngine).RequestType.ADS,a={type:i.AdvancedRequestType.MEDIATAILOR_STATIC_RESOURCE},o=i.makeRequest([e.staticResource],i.defaultRetryParameters()),s=d.networkingEngine_.request(n,o,a),c.setCatchFinallyBlocks(2),d.staticResources_.set(t,[]),c.yield(s.promise,4)):c.return():2!=c.nextAddress?(l=c.yieldResult,u=JSON.parse(shaka.util.StringUtils.fromUTF8(l.data)).apps,d.staticResources_.set(t,u),c.leaveTryBlock(0)):void(c.enterCatchBlock(),d.staticResources_.delete(t),c.jumpToEnd())})},shaka.ads.MediaTailorAdManager.prototype.getCacheKeyForNonLinear_=function(e){return[e.adId,e.adParameters,e.adSystem,e.adTitle,e.creativeAdId,e.creativeId,e.creativeSequence,e.height,e.width,e.staticResource].join("")},shaka.ads.MediaTailorAdManager.prototype.setupAdBreakListeners_=function(){var e=this;this.onTimeupdate_(),this.isLive_||(this.checkForSnapback_(),this.eventManager_.listen(this.video_,"seeked",function(){e.checkForSnapback_()}),this.eventManager_.listen(this.video_,"ended",function(){e.onEnded_()})),this.eventManager_.listen(this.video_,"timeupdate",function(){e.onTimeupdate_()})},shaka.ads.MediaTailorAdManager.prototype.checkForSnapback_=function(){var e=this.video_.currentTime;if(0!=e&&null==this.snapForwardTime_){for(var t,r,i=$jscomp.makeIterator(this.adBreaks_),n=i.next();!n.done;n=i.next()){n=n.value;for(var a=$jscomp.makeIterator(n.ads),o=a.next();!o.done;o=a.next())if(o=o.value,r){if(o.startTimeInSeconds<e&&o.startTimeInSeconds>r.startTimeInSeconds+r.durationInSeconds){r=o,t=n;break}}else o.startTimeInSeconds<e&&(r=o,t=n)}t&&r&&!this.playedAds_.includes(r.adId)&&(shaka.log.info("Seeking back to the start of the ad break at "+t.startTimeInSeconds+" and will return to "+e),this.snapForwardTime_=e,this.video_.currentTime=t.
1startTimeInSeconds)}},shaka.ads.MediaTailorAdManager.prototype.onAdBreakEnded_=function(){var e=this.video_.currentTime;this.snapForwardTime_&&this.snapForwardTime_>e&&(this.video_.currentTime=this.snapForwardTime_),this.snapForwardTime_=null},shaka.ads.MediaTailorAdManager.prototype.onTimeupdate_=function(){if(this.video_.duration&&(this.ad_||this.adBreaks_.length)){var e=this.video_.currentTime,t=!1;if(this.ad_){t=!0,goog.asserts.assert(this.mediaTailorAd_,"Ad should be defined"),this.sendInProgressEvents_(e,this.mediaTailorAd_);var r=this.ad_.getRemainingTime(),i=this.ad_.getDuration();this.ad_.canSkipNow()&&0<r&&0<i&&this.sendTrackingEvent_(shaka.ads.MediaTailorAdManager.SKIP_STATE_CHANGED_),0<i&&(0>=r||r>i)&&this.onEnded_()}this.ad_&&this.ad_.isLinear()||(this.checkLinearAds_(e),this.ad_||this.checkNonLinearAds_(e),!t||this.ad_)||this.onAdBreakEnded_()}},shaka.ads.MediaTailorAdManager.prototype.sendInProgressEvents_=function(e,t){var r=shaka.ads.MediaTailorAdManager,i=t.startTimeInSeconds+.5*t.durationInSeconds,n=t.startTimeInSeconds+.75*t.durationInSeconds;e>=t.startTimeInSeconds+.25*t.durationInSeconds&&!this.eventsSent.includes(r.FIRSTQUARTILE_)?(this.eventsSent.push(r.FIRSTQUARTILE_),this.sendTrackingEvent_(r.FIRSTQUARTILE_)):e>=i&&!this.eventsSent.includes(r.MIDPOINT_)?(this.eventsSent.push(r.MIDPOINT_),this.sendTrackingEvent_(r.MIDPOINT_)):e>=n&&!this.eventsSent.includes(r.THIRDQUARTILE_)&&(this.eventsSent.push(r.THIRDQUARTILE_),this.sendTrackingEvent_(r.THIRDQUARTILE_))},shaka.ads.MediaTailorAdManager.prototype.checkLinearAds_=function(e){for(var t=shaka.ads.MediaTailorAdManager,r=$jscomp.makeIterator(this.adBreaks_),i=r.next();!i.done&&(i=i.value,!(this.ad_&&this.ad_.isLinear()));i=r.next())for(var n=0;n<i.ads.length;n++){var a=i.ads[n],o=a.startTimeInSeconds+a.durationInSeconds;if(a.startTimeInSeconds<=e&&o>e){if(this.playedAds_.includes(a.adId)){if(this.video_.ended)continue;this.video_.currentTime=o;return}this.onEnded_(),this.mediaTailorAdBreak_=i,this.ad_=new shaka.ads.MediaTailorAd(a,n+1,i.ads.length,!0,this.video_),this.mediaTailorAd_=a,0===n&&this.sendTrackingEvent_(t.BREAK_START_),this.setupCurrentAdListeners_();break}}},shaka.ads.MediaTailorAdManager.prototype.checkNonLinearAds_=function(e){for(var t=shaka.ads.MediaTailorAdManager,r=$jscomp.makeIterator(this.adBreaks_),i=r.next();!i.done&&(i=i.value,!this.ad_);i=r.next())for(var n=0;n<i.nonLinearAdsList.length;n++){var a=i.nonLinearAdsList[n];if(a.nonLinearAdList.length){var o=i.startTimeInSeconds,s=this.getCacheKeyForNonLinear_(a.nonLinearAdList[0]);if(s=this.staticResources_.get(s),o<=e&&s&&s.length){this.onEnded_(),this.displayNonLinearAd_(s),this.mediaTailorAdBreak_=i,this.ad_=new shaka.ads.MediaTailorAd(a,n+1,i.ads.length,!1,this.video_),this.mediaTailorAd_=a,0===n&&this.sendTrackingEvent_(t.BREAK_START_),this.setupCurrentAdListeners_();break}}}},shaka.ads.MediaTailorAdManager.prototype.displayNonLinearAd_=function(e){e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())if((t=t.value).data.source.length){var r=document.createElement("img");r.src=t.data.source[0].url,r.style.top=(t.placeholder.top||0)+"%",r.style.height=100-(t.placeholder.top||0)+"%",r.style.left=(t.placeholder.left||0)+"%",r.style.maxWidth=100-(t.placeholder.left||0)+"%",r.style.objectFit="contain",r.style.position="absolute",this.adContainer_.appendChild(r)}},shaka.ads.MediaTailorAdManager.prototype.onEnded_=function(){if(this.ad_){for(;this.adContainer_.lastChild;)this.adContainer_.removeChild(this.adContainer_.firstChild);this.isLive_||this.playedAds_.push(this.mediaTailorAd_.adId),this.removeCurrentAdListeners_(this.ad_.isSkipped()),this.ad_.getPositionInSequence()===this.ad_.getSequenceLength()&&this.sendTrackingEvent_(shaka.ads.MediaTailorAdManager.BREAK_END_),this.mediaTailorAdBreak_=this.mediaTailorAd_=this.ad_=null}},shaka.ads.MediaTailorAdManager.prototype.setupCurrentAdListeners_=function(){var e=this,t=shaka.ads.MediaTailorAdManager,r=!1;this.video_.paused?r=!0:(this.sendTrackingEvent_(t.IMPRESSION_),this.sendTrackingEvent_(t.START_)),this.adListeners_.push({target:this.video_,type:"volumechange",listener:function(){e.video_.muted&&e.sendTrackingEvent_(t.MUTE_)}}),this.adListeners_.push({target:this.video_,type:"volumechange",listener:function(){e.video_.muted||e.sendTrackingEvent_(t.UNMUTE_)}}),this.adListeners_.push({target:this.video_,type:"play",listener:function(){r?(e.sendTrackingEvent_(t.IMPRESSION_),e.sendTrackingEvent_(t.START_),r=!1):e.sendTrackingEvent_(t.RESUME_)}}),this.adListeners_.push({target:this.video_,type:"pause",listener:function(){e.sendTrackingEvent_(t.PAUSE_)}});for(var i=$jscomp.makeIterator(this.adListeners_),n=i.next();!n.done;n=i.next())n=n.value,this.eventManager_.listen(n.target,n.type,n.listener)},shaka.ads.MediaTailorAdManager.prototype.removeCurrentAdListeners_=function(e){(void 0===e?0:e)?this.sendTrackingEvent_(shaka.ads.MediaTailorAdManager.SKIPPED_):this.sendTrackingEvent_(shaka.ads.MediaTailorAdManager.COMPLETE_),e=$jscomp.makeIterator(this.adListeners_);for(var t=e.next();!t.done;t=e.next())t=t.value,this.eventManager_.unlisten(t.target,t.type,t.listener);this.adListeners_=[],this.eventsSent=[]},shaka.ads.MediaTailorAdManager.prototype.sendTrackingEvent_=function(e){var t=this.mediaTailorAd_.trackingEvents.find(function(t){return t.eventType==e});if(t||(t=this.mediaTailorAdBreak_.adBreakTrackingEvents.find(function(t){return t.eventType==e})),t){var r=shaka.net.NetworkingEngine,i=r.RequestType.ADS,n={type:r.AdvancedRequestType.MEDIATAILOR_TRACKING_EVENT};t=$jscomp.makeIterator(t.beaconUrls);for(var a=t.next();!a.done;
1a=t.next())(a=a.value)&&""!=a&&((a=r.makeRequest([a],r.defaultRetryParameters())).method="POST",this.networkingEngine_.request(i,a,n))}switch(e){case shaka.ads.MediaTailorAdManager.IMPRESSION_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_IMPRESSION));break;case shaka.ads.MediaTailorAdManager.START_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",this.ad_)));break;case shaka.ads.MediaTailorAdManager.MUTE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MUTED));break;case shaka.ads.MediaTailorAdManager.UNMUTE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_VOLUME_CHANGED));break;case shaka.ads.MediaTailorAdManager.RESUME_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_RESUMED));break;case shaka.ads.MediaTailorAdManager.PAUSE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_PAUSED));break;case shaka.ads.MediaTailorAdManager.FIRSTQUARTILE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_FIRST_QUARTILE));break;case shaka.ads.MediaTailorAdManager.MIDPOINT_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MIDPOINT));break;case shaka.ads.MediaTailorAdManager.THIRDQUARTILE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_THIRD_QUARTILE));break;case shaka.ads.MediaTailorAdManager.COMPLETE_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE)),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED));break;case shaka.ads.MediaTailorAdManager.SKIPPED_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED)),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED));break;case shaka.ads.MediaTailorAdManager.BREAK_START_:this.adContainer_.setAttribute("ad-active","true");break;case shaka.ads.MediaTailorAdManager.BREAK_END_:this.adContainer_.removeAttribute("ad-active");break;case shaka.ads.MediaTailorAdManager.SKIP_STATE_CHANGED_:this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED))}},shaka.ads.MediaTailorAdManager.IMPRESSION_="impression",shaka.ads.MediaTailorAdManager.START_="start",shaka.ads.MediaTailorAdManager.MUTE_="mute",shaka.ads.MediaTailorAdManager.UNMUTE_="unmute",shaka.ads.MediaTailorAdManager.RESUME_="resume",shaka.ads.MediaTailorAdManager.PAUSE_="pause",shaka.ads.MediaTailorAdManager.FIRSTQUARTILE_="firstQuartile",shaka.ads.MediaTailorAdManager.MIDPOINT_="midpoint",shaka.ads.MediaTailorAdManager.THIRDQUARTILE_="thirdQuartile",shaka.ads.MediaTailorAdManager.COMPLETE_="complete",shaka.ads.MediaTailorAdManager.SKIPPED_="skip",shaka.ads.MediaTailorAdManager.BREAK_START_="breakStart",shaka.ads.MediaTailorAdManager.BREAK_END_="breakEnd",shaka.ads.MediaTailorAdManager.SKIP_STATE_CHANGED_="skipStateChanged",shaka.ads.ServerSideAd=function(e,t){this.ad_=e,this.adProgressData_=null,this.video_=t},shaka.ads.ServerSideAd.prototype.setProgressData=function(e){this.adProgressData_=e},shaka.ads.ServerSideAd.prototype.needsSkipUI=function(){return!0},shaka.ads.ServerSideAd.prototype.isClientRendering=function(){return!1},shaka.ads.ServerSideAd.prototype.hasCustomClick=function(){return!0},shaka.ads.ServerSideAd.prototype.isUsingAnotherMediaElement=function(){return!1},shaka.ads.ServerSideAd.prototype.getDuration=function(){return this.adProgressData_?this.adProgressData_.duration:-1},shaka.ads.ServerSideAd.prototype.getMinSuggestedDuration=function(){return this.getDuration()},shaka.ads.ServerSideAd.prototype.getRemainingTime=function(){return this.adProgressData_?this.adProgressData_.duration-this.adProgressData_.currentTime:-1},shaka.ads.ServerSideAd.prototype.isPaused=function(){return this.video_.paused},shaka.ads.ServerSideAd.prototype.isSkippable=function(){return this.ad_.isSkippable()},shaka.ads.ServerSideAd.prototype.getTimeUntilSkippable=function(){var e=this.ad_.getSkipTimeOffset();return Math.max(e=this.getRemainingTime()-e,0)},shaka.ads.ServerSideAd.prototype.canSkipNow=function(){return 0==this.getTimeUntilSkippable()},shaka.ads.ServerSideAd.prototype.skip=function(){this.video_.currentTime+=this.getRemainingTime()},shaka.ads.ServerSideAd.prototype.pause=function(){return this.video_.pause()},shaka.ads.ServerSideAd.prototype.play=function(){return this.video_.play()},shaka.ads.ServerSideAd.prototype.getVolume=function(){return this.video_.volume},shaka.ads.ServerSideAd.prototype.setVolume=function(e){this.video_.volume=e},shaka.ads.ServerSideAd.prototype.isMuted=function(){return this.video_.muted},shaka.ads.ServerSideAd.prototype.isLinear=function(){return!0},shaka.ads.ServerSideAd.prototype.resize=function(e,t){},shaka.ads.ServerSideAd.prototype.setMuted=function(e){this.video_.muted=e},shaka.ads.ServerSideAd.prototype.getSequenceLength=function(){var e=this.ad_.getAdPodInfo();return null==e?1:e.getTotalAds()},shaka.ads.ServerSideAd.prototype.getPositionInSequence=function(){var e=this.ad_.getAdPodInfo();return null==e?1:e.getAdPosition()},shaka.ads.ServerSideAd.prototype.getTitle=function(){return this.ad_.getTitle()},shaka.ads.ServerSideAd.prototype.getDescription=function(){return this.ad_.getDescription()},shaka.ads.ServerSideAd.prototype.getVastMediaBitrate=function(){return 0},shaka.ads.ServerSideAd.prototype.getVastMediaHeight=function(){return this.ad_.getVastMediaHeight()},shaka.ads.ServerSideAd.prototype.getVastMediaWidth=function(){return this.ad_.getVastMediaWidth()},shaka.ads.ServerSideAd.prototype.getAdId=function(){return this.ad_.getAdId()},shaka.ads.ServerSideAd.prototype.getCreativeAdId=function(){return this.ad_.getCreativeAdId()},shaka.ads.ServerSideAd.prototype.getAdvertiserName=function(){return this.ad_.getAdvertiserName()},shaka.ads.ServerSideAd.prototype.getMediaUrl=function(){return null},shaka.ads.ServerSideAd.prototype.getTimeOffset=function(){var e=this.ad_.getAdPodInfo();return null==e?0:e.getTimeOffset()},shaka.ads.ServerSideAd.prototype.getPodIndex=function(){var e=this.ad_.getAdPodInfo();return null==e?0:e.getPodIndex()},shaka.ads.ServerSideAd.prototype.release=function(){this.video_=this.adProgressData_=this.ad_=null},goog.exportSymbol("shaka.ads.ServerSideAd",shaka.ads.ServerSideAd),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"release",shaka.ads.ServerSideAd.prototype.release),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getPodIndex",shaka.ads.ServerSideAd.prototype.getPodIndex),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getTimeOffset",shaka.ads.ServerSideAd.prototype.getTimeOffset),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getMediaUrl",shaka.ads.ServerSideAd.prototype.getMediaUrl),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getAdvertiserName",shaka.ads.ServerSideAd.prototype.getAdvertiserName),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getCreativeAdId",shaka.ads.ServerSideAd.prototype.getCreativeAdId),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getAdId",shaka.ads.ServerSideAd.prototype.getAdId),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getVastMediaWidth",shaka.ads.ServerSideAd.prototype.getVastMediaWidth),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getVastMediaHeight",shaka.ads.ServerSideAd.prototype.getVastMediaHeight),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getVastMediaBitrate",shaka.ads.ServerSideAd.prototype.getVastMediaBitrate),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getDescription",shaka.ads.ServerSideAd.prototype.getDescription),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getTitle",shaka.ads.ServerSideAd.prototype.getTitle),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getPositionInSequence",shaka.ads.ServerSideAd.prototype.getPositionInSequence),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getSequenceLength",shaka.ads.ServerSideAd.prototype.getSequenceLength),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"setMuted",shaka.ads.ServerSideAd.prototype.setMuted),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"resize",shaka.ads.ServerSideAd.prototype.resize),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isLinear",shaka.ads.ServerSideAd.prototype.isLinear),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isMuted",
1shaka.ads.ServerSideAd.prototype.isMuted),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"setVolume",shaka.ads.ServerSideAd.prototype.setVolume),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getVolume",shaka.ads.ServerSideAd.prototype.getVolume),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"play",shaka.ads.ServerSideAd.prototype.play),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"pause",shaka.ads.ServerSideAd.prototype.pause),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"skip",shaka.ads.ServerSideAd.prototype.skip),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"canSkipNow",shaka.ads.ServerSideAd.prototype.canSkipNow),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getTimeUntilSkippable",shaka.ads.ServerSideAd.prototype.getTimeUntilSkippable),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isSkippable",shaka.ads.ServerSideAd.prototype.isSkippable),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isPaused",shaka.ads.ServerSideAd.prototype.isPaused),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getRemainingTime",shaka.ads.ServerSideAd.prototype.getRemainingTime),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getMinSuggestedDuration",shaka.ads.ServerSideAd.prototype.getMinSuggestedDuration),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"getDuration",shaka.ads.ServerSideAd.prototype.getDuration),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isUsingAnotherMediaElement",shaka.ads.ServerSideAd.prototype.isUsingAnotherMediaElement),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"hasCustomClick",shaka.ads.ServerSideAd.prototype.hasCustomClick),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"isClientRendering",shaka.ads.ServerSideAd.prototype.isClientRendering),goog.exportProperty(shaka.ads.ServerSideAd.prototype,"needsSkipUI",shaka.ads.ServerSideAd.prototype.needsSkipUI),shaka.ads.ServerSideAdManager=function(e,t,r,i){var n=this;this.adContainer_=e,this.video_=t,this.streamPromise_=this.config_=null,this.streamRequestStartTime_=NaN,this.onEvent_=i,this.isLiveContent_=!1,this.adProgressData_=this.ad_=this.snapForwardTime_=null,this.backupUrl_="",this.currentCuePoints_=[],this.eventManager_=new shaka.util.EventManager,(e=new google.ima.dai.api.UiSettings).setLocale(r),this.streamManager_=new google.ima.dai.api.StreamManager(this.video_,this.adContainer_,e),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.IMA_STREAM_MANAGER_LOADED,(new Map).set("imaStreamManager",this.streamManager_))),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.LOADED,function(e){shaka.log.info("Ad SS Loaded"),n.onLoaded_(e)}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.ERROR,function(){shaka.log.info("Ad SS Error"),n.onError_()}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,function(){shaka.log.info("Ad Break Started")}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.STARTED,function(e){shaka.log.info("Ad Started"),n.onAdStart_(e)}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED,function(){shaka.log.info("Ad Break Ended"),n.onAdBreakEnded_()}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.AD_PROGRESS,function(e){n.onAdProgress_(e)}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.FIRST_QUARTILE,function(){shaka.log.info("Ad event: First Quartile"),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_FIRST_QUARTILE))}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.MIDPOINT,function(){shaka.log.info("Ad event: Midpoint"),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MIDPOINT))}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.THIRD_QUARTILE,function(){shaka.log.info("Ad event: Third Quartile"),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_THIRD_QUARTILE))}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.COMPLETE,function(){shaka.log.info("Ad event: Complete"),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE)),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),n.adContainer_.removeAttribute("ad-active"),n.ad_=null}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.SKIPPED,function(){shaka.log.info("Ad event: Skipped"),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED)),n.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED))}),this.eventManager_.listen(this.streamManager_,google.ima.dai.api.StreamEvent.Type.CUEPOINTS_CHANGED,function(e){shaka.log.info("Ad event: Cue points changed"),n.onCuePointsChanged_(e)})},shaka.ads.ServerSideAdManager.prototype.configure=function(e){this.config_=e},shaka.ads.ServerSideAdManager.prototype.streamRequest=function(e,t){return this.streamPromise_?Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.CURRENT_DAI_REQUEST_NOT_FINISHED)):(e instanceof google.ima.dai.api.LiveStreamRequest&&(this.isLiveContent_=!0),this.streamPromise_=new shaka.util.PublicPromise,this.streamManager_.requestStream(e),this.backupUrl_=t||"",this.streamRequestStartTime_=Date.now()/1e3,this.streamPromise_)},shaka.ads.ServerSideAdManager.prototype.replaceAdTagParameters=function(e){this.streamManager_.replaceAdTagParameters(e)},shaka.ads.ServerSideAdManager.prototype.stop=function(){this.backupUrl_="",this.snapForwardTime_=null,this.currentCuePoints_=[]},shaka.ads.ServerSideAdManager.prototype.release=function(){this.stop(),this.eventManager_&&this.eventManager_.release()},shaka.ads.ServerSideAdManager.prototype.onTimedMetadata=function(e,t,r){this.streamManager_.processMetadata(e,t,r)},shaka.ads.ServerSideAdManager.prototype.onCueMetadataChange=function(e){if(e.key&&e.data){var t={};t[e.key]=e.data,this.streamManager_.onTimedMetadata(t)}},shaka.ads.ServerSideAdManager.prototype.getCuePoints=function(){return this.currentCuePoints_},shaka.ads.ServerSideAdManager.prototype.checkForSnapback_=function(){var e=this.video_.currentTime;if(0!=e){this.streamManager_.streamTimeForContentTime(e);var t=this.streamManager_.previousCuePointForStreamTime(e);t&&!t.played&&(shaka.log.info("Seeking back to the start of the ad break at "+t.start+" and will return to "+e),this.snapForwardTime_=e,this.video_.currentTime=t.
1start)}},shaka.ads.ServerSideAdManager.prototype.onAdStart_=function(e){goog.asserts.assert(this.streamManager_,"Should have a stream manager at this point!"),e=e.getAd(),this.ad_=new shaka.ads.ServerSideAd(e,this.video_),this.adProgressData_&&this.ad_.setProgressData(this.adProgressData_),this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",this.ad_))),this.adContainer_.setAttribute("ad-active","true")},shaka.ads.ServerSideAdManager.prototype.onAdBreakEnded_=function(){this.adContainer_.removeAttribute("ad-active");var e=this.video_.currentTime;this.snapForwardTime_&&this.snapForwardTime_>e&&(this.video_.currentTime=this.snapForwardTime_,this.snapForwardTime_=null)},shaka.ads.ServerSideAdManager.prototype.onLoaded_=function(e){var t=this,r=Date.now()/1e3-this.streamRequestStartTime_;this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",r))),e=e.getStreamData().url,this.streamPromise_.resolve(e),this.streamPromise_=null,this.isLiveContent_||this.eventManager_.listen(this.video_,"seeked",function(){t.checkForSnapback_()})},shaka.ads.ServerSideAdManager.prototype.onError_=function(){this.backupUrl_.length?(shaka.log.warning("IMA stream request returned an error. Falling back to the backup asset uri."),this.streamPromise_.resolve(this.backupUrl_)):this.streamPromise_.reject("IMA Stream request returned an error and there was no backup asset uri provided."),this.streamPromise_=null},shaka.ads.ServerSideAdManager.prototype.onAdProgress_=function(e){this.adProgressData_=e.getStreamData().adProgressData,this.ad_&&this.ad_.setProgressData(this.adProgressData_)},shaka.ads.ServerSideAdManager.prototype.onCuePointsChanged_=function(e){var t=e.getStreamData();e=[],t=$jscomp.makeIterator(t.cuepoints);for(var r=t.next();!r.done;r=t.next())r=r.value,e.push({start:r.start,end:r.end});this.currentCuePoints_=e,this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",e)))},shaka.ads.AdManager=function(){shaka.util.FakeEventTarget.call(this),this.ssAdManager_=this.mtAdManager_=this.csAdManager_=this.interstitialAdManager_=null,this.stats_=new shaka.ads.AdsStats,this.locale_=navigator.language,this.config_=null},$jscomp.inherits(shaka.ads.AdManager,shaka.util.FakeEventTarget),shaka.ads.AdManager.prototype.setLocale=function(e){this.locale_=e},shaka.ads.AdManager.prototype.configure=function(e){this.config_=e,this.interstitialAdManager_&&this.interstitialAdManager_.configure(this.config_),this.csAdManager_&&this.csAdManager_.configure(this.config_),this.ssAdManager_&&this.ssAdManager_.configure(this.config_)},shaka.ads.AdManager.prototype.initInterstitial=function(e,t,r){var i=this;e||shaka.log.info("Initializing interstitials without ad container"),this.interstitialAdManager_&&this.interstitialAdManager_.release(),this.interstitialAdManager_=new shaka.ads.InterstitialAdManager(e,t,r,function(e){return i.processAndDispatchEvent_(e)}),goog.asserts.assert(this.config_,"Config must not be null!"),this.interstitialAdManager_.configure(this.config_)},shaka.ads.AdManager.prototype.initClientSide=function(e,t,r){var i=this;if(!window.google||!google.ima||!google.ima.AdsLoader)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.ADS,shaka.util.Error.Code.CS_IMA_SDK_MISSING);this.csAdManager_&&this.csAdManager_.release(),this.csAdManager_=new shaka.ads.ClientSideAdManager(e,t,this.locale_,r,function(e){return i.processAndDispatchEvent_(e)}),goog.asserts.assert(this.config_,"Config must not be null!"),this.csAdManager_.configure(this.config_)},shaka.ads.AdManager.prototype.release=function(){this.interstitialAdManager_&&(this.interstitialAdManager_.release(),this.interstitialAdManager_=null),this.csAdManager_&&(this.csAdManager_.release(),this.csAdManager_=null),this.mtAdManager_&&(this.mtAdManager_.release(),this.mtAdManager_=null),this.ssAdManager_&&(this.ssAdManager_.release(),this.ssAdManager_=null),shaka.util.FakeEventTarget.prototype.release.call(this)},shaka.ads.AdManager.prototype.onAssetUnload=function(){this.interstitialAdManager_&&this.interstitialAdManager_.stop(),this.csAdManager_&&this.csAdManager_.stop(),this.mtAdManager_&&this.mtAdManager_.stop(),this.ssAdManager_&&this.ssAdManager_.stop(),this.dispatchEvent(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),this.dispatchEvent(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_ATTACH_REQUESTED)),this.stats_=new shaka.ads.AdsStats},shaka.ads.AdManager.prototype.requestClientSideAds=function(e){if(!this.csAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.CS_AD_MANAGER_NOT_INITIALIZED);this.csAdManager_.requestAds(e)},shaka.ads.AdManager.prototype.updateClientSideAdsRenderingSettings=function(e){if(!this.csAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.CS_AD_MANAGER_NOT_INITIALIZED);this.csAdManager_.updateAdsRenderingSettings(e)},shaka.ads.AdManager.prototype.initMediaTailor=function(e,t,r){var i=this;this.mtAdManager_&&this.mtAdManager_.release(),this.mtAdManager_=new shaka.ads.MediaTailorAdManager(e,t,r,function(e){return i.processAndDispatchEvent_(e)})},shaka.ads.AdManager.prototype.requestMediaTailorStream=function(e,t,r){if(r=void 0===r?"":r,!this.mtAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.MT_AD_MANAGER_NOT_INITIALIZED);
1return this.mtAdManager_.streamRequest(e,t,r)},shaka.ads.AdManager.prototype.addMediaTailorTrackingUrl=function(e){if(!this.mtAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.MT_AD_MANAGER_NOT_INITIALIZED);this.mtAdManager_.addTrackingUrl(e)},shaka.ads.AdManager.prototype.initServerSide=function(e,t){var r=this;if(!window.google||!google.ima||!google.ima.dai)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.ADS,shaka.util.Error.Code.SS_IMA_SDK_MISSING);this.ssAdManager_&&this.ssAdManager_.release(),this.ssAdManager_=new shaka.ads.ServerSideAdManager(e,t,this.locale_,function(e){return r.processAndDispatchEvent_(e)}),goog.asserts.assert(this.config_,"Config must not be null!"),this.ssAdManager_.configure(this.config_)},shaka.ads.AdManager.prototype.requestServerSideStream=function(e,t){if(t=void 0===t?"":t,!this.ssAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.SS_AD_MANAGER_NOT_INITIALIZED);e.adTagParameters||(e.adTagParameters={});var r=e.adTagParameters;return(r.mpt||r.mpv)&&shaka.log.alwaysWarn('You have attempted to set "mpt" and/or "mpv" parameters of the ad tag. Please note that those parameters are used for Shaka adoption tracking and will be overridden.'),e.adTagParameters.mpt="shaka-player",e.adTagParameters.mpv=shaka.Player.version,this.ssAdManager_.streamRequest(e,t)},shaka.ads.AdManager.prototype.replaceServerSideAdTagParameters=function(e){if(!this.ssAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.SS_AD_MANAGER_NOT_INITIALIZED);(e.mpt||e.mpv)&&shaka.log.alwaysWarn('You have attempted to set "mpt" and/or "mpv" parameters of the ad tag. Please note that those parameters are used for Shaka adoption tracking and will be overridden.'),e.mpt="Shaka Player",e.mpv=shaka.Player.version,this.ssAdManager_.replaceAdTagParameters(e)},shaka.ads.AdManager.prototype.getServerSideCuePoints=function(){return shaka.Deprecate.deprecateFeature(5,"AdManager.getServerSideCuePoints","Please use getCuePoints function."),this.getCuePoints()},shaka.ads.AdManager.prototype.getCuePoints=function(){var e=[];return this.ssAdManager_&&(e=e.concat(this.ssAdManager_.getCuePoints())),this.mtAdManager_&&(e=e.concat(this.mtAdManager_.getCuePoints())),e},shaka.ads.AdManager.prototype.getStats=function(){return this.stats_.getBlob()},shaka.ads.AdManager.prototype.onManifestUpdated=function(e){this.mtAdManager_&&this.mtAdManager_.onManifestUpdated(e)},shaka.ads.AdManager.prototype.onDashTimedMetadata=function(e){this.ssAdManager_&&"urn:google:dai:2018"==e.schemeIdUri&&this.ssAdManager_.onTimedMetadata(e.schemeIdUri,e.eventNode?e.eventNode.attributes.messageData:null,e.startTime)},shaka.ads.AdManager.prototype.onHlsTimedMetadata=function(e,t){this.ssAdManager_&&this.ssAdManager_.onTimedMetadata("ID3",e.data,t)},shaka.ads.AdManager.prototype.onCueMetadataChange=function(e){this.ssAdManager_&&this.ssAdManager_.onCueMetadataChange(e)},shaka.ads.AdManager.prototype.onHLSInterstitialMetadata=function(e,t,r){this.config_&&this.config_.disableHLSInterstitial||(this.interstitialAdManager_||this.initInterstitial(null,e,t),this.interstitialAdManager_&&this.interstitialAdManager_.addMetadata(r))},shaka.ads.AdManager.prototype.onDASHInterstitialMetadata=function(e,t,r){if(!this.config_||!this.config_.disableDASHInterstitial){var i=r.schemeIdUri;"urn:mpeg:dash:event:alternativeMPD:insert:2025"==i||"urn:mpeg:dash:event:alternativeMPD:replace:2025"==i?(this.interstitialAdManager_||this.initInterstitial(null,e,t),this.interstitialAdManager_&&this.interstitialAdManager_.addRegion(r)):"urn:mpeg:dash:event:2012"==i&&r.eventNode&&shaka.util.TXml.findChild(r.eventNode,"OverlayEvent")&&(this.interstitialAdManager_||this.initInterstitial(null,e,t),this.interstitialAdManager_&&this.interstitialAdManager_.addOverlayRegion(r))}},shaka.ads.AdManager.prototype.addCustomInterstitial=function(e){if(!this.interstitialAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED);this.interstitialAdManager_.addInterstitials([e])},shaka.ads.AdManager.prototype.addAdUrlInterstitial=function(e){if(!this.interstitialAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED);return this.interstitialAdManager_.addAdUrlInterstitial(e)},shaka.ads.AdManager.prototype.getInterstitialPlayer=function(){if(!this.interstitialAdManager_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.ADS,shaka.util.Error.Code.INTERSTITIAL_AD_MANAGER_NOT_INITIALIZED);return this.interstitialAdManager_.getPlayer()},shaka.ads.AdManager.prototype.processAndDispatchEvent_=function(e){if(e&&e.type)switch(e.type){case shaka.ads.Utils.ADS_LOADED:this.stats_.addLoadTime(e.loadTime);break;case shaka.ads.Utils.AD_STARTED:this.stats_.incrementStarted();break;case shaka.ads.Utils.AD_COMPLETE:this.stats_.incrementPlayedCompletely();break;case shaka.ads.Utils.AD_SKIPPED:this.stats_.incrementSkipped();break;case shaka.ads.Utils.AD_ERROR:this.stats_.incrementErrors()}this.dispatchEvent(e)},goog.exportSymbol("shaka.ads.AdManager",shaka.ads.AdManager),goog.exportProperty(shaka.ads.AdManager.prototype,"getInterstitialPlayer",shaka.ads.AdManager.prototype.getInterstitialPlayer),goog.exportProperty(shaka.ads.AdManager.prototype,"addAdUrlInterstitial",shaka.ads.AdManager.prototype.addAdUrlInterstitial),goog.exportProperty(shaka.ads.AdManager.prototype,"addCustomInterstitial",shaka.ads.AdManager.prototype.addCustomInterstitial),goog.exportProperty(shaka.ads.AdManager.prototype,"onDASHInterstitialMetadata",shaka.ads.AdManager.prototype.onDASHInterstitialMetadata),goog.exportProperty(shaka.ads.AdManager.prototype,"onHLSInterstitialMetadata",shaka.ads.AdManager.prototype.onHLSInterstitialMetadata),goog.exportProperty(shaka.ads.AdManager.prototype,"onCueMetadataChange",shaka.ads.AdManager.prototype.onCueMetadataChange),goog.exportProperty(shaka.ads.AdManager.prototype,"onHlsTimedMetadata",shaka.ads.AdManager.prototype.onHlsTimedMetadata),goog.exportProperty(shaka.ads.AdManager.prototype,"onDashTimedMetadata",shaka.ads.AdManager.prototype.onDashTimedMetadata),goog.exportProperty(shaka.ads.AdManager.prototype,"onManifestUpdated",shaka.ads.AdManager.prototype.onManifestUpdated),goog.exportProperty(shaka.ads.AdManager.prototype,"getStats",shaka.ads.AdManager.prototype.getStats),goog.exportProperty(shaka.ads.AdManager.prototype,"getCuePoints",shaka.ads.AdManager.prototype.getCuePoints),goog.exportProperty(shaka.ads.AdManager.prototype,"getServerSideCuePoints",shaka.ads.AdManager.prototype.getServerSideCuePoints),goog.exportProperty(shaka.ads.AdManager.prototype,"replaceServerSideAdTagParameters",shaka.ads.AdManager.prototype.replaceServerSideAdTagParameters),goog.exportProperty(shaka.ads.AdManager.prototype,"requestServerSideStream",shaka.ads.AdManager.prototype.requestServerSideStream),goog.exportProperty(shaka.ads.AdManager.prototype,"initServerSide",shaka.ads.AdManager.prototype.initServerSide),goog.exportProperty(shaka.ads.AdManager.prototype,"addMediaTailorTrackingUrl",shaka.ads.AdManager.prototype.addMediaTailorTrackingUrl),goog.exportProperty(shaka.ads.AdManager.prototype,"requestMediaTailorStream",shaka.ads.AdManager.prototype.requestMediaTailorStream),goog.exportProperty(shaka.ads.AdManager.prototype,"initMediaTailor",shaka.ads.AdManager.prototype.initMediaTailor),goog.exportProperty(shaka.ads.AdManager.prototype,"updateClientSideAdsRenderingSettings",shaka.ads.AdManager.prototype.updateClientSideAdsRenderingSettings),goog.exportProperty(shaka.ads.AdManager.prototype,"requestClientSideAds",shaka.ads.AdManager.prototype.requestClientSideAds),goog.exportProperty(shaka.ads.AdManager.prototype,"onAssetUnload",shaka.ads.AdManager.prototype.onAssetUnload),goog.exportProperty(shaka.ads.AdManager.prototype,"release",shaka.ads.AdManager.prototype.release),goog.exportProperty(shaka.ads.AdManager.prototype,"initClientSide",shaka.ads.AdManager.prototype.initClientSide),goog.exportProperty(shaka.ads.AdManager.prototype,"initInterstitial",shaka.ads.AdManager.prototype.initInterstitial),goog.exportProperty(shaka.ads.AdManager.prototype,"configure",shaka.ads.AdManager.prototype.configure),goog.exportProperty(shaka.ads.AdManager.prototype,"setLocale",shaka.ads.AdManager.prototype.setLocale),shaka.ads.AdManager.ADS_LOADED="ads-loaded",goog.exportProperty(shaka.ads.AdManager,"ADS_
1LOADED",shaka.ads.AdManager.ADS_LOADED),shaka.ads.AdManager.AD_STARTED="ad-started",goog.exportProperty(shaka.ads.AdManager,"AD_STARTED",shaka.ads.AdManager.AD_STARTED),shaka.ads.AdManager.AD_FIRST_QUARTILE="ad-first-quartile",goog.exportProperty(shaka.ads.AdManager,"AD_FIRST_QUARTILE",shaka.ads.AdManager.AD_FIRST_QUARTILE),shaka.ads.AdManager.AD_MIDPOINT="ad-midpoint",goog.exportProperty(shaka.ads.AdManager,"AD_MIDPOINT",shaka.ads.AdManager.AD_MIDPOINT),shaka.ads.AdManager.AD_THIRD_QUARTILE="ad-third-quartile",goog.exportProperty(shaka.ads.AdManager,"AD_THIRD_QUARTILE",shaka.ads.AdManager.AD_THIRD_QUARTILE),shaka.ads.AdManager.AD_COMPLETE="ad-complete",goog.exportProperty(shaka.ads.AdManager,"AD_COMPLETE",shaka.ads.AdManager.AD_COMPLETE),shaka.ads.AdManager.AD_STOPPED="ad-stopped",goog.exportProperty(shaka.ads.AdManager,"AD_STOPPED",shaka.ads.AdManager.AD_STOPPED),shaka.ads.AdManager.AD_SKIPPED="ad-skipped",goog.exportProperty(shaka.ads.AdManager,"AD_SKIPPED",shaka.ads.AdManager.AD_SKIPPED),shaka.ads.AdManager.AD_VOLUME_CHANGED="ad-volume-changed",goog.exportProperty(shaka.ads.AdManager,"AD_VOLUME_CHANGED",shaka.ads.AdManager.AD_VOLUME_CHANGED),shaka.ads.AdManager.AD_MUTED="ad-muted",goog.exportProperty(shaka.ads.AdManager,"AD_MUTED",shaka.ads.AdManager.AD_MUTED),shaka.ads.AdManager.AD_PAUSED="ad-paused",goog.exportProperty(shaka.ads.AdManager,"AD_PAUSED",shaka.ads.AdManager.AD_PAUSED),shaka.ads.AdManager.AD_RESUMED="ad-resumed",goog.exportProperty(shaka.ads.AdManager,"AD_RESUMED",shaka.ads.AdManager.AD_RESUMED),shaka.ads.AdManager.AD_SKIP_STATE_CHANGED="ad-skip-state-changed",goog.exportProperty(shaka.ads.AdManager,"AD_SKIP_STATE_CHANGED",shaka.ads.AdManager.AD_SKIP_STATE_CHANGED),shaka.ads.AdManager.CUEPOINTS_CHANGED="ad-cue-points-changed",goog.exportProperty(shaka.ads.AdManager,"CUEPOINTS_CHANGED",shaka.ads.AdManager.CUEPOINTS_CHANGED),shaka.ads.AdManager.IMA_AD_MANAGER_LOADED="ima-ad-manager-loaded",goog.exportProperty(shaka.ads.AdManager,"IMA_AD_MANAGER_LOADED",shaka.ads.AdManager.IMA_AD_MANAGER_LOADED),shaka.ads.AdManager.IMA_STREAM_MANAGER_LOADED="ima-stream-manager-loaded",goog.exportProperty(shaka.ads.AdManager,"IMA_STREAM_MANAGER_LOADED",shaka.ads.AdManager.IMA_STREAM_MANAGER_LOADED),shaka.ads.AdManager.AD_CLICKED="ad-clicked",goog.exportProperty(shaka.ads.AdManager,"AD_CLICKED",shaka.ads.AdManager.AD_CLICKED),shaka.ads.AdManager.AD_PROGRESS="ad-progress",goog.exportProperty(shaka.ads.AdManager,"AD_PROGRESS",shaka.ads.AdManager.AD_PROGRESS),shaka.ads.AdManager.AD_BUFFERING="ad-buffering",goog.exportProperty(shaka.ads.AdManager,"AD_BUFFERING",shaka.ads.AdManager.AD_BUFFERING),shaka.ads.AdManager.AD_IMPRESSION="ad-impression",goog.exportProperty(shaka.ads.AdManager,"AD_IMPRESSION",shaka.ads.AdManager.AD_IMPRESSION),shaka.ads.AdManager.AD_DURATION_CHANGED="ad-duration-changed",goog.exportProperty(shaka.ads.AdManager,"AD_DURATION_CHANGED",shaka.ads.AdManager.AD_DURATION_CHANGED),shaka.ads.AdManager.AD_CLOSED="ad-closed",goog.exportProperty(shaka.ads.AdManager,"AD_CLOSED",shaka.ads.AdManager.AD_CLOSED),shaka.ads.AdManager.AD_LOADED="ad-loaded",goog.exportProperty(shaka.ads.AdManager,"AD_LOADED",shaka.ads.AdManager.AD_LOADED),shaka.ads.AdManager.ALL_ADS_COMPLETED="all-ads-completed",goog.exportProperty(shaka.ads.AdManager,"ALL_ADS_COMPLETED",shaka.ads.AdManager.ALL_ADS_COMPLETED),shaka.ads.AdManager.AD_LINEAR_CHANGED="ad-linear-changed",goog.exportProperty(shaka.ads.AdManager,"AD_LINEAR_CHANGED",shaka.ads.AdManager.AD_LINEAR_CHANGED),shaka.ads.AdManager.AD_METADATA="ad-metadata",goog.exportProperty(shaka.ads.AdManager,"AD_METADATA",shaka.ads.AdManager.AD_METADATA),shaka.ads.AdManager.AD_RECOVERABLE_ERROR="ad-recoverable-error",goog.exportProperty(shaka.ads.AdManager,"AD_RECOVERABLE_ERROR",shaka.ads.AdManager.AD_RECOVERABLE_ERROR),shaka.ads.AdManager.AD_ERROR="ad-error",goog.exportProperty(shaka.ads.AdManager,"AD_ERROR",shaka.ads.AdManager.AD_ERROR),shaka.ads.AdManager.AD_BREAK_READY="ad-break-ready",goog.exportProperty(shaka.ads.AdManager,"AD_BREAK_READY",shaka.ads.AdManager.AD_BREAK_READY),shaka.ads.AdManager.AD_INTERACTION="ad-interaction",goog.exportProperty(shaka.ads.AdManager,"AD_INTERACTION",shaka.ads.AdManager.AD_INTERACTION),shaka.ads.AdManager.AD_CONTENT_PAUSE_REQUESTED="ad-content-pause-requested",goog.exportProperty(shaka.ads.AdManager,"AD_CONTENT_PAUSE_REQUESTED",shaka.ads.AdManager.AD_CONTENT_PAUSE_REQUESTED),shaka.ads.AdManager.AD_CONTENT_RESUME_REQUESTED="ad-content-resume-requested",goog.exportProperty(shaka.ads.AdManager,"AD_CONTENT_RESUME_REQUESTED",shaka.ads.AdManager.AD_CONTENT_RESUME_REQUESTED),shaka.ads.AdManager.AD_CONTENT_ATTACH_REQUESTED="ad-content-attach-requested",goog.exportProperty(shaka.ads.AdManager,"AD_CONTENT_ATTACH_REQUESTED",shaka.ads.AdManager.AD_CONTENT_ATTACH_REQUESTED),shaka.Player.setAdManagerFactory(function(){return new shaka.ads.AdManager}),shaka.cast={},shaka.cast.CastUtils=function(){},shaka.cast.CastUtils.serialize=function(e){return JSON.stringify(e,function(e,t){if("function"!=typeof t){if(t instanceof Event||t instanceof shaka.util.FakeEvent){for(var r in e={},t){var i=t[r];
1i&&"object"==typeof i?"detail"==r&&(e[r]=i):r in Event||(e[r]=i)}return e}return t instanceof Error?shaka.cast.CastUtils.unpackError_(t):t instanceof TimeRanges?shaka.cast.CastUtils.unpackTimeRanges_(t):ArrayBuffer.isView(t)&&1===t.BYTES_PER_ELEMENT?shaka.cast.CastUtils.unpackUint8Array_(t):"number"==typeof t?isNaN(t)?"NaN":isFinite(t)?t:0>t?"-Infinity":"Infinity":t}})},shaka.cast.CastUtils.deserialize=function(e){return JSON.parse(e,function(e,t){return"NaN"==t?NaN:"-Infinity"==t?-1/0:"Infinity"==t?1/0:t&&"object"==typeof t&&"TimeRanges"==t.__type__?shaka.cast.CastUtils.simulateTimeRanges_(t):t&&"object"==typeof t&&"Uint8Array"==t.__type__?shaka.cast.CastUtils.makeUint8Array_(t):t&&"object"==typeof t&&"Error"==t.__type__?shaka.cast.CastUtils.makeError_(t):t})},shaka.cast.CastUtils.unpackTimeRanges_=function(e){var t={__type__:"TimeRanges",length:e.length,start:[],end:[]};e=$jscomp.makeIterator(shaka.media.TimeRangesUtils.getBufferedInfo(e));for(var r=e.next();!r.done;r=e.next()){var i=(r=r.value).end;t.start.push(r.start),t.end.push(i)}return t},shaka.cast.CastUtils.simulateTimeRanges_=function(e){return{length:e.length,start:function(t){return e.start[t]},end:function(t){return e.end[t]}}},shaka.cast.CastUtils.unpackUint8Array_=function(e){return{__type__:"Uint8Array",entries:Array.from(e)}},shaka.cast.CastUtils.makeUint8Array_=function(e){return new Uint8Array(e.entries)},shaka.cast.CastUtils.unpackError_=function(e){var t=new Set(["name","message","stack"]);for(r in e)t.add(r);for(var r=$jscomp.makeIterator(Object.getOwnPropertyNames(e)),i=r.next();!i.done;i=r.next())t.add(i.value);for(r={},i=(t=$jscomp.makeIterator(t)).next();!i.done;i=t.next())r[i=i.value]=e[i];return{__type__:"Error",contents:r}},shaka.cast.CastUtils.makeError_=function(e){var t,r=Error((e=e.contents).message);for(t in e)r[t]=e[t];return r},shaka.cast.CastUtils.VideoEvents="ended play playing pause pausing ratechange seeked seeking timeupdate volumechange".split(" "),shaka.cast.CastUtils.VideoAttributes="buffered currentTime duration ended loop muted paused playbackRate seeking videoHeight videoWidth volume".split(" "),shaka.cast.CastUtils.VideoInitStateAttributes=["loop","playbackRate"],shaka.cast.CastUtils.VideoVoidMethods=["pause","play"],shaka.cast.CastUtils.PlayerGetterMethods=(new Map).set("getAssetUri",2).set("getAudioLanguages",4).set("getAudioLanguagesAndRoles",4).set("getBufferFullness",1).set("getBufferedInfo",2).set("getExpiration",2).set("getKeyStatuses",2).set("getPlaybackRate",2).set("getTextLanguages",4).set("getTextLanguagesAndRoles",4).set("getImageTracks",2).set("getThumbnails",2).set("isAudioOnly",10).set("isBuffering",1).set("isInProgress",1).set("isLive",10).set("isTextTrackVisible",1).set("keySystem",10).set("seekRange",1).set("getLoadMode",10).set("getManifestType",10).set("isFullyLoaded",1).set("isEnded",1),shaka.cast.CastUtils.LargePlayerGetterMethods=(new Map).set("getConfiguration",4).set("getConfigurationForLowLatency",4).set("getStats",5).set("getTextTracks",2).set("getVariantTracks",2),shaka.cast.CastUtils.PlayerGetterMethodsThatRequireLive=(new Map).set("getPlayheadTimeAsDate",1).set("getPresentationStartTimeAsDate",20).set("getSegmentAvailabilityDuration",20),shaka.cast.CastUtils.PlayerInitState=[["getConfiguration","configure","getConfigurationForLowLatency","configurationForLowLatency"]],shaka.cast.CastUtils.PlayerInitAfterLoadState=[["isTextTrackVisible","setTextTrackVisibility"]],shaka.cast.CastUtils.PlayerVoidMethods="addChaptersTrack addTextTrackAsync addThumbnailsTrack cancelTrickPlay configure configurationForLowLatency getChapters getChaptersTracks resetConfiguration retryStreaming selectAudioLanguage selectTextLanguage selectTextTrack selectVariantTrack selectVariantsByLabel setTextTrackVisibility trickPlay updateStartTime goToLive".split(" "),shaka.cast.CastUtils.PlayerPromiseMethods=["attach","attachCanvas","detach","load","unload"],shaka.cast.CastUtils.SHAKA_MESSAGE_NAMESPACE="urn:x-cast:com.google.shaka.v2",shaka.cast.CastUtils.GENERIC_MESSAGE_NAMESPACE="urn:x-cast:com.google.cast.media",shaka.cast.CastSender=function(e,t,r,i,n,a,o){var s=this;this.receiverAppId_=e,this.androidReceiverCompatible_=o,this.statusChangeTimer_=new shaka.util.Timer(t),this.onFirstCastStateUpdate_=r,this.hasJoinedExistingSession_=!1,this.onRemoteEvent_=i,this.onResumeLocal_=n,this.onInitStateRequired_=a,this.isCasting_=this.apiReady_=!1,this.receiverName_="",this.appData_=null,this.onConnectionStatusChangedBound_=function(){return s.onConnectionStatusChanged_()},this.onMessageReceivedBound_=function(e,t){return s.onMessageReceived_(e,t)},this.cachedProperties_={video:{},player:{}},this.nextAsyncCallId_=0,this.asyncCallPromises_=new Map,this.castPromise_=null,shaka.cast.CastSender.instances_.add(this)},shaka.cast.CastSender.prototype.destroy=function(){return shaka.cast.CastSender.instances_.delete(this),this.rejectAllPromises_(),shaka.cast.CastSender.session_&&this.removeListeners_(),this.statusChangeTimer_&&(this.statusChangeTimer_.stop(),this.statusChangeTimer_=null),this.onResumeLocal_=this.onRemoteEvent_=null,this.isCasting_=this.apiReady_=!1,this.onMessageReceivedBound_=this.onConnectionStatusChangedBound_=this.castPromise_=this.asyncCallPromises_=this.cachedProperties_=this.appData_=null,Promise.resolve()},shaka.cast.CastSender.prototype.apiReady=function(){return this.apiReady_},shaka.cast.CastSender.prototype.hasReceivers=function(){return shaka.cast.CastSender.hasReceivers_},shaka.cast.CastSender.prototype.isCasting=function(){return this.isCasting_},shaka.cast.CastSender.prototype.receiverName=function(){return this.receiverName_},shaka.cast.CastSender.prototype.hasRemoteProperties=function(){return 0!=Object.keys(this.cachedProperties_.video).length},shaka.cast.CastSender.prototype.init=function(){var e=shaka.cast.CastSender;if(this.receiverAppId_.length)if(window.chrome&&chrome.cast&&chrome.cast.isAvailable){this.apiReady_=!0,this.statusChangeTimer_.tickNow();var t=new chrome.cast.SessionRequest(this.receiverAppId_,[],null,this.androidReceiverCompatible_,null);t=new chrome.cast.ApiConfig(t,function(t){return e.onExistingSessionJoined_(t)},function(t){return e.onReceiverStatusChanged_(t)},"origin_scoped"),chrome.cast.initialize(t,function(){shaka.log.debug("CastSender: init")},function(e){shaka.log.error("CastSender: init error",e)}),shaka.cast.CastSender.hasReceivers_&&this.statusChangeTimer_.tickAfter(shaka.cast.CastSender.STATUS_DELAY),(t=shaka.cast.CastSender.session_)&&t.status!=chrome.cast.SessionStatus.STOPPED?(shaka.log.debug("CastSender: re-using existing connection"),this.onExistingSessionJoined_(t)):shaka.cast.CastSender.session_=null}else window.__onGCastApiAvailable!==e.onGCastApiAvailable_&&(e.__onGCastApiAvailable_=window.__onGCastApiAvailable||null,window.__onGCastApiAvailable=e.onGCastApiAvailable_)},shaka.cast.CastSender.prototype.setAppData=function(e){this.appData_=e,this.isCasting_&&this.sendMessage_({type:"app
1Data",appData:this.appData_})},shaka.cast.CastSender.prototype.cast=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(!e.apiReady_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.CAST,shaka.util.Error.Code.CAST_API_UNAVAILABLE);if(!shaka.cast.CastSender.hasReceivers_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.CAST,shaka.util.Error.Code.NO_CAST_RECEIVERS);if(e.isCasting_)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.CAST,shaka.util.Error.Code.ALREADY_CASTING);return e.castPromise_=new shaka.util.PublicPromise,chrome.cast.requestSession(function(t){return e.onSessionInitiated_(t)},function(t){return e.onConnectionError_(t)}),t.yield(e.castPromise_,0)})},shaka.cast.CastSender.prototype.showDisconnectDialog=function(){var e=this;this.isCasting_&&chrome.cast.requestSession(function(t){return e.onSessionInitiated_(t)},function(t){return e.onConnectionError_(t)})},shaka.cast.CastSender.prototype.forceDisconnect=function(){if(this.isCasting_){if(this.rejectAllPromises_(),shaka.cast.CastSender.session_){this.removeListeners_();try{shaka.cast.CastSender.session_.stop(function(){},function(){})}catch(e){}shaka.cast.CastSender.session_=null}this.onConnectionStatusChanged_()}},shaka.cast.CastSender.prototype.get=function(e,t){var r=this;goog.asserts.assert("video"==e||"player"==e,"Unexpected target name");var i=shaka.cast.CastUtils;if("video"==e){if(i.VideoVoidMethods.includes(t))return function(){var i=$jscomp.getRestArguments.apply(0,arguments);return r.remoteCall_.apply(r,[e,t].concat($jscomp.arrayFromIterable(i)))}}else if("player"==e){if(i.PlayerGetterMethodsThatRequireLive.has(t)){var n=this.get("player","isLive")();if(goog.asserts.assert(n,t+" should be called on a live stream!"),!n)return function(){}}if(i.PlayerVoidMethods.includes(t))return function(){var i=$jscomp.getRestArguments.apply(0,arguments);return r.remoteCall_.apply(r,[e,t].concat($jscomp.arrayFromIterable(i)))};if(i.PlayerPromiseMethods.includes(t))return function(){var i=$jscomp.getRestArguments.apply(0,arguments);return r.remoteAsyncCall_.apply(r,[e,t].concat($jscomp.arrayFromIterable(i)))};if(i.PlayerGetterMethods.has(t)||i.LargePlayerGetterMethods.has(t))return function(){return r.propertyGetter_(e,t)}}return this.propertyGetter_(e,t)},shaka.cast.CastSender.prototype.set=function(e,t,r){goog.asserts.assert("video"==e||"player"==e,"Unexpected target name"),this.cachedProperties_[e][t]=r,this.sendMessage_({type:"set",targetName:e,property:t,value:r})},shaka.cast.CastSender.prototype.onSessionInitiated_=function(e){shaka.log.debug("CastSender: onSessionInitiated");var t=this.onInitStateRequired_();this.onSessionCreated_(e),this.sendMessage_({type:"init",initState:t,appData:this.appData_}),this.castPromise_.resolve()},shaka.cast.CastSender.prototype.onConnectionError_=function(e){var t=shaka.util.Error.Code.UNEXPECTED_CAST_ERROR;switch(e.code){case"cancel":t=shaka.util.Error.Code.CAST_CANCELED_BY_USER;break;case"timeout":t=shaka.util.Error.Code.CAST_CONNECTION_TIMED_OUT;break;case"receiver_unavailable":t=shaka.util.Error.Code.CAST_RECEIVER_APP_UNAVAILABLE}this.castPromise_.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.CAST,t,e))},shaka.cast.CastSender.prototype.propertyGetter_=function(e,t){return goog.asserts.assert("video"==e||"player"==e,"Unexpected target name"),this.cachedProperties_[e][t]},shaka.cast.CastSender.prototype.remoteCall_=function(e,t){var r=$jscomp.getRestArguments.apply(2,arguments);goog.asserts.assert("video"==e||"player"==e,"Unexpected target name"),this.sendMessage_({type:"call",targetName:e,methodName:t,args:r})},shaka.cast.CastSender.prototype.remoteAsyncCall_=function(e,t){var r=$jscomp.getRestArguments.apply(2,arguments);goog.asserts.assert("video"==e||"player"==e,"Unexpected target name");var i=new shaka.util.PublicPromise,n=this.nextAsyncCallId_.toString();this.nextAsyncCallId_++,this.asyncCallPromises_.set(n,i);try{this.sendMessage_({type:"asyncCall",targetName:e,methodName:t,args:r,id:n})}catch(e){i.reject(e)}return i},shaka.cast.CastSender.onExistingSessionJoined_=function(e){for(var t=$jscomp.makeIterator(shaka.cast.CastSender.instances_),r=t.next();!r.done;r=t.next())r.value.onExistingSessionJoined_(e)},shaka.cast.CastSender.prototype.onExistingSessionJoined_=function(e){shaka.log.debug("CastSender: onExistingSessionJoined"),this.castPromise_=new shaka.util.PublicPromise,this.hasJoinedExistingSession_=!0,this.onSessionInitiated_(e)},shaka.cast.CastSender.onReceiverStatusChanged_=function(e){for(var t=$jscomp.makeIterator(shaka.cast.CastSender.instances_),r=t.next();!r.done;r=t.next())r.value.onReceiverStatusChanged_(e)},shaka.cast.CastSender.prototype.onReceiverStatusChanged_=function(e){shaka.log.debug("CastSender: receiver status",e),shaka.cast.CastSender.hasReceivers_="available"==e,this.statusChangeTimer_.tickNow()},shaka.cast.CastSender.prototype.onSessionCreated_=function(e){shaka.cast.CastSender.session_=e,e.addUpdateListener(this.onConnectionStatusChangedBound_),e.addMessageListener(shaka.cast.CastUtils.SHAKA_MESSAGE_NAMESPACE,this.onMessageReceivedBound_),this.onConnectionStatusChanged_()},shaka.cast.CastSender.prototype.removeListeners_=function(){var e=shaka.cast.CastSender.session_;e.removeUpdateListener(this.onConnectionStatusChangedBound_),e.removeMessageListener(shaka.cast.CastUtils.SHAKA_MESSAGE_NAMESPACE,this.onMessageReceivedBound_)},shaka.cast.CastSender.prototype.onConnectionStatusChanged_=function(){var e=!!shaka.cast.CastSender.session_&&"connected"==shaka.cast.CastSender.session_.status;if(shaka.log.debug("CastSender: connection status",e),this.isCasting_&&!e){for(var t in this.onResumeLocal_(),this.cachedProperties_)this.cachedProperties_[t]={};this.rejectAllPromises_()}this.receiverName_=(this.isCasting_=e)?shaka.cast.CastSender.session_.receiver.friendlyName:"",this.statusChangeTimer_.tickNow()},shaka.cast.CastSender.prototype.rejectAllPromises_=function(){if(this.asyncCallPromises_)for(var e=$jscomp.makeIterator(this.asyncCallPromises_.keys()),t=e.next();!t.done;t=e.next()){t=t.value;var r=this.asyncCallPromises_.get(t);this.asyncCallPromises_.delete(t),r.reject(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.LOAD_INTERRUPTED))}},shaka.cast.CastSender.prototype.onMessageReceived_=function(e,t){switch(e=shaka.cast.CastUtils.deserialize(t),shaka.log.v2("CastSender: message",e),e.type){case"event":var r=e.targetName,i=shaka.util.FakeEvent.fromRealEvent(e.event);this.onRemoteEvent_(r,i);break;case"update":for(i in r=e.update)for(var n in e=this.cachedProperties_[i]||{},r[i])e[n]=r[i][n];this.hasJoinedExistingSession_&&(this.onFirstCastStateUpdate_(),this.hasJoinedExistingSession_=!1);break;case"asyncComplete":if(n=e.id,i=e.error,t=e.res,e=this.asyncCallPromises_.get(n),this.asyncCallPromises_.delete(n),goog.asserts.assert(e,"Unexpected async id"),e)if(i){for(r in n=new shaka.util.Error(i.severity,i.category,i.code),i)n[r]=i[r];e.reject(n)}else e.resolve(t)}},shaka.cast.CastSender.prototype.sendMessage_=function(e){e=shaka.cast.CastUtils.serialize(e);var t=shaka.cast.CastSender.session_;try{t.sendMessage(shaka.cast.CastUtils.SHAKA_MESSAGE_NAMESPACE,e,function(){},shaka.log.error)}catch(r){throw shaka.log.error("Cast session sendMessage threw",r),e=new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.CAST,shaka.util.Error.Code.CAST_CONNECTION_TIMED_OUT,r),t=new shaka.util.FakeEvent("error",(new Map).set("detail",e)),this.onRemoteEvent_("player",t),this.forceDisconnect(),e}},shaka.cast.CastSender.STATUS_DELAY=.02,shaka.cast.CastSender.hasReceivers_=!1,shaka.cast.CastSender.session_=null,shaka.cast.CastSender.__onGCastApiAvailable_=null,shaka.cast.CastSender.instances_=new Set,shaka.cast.CastSender.onSdkLoaded_=function(e){if(e){e=$jscomp.makeIterator(shaka.cast.CastSender.instances_);for(var t=e.next();!t.done;
1t=e.next())t.value.init()}},shaka.cast.CastSender.onGCastApiAvailable_=function(e){shaka.cast.CastSender.__onGCastApiAvailable_?window.__onGCastApiAvailable=shaka.cast.CastSender.__onGCastApiAvailable_:delete window.__onGCastApiAvailable,shaka.cast.CastSender.__onGCastApiAvailable_=null,shaka.cast.CastSender.onSdkLoaded_(e),"function"==typeof window.__onGCastApiAvailable&&window.__onGCastApiAvailable(e)},shaka.cast.CastProxy=function(e,t,r,i){i=void 0!==i&&i,shaka.util.FakeEventTarget.call(this);var n=this;this.localVideo_=e,this.localPlayer_=t,this.eventManager_=this.playerEventTarget_=this.videoEventTarget_=this.playerProxy_=this.videoProxy_=null,this.receiverAppId_=r,this.androidReceiverCompatible_=i,this.compiledToExternNames_=new Map,this.sender_=null,window.chrome?(this.sender_=new shaka.cast.CastSender(r,function(){return n.onCastStatusChanged_()},function(){return n.onFirstCastStateUpdate_()},function(e,t){return n.onRemoteEvent_(e,t)},function(){return n.onResumeLocal_()},function(){return n.getInitState_()},i),this.init_()):this.initWithoutSender_()},$jscomp.inherits(shaka.cast.CastProxy,shaka.util.FakeEventTarget),shaka.cast.CastProxy.prototype.destroy=function(e){return this.sender_&&e&&this.sender_.forceDisconnect(),this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),e=[],this.localPlayer_&&(e.push(this.localPlayer_.destroy()),this.localPlayer_=null),this.sender_&&(e.push(this.sender_.destroy()),this.sender_=null),this.playerProxy_=this.videoProxy_=this.localVideo_=null,shaka.util.FakeEventTarget.prototype.release.call(this),Promise.all(e)},shaka.cast.CastProxy.prototype.getVideo=function(){return this.videoProxy_},shaka.cast.CastProxy.prototype.getPlayer=function(){return this.playerProxy_},shaka.cast.CastProxy.prototype.canCast=function(){return!!this.sender_&&this.sender_.apiReady()&&this.sender_.hasReceivers()},shaka.cast.CastProxy.prototype.isCasting=function(){return!!this.sender_&&this.sender_.isCasting()},shaka.cast.CastProxy.prototype.receiverName=function(){return this.sender_?this.sender_.receiverName():""},shaka.cast.CastProxy.prototype.cast=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?e.sender_?t.yield(e.sender_.cast(),2):t.return():e.localPlayer_?t.yield(e.localPlayer_.unload(),0):t.return()})},shaka.cast.CastProxy.prototype.setAppData=function(e){this.sender_&&this.sender_.setAppData(e)},shaka.cast.CastProxy.prototype.suggestDisconnect=function(){this.sender_&&this.sender_.showDisconnectDialog()},shaka.cast.CastProxy.prototype.forceDisconnect=function(){this.sender_&&this.sender_.forceDisconnect()},shaka.cast.CastProxy.prototype.changeReceiverId=function(e,t){t=void 0!==t&&t;var r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return e==r.receiverAppId_&&t==r.androidReceiverCompatible_?i.return():(r.receiverAppId_=e,r.androidReceiverCompatible_=t,r.sender_)?(r.sender_.forceDisconnect(),i.yield(r.sender_.destroy(),2)):i.return();r.sender_=null,r.sender_=new shaka.cast.CastSender(e,function(){return r.onCastStatusChanged_()},function(){return r.onFirstCastStateUpdate_()},function(e,t){return r.onRemoteEvent_(e,t)},function(){return r.onResumeLocal_()},function(){return r.getInitState_()},t),r.sender_.init(),i.jumpToEnd()})},shaka.cast.CastProxy.prototype.initWithoutSender_=function(){this.videoProxy_=this.localVideo_,this.playerProxy_=this.localPlayer_},shaka.cast.CastProxy.prototype.init_=function(){var e=this;this.sender_.init(),this.eventManager_=new shaka.util.EventManager;for(var t=$jscomp.makeIterator(shaka.cast.CastUtils.VideoEvents),r=t.next();!r.done;r=t.next())this.eventManager_.listen(this.localVideo_,r.value,function(t){return e.videoProxyLocalEvent_(t)});for(var i in shaka.util.FakeEvent.EventName)this.eventManager_.listen(this.localPlayer_,shaka.util.FakeEvent.EventName[i],function(t){return e.playerProxyLocalEvent_(t)});for(var n in this.videoProxy_={},t={},this.localVideo_)(t={k$jscomp$12:t.k$jscomp$12}).k$jscomp$12=n,Object.defineProperty(this.videoProxy_,t.k$jscomp$12,{configurable:!1,enumerable:!0,get:function(t){return function(){return e.videoProxyGet_(t.k$jscomp$12)}}(t),set:function(t){return function(r){e.videoProxySet_(t.k$jscomp$12,r)}}(t)});this.playerProxy_={},this.iterateOverPlayerMethods_(function(t,r){goog.asserts.assert(e.playerProxy_,"Must have player proxy!"),Object.defineProperty(e.playerProxy_,t,{configurable:!1,enumerable:!0,get:function(){return e.playerProxyGet_(t)}})}),COMPILED&&this.mapCompiledToUncompiledPlayerMethodNames_(),this.videoEventTarget_=new shaka.util.FakeEventTarget,this.videoEventTarget_.dispatchTarget=this.videoProxy_,this.playerEventTarget_=new shaka.util.FakeEventTarget,this.playerEventTarget_.dispatchTarget=this.playerProxy_},shaka.cast.CastProxy.prototype.mapCompiledToUncompiledPlayerMethodNames_=function(){var e=this,t=new Map;this.iterateOverPlayerMethods_(function(r,i){t.has(i)?(i=t.get(i),r.length<i.length?e.compiledToExternNames_.set(r,i):e.compiledToExternNames_.set(i,r)):t.set(i,r)})},shaka.cast.CastProxy.prototype.iterateOverPlayerMethods_=function(e){function t(e){return"constructor"!=e&&"function"==typeof r[e]&&!i.has(e)}goog.asserts.assert(this.localPlayer_,"Must have player!");var r=this.localPlayer_,i=new Set;for(n in r)t(n)&&(i.add(n),e(n,r[n]));for(var n=Object.getPrototypeOf(r),a=Object.getPrototypeOf({});n&&n!=a;){for(var o=$jscomp.makeIterator(Object.getOwnPropertyNames(n)),s=o.next();!s.done;s=o.next())t(s=s.value)&&(i.add(s),e(s,r[s]));n=Object.getPrototypeOf(n)}},shaka.cast.CastProxy.prototype.getInitState_=function(){var e={video:{},player:{},playerAfterLoad:{},manifest:this.localPlayer_.getAssetUri(),startTime:null};this.localVideo_.pause();for(var t=$jscomp.makeIterator(shaka.cast.CastUtils.VideoInitStateAttributes),r
1=t.next();!r.done;r=t.next())r=r.value,e.video[r]=this.localVideo_[r];for(this.localVideo_.ended||(e.startTime=this.localVideo_.currentTime),r=(t=$jscomp.makeIterator(shaka.cast.CastUtils.PlayerInitState)).next();!r.done;r=t.next()){var i=r.value;r=i[1],i=this.localPlayer_[i[0]](),e.player[r]=i}for(r=(t=$jscomp.makeIterator(shaka.cast.CastUtils.PlayerInitAfterLoadState)).next();!r.done;r=t.next())r=(i=r.value)[1],i=this.localPlayer_[i[0]](),e.playerAfterLoad[r]=i;return e},shaka.cast.CastProxy.prototype.onCastStatusChanged_=function(){var e=new shaka.util.FakeEvent("caststatuschanged");this.dispatchEvent(e)},shaka.cast.CastProxy.prototype.onFirstCastStateUpdate_=function(){var e=new shaka.util.FakeEvent(this.videoProxy_.paused?"pause":"play");this.videoEventTarget_.dispatchEvent(e)},shaka.cast.CastProxy.prototype.onResumeLocal_=function(){for(var e,t=this,r=$jscomp.makeIterator(shaka.cast.CastUtils.PlayerInitState),i=r.next();!i.done;i=r.next()){var n=i.value;i=n[1],n=this.sender_.get("player",n[0])(),this.localPlayer_[i](n)}var a=this.sender_.get("player","getAssetUri")();n=this.sender_.get("video","ended"),r=Promise.resolve();var o=this.localVideo_.autoplay;i=null,n||(i=this.sender_.get("video","currentTime")),(n=this.sender_.get("player","getTextTracks")())&&n.length&&(e=n.find(function(e){return e.active}));var s=this.sender_.get("player","isTextTrackVisible")();a&&(this.localVideo_.autoplay=!1,r=this.localPlayer_.load(a,i));var l={};for(n=(i=$jscomp.makeIterator(shaka.cast.CastUtils.VideoInitStateAttributes)).next();!n.done;n=i.next())l[n=n.value]=this.sender_.get("video",n);r.then(function(){if(t.localVideo_){for(var r=$jscomp.makeIterator(shaka.cast.CastUtils.VideoInitStateAttributes),i=r.next();!i.done;i=r.next())i=i.value,t.localVideo_[i]=l[i];for(i=(r=$jscomp.makeIterator(shaka.cast.CastUtils.PlayerInitAfterLoadState)).next();!i.done;i=r.next()){var n=i.value;i=n[1],n=t.sender_.get("player",n[0])(),t.localPlayer_[i](n)}t.localPlayer_.setTextTrackVisibility(s),e&&t.localPlayer_.selectTextLanguage(e.language,e.roles,e.forced),t.localVideo_.autoplay=o,a&&t.localVideo_.play()}},function(e){goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!");var r=shaka.util.FakeEvent.EventName.Error;e=(new Map).set("detail",e),r=new shaka.util.FakeEvent(r,e),t.localPlayer_.dispatchEvent(r)})},shaka.cast.CastProxy.prototype.videoProxyGet_=function(e){var t=this;if("addEventListener"==e)return function(e,r,i){return t.videoEventTarget_.addEventListener(e,r,i)};if("removeEventListener"==e)return function(e,r,i){return t.videoEventTarget_.removeEventListener(e,r,i)};if(this.sender_.isCasting()&&!this.sender_.hasRemoteProperties()){var r=this.localVideo_[e];if("function"!=typeof r)return r}return this.sender_.isCasting()?this.sender_.get("video",e):("function"==typeof(e=this.localVideo_[e])&&(e=e.bind(this.localVideo_)),e)},shaka.cast.CastProxy.prototype.videoProxySet_=function(e,t){this.sender_.isCasting()?this.sender_.set("video",e,t):this.localVideo_[e]=t},shaka.cast.CastProxy.prototype.videoProxyLocalEvent_=function(e){this.sender_.isCasting()||(e=shaka.util.FakeEvent.fromRealEvent(e),this.videoEventTarget_.dispatchEvent(e))},shaka.cast.CastProxy.prototype.playerProxyGet_=function(e){var t=this;if(this.compiledToExternNames_.has(e)&&(e=this.compiledToExternNames_.get(e)),"addEventListener"==e)return function(e,r,i){return t.playerEventTarget_.addEventListener(e,r,i)};if("removeEventListener"==e)return function(e,r,i){return t.playerEventTarget_.removeEventListener(e,r,i)};if("getMediaElement"==e)return function(){return t.videoProxy_};if("getSharedConfiguration"==e)return shaka.log.warning("Can't share configuration across a network. Returning copy."),this.sender_.get("player","getConfiguration");if("getNetworkingEngine"==e)return this.sender_.isCasting()&&shaka.log.warning("NOTE: getNetworkingEngine() is always local!"),function(){return t.localPlayer_.getNetworkingEngine()};if("getDrmEngine"==e)return this.sender_.isCasting()&&shaka.log.warning("NOTE: getDrmEngine() is always local!"),function(){return t.localPlayer_.getDrmEngine()};if("getAdManager"==e)return this.sender_.isCasting()&&shaka.log.warning("NOTE: getAdManager() is always local!"),function(){return t.localPlayer_.getAdManager()};if("setVideoContainer"==e)return this.sender_.isCasting()&&shaka.log.warning("NOTE: setVideoContainer() is always local!"),function(e){return t.localPlayer_.setVideoContainer(e)};if(this.sender_.isCasting()){if("getManifest"==e||"drmInfo"==e)return function(){return shaka.log.alwaysWarn(e+"() does not work while casting!"),null};if("attach"==e||"detach"==e)return function(){return shaka.log.alwaysWarn(e+"() does not work while casting!"),Promise.resolve()};if("getChapters"==e)return function(){return shaka.log.alwaysWarn(e+"() does not work while casting!"),[]}}if(this.sender_.isCasting()&&!this.sender_.hasRemoteProperties()&&(shaka.cast.CastUtils.PlayerGetterMethods.has(e)||shaka.cast.CastUtils.LargePlayerGetterMethods.has(e))){var r=this.localPlayer_[e];return goog.asserts.assert("function"==typeof r,"only methods on Player"),r.b
1ind(this.localPlayer_)}return this.sender_.isCasting()?this.sender_.get("player",e):(r=this.localPlayer_[e],goog.asserts.assert("function"==typeof r,"only methods on Player"),r.bind(this.localPlayer_))},shaka.cast.CastProxy.prototype.playerProxyLocalEvent_=function(e){this.sender_.isCasting()||this.playerEventTarget_.dispatchEvent(e)},shaka.cast.CastProxy.prototype.onRemoteEvent_=function(e,t){goog.asserts.assert(this.sender_.isCasting(),"Should only receive remote events while casting"),this.sender_.isCasting()&&("video"==e?this.videoEventTarget_.dispatchEvent(t):"player"==e&&this.playerEventTarget_.dispatchEvent(t))},goog.exportSymbol("shaka.cast.CastProxy",shaka.cast.CastProxy),goog.exportProperty(shaka.cast.CastProxy.prototype,"changeReceiverId",shaka.cast.CastProxy.prototype.changeReceiverId),goog.exportProperty(shaka.cast.CastProxy.prototype,"forceDisconnect",shaka.cast.CastProxy.prototype.forceDisconnect),goog.exportProperty(shaka.cast.CastProxy.prototype,"suggestDisconnect",shaka.cast.CastProxy.prototype.suggestDisconnect),goog.exportProperty(shaka.cast.CastProxy.prototype,"setAppData",shaka.cast.CastProxy.prototype.setAppData),goog.exportProperty(shaka.cast.CastProxy.prototype,"cast",shaka.cast.CastProxy.prototype.cast),goog.exportProperty(shaka.cast.CastProxy.prototype,"receiverName",shaka.cast.CastProxy.prototype.receiverName),goog.exportProperty(shaka.cast.CastProxy.prototype,"isCasting",shaka.cast.CastProxy.prototype.isCasting),goog.exportProperty(shaka.cast.CastProxy.prototype,"canCast",shaka.cast.CastProxy.prototype.canCast),goog.exportProperty(shaka.cast.CastProxy.prototype,"getPlayer",shaka.cast.CastProxy.prototype.getPlayer),goog.exportProperty(shaka.cast.CastProxy.prototype,"getVideo",shaka.cast.CastProxy.prototype.getVideo),goog.exportProperty(shaka.cast.CastProxy.prototype,"destroy",shaka.cast.CastProxy.prototype.destroy),shaka.cast.CastReceiver=function(e,t,r,i){shaka.util.FakeEventTarget.call(this);var n=this;this.video_=e,this.player_=t,this.eventManager_=new shaka.util.EventManager,this.targets_={video:e,player:t},this.appDataCallback_=r||function(){},this.contentIdCallback_=i||function(e){return e},this.metadata_=null,this.isConnected_=!1,this.isIdle_=!0,this.updateNumber_=0,this.startUpdatingUpdateNumber_=!1,this.initialStatusUpdatePending_=!0,this.genericBus_=this.shakaBus_=null,this.pollTimer_=new shaka.util.Timer(function(){n.pollAttributes_()}),this.init_()},$jscomp.inherits(shaka.cast.CastReceiver,shaka.util.FakeEventTarget),shaka.cast.CastReceiver.prototype.isConnected=function(){return this.isConnected_},shaka.cast.CastReceiver.prototype.isIdle=function(){return this.isIdle_},shaka.cast.CastReceiver.prototype.setContentMetadata=function(e){this.metadata_=e},shaka.cast.CastReceiver.prototype.clearContentMetadata=function(){this.metadata_=null},shaka.cast.CastReceiver.prototype.setContentTitle=function(e){this.metadata_||(this.metadata_={metadataType:cast.receiver.media.MetadataType.GENERIC}),this.metadata_.title=e},shaka.cast.CastReceiver.prototype.setContentImage=function(e){this.metadata_||(this.metadata_={metadataType:cast.receiver.media.MetadataType.GENERIC}),this.metadata_.images=[{url:e}]},shaka.cast.CastReceiver.prototype.setContentArtist=function(e){this.metadata_||(this.metadata_={}),this.metadata_.artist=e,this.metadata_.metadataType=cast.receiver.media.MetadataType.MUSIC_TRACK},shaka.cast.CastReceiver.prototype.destroy=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return t.eventManager_&&(t.eventManager_.release(),t.eventManager_=null),e=[],t.player_&&(e.push(t.player_.destroy()),t.player_=null),t.pollTimer_&&(t.pollTimer_.stop(),t.pollTimer_=null),t.video_=null,t.targets_=null,t.appDataCallback_=null,t.isConnected_=!1,t.isIdle_=!0,t.shakaBus_=null,t.genericBus_=null,shaka.util.FakeEventTarget.prototype.release.call(t),r.yield(Promise.all(e),2);cast.receiver.CastReceiverManager.getInstance().stop(),r.jumpToEnd()})},shaka.cast.CastReceiver.prototype.init_=function(){var e=this,t=cast.receiver.CastReceiverManager.getInstance();t.onSenderConnected=function(){return e.onSendersChanged_()},t.onSenderDisconnected=function(){return e.onSendersChanged_()},t.onSystemVolumeChanged=function(){return e.fakeVolumeChangeEvent_()},this.genericBus_=t.getCastMessageBus(shaka.cast.CastUtils.GENER
1IC_MESSAGE_NAMESPACE),this.genericBus_.onMessage=function(t){return e.onGenericMessage_(t)},this.shakaBus_=t.getCastMessageBus(shaka.cast.CastUtils.SHAKA_MESSAGE_NAMESPACE),this.shakaBus_.onMessage=function(t){return e.onShakaMessage_(t)},goog.DEBUG?shaka.util.Platform.isChromecast()&&t.start():t.start(),t=$jscomp.makeIterator(shaka.cast.CastUtils.VideoEvents);for(var r=t.next();!r.done;r=t.next())this.eventManager_.listen(this.video_,r.value,function(t){return e.proxyEvent_("video",t)});for(var i in shaka.util.FakeEvent.EventName)this.eventManager_.listen(this.player_,shaka.util.FakeEvent.EventName[i],function(t){return e.proxyEvent_("player",t)});this.eventManager_.listen(this.video_,"loadeddata",function(){e.startUpdatingUpdateNumber_=!0}),this.eventManager_.listen(this.player_,"loading",function(){e.isIdle_=!1,e.onCastStatusChanged_()}),this.eventManager_.listen(this.video_,"playing",function(){e.isIdle_=!1,e.onCastStatusChanged_()}),this.eventManager_.listen(this.video_,"pause",function(){e.onCastStatusChanged_()}),this.eventManager_.listen(this.player_,"unloading",function(){e.isIdle_=!0,e.onCastStatusChanged_()}),this.eventManager_.listen(this.video_,"ended",function(){new shaka.util.Timer(function(){e.video_&&e.video_.ended&&(e.isIdle_=!0,e.onCastStatusChanged_())}).tickAfter(shaka.cast.CastReceiver.IDLE_INTERVAL)})},shaka.cast.CastReceiver.prototype.onSendersChanged_=function(){this.updateNumber_=0,this.initialStatusUpdatePending_=!0,this.isConnected_=0!=cast.receiver.CastReceiverManager.getInstance().getSenders().length,this.onCastStatusChanged_()},shaka.cast.CastReceiver.prototype.onCastStatusChanged_=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?r.yield(Promise.resolve(),2):t.player_?void(e=new shaka.util.FakeEvent("caststatuschanged"),t.dispatchEvent(e),t.maybeSendMediaInfoMessage_()||t.sendMediaStatus_(),r.jumpToEnd()):r.return()})},shaka.cast.CastReceiver.prototype.initState_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:for(r in e.player)i=e.player[r],m.player_[r](i);return m.appDataCallback_(t),n=m.video_.autoplay,e.manifest?(m.video_.autoplay=!1,f.setCatchFinallyBlocks(5),f.yield(m.player_.load(e.manifest,e.startTime),7)):f.yield(Promise.resolve(),3);case 7:f.leaveTryBlock(3);break;case 5:return a=f.enterCatchBlock(),goog.asserts.assert(a instanceof shaka.util.Error,"Wrong error type! Error: "+a),o=shaka.util.FakeEvent.EventName.Error,s=(new Map).set("detail",a),l=new shaka.util.FakeEvent(o,s),m.player_&&m.player_.dispatchEvent(l),f.return();case 3:if(!m.player_)return f.return();for(u in e.video)d=e.video[u],m.video_[u]=d;for(c in e.playerAfterLoad)p=e.playerAfterLoad[c],m.player_[c](p);m.video_.autoplay=n,e.manifest&&(m.video_.play(),m.sendMediaStatus_()),f.jumpToEnd()}})},shaka.cast.CastReceiver.prototype.proxyEvent_=function(e,t){this.player_&&(this.pollAttributes_(),this.sendMessage_({type:"event",targetName:e,event:t},this.shakaBus_))},shaka.cast.CastReceiver.prototype.pollAttributes_=function(){var e=this;this.pollTimer_.tickAfter(shaka.cast.CastReceiver.POLL_INTERVAL);for(var t={video:{},player:{}},r=$jscomp.makeIterator(shaka.cast.CastUtils.VideoAttributes),i=r.next();!i.done;i=r.next())i=i.value,t.video[i]=this.video_[i];this.player_.isLive()&&shaka.cast.CastUtils.PlayerGetterMethodsThatRequireLive.forEach(function(r,i){0==e.updateNumber_%r&&(t.player[i]=e.player_[i]())}),shaka.cast.CastUtils.PlayerGetterMethods.forEach(function(r,i){0==e.updateNumber_%r&&(t.player[i]=e.player_[i]())}),(r=cast.receiver.CastReceiverManager.getInstance().getSystemVolume())&&(t.video.volume=r.level,t.video.muted=r.muted),this.sendMessage_({type:"update",update:t},this.shakaBus_),shaka.cast.CastUtils.LargePlayerGetterMethods.forEach(function(t,r){0==e.updateNumber_%t&&((t={player:{}}).player[r]=e.player_[r](),e.sendMessage_({type:"update",update:t},e.shakaBus_))}),this.startUpdatingUpdateNumber_&&(this.updateNumber_+=1),this.maybeSendMediaInfoMessage_()}
1,shaka.cast.CastReceiver.prototype.maybeSendMediaInfoMessage_=function(){return!!(this.initialStatusUpdatePending_&&(this.video_.duration||this.player_.isLive()))&&(this.sendMediaInfoMessage_(),this.initialStatusUpdatePending_=!1,!0)},shaka.cast.CastReceiver.prototype.sendMediaInfoMessage_=function(e){e=void 0===e?0:e;var t={contentId:this.player_.getAssetUri(),streamType:this.player_.isLive()?"LIVE":"BUFFERED",contentType:""};this.player_.isLive()||(t.duration=this.video_.duration),this.metadata_&&(t.metadata=this.metadata_),this.sendMediaStatus_(e,t)},shaka.cast.CastReceiver.prototype.fakeVolumeChangeEvent_=function(){var e=cast.receiver.CastReceiverManager.getInstance().getSystemVolume();goog.asserts.assert(e,"System volume should not be null!"),e&&this.sendMessage_({type:"update",update:{video:{volume:e.level,muted:e.muted}}},this.shakaBus_),this.sendMessage_({type:"event",targetName:"video",event:{type:"volumechange"}},this.shakaBus_)},shaka.cast.CastReceiver.prototype.onShakaMessage_=function(e){var t=this,r=shaka.cast.CastUtils.deserialize(e.data);switch(shaka.log.debug("CastReceiver: message",r),r.type){case"init":this.updateNumber_=0,this.startUpdatingUpdateNumber_=!1,this.initialStatusUpdatePending_=!0,this.initState_(r.initState,r.appData),this.pollAttributes_();break;case"appData":this.appDataCallback_(r.appData);break;case"set":var i=r.targetName,n=r.property;if(r=r.value,"video"==i){if(e=cast.receiver.CastReceiverManager.getInstance(),"volume"==n){e.setSystemVolumeLevel(r);break}else if("muted"==n){e.setSystemVolumeMuted(r);break}}this.targets_[i][n]=r;break;case"call":(i=this.targets_[r.targetName])[r.methodName].apply(i,r.args);break;case"asyncCall":i=r.targetName,n=r.methodName,"player"==i&&"load"==n&&(this.updateNumber_=0,this.startUpdatingUpdateNumber_=!1);var a=r.id,o=e.senderId;r=(e=this.targets_[i])[n].apply(e,r.args),"player"==i&&"load"==n&&(r=r.then(function(){t.initialStatusUpdatePending_=!0})),r.then(function(e){return t.sendAsyncComplete_(o,a,null,e)},function(e){return t.sendAsyncComplete_(o,a,e,null)})}},shaka.cast.CastReceiver.prototype.onGenericMessage_=function(e){var t=this,r=shaka.cast.CastUtils.deserialize(e.data);switch(shaka.log.debug("CastReceiver: message",r),r.type){case"PLAY":this.video_.play(),this.sendMediaStatus_();break;case"PAUSE":this.video_.pause(),this.sendMediaStatus_();break;case"SEEK":e=r.currentTime;var i=r.resumeState;null!=e&&(this.video_.currentTime=Number(e)),i&&"PLAYBACK_START"==i?(this.video_.play(),this.sendMediaStatus_()):i&&"PLAYBACK_PAUSE"==i&&(this.video_.pause(),this.sendMediaStatus_());break;case"STOP":this.player_.unload().then(function(){t.player_&&t.sendMediaStatus_()});break;case"GET_STATUS":this.sendMediaInfoMessage_(Number(r.requestId));break;case"VOLUME":e=(i=r.volume).level,i=i.muted;var n=this.video_.volume,a=this.video_.muted;null!=e&&(this.video_.volume=Number(e)),null!=i&&(this.video_.muted=i),n==this.video_.volume&&a==this.video_.muted||this.sendMediaStatus_();break;case"LOAD":this.updateNumber_=0,this.initialStatusUpdatePending_=this.startUpdatingUpdateNumber_=!1,e=r.media,i=r.currentTime,n=this.contentIdCallback_(e.contentId),a=r.autoplay||!0,this.appDataCallback_(e.customData),a&&(this.video_.autoplay=!0),this.player_.load(n,i).then(function(){t.player_&&t.sendMediaInfoMessage_()}).catch(function(e){goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!");var i="LOAD_FAILED";e.category==shaka.util.Error.Category.PLAYER&&e.code==shaka.util.Error.Code.LOAD_INTERRUPTED&&(i="LOAD_CANCELLED"),t.sendMessage_({requestId:Number(r.requestId),type:i},t.genericBus_)});break;default:shaka.log.warning("Unrecognized message type from the generic Chromecast controller!",r.type),this.sendMessage_({requestId:Number(r.requestId),type:"INVALID_REQUEST",reason:"INVALID_COMMAND"},this.genericBus_)}},shaka.cast.CastReceiver.prototype.sendAsyncComplete_=function(e,t,r,i){this.player_&&this.sendMessage_({type:"asyncComplete",id:t,error:r,res:i},this.shakaBus_,e)},shaka.cast.CastReceiver.prototype.sendMessage_=function(e,t,r){this.isConnected_&&(e=shaka.cast.CastUtils.serialize(e),r?t.getCastChannel(r).send(e):t.broadcast(e))},shaka.cast.CastReceiver.prototype.getPlayState_=function(){var e=shaka.cast.CastReceiver.PLAY_STATE;return this.isIdle_?e.IDLE:this.player_.isBuffering()?e.BUFFERING:this.video_.paused?e.PAUSED:e.PLAYING},shaka.cast.CastReceiver.prototype.sendMediaStatus_=function(e,t){e=void 0===e?0:e,t=void 0===t?null:t;var r={mediaSessionId:0,playbackRate:this.video_.playbackRate,playerState:this.getPlayState_(),currentTime:this.video_.currentTime,supportedMediaCommands:63,volume:{level:this.video_.volume,muted:this.video_.muted}};t&&(r.media=t),this.sendMessage_({requestId:e,type:"MEDIA_STATUS",status:[r]},this.genericBus_)},goog.exportSymbol("shaka.cast.CastReceiver",shaka.cast.CastReceiver),goog.exportProperty(shaka.cast.CastReceiver.prototype,"destroy",shaka.cast.CastReceiver.prototype.destroy),goog.exportProperty(shaka.cast.CastReceiver.prototype,"setContentArtist",shaka.cast.CastReceiver.prototype.setContentArtist),goog.exportProperty(shaka.cast.CastReceiver.prototype,"setContentImage",shaka.cast.CastReceiver.prototype.setContentImage),goog.exportProperty(shaka.cast.CastReceiver.prototype,"setContentTitle",shaka.cast.CastReceiver.prototype.setContentTitle),goog.exportProperty(shaka.cast.CastReceiver.prototype,"clearContentMetadata",shaka.cast.CastReceiver.prototype.clearContentMetadata),goog.exportProperty(shaka.cast.CastReceiver.prototype,"setContentMetadata",shaka.cast.CastReceiver.prototype.setContentMetadata),goog.exportProperty(shaka.cast.CastReceiver.prototype,"isIdle",shaka.cast.CastReceiver.prototype.isIdle),goog.exportProperty(shaka.cast.CastReceiver.prototype,"isConnected",shaka.cast.CastReceiver.prototype.isConnected),shaka.cast.CastReceiver.POLL_INTERVAL=.5,shaka.cast.CastReceiver.IDLE_INTERVAL=5,shaka.cast.CastReceiver.PLAY_STATE={IDLE:"IDLE",PLAYING:"PLAYING",BUFFERING:"BUFFERING",PAUSED:"PAUSED"},shaka.cea.CeaUtils=function(){},shaka.cea.CeaUtils.getParsedCaption=function(e,t,r,i,n){if(i>=n)return null;for(var a=-1,o=-1,s=0;s<r.length;s++)if(r[s].some(function(e){return null!=e&&""!=e.getChar().trim()})){a=s;break}for(s=r.length-1;0<=s;s--)if(r[s].some(function(e){return null!=e&&""!=e.getChar().trim()})){o=s;break}if(-1===a||-1===o)return null;for(var l=s=!1,u=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR,d=shaka.cea.CeaUtils.DEFAULT_BG_COLOR,
1c=shaka.cea.CeaUtils.createStyledCue(i,n,s,l,u,d);a<=o;a++){for(var p=r[a],m=-1,f=-1,g=0;g<p.length;g++)if(null!=p[g]&&""!==p[g].getChar().trim()){m=g;break}for(g=p.length-1;0<=g;g--)if(null!=p[g]&&""!==p[g].getChar().trim()){f=g;break}if(-1===m||-1===f)p=shaka.cea.CeaUtils.createLineBreakCue(i,n),e.nestedCues.push(p);else{for(;m<=f;m++)if(g=p[m]){var h=g.isUnderlined(),y=g.isItalicized(),_=g.getTextColor(),S=g.getBackgroundColor();(h!=s||y!=l||_!=u||S!=d)&&(c.payload&&e.nestedCues.push(c),c=shaka.cea.CeaUtils.createStyledCue(i,n,h,y,_,S),s=h,l=y,u=_,d=S),c.payload+=g.getChar()}else c.payload+=" ";c.payload&&e.nestedCues.push(c),a!==o&&(c=shaka.cea.CeaUtils.createLineBreakCue(i,n),e.nestedCues.push(c)),c=shaka.cea.CeaUtils.createStyledCue(i,n,s,l,u,d)}}return e.nestedCues.length?{cue:e,stream:t}:null},shaka.cea.CeaUtils.createStyledCue=function(e,t,r,i,n,a){return e=new shaka.text.Cue(e,t,""),r&&e.textDecoration.push(shaka.text.Cue.textDecoration.UNDERLINE),i&&(e.fontStyle=shaka.text.Cue.fontStyle.ITALIC),e.color=n,e.backgroundColor=a,e},shaka.cea.CeaUtils.createLineBreakCue=function(e,t){return(e=new shaka.text.Cue(e,t,"")).lineBreak=!0,e},shaka.cea.CeaUtils.StyledChar=function(e,t,r,i,n){this.character_=e,this.underline_=t,this.italics_=r,this.backgroundColor_=i,this.textColor_=n},shaka.cea.CeaUtils.StyledChar.prototype.getChar=function(){return this.character_},shaka.cea.CeaUtils.StyledChar.prototype.isUnderlined=function(){return this.underline_},shaka.cea.CeaUtils.StyledChar.prototype.isItalicized=function(){return this.italics_},shaka.cea.CeaUtils.StyledChar.prototype.getBackgroundColor=function(){return this.backgroundColor_},shaka.cea.CeaUtils.StyledChar.prototype.getTextColor=function(){return this.textColor_},shaka.cea.CeaUtils.DEFAULT_BG_COLOR="black",shaka.cea.CeaUtils.DEFAULT_TXT_COLOR="white",shaka.cea.CeaUtils.H264_NALU_TYPE_SEI=6,shaka.cea.CeaUtils.H265_PREFIX_NALU_TYPE_SEI=39,shaka.cea.CeaUtils.H265_SUFFIX_NALU_TYPE_SEI=40,shaka.cea.CeaUtils.H266_PREFIX_NALU_TYPE_SEI=23,shaka.cea.CeaUtils.H266_SUFFIX_NALU_TYPE_SEI=24,shaka.cea.CeaUtils.DEFAULT_TIMESCALE_VALUE=9e4,shaka.cea.Cea608Memory=function(e,t){this.rows_=[],this.row_=1,this.scrollRows_=0,this.fieldNum_=e,this.channelNum_=t,this.italics_=this.underline_=!1,this.textColor_=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR,this.backgroundColor_=shaka.cea.CeaUtils.DEFAULT_BG_COLOR,this.indent_=this.offset_=null,this.reset()},shaka.cea.Cea608Memory.prototype.forceEmit=function(e,t){var r=shaka.cea.Cea608Memory,i="CC"+((this.fieldNum_<<1|this.channelNum_)+1),n=new shaka.text.Cue(e,t,"");n.lineInterpretation=shaka.text.Cue.lineInterpretation.PERCENTAGE;var a=r.ROW_TO_LINE_CONVERSION_.get(this.row_);return a&&(n.line=a),null!=this.indent_&&null!=this.offset_&&(n.position=10+Math.min(70,10*this.indent_)+2.5*this.offset_),(e=shaka.cea.CeaUtils.getParsedCaption(n,i,this.rows_,e,t))&&15<this.row_+e.cue.nestedCues.length-3&&(a=r.ROW_TO_LINE_CONVERSION_.get(this.row_+3-e.cue.nestedCues.length))&&(n.line=a),e},shaka.cea.Cea608Memory.prototype.reset=function(){this.resetAllRows(),this.row_=1},shaka.cea.Cea608Memory.prototype.getRow=function(){return this.row_},shaka.cea.Cea608Memory.prototype.setRow=function(e){this.row_=e},shaka.cea.Cea608Memory.prototype.getScrollSize=function(){return this.scrollRows_},shaka.cea.Cea608Memory.prototype.setScrollSize=function(e){this.scrollRows_=e},shaka.cea.Cea608Memory.prototype.addChar=function(e,t){if(!(32>t||127<t)){var r="";switch(e){case shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN:r=shaka.cea.Cea608Memory.CharSet.BasicNorthAmericanChars.has(t)?shaka.cea.Cea608Memory.CharSet.BasicNorthAmericanChars.get(t):String.fromCharCode(t);break;case shaka.cea.Cea608Memory.CharSet.SPECIAL_NORTH_AMERICAN:r=shaka.cea.Cea608Memory.CharSet.SpecialNorthAmericanChars.get(t);break;case shaka.cea.Cea608Memory.CharSet.SPANISH_FRENCH:this.eraseChar(),r=shaka.cea.Cea608Memory.CharSet.ExtendedSpanishFrench.get(t);break;case shaka.cea.Cea608Memory.CharSet.PORTUGUESE_GERMAN:this.eraseChar(),r=shaka.cea.Cea608Memory.CharSet.ExtendedPortugueseGerman.get(t)}r&&(e=new shaka.cea.CeaUtils.StyledChar(r,this.underline_,this.italics_,this.backgroundColor_,this.textColor_),this.rows_[this.row_].push(e))}},shaka.cea.Cea608Memory.prototype.eraseChar=function(){this.rows_[this.row_].pop()},shaka.cea.Cea608Memory.prototype.moveRows=function(e,t,r){if(!(0>t||0>e))if(e>=t)for(--r;0<=r;r--)this.rows_[e+r]=this.rows_[t+r].map(function(e){return e});else for(var i=0;i<r;i++)this.rows_[e+i]=this.rows_[t+i].map(function(e){return e})},shaka.cea.Cea608Memory.prototype.resetRows=function(e,t){for(var r=0;r<=t;r++)this.rows_[e+r]=[]},shaka.cea.Cea608Memory.prototype.resetAllRows=function(){this.resetRows(0,shaka.cea.Cea608Memory.CC_ROWS)},shaka.cea.Cea608Memory.prototype.eraseBuffer=function(){this.row_=0<this.scrollRows_?this.scrollRows_:0,this.resetAllRows()},shaka.cea.Cea608Memory.prototype.setUnderline=function(e){this.underline_=e},shaka.cea.Cea608Memory.prototype.setItalics=function(e){this.italics_=e},shaka.cea.Cea608Memory.prototype.setTextColor=function(e){this.textColor_=e}
1,shaka.cea.Cea608Memory.prototype.setBackgroundColor=function(e){this.backgroundColor_=e},shaka.cea.Cea608Memory.prototype.setOffset=function(e){this.offset_=e},shaka.cea.Cea608Memory.prototype.setIndent=function(e){this.indent_=e},shaka.cea.Cea608Memory.CC_ROWS=15,shaka.cea.Cea608Memory.CharSet={BASIC_NORTH_AMERICAN:0,SPECIAL_NORTH_AMERICAN:1,SPANISH_FRENCH:2,PORTUGUESE_GERMAN:3},shaka.cea.Cea608Memory.CharSet.BasicNorthAmericanChars=new Map([[39,"’"],[42,"\xe1"],[92,"\xe9"],[92,"\xe9"],[94,"\xed"],[95,"\xf3"],[96,"\xfa"],[123,"\xe7"],[124,"\xf7"],[125,"\xd1"],[126,"\xf1"],[127,"█"]]),shaka.cea.Cea608Memory.CharSet.SpecialNorthAmericanChars=new Map([[48,"\xae"],[49,"\xb0"],[50,"\xbd"],[51,"\xbf"],[52,"™"],[53,"\xa2"],[54,"\xa3"],[55,"♪"],[56,"\xe0"],[57," "],[58,"\xe8"],[59,"\xe2"],[60,"\xea"],[61,"\xee"],[62,"\xf4"],[63,"\xfb"]]),shaka.cea.Cea608Memory.CharSet.ExtendedSpanishFrench=new Map([[32,"\xc1"],[33,"\xc9"],[34,"\xd3"],[35,"\xda"],[36,"\xdc"],[37,"\xfc"],[38,"‘"],[39,"\xa1"],[40,"*"],[41,"'"],[42,"─"],[43,"\xa9"],[44,"℠"],[45,"\xb7"],[46,"“"],[47,"”"],[48,"\xc0"],[49,"\xc2"],[50,"\xc7"],[51,"\xc8"],[52,"\xca"],[53,"\xcb"],[54,"\xeb"],[55,"\xce"],[56,"\xcf"],[57,"\xef"],[58,"\xd4"],[59,"\xd9"],[60,"\xf9"],[61,"\xdb"],[62,"\xab"],[63,"\xbb"]]),shaka.cea.Cea608Memory.CharSet.ExtendedPortugueseGerman=new Map([[32,"\xc3"],[33,"\xe3"],[34,"\xcd"],[35,"\xcc"],[36,"\xec"],[37,"\xd2"],[38,"\xf2"],[39,"\xd5"],[40,"\xf5"],[41,"{"],[42,"}"],[43,"\\"],[44,"^"],[45,"_"],[46,"|"],[47,"~"],[48,"\xc4"],[49,"\xe4"],[50,"\xd6"],[51,"\xf6"],[52,"\xdf"],[53,"\xa5"],[54,"\xa4"],[55,"│"],[56,"\xc5"],[57,"\xe5"],[58,"\xd8"],[59,"\xf8"],[60,"┌"],[61,"┐"],[62,"└"],[63,"┘"]]),shaka.cea.Cea608Memory.ROW_TO_LINE_CONVERSION_=new Map([[1,10],[2,15.33],[3,20.66],[4,26],[5,31.33],[6,36.66],[7,42],[8,47.33],[9,52.66],[10,58],[11,63.33],[12,68.66],[13,74],[14,79.33],[15,84.66]]),shaka.cea.Cea608DataChannel=function(e,t){this.type_=shaka.cea.Cea608DataChannel.CaptionType.NONE,this.text_=new shaka.cea.Cea608Memory(e,t),this.displayedMemory_=new shaka.cea.Cea608Memory(e,t),this.curBuf_=this.nonDisplayedMemory_=new shaka.cea.Cea608Memory(e,t),this.prevEndTime_=0,this.lastCp_=null},shaka.cea.Cea608DataChannel.prototype.reset=function(){this.type_=shaka.cea.Cea608DataChannel.CaptionType.NONE,this.curBuf_=this.nonDisplayedMemory_,this.lastCp_=null,this.displayedMemory_.reset(),this.nonDisplayedMemory_.reset(),this.text_.reset()},shaka.cea.Cea608DataChannel.prototype.firstPts=function(e){this.prevEndTime_=e},shaka.cea.Cea608DataChannel.prototype.pacToRow_=function(e,t){return[11,11,1,2,3,4,12,13,14,15,5,6,7,8,9,10][(7&e)<<1|t>>5&1]},shaka.cea.Cea608DataChannel.prototype.controlPac_=function(e,t){e=this.pacToRow_(e,t);var r=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR,i=!1,n=null,a=95<t?t-96:t-64;if(13>=a?r=shaka.cea.Cea608DataChannel.TEXT_COLORS[Math.floor(a/2)]:15>=a?i=!0:n=Math.floor((a-16)/2),t=1==(1&t),this.type_!==shaka.cea.Cea608DataChannel.CaptionType.TEXT){if(a=this.curBuf_,this.type_===shaka.cea.Cea608DataChannel.CaptionType.ROLLUP&&e!==a.getRow()){var o=1+a.getRow()-a.getScrollSize(),s=1+e-a.getScrollSize();a.moveRows(s,o,a.getScrollSize()),a.resetRows(0,s-1),a.resetRows(e+1,shaka.cea.Cea608Memory.CC_ROWS-e)}a.setRow(e),a.setUnderline(t),a.setItalics(i),a.setTextColor(r),a.setIndent(n),a.setBackgroundColor(shaka.cea.CeaUtils.DEFAULT_BG_COLOR)}},shaka.cea.Cea608DataChannel.prototype.controlMidrow_=function(e){this.curBuf_.setUnderline(!1),this.curBuf_.setItalics(!1),this.curBuf_.setTextColor(shaka.cea.CeaUtils.DEFAULT_TXT_COLOR),this.curBuf_.addChar(shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN,32);var t=!1,r=shaka.cea.Cea608DataChannel.TEXT_COLORS[(14&e)>>1];"white_italics"===r&&(r="white",t=!0),this.curBuf_.setUnderline(1==(1&e)),this.curBuf_.setItalics(t),this.curBuf_.setTextColor(r)},shaka.cea.Cea608DataChannel.prototype.controlBackgroundAttribute_=function(e,t){var r=shaka.cea.CeaUtils.DEFAULT_BG_COLOR;0==(7&e)&&(r=shaka.cea.Cea608DataChannel.BG_COLORS[(14&t)>>1]),this.curBuf_.setBackgroundColor(r)},shaka.cea.Cea608DataChannel.prototype.controlMiscellaneous_=function(e){var t=shaka.cea.Cea608DataChannel.MiscCmd_,r=e.pts,i=null;switch(e.ccData2){case t.RCL:this.controlRcl_();break;case t.BS:this.controlBs_();break;case t.RU2:i=this.controlRu_(2,r);break;case t.RU3:i=this.controlRu_(3,r);break;case t.RU4:i=this.controlRu_(4,r);break;case t.FON:this.controlFon_();break;case t.RDC:this.controlRdc_(r);break;case t.TR:this.controlTr_();break;case t.RTD:this.controlRtd_();break;case t.EDM:i=this.controlEdm_(r);break;case t.CR:i=this.controlCr_(r);break;case t.ENM:this.controlEnm_();break;case t.EOC:i=this.controlEoc_(r)}return i},shaka.cea.Cea608DataChannel.prototype.controlCr_=function(e){var t=this.curBuf_;
1if(this.type_!==shaka.cea.Cea608DataChannel.CaptionType.ROLLUP)return null;var r=t.forceEmit(this.prevEndTime_,e),i=t.getRow()-t.getScrollSize()+1;return t.moveRows(i-1,i,t.getScrollSize()),t.resetRows(0,i-1),t.resetRows(t.getRow(),shaka.cea.Cea608Memory.CC_ROWS-t.getRow()),this.prevEndTime_=e,r},shaka.cea.Cea608DataChannel.prototype.controlRu_=function(e,t){var r=this.curBuf_=this.displayedMemory_,i=null;return this.type_!==shaka.cea.Cea608DataChannel.CaptionType.ROLLUP&&this.type_!==shaka.cea.Cea608DataChannel.CaptionType.TEXT&&(i=r.forceEmit(this.prevEndTime_,t),this.displayedMemory_.eraseBuffer(),this.nonDisplayedMemory_.eraseBuffer(),r.setRow(shaka.cea.Cea608Memory.CC_ROWS)),this.type_=shaka.cea.Cea608DataChannel.CaptionType.ROLLUP,r.setScrollSize(e),i},shaka.cea.Cea608DataChannel.prototype.controlFon_=function(){this.curBuf_.addChar(shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN,32)},shaka.cea.Cea608DataChannel.prototype.controlEdm_=function(e){var t=this.displayedMemory_,r=null;return this.type_!==shaka.cea.Cea608DataChannel.CaptionType.TEXT&&(r=t.forceEmit(this.prevEndTime_,e)),t.resetAllRows(),r},shaka.cea.Cea608DataChannel.prototype.controlRdc_=function(e){this.type_=shaka.cea.Cea608DataChannel.CaptionType.PAINTON,this.curBuf_=this.displayedMemory_,this.curBuf_.setScrollSize(0),this.prevEndTime_=e},shaka.cea.Cea608DataChannel.prototype.controlEnm_=function(){this.nonDisplayedMemory_.resetAllRows()},shaka.cea.Cea608DataChannel.prototype.controlEoc_=function(e){var t=null;this.type_!==shaka.cea.Cea608DataChannel.CaptionType.TEXT&&(t=this.displayedMemory_.forceEmit(this.prevEndTime_,e));var r=this.nonDisplayedMemory_;return this.nonDisplayedMemory_=this.displayedMemory_,this.displayedMemory_=r,this.controlRcl_(),this.prevEndTime_=e,t},shaka.cea.Cea608DataChannel.prototype.controlRcl_=function(){this.type_=shaka.cea.Cea608DataChannel.CaptionType.POPON,this.curBuf_=this.nonDisplayedMemory_,this.curBuf_.setScrollSize(0)},shaka.cea.Cea608DataChannel.prototype.controlBs_=function(){this.curBuf_.eraseChar()},shaka.cea.Cea608DataChannel.prototype.controlTr_=function(){this.text_.reset(),this.controlRtd_()},shaka.cea.Cea608DataChannel.prototype.controlRtd_=function(){shaka.log.warnOnce("Cea608DataChannel","CEA-608 text mode entered, but is unsupported"),this.curBuf_=this.text_,this.type_=shaka.cea.Cea608DataChannel.CaptionType.TEXT},shaka.cea.Cea608DataChannel.prototype.handleBasicNorthAmericanChar=function(e,t){this.curBuf_.addChar(shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN,e),this.curBuf_.addChar(shaka.cea.Cea608Memory.CharSet.BASIC_NORTH_AMERICAN,t)},shaka.cea.Cea608DataChannel.prototype.handleExtendedWesternEuropeanChar_=function(e,t){this.curBuf_.addChar(1&e?shaka.cea.Cea608Memory.CharSet.PORTUGUESE_GERMAN:shaka.cea.Cea608Memory.CharSet.SPANISH_FRENCH,t)},shaka.cea.Cea608DataChannel.prototype.handleOffset_=function(e){this.curBuf_.setOffset(e)},shaka.cea.Cea608DataChannel.prototype.handleControlCode=function(e){var t=e.ccData1,r=e.ccData2;if(this.lastCp_===(t<<8|r))return this.lastCp_=null;if(this.lastCp_=t<<8|r,this.isPAC_(t,r))this.controlPac_(t,r);else if(this.isMidrowStyleChange_(t,r))this.controlMidrow_(r);else if(this.isBackgroundAttribute_(t,r))this.controlBackgroundAttribute_(t,r);else if(this.isSpecialNorthAmericanChar_(t,r))this.curBuf_.addChar(shaka.cea.Cea608Memory.CharSet.SPECIAL_NORTH_AMERICAN,r);else if(this.isExtendedWesternEuropeanChar_(t,r))this.handleExtendedWesternEuropeanChar_(t,r);else{if(this.isMiscellaneous_(t,r))return this.controlMiscellaneous_(e);this.isOffset_(t,r)&&this.handleOffset_(r-32)}return null},shaka.cea.Cea608DataChannel.prototype.isMiscellaneous_=function(e,t){return 20==(246&e)&&32==(240&t)},shaka.cea.Cea608DataChannel.prototype.isOffset_=function(e,t){return(23==e||31==e)&&33<=t&&35>=t},shaka.cea.Cea608DataChannel.prototype.isPAC_=function(e,t){return 16==(240&e)&&64==(192&t)},shaka.cea.Cea608DataChannel.prototype.isMidrowStyleChange_=function(e,t){return 17==(247&e)&&32==(240&t)},shaka.cea.Cea608DataChannel.prototype.isBackgroundAttribute_=function(e,t){return 16==(247&e)&&32==(240&t)||23==(247&e)&&45==(255&t)},shaka.cea.Cea608DataChannel.prototype.isSpecialNorthAmericanChar_=function(e,t){return 17==(247&e)&&48==(240&t)},shaka.cea.Cea608DataChannel.prototype.isExtendedWesternEuropeanChar_=function(e,t){return 18==(246&e)&&32==(224&t)},shaka.cea.Cea608DataChannel.isControlCode=function(e){return 16==(112&e)},shaka.cea.Cea608DataChannel.isXdsControlCode=function(e){return 1<=e&&15>=e},shaka.cea.Cea608DataChannel.MiscCmd_={RCL:32,BS:33,AOD:34,AON:35,DER:36,RU2:37,RU3:38,RU4:39,FON:40,RDC:41,TR:42,RTD:43,EDM:44,CR:45,ENM:46,EOC:47},shaka.cea.Cea608DataChannel.CaptionType={NONE:0,POPON:1,PAINTON:2,ROLLUP:3,TEXT:4},shaka.cea.Cea608DataChannel.BG_COLORS="black green blue cyan red yellow magenta black".split(" "),shaka.cea.Cea608DataChannel.TEXT_COLORS="white green blue cyan red yellow magenta white_italics".split(" "),shaka.cea.Cea708Window=function(e,t){this.parentService_=t,this.windowNum_=e,this.relativeToggle_=this.visible_=!1,this.colCount_=this.rowCount_=this.anchorId_=this.verticalAnchor_=this.horizontalAnchor_=0,this.justification_=shaka.cea.Cea708Window.TextJustification.CENTER,this.memory_=[],this.col_=this.row_=this.startTime_=0,this.underline_=this.italics_=!1,this.textColor_=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR,this.backgroundColor_=shaka.cea.CeaUtils.DEFAULT_BG_COLOR,this.resetMemory()},shaka.cea.Cea708Window.prototype.defineWindow=function(e,t,r,i,n,a,o){this.visible_=e,this.verticalAnchor_=t,this.horizontalAnchor_=r,this.anchorId_=i,this.relativeToggle_=n,this.rowCount_=a,this.colCount_=o},shaka.cea.Cea708Window.prototype.resetMemory=function(){this.memory_=[];for(var e=0;e<shaka.cea.Cea708Window.MAX_ROWS;e++)this.memory_.push(this.createNewRow_())},shaka.cea.Cea708Window.prototype.createNewRow_=function(){for(var e=[],t=0;t<shaka.cea.Cea708Window.MAX_COLS;t++)e.push(null);return e},shaka.cea.Cea708Window.prototype.setCharacter=function(e){this.isPenInBounds_()&&(e=new shaka.cea.CeaUtils.StyledChar(e,this.underline_,this.italics_,this.backgroundColor_,this.textColor_),this.memory_[this.row_][this.col_]=e,this.col_++)},shaka.cea.Cea708Window.prototype.backspace=function(){!this.isPenInBounds_()||0>=this.col_&&0>=this.row_||(0>=this.col_?(this.col_=this.colCount_-1,this.row_--):this.col_--,this.memory_[this.row_][this.col_]=null)},shaka.cea.Cea708Window.prototype.isPenInBounds_=function(){var e=this.col_<this.colCount_&&0<=this.col_;return this.row_<this.rowCount_&&0<=this.row_&&e},shaka.cea.Cea708Window.prototype.isVisible=function(){return this.visible_},shaka.cea.Cea708Window.prototype.moveUpRows_=function(e){for(var t=0,r=e;r<shaka.cea.Cea708Window.MAX_ROWS;r++,t++)this.memory_[t]=this.memory_[r];for(r=0;r<e;r++,t++)this.memory_[t]=this.createNewRow_()},shaka.cea.Cea708Window.prototype.carriageReturn=function(){this.row_+1>=this.rowCount_?this.moveUpRows_(1):this.row_++,this.col_=0},shaka.cea.Cea708Window.prototype.horizontalCarriageReturn=function(){this.memory_[this.row_]=this.createNewRow_(),this.col_=0},shaka.cea.Cea708Window.prototype.forceEmit=function(e,t){t="svc"+t;var r=shaka.cea.Cea708Window.TextJustification,i=new shaka.text.Cue(this.startTime_,e,"");return i.textAlign=this.justification_===r.LEFT?shaka.text.Cue.textAlign.LEFT:this.justification_===r.RIGHT?shaka.text.Cue.textAlign.RIGHT:shaka.text.Cue.textAlign.CENTER,this.adjustRegion_(i.region),(t=shaka.cea.CeaUtils.getParsedCaption(i,t,this.memory_,this.startTime_,e))&&this.setStartTime(e),t},shaka.cea.Cea708Window.prototype.setPenLocation=function(e,t){this.row_=e,this.col_=t}
1,shaka.cea.Cea708Window.prototype.setPenBackgroundColor=function(e){this.backgroundColor_=e},shaka.cea.Cea708Window.prototype.setPenTextColor=function(e){this.textColor_=e},shaka.cea.Cea708Window.prototype.setPenUnderline=function(e){this.underline_=e},shaka.cea.Cea708Window.prototype.setPenItalics=function(e){this.italics_=e},shaka.cea.Cea708Window.prototype.resetPen=function(){this.col_=this.row_=0,this.italics_=this.underline_=!1,this.textColor_=shaka.cea.CeaUtils.DEFAULT_TXT_COLOR,this.backgroundColor_=shaka.cea.CeaUtils.DEFAULT_BG_COLOR},shaka.cea.Cea708Window.prototype.setJustification=function(e){this.justification_=e},shaka.cea.Cea708Window.prototype.display=function(){this.visible_=!0},shaka.cea.Cea708Window.prototype.hide=function(){this.visible_=!1},shaka.cea.Cea708Window.prototype.toggle=function(){this.visible_=!this.visible_},shaka.cea.Cea708Window.prototype.setStartTime=function(e){this.startTime_=e},shaka.cea.Cea708Window.prototype.adjustRegion_=function(e){this.parentService_&&(e.id+="svc"+this.parentService_),e.id+="win"+this.windowNum_,e.height=this.rowCount_,e.width=this.colCount_,e.heightUnits=shaka.text.CueRegion.units.LINES,e.widthUnits=shaka.text.CueRegion.units.LINES,e.viewportAnchorX=this.horizontalAnchor_,e.viewportAnchorY=this.verticalAnchor_,e.viewportAnchorUnits=this.relativeToggle_?shaka.text.CueRegion.units.PERCENTAGE:shaka.text.CueRegion.units.LINES;var t=shaka.cea.Cea708Window.AnchorId;switch(this.anchorId_){case t.UPPER_LEFT:e.regionAnchorX=0,e.regionAnchorY=0;break;case t.UPPER_CENTER:e.regionAnchorX=50,e.regionAnchorY=0;break;case t.UPPER_RIGHT:e.regionAnchorX=100,e.regionAnchorY=0;break;case t.MIDDLE_LEFT:e.regionAnchorX=0,e.regionAnchorY=50;break;case t.MIDDLE_CENTER:e.regionAnchorX=50,e.regionAnchorY=50;break;case t.MIDDLE_RIGHT:e.regionAnchorX=100,e.regionAnchorY=50;break;case t.LOWER_LEFT:e.regionAnchorX=0,e.regionAnchorY=100;break;case t.LOWER_CENTER:e.regionAnchorX=50,e.regionAnchorY=100;break;case t.LOWER_RIGHT:e.regionAnchorX=100,e.regionAnchorY=100}},shaka.cea.Cea708Window.TextJustification={LEFT:0,RIGHT:1,CENTER:2,FULL:3},shaka.cea.Cea708Window.AnchorId={UPPER_LEFT:0,UPPER_CENTER:1,UPPER_RIGHT:2,MIDDLE_LEFT:3,MIDDLE_CENTER:4,MIDDLE_RIGHT:5,LOWER_LEFT:6,LOWER_CENTER:7,LOWER_RIGHT:8},shaka.cea.Cea708Window.MAX_COLS=42,shaka.cea.Cea708Window.MAX_ROWS=16,shaka.cea.DtvccPacketBuilder=function(){this.builtPackets_=[],this.currentPacketBeingBuilt_=null,this.bytesLeftToAddInCurrentPacket_=0},shaka.cea.DtvccPacketBuilder.prototype.addByte=function(e){e.type===shaka.cea.DtvccPacketBuilder.DTVCC_PACKET_START?(this.bytesLeftToAddInCurrentPacket_=2*(63&e.value)-1,this.currentPacketBeingBuilt_=[]):this.currentPacketBeingBuilt_&&(0<this.bytesLeftToAddInCurrentPacket_&&(this.currentPacketBeingBuilt_.push(e),this.bytesLeftToAddInCurrentPacket_--),0===this.bytesLeftToAddInCurrentPacket_&&(e=new shaka.cea.DtvccPacket(this.currentPacketBeingBuilt_),this.builtPackets_.push(e),this.currentPacketBeingBuilt_=null,this.bytesLeftToAddInCurrentPacket_=0))},shaka.cea.DtvccPacketBuilder.prototype.getBuiltPackets=function(){return this.builtPackets_},shaka.cea.DtvccPacketBuilder.prototype.clearBuiltPackets=function(){this.builtPackets_=[]},shaka.cea.DtvccPacketBuilder.prototype.clear=function(){this.builtPackets_=[],this.currentPacketBeingBuilt_=[],this.bytesLeftToAddInCurrentPacket_=0},shaka.cea.DtvccPacket=function(e){this.pos_=0,this.packetData_=e},shaka.cea.DtvccPacket.prototype.hasMoreData=function(){return this.pos_<this.packetData_.length},shaka.cea.DtvccPacket.prototype.getPosition=function(){return this.pos_},shaka.cea.DtvccPacket.prototype.readByte=function(){if(!this.hasMoreData())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS);return this.packetData_[this.pos_++]},shaka.cea.DtvccPacket.prototype.skip=function(e){if(this.pos_+e>this.packetData_.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS);this.pos_+=e},shaka.cea.DtvccPacket.prototype.rewind=function(e){if(0>this.pos_-e)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS);this.pos_-=e},shaka.cea.DtvccPacketBuilder.DTVCC_PACKET_DATA=2,shaka.cea.DtvccPacketBuilder.DTVCC_PACKET_START=3,shaka.cea.Cea708Service=function(e){this.serviceNumber_=e,this.windows_=[null,
1null,null,null,null,null,null,null],this.currentWindow_=null},shaka.cea.Cea708Service.prototype.handleCea708ControlCode=function(e){var t=e.readByte(),r=t.value;return(t=t.pts,r===shaka.cea.Cea708Service.EXT_CEA708_CTRL_CODE_BYTE1&&(r=r<<16|e.readByte().value),0<=r&&31>=r)?this.handleC0_(e,r,t):128<=r&&159>=r?this.handleC1_(e,r,t):(4096<=r&&4127>=r?this.handleC2_(e,255&r):4224<=r&&4255>=r?this.handleC3_(e,255&r):32<=r&&127>=r?this.handleG0_(r):160<=r&&255>=r?this.handleG1_(r):4128<=r&&4223>=r?this.handleG2_(255&r):4256<=r&&4351>=r&&this.handleG3_(255&r),[])},shaka.cea.Cea708Service.prototype.handleG0_=function(e){this.currentWindow_&&(127===e?this.currentWindow_.setCharacter("♪"):this.currentWindow_.setCharacter(String.fromCharCode(e)))},shaka.cea.Cea708Service.prototype.handleG1_=function(e){this.currentWindow_&&this.currentWindow_.setCharacter(String.fromCharCode(e))},shaka.cea.Cea708Service.prototype.handleG2_=function(e){this.currentWindow_&&(shaka.cea.Cea708Service.G2Charset.has(e)?(e=shaka.cea.Cea708Service.G2Charset.get(e),this.currentWindow_.setCharacter(e)):this.currentWindow_.setCharacter("_"))},shaka.cea.Cea708Service.prototype.handleG3_=function(e){this.currentWindow_&&(160!=e?this.currentWindow_.setCharacter("_"):this.currentWindow_.setCharacter("[CC]"))},shaka.cea.Cea708Service.prototype.handleC0_=function(e,t,r){if(!this.currentWindow_)return[];if(24==t)return t=String.fromCharCode(parseInt(t=[t=e.readByte().value,r=e.readByte().value].map(function(e){return("0"+(255&e).toString(16)).slice(-2)}).join(""),16)),this.currentWindow_.setCharacter(t),[];e=this.currentWindow_;var i=null;switch(t){case shaka.cea.Cea708Service.ASCII_BACKSPACE:e.backspace();break;case shaka.cea.Cea708Service.ASCII_CARRIAGE_RETURN:e.isVisible()&&(i=e.forceEmit(r,this.serviceNumber_)),e.carriageReturn();break;case shaka.cea.Cea708Service.ASCII_HOR_CARRIAGE_RETURN:e.isVisible()&&(i=e.forceEmit(r,this.serviceNumber_)),e.horizontalCarriageReturn();break;case shaka.cea.Cea708Service.ASCII_FORM_FEED:e.isVisible()&&(i=e.forceEmit(r,this.serviceNumber_)),e.resetMemory(),e.setPenLocation(0,0)}return i?[i]:[]},shaka.cea.Cea708Service.prototype.handleC1_=function(e,t,r){if(128<=t&&135>=t)this.setCurrentWindow_(7&t);else{if(136===t)return e=e.readByte().value,this.clearWindows_(e,r);if(137===t)e=e.readByte().value,this.displayWindows_(e,r);else{if(138===t)return e=e.readByte().value,this.hideWindows_(e,r);if(139===t)return e=e.readByte().value,this.toggleWindows_(e,r);if(140===t)return e=e.readByte().value,this.deleteWindows_(e,r);if(143===t)return this.reset_(r);144===t?this.setPenAttributes_(e):145===t?this.setPenColor_(e):146===t?this.setPenLocation_(e):151===t?this.setWindowAttributes_(e):152<=t&&159>=t&&this.defineWindow_(e,(15&t)-8,r)}}return[]},shaka.cea.Cea708Service.prototype.handleC2_=function(e,t){8<=t&&15>=t?e.skip(1):16<=t&&23>=t?e.skip(2):24<=t&&31>=t&&e.skip(3)},shaka.cea.Cea708Service.prototype.handleC3_=function(e,t){128<=t&&135>=t?e.skip(4):136<=t&&143>=t&&e.skip(5)},shaka.cea.Cea708Service.prototype.setCurrentWindow_=function(e){this.windows_[e]&&(this.currentWindow_=this.windows_[e])},shaka.cea.Cea708Service.prototype.getSpecifiedWindowIds_=function(e){for(var t=[],r=0;8>r;r++)1==(1&e)&&this.windows_[r]&&t.push(r),e>>=1;return t},shaka.cea.Cea708Service.prototype.clearWindows_=function(e,t){var r=[];e=$jscomp.makeIterator(this.getSpecifiedWindowIds_(e));for(var i=e.next();!i.done;i=e.next()){if((i=this.windows_[i.value]).isVisible()){var n=i.forceEmit(t,this.serviceNumber_);n&&r.push(n)}i.resetMemory()}return r},shaka.cea.Cea708Service.prototype.displayWindows_=function(e,t){e=$jscomp.makeIterator(this.getSpecifiedWindowIds_(e));for(var r=e.next();!r.done;r=e.next())(r=this.windows_[r.value]).isVisible()||r.setStartTime(t),r.display()},shaka.cea.Cea708Service.prototype.hideWindows_=function(e,t){var r=null;e=$jscomp.makeIterator(this.getSpecifiedWindowIds_(e));for(var i=e.next();!i.done;i=e.next())(i=this.windows_[i.value]).isVisible()&&(r=i.forceEmit(t,this.serviceNumber_)),i.hide();return r?[r]:[]},shaka.cea.Cea708Service.prototype.toggleWindows_=function(e,t){var r=null;e=$jscomp.makeIterator(this.getSpecifiedWindowIds_(e));for(var i=e.next();!i.done;i=e.next())(i=this.windows_[i.value]).isVisible()?r=i.forceEmit(t,this.serviceNumber_):i.setStartTime(t),i.toggle();return r?[r]:[]},shaka.cea.Cea708Service.prototype.deleteWindows_=function(e,t){var r=[];e=$jscomp.makeIterator(this.getSpecifiedWindowIds_(e));for(var i=e.next();!i.done;i=e.next()){i=i.value;var n=this.windows_[i];n.isVisible()&&(n=n.forceEmit(t,this.serviceNumber_))&&r.push(n),this.windows_[i]=null}return r},shaka.cea.Cea708Service.prototype.reset_=function(e){return e=this.deleteWindows_(255,e),this.clear(),e},shaka.cea.Cea708Service.prototype.clear=function(){this.currentWindow_=null,this.windows_=[null,
1null,null,null,null,null,null,null]},shaka.cea.Cea708Service.prototype.setPenAttributes_=function(e){if(e.skip(1),e=e.readByte().value,this.currentWindow_){var t=0<(64&e);this.currentWindow_.setPenItalics(0<(128&e)),this.currentWindow_.setPenUnderline(t)}},shaka.cea.Cea708Service.prototype.setPenColor_=function(e){var t=e.readByte().value,r=e.readByte().value;if(e.skip(1),this.currentWindow_){e=3&r;var i=(12&r)>>2;r=(48&r)>>4,t=this.rgbColorToHex_((48&t)>>4,(12&t)>>2,3&t),e=this.rgbColorToHex_(r,i,e),this.currentWindow_.setPenTextColor(t),this.currentWindow_.setPenBackgroundColor(e)}},shaka.cea.Cea708Service.prototype.setPenLocation_=function(e){var t=e.readByte().value;e=e.readByte().value,this.currentWindow_&&this.currentWindow_.setPenLocation(15&t,63&e)},shaka.cea.Cea708Service.prototype.setWindowAttributes_=function(e){e.skip(1),e.skip(1);var t=e.readByte().value;e.skip(1),this.currentWindow_&&this.currentWindow_.setJustification(3&t)},shaka.cea.Cea708Service.prototype.defineWindow_=function(e,t,r){var i=null!==this.windows_[t];if(!i){var n=new shaka.cea.Cea708Window(t,this.serviceNumber_);n.setStartTime(r),this.windows_[t]=n}var a=e.readByte().value,o=e.readByte().value;r=e.readByte().value;var s=e.readByte().value;n=e.readByte().value,e=e.readByte().value,a=0<(32&a);var l=127&o;o=0<(128&o);var u=(15&s)+1;s=(240&s)>>4,n=(63&n)+1,i&&0==(7&e)||this.windows_[t].resetPen(),this.windows_[t].defineWindow(a,l,r,s,o,u,n),this.currentWindow_=this.windows_[t]},shaka.cea.Cea708Service.prototype.rgbColorToHex_=function(e,t,r){var i={0:0,1:0,2:1,3:1};return e=i[e],t=i[t],r=i[r],shaka.cea.Cea708Service.Colors[e<<2|t<<1|r]},shaka.cea.Cea708Service.ASCII_BACKSPACE=8,shaka.cea.Cea708Service.ASCII_FORM_FEED=12,shaka.cea.Cea708Service.ASCII_CARRIAGE_RETURN=13,shaka.cea.Cea708Service.ASCII_HOR_CARRIAGE_RETURN=14,shaka.cea.Cea708Service.EXT_CEA708_CTRL_CODE_BYTE1=16,shaka.cea.Cea708Service.G2Charset=new Map([[32," "],[33,"\xa0"],[37,"…"],[42,"Š"],[44,"Œ"],[48,"█"],[49,"‘"],[50,"’"],[51,"“"],[52,"”"],[53,"•"],[57,"™"],[58,"š"],[60,"œ"],[61,"℠"],[63,"Ÿ"],[118,"⅛"],[119,"⅜"],[120,"⅝"],[121,"⅞"],[122,"│"],[123,"┐"],[124,"└"],[125,"─"],[126,"┘"],[127,"┌"]]),shaka.cea.Cea708Service.Colors="black blue green cyan red magenta yellow white".split(" "),shaka.cea.CeaDecoder=function(){this.cea608DataArray_=[],this.cea708DataArray_=[],this.dtvccPacketBuilder_=new shaka.cea.DtvccPacketBuilder,this.badFrames_=0,this.cea608ModeToStream_=new Map([["CC1",new shaka.cea.Cea608DataChannel(0,0)],["CC2",new shaka.cea.Cea608DataChannel(0,1)],["CC3",new shaka.cea.Cea608DataChannel(1,0)],["CC4",new shaka.cea.Cea608DataChannel(1,1)]]),this.currentField2Channel_=this.currentField1Channel_=0,this.serviceNumberToService_=new Map,this.waitingForFirstPacket_=!0,this.streams_=new Set,this.reset()},shaka.cea.CeaDecoder.prototype.clear=function(){shaka.log.debug("Clearing CEA decoder"),this.badFrames_=0,this.cea608DataArray_=[],this.cea708DataArray_=[],this.dtvccPacketBuilder_.clear(),this.reset();for(var e=$jscomp.makeIterator(this.serviceNumberToService_.values()),t=e.next();!t.done;t=e.next())t.value.clear()},shaka.cea.CeaDecoder.prototype.reset=function(){shaka.log.debug("Resetting CEA decoder"),this.currentField2Channel_=this.currentField1Channel_=0;for(var e=$jscomp.makeIterator(this.cea608ModeToStream_.values()),t=e.next();!t.done;t=e.next())t.value.reset();this.waitingForFirstPacket_=!0},shaka.cea.CeaDecoder.prototype.extract=function(e,t){if(this.waitingForFirstPacket_){shaka.log.debug("Setting first pts value to",t);for(var r=$jscomp.makeIterator(this.cea608ModeToStream_.values()),i=r.next();!i.done;i=r.next())i.value.firstPts(t);this.waitingForFirstPacket_=!1}if(!((e=new shaka.util.DataViewReader(e,shaka.util.DataViewReader.Endianness.BIG_ENDIAN)).getLength()<shaka.cea.CeaDecoder.MIN_LENGTH)&&e.readUint8()===shaka.cea.CeaDecoder.USA_COUNTRY_CODE&&e.readUint16()===shaka.cea.CeaDecoder.ATSC_PROVIDER_CODE&&e.readUint32()===shaka.cea.CeaDecoder.ATSC1_USER_IDENTIFIER&&3===e.readUint8()&&0!=(64&(r=e.readUint8())))for(r&=31,e.skip(1),i=0;i<r;i++){var n=e.readUint8(),a=(4&n)>>2,o=e.readUint8(),s=e.readUint8();a&&((n&=3)===shaka.cea.CeaDecoder.NTSC_CC_FIELD_1||n===shaka.cea.CeaDecoder.NTSC_CC_FIELD_2?this.cea608DataArray_.push({pts:t,type:n,ccData1:o,ccData2:s,order:this.cea608DataArray_.length}):(this.cea708DataArray_.push({pts:t,type:n,value:o,order:this.cea708DataArray_.length}),this.cea708DataArray_.push({pts:t,type:shaka.cea.DtvccPacketBuilder.DTVCC_PACKET_DATA,value:s,order:this.cea708DataArray_.length})))}},shaka.cea.CeaDecoder.prototype.decode=function(){var e=[],t=function(e,t){return e.pts-t.pts||e.order-t.order};this.cea608DataArray_.sort(t),this.cea708DataArray_.sort(t),t=$jscomp.makeIterator(this.cea608DataArray_);for(var r=t.next();!r.done;
1r=t.next())(r=this.decodeCea608_(r.value))&&e.push(r);for(r=(t=$jscomp.makeIterator(this.cea708DataArray_)).next();!r.done;r=t.next())this.dtvccPacketBuilder_.addByte(r.value);for(t=this.dtvccPacketBuilder_.getBuiltPackets(),r=(t=$jscomp.makeIterator(t)).next();!r.done;r=t.next())r=this.decodeCea708_(r.value),e.push.apply(e,$jscomp.arrayFromIterable(r));return this.dtvccPacketBuilder_.clearBuiltPackets(),this.cea608DataArray_=[],this.cea708DataArray_=[],e},shaka.cea.CeaDecoder.prototype.decodeCea608_=function(e){var t=e.type;if(shaka.cea.Cea608DataChannel.isControlCode(e.ccData1)){var r=e.ccData1>>3&1;0===t?this.currentField1Channel_=r:this.currentField2Channel_=r}if(t="CC"+((t<<1|(t?this.currentField2Channel_:this.currentField1Channel_))+1),r=this.cea608ModeToStream_.get(t),255===e.ccData1&&255===e.ccData2||!e.ccData1&&!e.ccData2||!this.isOddParity_(e.ccData1)||!this.isOddParity_(e.ccData2))return 45<=++this.badFrames_&&this.reset(),null;if(this.badFrames_=0,e.ccData1&=127,e.ccData2&=127,shaka.cea.Cea608DataChannel.isXdsControlCode(e.ccData1)||!e.ccData1&&!e.ccData2)return null;var i=null;return shaka.cea.Cea608DataChannel.isControlCode(e.ccData1)?(this.streams_.add(t),i=r.handleControlCode(e)):r.handleBasicNorthAmericanChar(e.ccData1,e.ccData2),i},shaka.cea.CeaDecoder.prototype.decodeCea708_=function(e){var t=[];try{for(;e.hasMoreData();){var r=e.readByte().value,i=(224&r)>>5,n=31&r;if(7===i&&0!=n&&(i=63&e.readByte().value),0!=i){if(this.streams_.add("svc"+i),!this.serviceNumberToService_.has(i)){var a=new shaka.cea.Cea708Service(i);this.serviceNumberToService_.set(i,a)}for(var o=this.serviceNumberToService_.get(i),s=e.getPosition();e.getPosition()-s<n;){var l=o.handleCea708ControlCode(e);t.push.apply(t,$jscomp.arrayFromIterable(l))}}}}catch(e){if(e instanceof shaka.util.Error&&e.code===shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS)shaka.log.warnOnce("CEA708_INVALID_DATA","Buffer read out of bounds / invalid CEA-708 Data.");else throw e}return t},shaka.cea.CeaDecoder.prototype.isOddParity_=function(e){for(var t=0;e;)t^=1&e,e>>=1;return 1===t},shaka.cea.CeaDecoder.prototype.getStreams=function(){return Array.from(this.streams_)},goog.exportSymbol("shaka.cea.CeaDecoder",shaka.cea.CeaDecoder),shaka.cea.CeaDecoder.ATSC_PROVIDER_CODE=49,shaka.cea.CeaDecoder.ATSC1_USER_IDENTIFIER=0x47413934,shaka.cea.CeaDecoder.NTSC_CC_FIELD_1=0,shaka.cea.CeaDecoder.NTSC_CC_FIELD_2=1,shaka.cea.CeaDecoder.USA_COUNTRY_CODE=181,shaka.cea.CeaDecoder.MIN_LENGTH=8,shaka.media.ClosedCaptionParser.registerDecoder(function(){return new shaka.cea.CeaDecoder}),shaka.cea.SeiProcessor=function(){},shaka.cea.SeiProcessor.prototype.process=function(e){var t=[];e=this.removeEmu(e);for(var r=0;r<e.length;){for(var i=0;255==e[r];)i+=255,r++;i+=e[r++];for(var n=0;255==e[r];)n+=255,r++;n+=e[r++],4==i&&t.push(e.subarray(r,r+n)),r+=n}return t},shaka.cea.SeiProcessor.prototype.removeEmu=function(e){for(var t=e,r=e=0;r<t.length;)2==e&&3==t[r]?(e=0,(t=[].concat($jscomp.arrayFromIterable(t))).splice(r,1),t=new Uint8Array(t)):0==t[r]?e++:e=0,r++;return t},shaka.cea.Mp4CeaParser=function(){this.seiProcessor_=new shaka.cea.SeiProcessor,this.trackIdToTimescale_=new Map,this.defaultSampleSize_=this.defaultSampleDuration_=0,this.bitstreamFormat_=shaka.cea.Mp4CeaParser.BitstreamFormat.UNKNOWN},shaka.cea.Mp4CeaParser.prototype.init=function(e){var t=this,r=shaka.util.Mp4Parser,i=shaka.cea.Mp4CeaParser.BitstreamFormat,n=[],a=[],o=function(e){return t.setBitstreamFormat_(e.name)};if((new r).box("moov",r.children).box("mvex",r.children).fullBox("trex",function(e){t.defaultSampleDuration_=(e=shaka.util.Mp4BoxParsers.parseTREX(e.reader)).defaultSampleDuration,t.defaultSampleSize_=e.defaultSampleSize}).box("trak",r.children).fullBox("tkhd",function(e){goog.asserts.assert(null!=e.version,"TKHD is a full box and should have a valid version."),e=shaka.util.Mp4BoxParsers.parseTKHD(e.reader,e.version),n.push(e.trackId)}).box("mdia",r.children).fullBox("mdhd",function(e){goog.asserts.assert(null!=e.version,"MDHD is a full box and should have a valid version."),e=shaka.util.Mp4BoxParsers.parseMDHD(e.reader,e.version),a.push(e.timescale)}).box("minf",r.children).box("stbl",r.children).fullBox("stsd",r.sampleDescription).box("avc1",o).box("avc3",o).box("dvav",o).box("dva1",o).box("hev1",o).box("hvc1",o).box("dvh1",o).box("dvhe",o).box("vvc1",o).box("vvi1",o).box("dvc1",o).box("dvi1",o).box("encv",r.visualSampleEntry).box("sinf",r.children).box("frma",function(e){e=shaka.util.Mp4BoxParsers.parseFRMA(e.reader).codec,t.setBitstreamFormat_(e)}).parse(e,!0),!n.length||!a.length||n.length!=a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_CEA);this.bitstreamFormat_==i.UNKNOWN&&shaka.log.alwaysWarn("Unable to determine bitstream format for CEA parsing!"),n.forEac
1h(function(e,r){t.trackIdToTimescale_.set(e,a[r])})},shaka.cea.Mp4CeaParser.prototype.parse=function(e){var t=this,r=shaka.util.Mp4Parser;if(this.bitstreamFormat_==shaka.cea.Mp4CeaParser.BitstreamFormat.UNKNOWN)return[];var i=[],n=0,a=[];return(new r).box("moof",function(e){n=e.start,a=[],r.children(e)}).box("traf",function(e){a.push({baseMediaDecodeTime:null,defaultSampleDuration:t.defaultSampleDuration_,defaultSampleSize:t.defaultSampleSize_,parsedTRUNs:[],timescale:shaka.cea.CeaUtils.DEFAULT_TIMESCALE_VALUE}),r.children(e)}).fullBox("trun",function(e){goog.asserts.assert(null!=e.version&&null!=e.flags,"TRUN is a full box and should have a valid version & flags.");var t=a[a.length-1];e=shaka.util.Mp4BoxParsers.parseTRUN(e.reader,e.version,e.flags),t.parsedTRUNs.push(e)}).fullBox("tfhd",function(e){goog.asserts.assert(null!=e.flags,"TFHD is a full box and should have valid flags.");var r=a[a.length-1];r.defaultSampleDuration=(e=shaka.util.Mp4BoxParsers.parseTFHD(e.reader,e.flags)).defaultSampleDuration||t.defaultSampleDuration_,r.defaultSampleSize=e.defaultSampleSize||t.defaultSampleSize_,e=e.trackId,t.trackIdToTimescale_.has(e)&&(r.timescale=t.trackIdToTimescale_.get(e))}).fullBox("tfdt",function(e){goog.asserts.assert(null!=e.version,"TFDT is a full box and should have a valid version."),a[a.length-1].baseMediaDecodeTime=(e=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(e.reader,e.version)).baseMediaDecodeTime}).box("mdat",function(e){for(var r=n-e.start-8,o=e.reader.getPosition(),s=$jscomp.makeIterator(a),l=s.next();!l.done;l=s.next()){if(null===(l=l.value).baseMediaDecodeTime)throw shaka.log.alwaysWarn("Unable to find base media decode time for CEA captions!"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_CEA);e.reader.seek(o),t.parseMdat_(e.reader,l.baseMediaDecodeTime,l.timescale,l.defaultSampleDuration,l.defaultSampleSize,r,l.parsedTRUNs,i)}}).parse(e,!1),i},shaka.cea.Mp4CeaParser.prototype.parseMdat_=function(e,t,r,i,n,a,o,s){var l=shaka.cea.Mp4CeaParser.BitstreamFormat,u=shaka.cea.CeaUtils,d=0,c=n,p=o.map(function(e){return e.sampleData});for((p=[].concat.apply([],$jscomp.arrayFromIterable(p))).length&&(c=p[0].sampleSize||n),e.skip(a+o[0].dataOffset);e.hasMoreData();){a=e.readUint32();var m=e.readUint8(),f=null;switch(f=!1,o=1,goog.asserts.assert(this.bitstreamFormat_!=l.UNKNOWN,"Bitstream format should have been checked before now!"),this.bitstreamFormat_){case l.H264:f=(f=31&m)==u.H264_NALU_TYPE_SEI;break;case l.H265:o=2,e.skip(1),f=(f=m>>1&63)==u.H265_PREFIX_NALU_TYPE_SEI||f==u.H265_SUFFIX_NALU_TYPE_SEI;break;case l.H266:o=2,e.skip(1),f=(f=m>>1&63)==u.H266_PREFIX_NALU_TYPE_SEI||f==u.H266_SUFFIX_NALU_TYPE_SEI;break;default:return}if(f)for(m=0,d<p.length&&(m=p[d].sampleCompositionTimeOffset||0),m=(t+m)/r,f=(o=$jscomp.makeIterator(this.seiProcessor_.process(e.readBytes(a-o)))).next();!f.done;f=o.next())s.push({packet:f.value,pts:m});else try{e.skip(a-o)}catch(e){break}0==(c-=a+4)&&(t=d<p.length?t+(p[d].sampleDuration||i):t+i,c=++d<p.length&&p[d].sampleSize||n)}},shaka.cea.Mp4CeaParser.prototype.setBitstreamFormat_=function(e){shaka.cea.Mp4CeaParser.CodecBitstreamMap_.has(e)&&(this.bitstreamFormat_=shaka.cea.Mp4CeaParser.CodecBitstreamMap_.get(e))},goog.exportSymbol("shaka.cea.Mp4CeaParser",shaka.cea.Mp4CeaParser),shaka.cea.Mp4CeaParser.BitstreamFormat={UNKNOWN:0,H264:1,H265:2,H266:3},shaka.cea.Mp4CeaParser.CodecBitstreamMap_=(new Map).set("avc1",shaka.cea.Mp4CeaParser.BitstreamFormat.H264).set("avc3",shaka.cea.Mp4CeaParser.BitstreamFormat.H264).set("dvav",shaka.cea.Mp4CeaParser.BitstreamFormat.H264).set("dva1",shaka.cea.Mp4CeaParser.BitstreamFormat.H264).set("hev1",shaka.cea.Mp4CeaParser.BitstreamFormat.H265).set("hvc1",shaka.cea.Mp4CeaParser.BitstreamFormat.H265).set("dvh1",shaka.cea.Mp4CeaParser.BitstreamFormat.H265).set("dvhe",shaka.cea.Mp4CeaParser.BitstreamFormat.H265).set("vvc1",shaka.cea.Mp4CeaParser.BitstreamFormat.H266).set("vvi1",shaka.cea.Mp4CeaParser.BitstreamFormat.H266).set("dvc1",shaka.cea.Mp4CeaParser.BitstreamFormat.H266).set("dvi1",shaka.cea.Mp4CeaParser.BitstreamFormat.H266),shaka.media.ClosedCaptionParser.registerParser("video/mp4",function(){return new shaka.cea.Mp4CeaParser}),shaka.cea.TsCeaParser=function(){this.seiProcessor_=new shaka.cea.SeiProcessor,this.tsParser_=null},shaka.cea.TsCeaParser.prototype.init=function(e){},shaka.cea.TsCeaParser.prototype.parse=function(e){var t=shaka.cea.CeaUtils;this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;var r=[];if(e=shaka.util.BufferUtils.toUint8(e),!shaka.util.TsParser.probe(e))return r;var i=(e=this.tsParser_.parse(e)).getCodecs(),n=e.getVideoNalus();switch(e=[],i.video){case"avc":e.push(t.H264_NALU_TYPE_SEI);break;case"hvc":e.push(t.H265_PREFIX_NALU_TYPE_SEI),e.push(t.H265_SUFFIX_NALU_TYPE_SEI)}if(!e.length)return r;for(i=(t=$jscomp.makeIterator(n)).next();!i.done;i=t.next())if(i=i.value,e.includes(i.type)&&null!=i.time){n=$jscomp.makeIterator(this.seiProcessor_.process(i.data));for(var a=n.next();!a.done;a=n.next())r.push({packet:a.value,pts:i.time})}return r},goog.exportSymbol("shaka.cea.TsCeaParser",shaka.cea.TsCeaParser),shaka.media.ClosedCaptionParser.registerParser("video/mp2t",function(){return new shaka.cea.TsCeaParser}),shaka.drm.PlayReady=function(){},shaka.drm.PlayReady.parseMsProRecords_=function(e,t){for(var r=[];t<e.byteLength-1;){var i=e.getUint16(t,!0);t+=2;var n=e.getUint16(t,!0);if(t+=2,0!=(1&n)||n+t>e.byteLength)return shaka.log.warning("Malformed MS PRO object"),[];var a=shaka.util.BufferUtils.toUint8(e,t,n);r.push({type:i,value:a}),t+=n}return r},shaka.drm.PlayReady.parseMsPro_=function(e){var t=0,r=shaka.util.BufferUtils.toDataView(e),i=r.getUint32(t,!0);return t+=4,i!=e.byteLength?(shaka.log.warning("PlayReady Object with invali
1d length encountered."),[]):shaka.drm.PlayReady.parseMsProRecords_(r,t+2)},shaka.drm.PlayReady.getLaurl_=function(e){e=$jscomp.makeIterator(shaka.util.TXml.getElementsByTagName(e,"DATA"));for(var t=e.next();!t.done;t=e.next())if((t=t.value).children){t=$jscomp.makeIterator(t.children);for(var r=t.next();!r.done;r=t.next())if("LA_URL"==(r=r.value).tagName)return shaka.util.TXml.getTextContents(r)}return""},shaka.drm.PlayReady.getPlayReadyHeaderObject_=function(e){var t=shaka.drm.PlayReady.PLAYREADY_RECORD_TYPES;return(e=shaka.util.Uint8ArrayUtils.fromBase64(shaka.util.TXml.getTextContents(e)),e=shaka.drm.PlayReady.parseMsPro_(e).filter(function(e){return e.type===t.RIGHTS_MANAGEMENT})[0])?(e=shaka.util.StringUtils.fromUTF16(e.value,!0),(e=shaka.util.TXml.parseXmlString(e,"WRMHEADER"))?e:null):null},shaka.drm.PlayReady.getLicenseUrl=function(e){try{var t=shaka.drm.PlayReady.getPlayReadyHeaderObject_(e);return t?shaka.drm.PlayReady.getLaurl_(t):""}catch(e){return""}},shaka.drm.PlayReady.getPlayReadyKID=function(e){var t=shaka.drm.PlayReady.getPlayReadyHeaderObject_(e);if(!t)return null;e=shaka.util.TXml,t=$jscomp.makeIterator(e.getElementsByTagName(t,"DATA"));for(var r=t.next();!r.done;r=t.next())if(r=e.findChild(r.value,"KID"))return e=new Uint8Array([(e=shaka.util.Uint8ArrayUtils.fromBase64(shaka.util.TXml.getTextContents(r)))[3],e[2],e[1],e[0],e[5],e[4],e[7],e[6]].concat($jscomp.arrayFromIterable(e.slice(8)))),shaka.util.Uint8ArrayUtils.toHex(e);return null},shaka.drm.PlayReady.PLAYREADY_RECORD_TYPES={RIGHTS_MANAGEMENT:1,RESERVED:2,EMBEDDED_LICENSE:3},shaka.dash={},shaka.dash.ContentProtection=function(){},shaka.dash.ContentProtection.parseFromAdaptationSet=function(e,t,r){var i=shaka.dash.ContentProtection,n=shaka.util.ManifestParserUtils,a=i.parseElements_(e),o=null;e=[];var s=[],l=null,u=new Set(a.map(function(e){return e.keyId}));u.delete(null);var d="cenc";if(1<u.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_CONFLICTING_KEY_IDS);if(!t){if(1<(s=a.filter(function(e){return e.schemeUri==i.Aes128Protection_})).length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_CONFLICTING_AES_128);s.length&&(l=i.parseAes128_(s[0])),(s=a.find(function(e){return e.schemeUri==i.MP4Protection_}))&&s.encryptionScheme&&(d=s.encryptionScheme),(s=a.filter(function(e){return e.schemeUri==i.MP4Protection_?(goog.asserts.assert(!e.init||e.init.length,"Init data must be null or non-empty."),o=e.init||o,!1):e.schemeUri!=i.Aes128Protection_})).length&&0==(e=i.convertElements_(o,d,s,r,u)).length&&(e=[n.createDrmInfo("",d,o)])}if(a.length&&!l&&(t||!s.length))for(e=[],r=(t=$jscomp.makeIterator(Object.values(r))).next();!r.done;r=t.next())"org.w3.clearkey"!=(r=r.value)&&(r=n.createDrmInfo(r,d,o),e.push(r));if(n=Array.from(u)[0]||null)for(d=(u=$jscomp.makeIterator(e)).next();!d.done;d=u.next())for(t=(d=$jscomp.makeIterator(d.value.initData)).next();!t.done;t=d.next())t.value.keyId=n;return{defaultKeyId:n,defaultInit:o,drmInfos:e,aes128Info:l,firstRepresentation:!0}},shaka.dash.ContentProtection.parseFromRepresentation=function(e,t,r,i){var n=shaka.dash.ContentProtection.parseFromAdaptationSet(e,r,i);if(t.firstRepresentation)e=1==t.drmInfos.length&&!t.drmInfos[0].keySystem,r=0==n.drmInfos.length,(0==t.drmInfos.length||e&&!r)&&(t.drmInfos=n.drmInfos),t.firstRepresentation=!1;else if(0<n.drmInfos.length&&(t.drmInfos=t.drmInfos.filter(function(e){return n.drmInfos.some(function(t){return t.keySystem==e.keySystem})}),0==t.drmInfos.length))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_COMMON_KEY_SYSTEM);return n.defaultKeyId||t.defaultKeyId},shaka.dash.ContentProtection.getFairPlayLicenseUrl=function(e){if(shaka.util.Platform.isMediaKeysPolyfilled("apple"))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED);return(e=shaka.util.TXml.findChildNS(e.node,shaka.dash.ContentProtection.DashIfNamespaceUri_,"Laurl"))&&(e=shaka.util.TXml.getTextContents(e))?e:""},shaka.dash.ContentProtection.getWidevineLicenseUrl=function(e){var t=shaka.util.StringUtils,r=shaka.util.TXml.findChildNS(e.node,shaka.dash.ContentProtection.DashIfNamespaceUri_,"Laurl");return r&&(r=shaka.util.TXml.getTextContents(r))?r:(e=shaka.util.TXml.findChildNS(e.node,"urn:microsoft","laurl"))&&t.htmlUnescape(e.attributes.licenseUrl)||""},shaka.dash.ContentProtection.getClearKeyLicenseUrl=function(e){var t=shaka.util.TXml.findChildNS(e.node,shaka.dash.ContentProtection.DashIfNamespaceUri_,"Laurl");return t&&(t=shaka.util.TXml.getTextContents(t))?t:(e=shaka.util.TXml.findChildNS(e.node,shaka.dash.ContentProtection.ClearKeyNamespaceUri_,"Laurl"))&&"EME-1.0"===e.attributes.Lic_type&&e&&(e=shaka.util.TXml.getTextContents(e))?e:""},shaka.dash.ContentProtection.getPlayReadyLicenseUrl=function(e){var t=shaka.util.TXml,r=t.findChildNS(e.node,shaka.dash.ContentProtection.DashIfNamespaceUri_,"Laurl");return r&&(r=t.getTextContents(r))?r:(r=t.findChildNS(e.node,"urn:microsoft:playready","pro"))&&t.getTextContents(r)?shaka.drm.PlayReady.getLicenseUrl(r):(e=t.findChildNS(e.node,shaka.dash.ContentProtection.CencNamespaceUri_,"pssh"))&&(e=t.getTextContents(e))?(e=shaka.util.Pssh.getPsshData(shaka.util.Uint8ArrayUtils.fromBase64(e)),e=shaka.util.Uint8ArrayUtils.toStandardBase64(e),t=t.parseXmlString("<pro>"+e+"</pro>"),goog.asserts.assert(t,"Must have pro node"),shaka.drm.PlayReady.getLicenseUrl(t)):""},shaka.dash.ContentProtection.getInitDataFromPro_=function(e){var t=shaka.util.TXml.findChildNS(e.node,"urn:microsoft:playready","pro");if(!t||!shaka.util.TXml.getTextContents(t))return null;var r=shaka.util.Uint8ArrayUtils;t=shaka.util.TXml.getTextContents(t),r=r.fromBase64(t),t=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);var i=new Set;return[{initData:shaka.util.Pssh.createPssh(r,t,i,0),initDataType:"cenc",keyId:e.keyId}]},shaka.dash.ContentProtection.getInitDataClearKey_=function(e,t){if(0==t.size)return null;
1var r=new Uint8Array([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75]),i=new Uint8Array([]);return[{initData:shaka.util.Pssh.createPssh(i,r,t,1),initDataType:"cenc",keyId:e.keyId}]},shaka.dash.ContentProtection.convertElements_=function(e,t,r,i,n){var a=shaka.dash.ContentProtection,o=shaka.util.ManifestParserUtils,s=a.licenseUrlParsers_,l=[];r=$jscomp.makeIterator(r);for(var u=r.next();!u.done;u=r.next()){var d=i[(u=u.value).schemeUri];if(d){goog.asserts.assert(!u.init||u.init.length,"Init data must be null or non-empty.");var c=a.getInitDataFromPro_(u),p=null;u.schemeUri===shaka.dash.ContentProtection.ClearKeySchemeUri_&&(p=a.getInitDataClearKey_(u,n)),c=o.createDrmInfo(d,t,u.init||e||c||p),(d=s.get(d))&&(c.licenseServerUri=d(u)),l.push(c)}}return l},shaka.dash.ContentProtection.parseElements_=function(e){var t=[];e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())(r=shaka.dash.ContentProtection.parseElement_(r.value))&&t.push(r);return t},shaka.dash.ContentProtection.parseElement_=function(e){var t=shaka.dash.ContentProtection.CencNamespaceUri_,r=shaka.util.TXml,i=e.attributes.schemeIdUri,n=r.getAttributeNS(e,t,"default_KID");if(t=r.findChildrenNS(e,t,"pssh").map(r.getContents),r=e.attributes.value,!i)return shaka.log.error("Missing required schemeIdUri attribute on","ContentProtection element",e),null;if(i=i.toLowerCase(),n&&(n=n.replace(/-/g,"").toLowerCase()).includes(" "))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED);var a=[];try{a=t.map(function(e){return{initDataType:"cenc",initData:shaka.util.Uint8ArrayUtils.fromBase64(e),keyId:null}})}catch(e){throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_PSSH_BAD_ENCODING)}return{node:e,schemeUri:i,keyId:n,init:0<a.length?a:null,encryptionScheme:r}},shaka.dash.ContentProtection.parseAes128_=function(e){if(!window.crypto||!window.crypto.subtle)throw shaka.log.alwaysWarn("Web Crypto API is not available to decrypt AES-128. (Web Crypto only exists in secure origins like https)"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_WEB_CRYPTO_API);var t=shaka.util.TXml.findChildNS(e.node,"urn:mpeg:dash:schema:sea:2012","SegmentEncryption");if(!t||"urn:mpeg:dash:sea:aes128-cbc:2013"!=t.attributes.schemeIdUri||!(t=shaka.util.TXml.findChildNS(e.node,"urn:mpeg:dash:schema:sea:2012","CryptoPeriod"))||(e=t.attributes.IV,t=shaka.util.StringUtils.htmlUnescape(t.attributes.keyUriTemplate),!e||!t))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_UNSUPPORTED_AES_128);if(16!=(e=shaka.util.Uint8ArrayUtils.fromHex(e.substr(2))).byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_IV_LENGTH);return{keyUri:t,iv:e}},shaka.dash.ContentProtection.licenseUrlParsers_=(new Map).set("com.apple.fps",shaka.dash.ContentProtection.getFairPlayLicenseUrl).set("com.widevine.alpha",shaka.dash.ContentProtection.getWidevineLicenseUrl).set("com.microsoft.playready",shaka.dash.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.recommendation",shaka.dash.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.software",shaka.dash.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.hardware",shaka.dash.ContentProtection.getPlayReadyLicenseUrl).set("org.w3.clearkey",shaka.dash.ContentProtection.getClearKeyLicenseUrl),shaka.dash.ContentProtection.MP4Protection_="urn:mpeg:dash:mp4protection:2011",shaka.dash.ContentProtection.Aes128Protection_="urn:mpeg:dash:sea:2012",shaka.dash.ContentProtection.CencNamespaceUri_="urn:mpeg:cenc:2013",shaka.dash.ContentProtection.ClearKeyNamespaceUri_="http://dashif.org/guidelines/clearKey",shaka.dash.ContentProtection.ClearKeySchemeUri_="urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e",shaka.dash.ContentProtection.DashIfNamespaceUri_="https://dashif.org/CPS",shaka.dash.MpdUtils=function(){},shaka.dash.MpdUtils.fillUriTemplate=function(e,t,r,i,n,a){var o=(new Map).set("RepresentationID",t).set("Number",r).set("SubNumber",i).set("Bandwidth",n).set("Time",a);return e.replace(/\$(RepresentationID|Number|SubNumber|Bandwidth|Time)?(?:%0([0-9]+)([diouxX]))?\$/g,function(t,r,i,n){if("$$"==t)return"$";var a=o.get(r);if(goog.asserts.assert(void 0!==a,"Unrecognized identifier"),null==a)return shaka.log.warning("URL template does not have an available substitution for ",'identifier "'+r+'":',e),t;switch("RepresentationID"==r&&i&&(shaka.log.warning("URL template should not contain a width specifier for identifier",'"RepresentationID":',e),i=void 0),"Time"==r&&"b
1igint"!=typeof a&&(goog.asserts.assert("number"==typeof a,"Time value should be a number or bigint!"),.2<=Math.abs(a-Math.round(a))&&shaka.log.alwaysWarn("Calculated $Time$ values must be close to integers"),a=Math.round(a)),n){case void 0:case"d":case"i":case"u":t=a.toString();break;case"o":t=a.toString(8);break;case"x":t=a.toString(16);break;case"X":t=a.toString(16).toUpperCase();break;default:goog.asserts.assert(!1,"Unhandled format specifier"),t=a.toString()}return Array(Math.max(0,(i=window.parseInt(i,10)||1)-t.length)+1).join("0")+t})},shaka.dash.MpdUtils.createTimeline=function(e,t,r,i,n){goog.asserts.assert(0<t&&1/0>t,"timescale must be a positive, finite integer"),goog.asserts.assert(0<i,"period duration must be a positive integer");for(var a=shaka.util.TXml,o=[],s=-r,l=0;l<e.length;++l){var u=e[l],d=e[l+1],c=a.parseAttr(u,"t",a.parseNonNegativeInt),p=a.parseAttr(u,"d",a.parseNonNegativeInt),m=a.parseAttr(u,"r",a.parseInt),f=a.parseAttr(u,"k",a.parseInt)||0;if(null!=c&&(c-=r),p){if(c=null!=c?c:s,0>(m=m||0))if(d){if(null==(d=a.parseAttr(d,"t",a.parseNonNegativeInt))){shaka.log.warning('An "S" element cannot have a negative repeat','if the next "S" element does not have a valid start time:','ignoring the remaining "S" elements.',u);break}if(c>=d){shaka.log.warning('An "S" element cannot have a negative repeat if its start ','time exceeds the next "S" element\'s start time:','ignoring the remaining "S" elements.',u);break}m=Math.ceil((d-c)/p)-1}else{if(1/0==i){shaka.log.warning('The last "S" element cannot have a negative repeat',"if the Period has an infinite duration:",'ignoring the last "S" element.',u);break}if(c/t>=i){shaka.log.warning('The last "S" element cannot have a negative repeat',"if its start time exceeds the Period's duration:",'ignoring the last "S" element.',u);break}m=Math.ceil((i*t-c)/p)-1}for(0<o.length&&c!=s&&(Math.abs((c-s)/t)>=shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS&&shaka.log.warning("SegmentTimeline contains a large gap/overlap:","the content may have errors in it.",u),o[o.length-1].end=c/t),u=0;u<=m;++u)s=c+p,o.push({start:c/t,end:s/t,unscaledStart:c,partialSegments:f,segmentPosition:o.length+n}),c=s}else shaka.log.warning('"S" element must have a duration: ignoring this element.',u)}return o},shaka.dash.MpdUtils.parseSegmentInfo=function(e,t){goog.asserts.assert(t(e.representation),"There must be at least one element of the given type.");var r=shaka.dash.MpdUtils,i=shaka.util.TXml,n=r.inheritAttribute(e,t,"timescale"),a=1;n&&(a=i.parsePositiveInt(n)||1),n=r.inheritAttribute(e,t,"duration");var o=(n=i.parsePositiveInt(n||""))?n/a:null,s=r.inheritAttribute(e,t,"startNumber"),l=Number(r.inheritAttribute(e,t,"presentationTimeOffset"))||0,u=i.parseNonNegativeInt(s||"");return(null==s||null==u)&&(u=1),s=null,(t=r.inheritChild(e,t,"SegmentTimeline"))&&(i=i.findChildren(t,"S"),s=r.createTimeline(i,a,l,e.periodInfo.duration||1/0,u)),{timescale:a,unscaledSegmentDuration:n,segmentDuration:o,startNumber:u,scaledPresentationTimeOffset:l/a||0,unscaledPresentationTimeOffset:l,timeline:s}},shaka.dash.MpdUtils.getNodes=function(e,t){var r=shaka.util.Functional;return goog.asserts.assert(t(e.representation),"There must be at least one element of the given type."),[t(e.representation),t(e.adaptationSet),t(e.period)].filter(r.isNotNull)},shaka.dash.MpdUtils.inheritAttribute=function(e,t,r){t=shaka.dash.MpdUtils.getNodes(e,t),e=null,t=$jscomp.makeIterator(t);for(var i=t.next();!i.done&&!(e=i.value.attributes[r]);i=t.next());return e},shaka.dash.MpdUtils.inheritChild=function(e,t,r){var i=shaka.dash.MpdUtils.getNodes(e,t);e=shaka.util.TXml,t=null,i=$jscomp.makeIterator(i);for(var n=i.next();!n.done&&!(t=e.findChild(n.value,r));n=i.next());return t},shaka.dash.MpdUtils.handleXlinkInElement_=function(e,t,r,i,n,a){for(var o=shaka.util.TXml,s=shaka.util.Error,l=shaka.util.ManifestParserUtils,u=shaka.dash.MpdUtils.XlinkNamespaceUri_,d=o.getAttributeNS(e,u,"href"),c=o.getAttributeNS(e,u,"actuate")||"onRequest",p=$jscomp.makeIterator(Object.keys(e.attributes)),m=p.next();!m.done;m=p.next()){var f=(m=m.value).split(":"),g=shaka.util.TXml.getKnownNameSpace(u);f[0]==g&&delete e.attributes[m]}if(5<=a)return shaka.util.AbortableOperation.failed(new s(s.Severity.CRITICAL,s.Category.MANIFEST,s.Code.DASH_XLINK_DEPTH_
1LIMIT));if("onLoad"!=c)return shaka.util.AbortableOperation.failed(new s(s.Severity.CRITICAL,s.Category.MANIFEST,s.Code.DASH_UNSUPPORTED_XLINK_ACTUATE));var h=l.resolveUris([i],[d]);return i=shaka.net.NetworkingEngine.RequestType.MANIFEST,l=shaka.net.NetworkingEngine.makeRequest(h,t),i=n.request(i,l),goog.asserts.assert(i instanceof shaka.util.AbortableOperation,"Unexpected implementation of IAbortableOperation!"),i.chain(function(i){if(!(i=o.parseXml(i.data,e.tagName)))return shaka.util.AbortableOperation.failed(new s(s.Severity.CRITICAL,s.Category.MANIFEST,s.Code.DASH_INVALID_XML,d));for(e.children=[];i.children.length;){var l=i.children.shift();e.children.push(l)}l=$jscomp.makeIterator(Object.keys(i.attributes));for(var u=l.next();!u.done;u=l.next())u=u.value,e.attributes[u]=i.attributes[u];return shaka.dash.MpdUtils.processXlinks(e,t,r,h[0],n,a+1)})},shaka.dash.MpdUtils.processXlinks=function(e,t,r,i,n,a){a=void 0===a?0:a;var o=shaka.dash.MpdUtils,s=shaka.util.TXml,l=o.XlinkNamespaceUri_;if(s.getAttributeNS(e,l,"href"))return s=o.handleXlinkInElement_(e,t,r,i,n,a),r&&(s=s.chain(void 0,function(s){return o.processXlinks(e,t,r,i,n,a)})),s;for(var u=[],d=$jscomp.makeIterator(shaka.util.TXml.getChildNodes(e)),c=d.next(),p={};!c.done;p={child$jscomp$9:void 0},c=d.next())p.child$jscomp$9=c.value,"urn:mpeg:dash:resolve-to-zero:2013"==s.getAttributeNS(p.child$jscomp$9,l,"href")?e.children=e.children.filter(function(e){return function(t){return t!==e.child$jscomp$9}}(p)):"SegmentTimeline"!=p.child$jscomp$9.tagName&&u.push(shaka.dash.MpdUtils.processXlinks(p.child$jscomp$9,t,r,i,n,a));return shaka.util.AbortableOperation.all(u).chain(function(){return e})},shaka.dash.MpdUtils.XlinkNamespaceUri_="http://www.w3.org/1999/xlink",shaka.dash.Mp4SegmentIndexParser=function(){},shaka.dash.Mp4SegmentIndexParser.parse=function(e,t,r,i,n,a,o){var s,l=shaka.dash.Mp4SegmentIndexParser,u=(new shaka.util.Mp4Parser).fullBox("sidx",function(e){s=l.parseSIDX_(t,i,n,a,o,r,e)});if(e&&u.parse(e),s)return s;throw shaka.log.error('Invalid box type, expected "sidx".'),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_WRONG_BOX_TYPE)}
1,shaka.dash.Mp4SegmentIndexParser.parseSIDX_=function(e,t,r,i,n,a,o){goog.asserts.assert(null!=o.version,"SIDX is a full box and should have a valid version.");var s=[];o.reader.skip(4);var l=o.reader.readUint32();if(0==l)throw shaka.log.error("Invalid timescale."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_INVALID_TIMESCALE);if(0==o.version)var u=o.reader.readUint32(),d=o.reader.readUint32();else u=o.reader.readUint64(),d=o.reader.readUint64();o.reader.skip(2);var c=o.reader.readUint16();for(e=e+o.size+d,d=0;d<c;d++){var p=o.reader.readUint32(),m=(0x80000000&p)>>>31;p&=0x7fffffff;var f=o.reader.readUint32();if(o.reader.skip(4),1==m)throw shaka.log.error("Hierarchical SIDXs are not supported."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_TYPE_NOT_SUPPORTED);s.push(new shaka.media.SegmentReference(u/l+r,(u+f)/l+r,function(){return a},e,e+p-1,t,r,i,n)),u+=f,e+=p}return o.parser.stop(),s},shaka.dash.EbmlParser=function(e){this.dataView_=shaka.util.BufferUtils.toDataView(e),this.reader_=new shaka.util.DataViewReader(this.dataView_,shaka.util.DataViewReader.Endianness.BIG_ENDIAN)},shaka.dash.EbmlParser.prototype.hasMoreData=function(){return this.reader_.hasMoreData()},shaka.dash.EbmlParser.prototype.parseElement=function(){var e=this.parseId_(),t=this.parseVint_();t=shaka.dash.EbmlParser.isDynamicSizeValue_(t)?this.dataView_.byteLength-this.reader_.getPosition():shaka.dash.EbmlParser.getVintValue_(t),t=this.reader_.getPosition()+t<=this.dataView_.byteLength?t:this.dataView_.byteLength-this.reader_.getPosition();var r=shaka.util.BufferUtils.toDataView(this.dataView_,this.reader_.getPosition(),t);return this.reader_.skip(t),new shaka.util.EbmlElement(e,r)},shaka.dash.EbmlParser.prototype.parseId_=function(){var e=this.parseVint_();if(7<e.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.EBML_OVERFLOW);var t=0;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())t=256*t+r.value;return t},shaka.dash.EbmlParser.prototype.parseVint_=function(){var e=this.reader_.getPosition(),t=this.reader_.readUint8();if(0==t)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.EBML_OVERFLOW);return t=8-Math.floor(Math.log2(t)),goog.asserts.assert(8>=t&&1<=t,"Incorrect log2 value"),this.reader_.skip(t-1),shaka.util.BufferUtils.toUint8(this.dataView_,e,t)},shaka.dash.EbmlParser.getVintValue_=function(e){if(8==e.length&&224&e[1])throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.JS_INTEGER_OVERFLOW);for(var t=0,r=0;r<e.length;r++){var i=e[r];t=0==r?i&(1<<8-e.length)-1:256*t+i}return t},shaka.dash.EbmlParser.isDynamicSizeValue_=function(e){for(var t=shaka.util.BufferUtils,r=$jscomp.makeIterator(shaka.dash.EbmlParser.DYNAMIC_SIZES),i=r.next();!i.done;i=r.next())if(t.equal(e,new Uint8Array(i.value)))return!0;return!1},shaka.dash.EbmlParser.DYNAMIC_SIZES=[[255],[127,255],[63,255,255],[31,255,255,255],[15,255,255,255,255],[7,255,255,255,255,255],[3,255,255,255,255,255,255],[1,255,255,255,255,255,255,255]],shaka.util.EbmlElement=function(e,t){this.id=e,this.dataView_=t},shaka.util.EbmlElement.prototype.getOffset=function(){return this.dataView_.byteOffset},shaka.util.EbmlElement.prototype.createParser=function(){return new shaka.dash.EbmlParser(this.dataView_)},shaka.util.EbmlElement.prototype.getUint=function(){if(8<this.dataView_.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.EBML_OVERFLOW);if(8==this.dataView_.byteLength&&224&this.dataView_.getUint8(0))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.JS_INTEGER_OVERFLOW);for(var e=0,t=0;t<this.dataView_.byteLength;t++)e=256*e+this.dataView_.getUint8(t);return e},shaka.util.EbmlElement.prototype.getFloat=function(){if(4==this.dataView_.byteLength)return this.dataView_.getFloat32(0);if(8==this.dataView_.byteLength)return this.dataView_.getFloat64(0);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.EBML_BAD_FLOATING_POINT_SIZE)},shaka.dash.WebmSegmentIndexParser=function(){},shaka.dash.WebmSegmentIndexParser.parse=function(e,t,r,i,n,a,o){if(t=shaka.dash.WebmSegmentIndexParser.parseWebmContainer_(t),(e=new shaka.dash.EbmlParser(e).parseElement()).id!=shaka.dash.WebmSegmentIndexParser.CUES_ID)throw shaka.log.error("Not a Cues element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_CUES_ELEMENT_MISSING);return shaka.dash.WebmSegmentIndexParser.parseCues_(e,t.segmentOffset,t.timeco
1deScale,t.duration,r,i,n,a,o)},shaka.dash.WebmSegmentIndexParser.parseWebmContainer_=function(e){if((e=new shaka.dash.EbmlParser(e)).parseElement().id!=shaka.dash.WebmSegmentIndexParser.EBML_ID)throw shaka.log.error("Not an EBML element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_EBML_HEADER_ELEMENT_MISSING);var t=e.parseElement();if(t.id!=shaka.dash.WebmSegmentIndexParser.SEGMENT_ID)throw shaka.log.error("Not a Segment element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_SEGMENT_ELEMENT_MISSING);return{segmentOffset:e=t.getOffset(),timecodeScale:(t=shaka.dash.WebmSegmentIndexParser.parseSegment_(t)).timecodeScale,duration:t.duration}},shaka.dash.WebmSegmentIndexParser.parseSegment_=function(e){e=e.createParser();for(var t=null;e.hasMoreData();){var r=e.parseElement();if(r.id==shaka.dash.WebmSegmentIndexParser.INFO_ID){t=r;break}}if(!t)throw shaka.log.error("Not an Info element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_INFO_ELEMENT_MISSING);return shaka.dash.WebmSegmentIndexParser.parseInfo_(t)},shaka.dash.WebmSegmentIndexParser.parseInfo_=function(e){var t=e.createParser(),r=1e6;for(e=null;t.hasMoreData();){var i=t.parseElement();i.id==shaka.dash.WebmSegmentIndexParser.TIMECODE_SCALE_ID?r=i.getUint():i.id==shaka.dash.WebmSegmentIndexParser.DURATION_ID&&(e=i.getFloat())}if(null==e)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_DURATION_ELEMENT_MISSING);return{timecodeScale:t=r/1e9,duration:e*t}},shaka.dash.WebmSegmentIndexParser.parseCues_=function(e,t,r,i,n,a,o,s,l){var u=[],d=function(){return n};e=e.createParser();for(var c=null,p=null;e.hasMoreData();){var m=e.parseElement();if(m.id==shaka.dash.WebmSegmentIndexParser.CUE_POINT_ID){var f=shaka.dash.WebmSegmentIndexParser.parseCuePoint_(m);f&&(m=r*f.unscaledTime,f=t+f.relativeOffset,null!=c&&(goog.asserts.assert(null!=p,"last offset cannot be null"),u.push(new shaka.media.SegmentReference(c+o,m+o,d,p,f-1,a,o,s,l))),c=m,p=f)}}return null!=c&&(goog.asserts.assert(null!=p,"last offset cannot be null"),u.push(new shaka.media.SegmentReference(c+o,i+o,d,p,null,a,o,s,l))),u},shaka.dash.WebmSegmentIndexParser.parseCuePoint_=function(e){var t=e.createParser();if((e=t.parseElement()).id!=shaka.dash.WebmSegmentIndexParser.CUE_TIME_ID)throw shaka.log.warning("Not a CueTime element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_CUE_TIME_ELEMENT_MISSING);if(e=e.getUint(),(t=t.parseElement()).id!=shaka.dash.WebmSegmentIndexParser.CUE_TRACK_POSITIONS_ID)throw shaka.log.warning("Not a CueTrackPositions element."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING);t=t.createParser();for(var r=0;t.hasMoreData();){var i=t.parseElement();if(i.id==shaka.dash.WebmSegmentIndexParser.CUE_CLUSTER_POSITION){r=i.getUint();break}}return{unscaledTime:e,relativeOffset:r}},shaka.dash.WebmSegmentIndexParser.EBML_ID=0x1a45dfa3,shaka.dash.WebmSegmentIndexParser.SEGMENT_ID=0x18538067,shaka.dash.WebmSegmentIndexParser.INFO_ID=0x1549a966,shaka.dash.WebmSegmentIndexParser.TIMECODE_SCALE_ID=2807729,shaka.dash.WebmSegmentIndexParser.DURATION_ID=17545,shaka.dash.WebmSegmentIndexParser.CUES_ID=0x1c53bb6b,shaka.dash.WebmSegmentIndexParser.CUE_POINT_ID=187,shaka.dash.WebmSegmentIndexParser.CUE_TIME_ID=179,shaka.dash.WebmSegmentIndexParser.CUE_TRACK_POSITIONS_ID=183,shaka.dash.WebmSegmentIndexParser.CUE_CLUSTER_POSITION=241,shaka.dash.SegmentBase=function(){},shaka.dash.SegmentBase.createInitSegment=function(e,t,r){var i=shaka.util.TXml,n=shaka.util.ManifestParserUtils,a=shaka.util.StringUtils;if(!(t=shaka.dash.MpdUtils.inheritChild(e,t,"Initialization")))return null;var o=e.representation.getBaseUris(),s=t.attributes.sourceURL;
1return s&&(o=n.resolveUris(o,[a.htmlUnescape(s)],e.urlParams())),n=0,a=null,(i=i.parseAttr(t,"range",i.parseRange))&&(n=i.start,a=i.end),i=shaka.dash.SegmentBase.createQualityInfo(e),(r=new shaka.media.InitSegmentReference(function(){return o},n,a,i,null,null,r,e.adaptationSet.encrypted)).codecs=e.representation.codecs,r.mimeType=e.representation.mimeType,r},shaka.dash.SegmentBase.createStreamInfo=function(e,t,r){goog.asserts.assert(e.representation.segmentBase,"Should only be called with SegmentBase");var i=shaka.dash.MpdUtils,n=shaka.dash.SegmentBase,a=shaka.util.TXml,o=Number(i.inheritAttribute(e,n.fromInheritance_,"presentationTimeOffset"))||0;i=i.inheritAttribute(e,n.fromInheritance_,"timescale");var s=1;i&&(s=a.parsePositiveInt(i)||1);var l=o/s||0,u=n.createInitSegment(e,n.fromInheritance_,r);n.checkSegmentIndexRangeSupport_(e,u);var d=shaka.util.ObjectUtils.shallowCloneObject(e);return{generateSegmentIndex:function(){return n.generateSegmentIndex_(d,t,u,l)}}},shaka.dash.SegmentBase.generateSegmentIndexFromUris=function(e,t,r,i,n,a,o){var s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(1==A.nextAddress)return s=e.presentationTimeline,l=!e.dynamic||!e.periodInfo.isLastPeriod,u=e.periodInfo.start,d=e.periodInfo.duration,c=e.representation.mimeType.split("/")[1],m=null,f=[(p=t)(i,n,a,!1),"webm"==c?p(r.getUris(),r.startByte,r.endByte,!0):null],p=null,A.yield(Promise.all(f),2);for(h=(g=A.yieldResult)[0],y=g[1]||null,_=null,S=u-o,v=u,T=d?u+d:1/0,"mp4"==c?_=shaka.dash.Mp4SegmentIndexParser.parse(h,n,i,r,S,v,T):(goog.asserts.assert(y,"WebM requires init data"),_=shaka.dash.WebmSegmentIndexParser.parse(h,y,i,r,S,v,T)),P=(E=$jscomp.makeIterator(_)).next();!P.done;P=E.next())(x=P.value).codecs=e.representation.codecs,x.mimeType=e.representation.mimeType,x.bandwidth=e.bandwidth;return s.notifySegments(_),goog.asserts.assert(!m,"Should not call generateSegmentIndex twice"),m=new shaka.media.SegmentIndex(_),l&&m.fit(v,T,!0),A.return(m)})},shaka.dash.SegmentBase.fromInheritance_=function(e){return e.segmentBase},shaka.dash.SegmentBase.computeIndexRange_=function(e){var t=shaka.dash.MpdUtils,r=shaka.dash.SegmentBase,i=shaka.util.TXml,n=t.inheritChild(e,r.fromInheritance_,"RepresentationIndex");return e=t.inheritAttribute(e,r.fromInheritance_,"indexRange"),e=i.parseRange(e||""),n&&(e=i.parseAttr(n,"range",i.parseRange,e)),e},shaka.dash.SegmentBase.computeIndexUris_=function(e){var t=shaka.util.ManifestParserUtils,r=shaka.util.StringUtils,i=shaka.dash.MpdUtils.inheritChild(e,shaka.dash.SegmentBase.fromInheritance_,"RepresentationIndex"),n=e.representation.getBaseUris();return i&&(r=r.htmlUnescape(i.attributes.sourceURL))&&(n=t.resolveUris(n,[r],e.urlParams())),n},shaka.dash.SegmentBase.checkSegmentIndexRangeSupport_=function(e,t){var r=shaka.dash.SegmentBase;if(r.checkSegmentIndexSupport(e,t),!r.computeIndexRange_(e))throw shaka.log.error("SegmentBase does not contain sufficient segment information:","the SegmentBase does not contain @indexRange","or a RepresentationIndex element.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)},shaka.dash.SegmentBase.checkSegmentIndexSupport=function(e,t){var r=shaka.util.ManifestParserUtils.ContentType,i=e.representation.contentType,n=e.representation.mimeType.split("/")[1];if(i!=r.TEXT&&"mp4"!=n&&"webm"!=n)throw shaka.log.error("SegmentBase specifies an unsupported container type.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_UNSUPPORTED_CONTAINER);if("webm"==n&&!t)throw shaka.log.error("SegmentBase does not contain sufficient segment information:","the SegmentBase uses a WebM container,","but does not contain an Initialization element.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_WEBM_MISSING_INIT)},shaka.dash.SegmentBase.generateSegmentIndex_=function(e,t,r,i){var n=shaka.dash.SegmentBase,a=n.computeIndexUris_(e);return n=n.computeIndexRange_(e),goog.asserts.assert(n,"Index range should not be null!"),shaka.dash.SegmentBase.generateSegmentIndexFromUris(e,t,r,a,n.start,n.end,i)},shaka.dash.SegmentBase.createQualityInfo=function(e){var t=e.representation;return{bandwidth:e.bandwidth,audioSamplingRate:t.audioSamplingRate,codecs:t.codecs,contentType:t.contentType,frameRate:t.frameRate||null,height:t.height||null,mimeType:t.mimeType,channelsCount:t.numChannels,pixelAspectRatio:t.pixelAspectRatio||null,width:t.width||null,label:e.adaptationSet.label||null,roles:e.roles||null,language:e.adaptationSet.language||null}},shaka.dash.SegmentList=function(){},shaka.dash.SegmentList.createStreamInfo=function(e,t,r){goog.asserts.assert(e.representation.segmentList,"Should only be called with SegmentList");var i=shaka.dash.SegmentList,n=shaka.dash.SegmentBase.createInitSegment(e,i.fromInheritance_,r),a=i.parseSegmentListInfo_(e);i.checkSegmentListInfo_(e,a);var o=null,s=null;e.period.id&&e.representation.id&&(s=t.get(e.period.id+","+e.representation.id))&&
1(o=s.segmentIndex);var l=i.createSegmentReferences_(e.periodInfo.start,e.periodInfo.duration,a.startNumber,e.representation.getBaseUris,a,n,r,e.representation.mimeType,e.representation.codecs,e.bandwidth,e.urlParams);return t=!o,o?(r=e.presentationTimeline.getSegmentAvailabilityStart(),o.mergeAndEvict(l,r)):o=new shaka.media.SegmentIndex(l),e.presentationTimeline.notifySegments(l),e.dynamic&&e.periodInfo.isLastPeriod||o.fit(e.periodInfo.start,e.periodInfo.duration?e.periodInfo.start+e.periodInfo.duration:1/0,t),s&&(s.segmentIndex=o),{generateSegmentIndex:function(){return o&&!o.isEmpty()||o.merge(l),Promise.resolve(o)}}},shaka.dash.SegmentList.fromInheritance_=function(e){return e.segmentList},shaka.dash.SegmentList.parseSegmentListInfo_=function(e){var t=shaka.dash.SegmentList,r=shaka.dash.MpdUtils,i=t.parseMediaSegments_(e);return 0==(t=(e=r.parseSegmentInfo(e,t.fromInheritance_)).startNumber)&&(shaka.log.warning("SegmentList@startNumber must be > 0"),t=1),r=0,e.segmentDuration?r=e.segmentDuration*(t-1):e.timeline&&0<e.timeline.length&&(r=e.timeline[0].start),{segmentDuration:e.segmentDuration,startTime:r,startNumber:t,scaledPresentationTimeOffset:e.scaledPresentationTimeOffset,timeline:e.timeline,mediaSegments:i}},shaka.dash.SegmentList.checkSegmentListInfo_=function(e,t){if(!t.segmentDuration&&!t.timeline&&1<t.mediaSegments.length)throw shaka.log.warning("SegmentList does not contain sufficient segment information:","the SegmentList specifies multiple segments,","but does not specify a segment duration or timeline.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);if(!t.segmentDuration&&!e.periodInfo.duration&&!t.timeline&&1==t.mediaSegments.length)throw shaka.log.warning("SegmentList does not contain sufficient segment information:","the SegmentList specifies one segment,","but does not specify a segment duration, period duration,","or timeline.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);if(t.timeline&&0==t.timeline.length)throw shaka.log.warning("SegmentList does not contain sufficient segment information:","the SegmentList has an empty timeline.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)},shaka.dash.SegmentList.createSegmentReferences_=function(e,t,r,i,n,a,o,s,l,u,d){var c=shaka.util.ManifestParserUtils;r=n.mediaSegments.length,n.timeline&&n.timeline.length!=n.mediaSegments.length&&(r=Math.min(n.timeline.length,n.mediaSegments.length),shaka.log.warning("The number of items in the segment timeline and the number of ","segment URLs do not match, truncating",n.mediaSegments.length,"to",r));for(var p=e-n.scaledPresentationTimeOffset,m=t?e+t:1/0,f=[],g=n.startTime,h={},y=0;y<r;h={uris$jscomp$12:void 0,segment$jscomp$9:void 0},y++){h.segment$jscomp$9=n.mediaSegments[y];var _=g;g=void 0,null!=n.segmentDuration?g=_+n.segmentDuration:n.timeline?g=n.timeline[y].end:(goog.asserts.assert(1==n.mediaSegments.length&&t,"There should be exactly one segment with a Period duration."),g=_+t),h.uris$jscomp$12=null;var S=function(e){return function(){return null==e.uris$jscomp$12&&(e.uris$jscomp$12=c.resolveUris(i(),[e.segment$jscomp$9.mediaUri],d())),e.uris$jscomp$12}}(h);(h=new shaka.media.SegmentReference(e+_,e+g,S,h.segment$jscomp$9.start,h.segment$jscomp$9.end,a,p,e,m,[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,o)).codecs=l,h.mimeType=s,h.bandwidth=u,f.push(h)}return f},shaka.dash.SegmentList.parseMediaSegments_=function(e){var t=[e.representation.segmentList,e.adaptationSet.segmentList,e.period.segmentList].filter(shaka.util.Functional.isNotNull),r=shaka.util.TXml,i=shaka.util.StringUtils;return t.map(function(e){return r.findChildren(e,"SegmentURL")}).reduce(function(e,t){return 0<e.length?e:t}).map(function(t){return t.attributes.indexRange&&!e.indexRangeWarningGiven&&(e.indexRangeWarningGiven=!0,shaka.log.warning("We do not support the SegmentURL@indexRange attribute on SegmentList.  We only use the SegmentList@duration attribute or SegmentTimeline, which must be accurate.")),{mediaUri:i.htmlUnescape(t.attributes.media),start:(t=r.parseAttr(t,"mediaRange",r.parseRange,{start:0,end:null})).start,end:t.end}})},shaka.dash.SegmentTemplate=function(){},shaka.dash.SegmentTemplate.createStreamInfo=function(e,t,r,i,n,a,o,s,l){goog.asserts.assert(e.representation.segmentTemplate,"Should only be called with SegmentTemplate or segment info defined");var u=shaka.dash.MpdUtils,d=shaka.dash.SegmentTemplate,c=shaka.dash.TimelineSegmentIndex;l||e.representation.initialization||(e.representation.initialization=u.inheritAttribute(e,d.fromInheritance_,"initialization"));var p=e.representation.initialization?d.createInitSegment_(e,o):null,m=d.parseSegmentTemplateInfo_(e);d.checkSegmentTemplateInfo_(e,m);var f=shaka.util.ObjectUtils.shallowCloneObject(e);
1if(m.indexTemplate)return shaka.dash.SegmentBase.checkSegmentIndexSupport(e,p),{generateSegmentIndex:function(){return d.generateSegmentIndexFromIndexTemplate_(f,t,p,m)}};if(m.segmentDuration)return i||"image"===e.adaptationSet.contentType||"text"===e.adaptationSet.contentType||(r=e.periodInfo.start,c=e.period.id,i=e.periodInfo.duration,c=(c=null!=c&&a.get(c)||i)?r+c:1/0,e.presentationTimeline.notifyMaxSegmentDuration(m.segmentDuration),e.presentationTimeline.notifyPeriodDuration(r,c)),{generateSegmentIndex:function(){return d.generateSegmentIndexFromDuration_(f,m,n,p,a,o,s,e.representation.segmentSequenceCadence)}};var g=null;i=i=null,e.period.id&&e.representation.id&&(i=e.period.id+","+e.representation.id,i=r.get(i))&&(g=i.segmentIndex);var h=e.periodInfo.start,y=e.periodInfo.duration?h+e.periodInfo.duration:1/0;return shaka.log.debug("New manifest "+h+" - "+y),g?((r=g).appendTemplateInfo(m,h,y,p),c=e.presentationTimeline.getSegmentAvailabilityStart(),r.evict(c)):(shaka.log.debug("Creating TSI with end "+y),g=new c(m,e.representation.originalId,e.bandwidth,e.representation.getBaseUris,e.urlParams,h,y,p,o,e.representation.segmentSequenceCadence)),m.timeline&&"image"!==e.adaptationSet.contentType&&"text"!==e.adaptationSet.contentType&&(r=g.getTimeline(),e.presentationTimeline.notifyTimeRange(r,h)),i&&e.dynamic&&(i.segmentIndex=g),{generateSegmentIndex:function(){return g instanceof shaka.dash.TimelineSegmentIndex&&g.isEmpty()&&g.appendTemplateInfo(m,h,y,p),Promise.resolve(g)}}},shaka.dash.SegmentTemplate.modifyTimepoints=function(e,t){var r=shaka.util.TXml;e=shaka.dash.MpdUtils.inheritChild(e,shaka.dash.SegmentTemplate.fromInheritance_,"SegmentTimeline"),goog.asserts.assert(e,"timeline node not found");var i=r.findChildren(e,"S");goog.asserts.assert(i,"timepoints should exist"),r.modifyNodes(i,t),e.children=i},shaka.dash.SegmentTemplate.removeTimepoints=function(e){e=shaka.dash.MpdUtils.inheritChild(e,shaka.dash.SegmentTemplate.fromInheritance_,"SegmentTimeline"),goog.asserts.assert(e,"timeline node not found"),e.children=[]},shaka.dash.SegmentTemplate.fromInheritance_=function(e){return e.segmentTemplate},shaka.dash.SegmentTemplate.parseSegmentTemplateInfo_=function(e){var t=shaka.dash.SegmentTemplate,r=shaka.dash.MpdUtils,i=shaka.util.StringUtils,n=r.parseSegmentInfo(e,t.fromInheritance_),a=r.inheritAttribute(e,t.fromInheritance_,"media"),o=r.inheritAttribute(e,t.fromInheritance_,"index");return t=r.inheritAttribute(e,t.fromInheritance_,"k"),r=0,t&&(r=parseInt(t,10)),{unscaledSegmentDuration:n.unscaledSegmentDuration,segmentDuration:n.segmentDuration,timescale:n.timescale,startNumber:n.startNumber,scaledPresentationTimeOffset:n.scaledPresentationTimeOffset,unscaledPresentationTimeOffset:n.unscaledPresentationTimeOffset,timeline:n.timeline,mediaTemplate:a&&i.htmlUnescape(a),indexTemplate:o,mimeType:e.representation.mimeType,codecs:e.representation.codecs,bandwidth:e.bandwidth,numChunks:r}},shaka.dash.SegmentTemplate.checkSegmentTemplateInfo_=function(e,t){var r=+!!t.indexTemplate;if(0==(r+=+!!t.timeline+ +!!t.segmentDuration))throw shaka.log.error("SegmentTemplate does not contain any segment information:","the SegmentTemplate must contain either an index URL template","a SegmentTimeline, or a segment duration.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);if(1!=r&&(shaka.log.warning("SegmentTemplate contains multiple segment information sources:","the SegmentTemplate should only contain an index URL template,","a SegmentTimeline or a segment duration.",e.representation),t.indexTemplate?(shaka.log.info("Using the index URL template by default."),t.timeline=null):(goog.asserts.assert(t.timeline,"There should be a timeline"),shaka.log.info("Using the SegmentTimeline by default.")),t.unscaledSegmentDuration=null,t.segmentDuration=null),!t.indexTemplate&&!t.mediaTemplate)throw shaka.log.error("SegmentTemplate does not contain sufficient segment information:","the SegmentTemplate's media URL template is missing.",e.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)},shaka.dash.SegmentTemplate.generateSegmentIndexFromIndexTemplate_=function(e,t,r,i){var n=shaka.dash.MpdUtils,a=shaka.util.ManifestParserUtils;return goog.asserts.assert(i.indexTemplate,"must be using index template"),n=n.fillUriTemplate(i.indexTemplate,e.representation.originalId,null,null,e.bandwidth||null,
1null),a=a.resolveUris(e.representation.getBaseUris(),[n]),shaka.dash.SegmentBase.generateSegmentIndexFromUris(e,t,r,a,0,null,i.scaledPresentationTimeOffset)},shaka.dash.SegmentTemplate.generateSegmentIndexFromDuration_=function(e,t,r,i,n,a,o,s){goog.asserts.assert(t.mediaTemplate,"There should be a media template with duration");var l=shaka.dash.MpdUtils,u=shaka.util.ManifestParserUtils,d=e.presentationTimeline,c=e.periodInfo.start,p=e.period.id,m=e.periodInfo.duration,f=function(){var e=null!=p&&n.get(p)||m;return e?c+e:1/0},g=t.segmentDuration;goog.asserts.assert(null!=g,"Segment duration must not be null!");var h=t.startNumber,y=t.mediaTemplate,_=e.bandwidth||null,S=e.representation.id,v=e.representation.getBaseUris,T=e.urlParams,E=c-t.scaledPresentationTimeOffset,P=function(){var t=[Math.max(d.getSegmentAvailabilityStart(),c),Math.min(d.getSegmentAvailabilityEnd(),f())];return goog.asserts.assert(t.every(isFinite),"Available presentation times must be finite!"),goog.asserts.assert(t.every(function(e){return 0<=e}),"Available presentation times must be positive!"),goog.asserts.assert(null!=g,"Segment duration must not be null!"),t=[Math.ceil((t=t.map(function(e){return e-c}))[0]/g),Math.ceil(t[1]/g)-1],e.representation.availabilityTimeOffset&&t[1]++,t.map(function(e){return e+h})},x=P();r=e.dynamic?Math.max(x[0],x[1]-r+1):x[0],o=o||x[1],x=[];for(var A=function(r){goog.asserts.assert(null!=g,"Segment duration must not be null!");var n=r-h,o=n*g,d=t.unscaledSegmentDuration;goog.asserts.assert(null!=d,"Segment duration must not be null!");var p=n*d;"BigInt"in window&&p>Number.MAX_SAFE_INTEGER&&(p=BigInt(n)*BigInt(d)),o+=c,d=Math.min(n=o+g,f()),goog.asserts.assert(o<d,"Generated a segment outside of the period!");var m=[],P=t.numChunks;if(P)for(var x=(d-o)/P,A={},C=0;C<P;A={subNumber$jscomp$1:void 0},C++){var M=o+x*C,I=M+x;A.subNumber$jscomp$1=C+1,A=function(e){return function(){var t=l.fillUriTemplate(y,S,r,e.subNumber$jscomp$1,_,p);return u.resolveUris(v(),[t],T())}}(A),(M=new shaka.media.SegmentReference(M,I,A,0,null,i,E,c,f(),[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,a)).codecs=e.representation.codecs,M.mimeType=e.representation.mimeType,0==s?0<C&&M.markAsNonIndependent():0!=C%s&&M.markAsNonIndependent(),m.push(M)}return(o=new shaka.media.SegmentReference(o,d,function(){if(P)return[];var e=l.fillUriTemplate(y,S,r,null,_,p);return u.resolveUris(v(),[e],T())},0,null,i,E,c,f(),m,"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,a,0<m.length)).codecs=e.representation.codecs,o.mimeType=e.representation.mimeType,o.bandwidth=e.bandwidth,o.trueEndTime=n,o},C=r;C<=o;++C){var M=A(C);x.push(M)}var I=new shaka.media.SegmentIndex(x);if(x=d.getSegmentAvailabilityEnd()<f(),C=d.isLive(),x||C){var b=Math.max(r,o+1);r=g,e.representation.availabilityTimeOffset&&(r=.1),I.updateEvery(r,function(){var e=d.getSegmentAvailabilityStart();I.evict(e);var t=$jscomp.makeIterator(P());t.next(),t=t.next().value;for(var r=[];b<=t;){var i=A(b);r.push(i),b++}return e>f()&&!r.length?null:r})}return Promise.resolve(I)},shaka.dash.SegmentTemplate.createInitSegment_=function(e,t){var r=shaka.dash.MpdUtils,i=shaka.util.ManifestParserUtils,n=shaka.dash.SegmentTemplate,a=e.representation.initialization;if(a||(a=r.inheritAttribute(e,n.fromInheritance_,"initialization")),!a)return null;a=shaka.util.StringUtils.htmlUnescape(a);var o=e.representation.originalId,s=e.bandwidth||null,l=e.representation.getBaseUris,u=e.urlParams;return n=shaka.dash.SegmentBase.createQualityInfo(e),(t=new shaka.media.InitSegmentReference(function(){goog.asserts.assert(a,"Should have returned earlier");var e=r.fillUriTemplate(a,o,null,null,s,null);return i.resolveUris(l(),[e],u())},0,null,n,null,null,t,e.adaptationSet.encrypted)).codecs=e.representation.codecs,t.mimeType=e.representation.mimeType,t},shaka.dash.TimelineSegmentIndex=function(e,t,r,i,n,a,o,s,l,u){shaka.media.SegmentIndex.call(this,[]),this.templateInfo_=e,this.representationId_=t,this.bandwidth_=r,this.getBaseUris_=i,this.urlParams_=n,this.periodStart_=a,this.periodEnd_=o,this.initSegmentReference_=s,this.aesKey_=l,this.segmentSequenceCadence_=u,this.fitTimeline()},$jscomp.inherits(shaka.dash.TimelineSegmentIndex,shaka.media.SegmentIndex),shaka.dash.TimelineSegmentIndex.prototype.getNumReferences=function(){return this.templateInfo_?this.templateInfo_.timeline.length:0},shaka.dash.TimelineSegmentIndex.prototype.release=function(){shaka.media.SegmentIndex.prototype.release.call(this),this.templateInfo_=null},shaka.dash.TimelineSegmentIndex.prototype.evict=function(e){if(this.templateInfo_){shaka.log.debug(this.representationId_+" Evicting at "+e);for(var t=0,r=this.templateInfo_.timeline,i=0;i<r.length;i+=1){var n=r[i],a=n.end+this.periodStart_;if(n=n.start+this.periodStart_,a<=e)shaka.log.debug("Evicting "+n+" - "+a),t+=1;else break}0<t&&(this.templateInfo_.timeline=r.slice(t),this.references.length>=t&&(this.references=this.references.slice(t)),this.numEvicted_+=t,0===this.getNumReferences()&&this.release()
1)}},shaka.dash.TimelineSegmentIndex.prototype.appendTemplateInfo=function(e,t,r,i){if(this.updateInitSegmentReference(i),this.templateInfo_){if(t=this.templateInfo_.timeline,this.templateInfo_.mediaTemplate!==e.mediaTemplate&&(this.templateInfo_.mediaTemplate=e.mediaTemplate),t.length){var n=t[t.length-1];e=e.timeline.filter(function(e){return e.end>n.end})}else e=e.timeline.slice();0<e.length&&(shaka.log.debug("Appending "+e.length+" entries"),this.templateInfo_.timeline.push.apply(this.templateInfo_.timeline,$jscomp.arrayFromIterable(e))),this.periodEnd_!==r&&(this.periodEnd_=r)}else this.templateInfo_=e,this.periodStart_=t,this.periodEnd_=r;this.fitTimeline()},shaka.dash.TimelineSegmentIndex.prototype.updateInitSegmentReference=function(e){if(this.initSegmentReference_!==e){this.initSegmentReference_=e;for(var t=$jscomp.makeIterator(this.references),r=t.next();!r.done;r=t.next())(r=r.value)&&r.updateInitSegmentReference(e)}},shaka.dash.TimelineSegmentIndex.prototype.isBeforeFirstEntry=function(e){return!!this.templateInfo_&&!!this.templateInfo_.timeline&&!!this.templateInfo_.timeline.length&&e<this.templateInfo_.timeline[0].start+this.periodStart_},shaka.dash.TimelineSegmentIndex.prototype.fitTimeline=function(){if(this.templateInfo_&&!this.getIsImmutable()){var e=this.templateInfo_.timeline;goog.asserts.assert(e,"Timeline should be non-null!");var t=[];e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())(r=r.value).start>=this.periodEnd_||0>=r.end||t.push(r);this.templateInfo_.timeline=t,this.evict(this.periodStart_)}},shaka.dash.TimelineSegmentIndex.prototype.getTimeline=function(){if(!this.templateInfo_)return[];var e=this.templateInfo_.timeline;return goog.asserts.assert(e,"Timeline should be non-null!"),e},shaka.dash.TimelineSegmentIndex.prototype.find=function(e){if(shaka.log.debug("Find "+e),this.isBeforeFirstEntry(e))return this.numEvicted_;if(!this.templateInfo_)return null;var t=this.templateInfo_.timeline;if(e<this.periodStart_||e>=this.periodEnd_)return null;for(var r=t.length-1,i=0;i<t.length;i++){var n=t[i],a=n.start+this.periodStart_;if(n=i<r?t[i+1].start+this.periodStart_:1/0===this.periodEnd_?n.end+this.periodStart_:this.periodEnd_,e>=a&&e<n)return i+this.numEvicted_}return null},shaka.dash.TimelineSegmentIndex.prototype.get=function(e){var t=this;if(0>(e-=this.numEvicted_)||e>=this.getNumReferences()||!this.templateInfo_)return null;var r=this.references[e];if(!r){var i=this.templateInfo_.timeline[e],n=i.segmentPosition,a=i.unscaledStart+this.templateInfo_.unscaledPresentationTimeOffset;r=this.periodStart_-this.templateInfo_.scaledPresentationTimeOffset;var o=this.periodStart_+i.end,s=o;e===this.getNumReferences()-1&&1/0!==this.periodEnd_&&(s=.1<Math.abs(s-this.periodEnd_)?Math.min(s,this.periodEnd_):this.periodEnd_);for(var l=this.templateInfo_.codecs,u=this.templateInfo_.mimeType,d=this.templateInfo_.bandwidth,c=[],p=(i.end-i.start)/i.partialSegments,m={},f=0;f<i.partialSegments;m={uris$jscomp$13:void 0,subNumber$jscomp$2:void 0},f++){var g=i.start+p*f,h=g+p;m.subNumber$jscomp$2=f+1,m.uris$jscomp$13=null,m=function(e){return function(){return t.templateInfo_?(null==e.uris$jscomp$13&&(e.uris$jscomp$13=shaka.dash.TimelineSegmentIndex.createUris_(t.templateInfo_.mediaTemplate,t.representationId_,n,t.bandwidth_,a,e.subNumber$jscomp$2,t.getBaseUris_,t.urlParams_)),e.uris$jscomp$13):[]}}(m),(g=new shaka.media.SegmentReference(this.periodStart_+g,this.periodStart_+h,m,0,null,this.initSegmentReference_,r,this.periodStart_,this.periodEnd_,[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,this.aesKey_)).codecs=l,g.mimeType=u,g.bandwidth=d,0==this.segmentSequenceCadence_?0<f&&g.markAsNonIndependent():0!=f%this.segmentSequenceCadence_&&g.markAsNonIndependent(),c.push(g)}(r=new shaka.media.SegmentReference(this.periodStart_+i.start,s,function(){return 0<i.partialSegments||!t.templateInfo_?[]:shaka.dash.TimelineSegmentIndex.createUris_(t.templateInfo_.mediaTemplate,t.representationId_,n,t.bandwidth_,a,null,t.getBaseUris_,t.urlParams_)},0,null,this.initSegmentReference_,r,this.periodStart_,this.periodEnd_,c,"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,this.aesKey_,0<i.partialSegments)).codecs=l,r.mimeType=u,r.trueEndTime=o,r.bandwidth=d,this.references[e]=r}return r},shaka.dash.TimelineSegmentIndex.prototype.forEachTopLevelReference=function(e){this.fitTimeline();for(var t=0;t<this.getNumReferences();t++){var r=this.get(t+this.numEvicted_);r&&e(r)}},shaka.dash.TimelineSegmentIndex.createUris_=function(e,t,r,i,n,a,o,s){return e=shaka.dash.MpdUtils.fillUriTemplate(e,t,r,a,i||null,n),shaka.util.ManifestParserUtils.resolveUris(o(),[e],s()).map(function(e){return e.toString()})},shaka.util.ContentSteeringManager=function(e){this.config_=null,this.playerInterface_=e,this.operationManager_=new shaka.util.OperationManager,this.baseUris_=[],this.defaultPathwayId_=null,this.pathwayPriority_=[],this.lastPathwayUsed_=null,this.pathwayClones_=[],this.lastTTL_=300,this.locations_=new Map,this.bannedLocations_=new Map,this.updateTimer_=null,this.manifestType_=shaka.media.ManifestParser.UNKNOWN},shaka.util.ContentSteeringManager.prototype.configure=function(e){this.config_=e},shaka.util.ContentSteeringManager.prototype.destroy=function(){return this.playerInterface_=this.config_=null,this.baseUris_=[],this.defaultPathwayId_=null,this.pathwayPriority_=[],this.pathwayClones_=[],this.locations_.clear(),null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null),this.operationManager_.destroy()},shaka.util.ContentSteeringManager.prototype.setManifestType=function(e){this.manifestType_=e},shaka.util.ContentSteeringManager.prototype.setBaseUris=function(e){this.baseUris_=e},shaka.util.ContentSteeringManager.prototype.setDefaultPathwayId=function(e){this.defaultPathwayId_=e},shaka.util.ContentSteeringManager.prototype.requestInfo=function(e){var t,r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){return 1==u.nextAddress?(t=shaka.util.ManifestParserUtils.resolveUris(l.baseUris_,[l.addQueryParams_(e)]),r=shaka.net.NetworkingEngine.RequestType.CONTENT_STEERING,i=shaka.net.NetworkingEngine.makeRequest
1(t,l.config_.retryParameters),n=l.playerInterface_.networkingEngine.request(r,i),l.operationManager_.manage(n),u.setCatchFinallyBlocks(2),u.yield(n.promise,4)):2!=u.nextAddress?(a=u.yieldResult,1==(o=JSON.parse(shaka.util.StringUtils.fromUTF8(a.data))).VERSION&&l.processManifest_(o,a.uri),u.leaveTryBlock(0)):(s=u.enterCatchBlock())&&s.code==shaka.util.Error.Code.OPERATION_ABORTED?u.return():void(null!=l.updateTimer_&&(l.updateTimer_.stop(),l.updateTimer_=null),l.updateTimer_=new shaka.util.Timer(function(){l.requestInfo(e)}),l.updateTimer_.tickAfter(l.lastTTL_),u.jumpToEnd())})},shaka.util.ContentSteeringManager.prototype.addQueryParams_=function(e){if(!this.pathwayPriority_.length)return e;e=new goog.Uri(e);var t=this.lastPathwayUsed_||this.pathwayPriority_[0],r=Math.round(this.playerInterface_.getBandwidthEstimate()),i=e.getQueryData();return this.manifestType_==shaka.media.ManifestParser.DASH?(i.add("_DASH_pathway",t),i.add("_DASH_throughput",String(r))):this.manifestType_==shaka.media.ManifestParser.HLS&&(i.add("_HLS_pathway",t),i.add("_HLS_throughput",String(r))),i.getCount()&&e.setQueryData(i),e.toString()},shaka.util.ContentSteeringManager.prototype.processManifest_=function(e,t){var r=this;null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null);var i=e["RELOAD-URI"]||t;this.updateTimer_=new shaka.util.Timer(function(){r.requestInfo(i)}),(t=e.TTL)&&(this.lastTTL_=t),this.updateTimer_.tickAfter(this.lastTTL_),this.pathwayPriority_=e["PATHWAY-PRIORITY"]||[],this.pathwayClones_=e["PATHWAY-CLONES"]||[]},shaka.util.ContentSteeringManager.prototype.clearPreviousLocations=function(){this.locations_.clear()},shaka.util.ContentSteeringManager.prototype.addLocation=function(e,t,r){var i=this.locations_.get(e);i||(i=new Map),i.set(t,r),this.locations_.set(e,i)},shaka.util.ContentSteeringManager.prototype.banLocation=function(e){var t=Date.now()+6e4;this.bannedLocations_.set(e,t)},shaka.util.ContentSteeringManager.prototype.getLocations=function(e,t){var r=this;t=void 0!==t&&t,e=this.locations_.get(e)||new Map;for(var i=[],n=$jscomp.makeIterator(this.pathwayPriority_),a=n.next(),o={};!a.done;o={pathwayId$jscomp$1:void 0},a=n.next())if(o.pathwayId$jscomp$1=a.value,a=e.get(o.pathwayId$jscomp$1))i.push({pathwayId:o.pathwayId$jscomp$1,location:a});else if(a=this.pathwayClones_.find(function(e){return function(t){return t.ID==e.pathwayId$jscomp$1}}(o))){var s=e.get(a["BASE-ID"]);s&&(a["URI-REPLACEMENT"].HOST?((s=new goog.Uri(s)).setDomain(a["URI-REPLACEMENT"].HOST),i.push({pathwayId:o.pathwayId$jscomp$1,location:s.toString()})):i.push({pathwayId:o.pathwayId$jscomp$1,location:s}))}for(n=Date.now(),a=(o=$jscomp.makeIterator(this.bannedLocations_.keys())).next();!a.done;a=o.next())a=a.value,n>(s=this.bannedLocations_.get(a))&&this.bannedLocations_.delete(a);if((i=i.filter(function(e){for(var t=$jscomp.makeIterator(r.bannedLocations_.keys()),i=t.next();!i.done;i=t.next())if(i.value.includes(new goog.Uri(e.location).getDomain()))return!1;return!0})).length&&(this.lastPathwayUsed_=i[0].pathwayId),!(i=i.map(function(e){return e.location})).length&&this.defaultPathwayId_)for(o=(n=$jscomp.makeIterator(this.defaultPathwayId_.split(","))).next();!o.done;o=n.next())(o=e.get(o.value))&&(this.lastPathwayUsed_=this.defaultPathwayId_,i.push(o));if(!i.length)for(n=(e=$jscomp.makeIterator(e.values())).next();!n.done;n=e.next())i.push(n.value);return t?i:shaka.util.ManifestParserUtils.resolveUris(this.baseUris_,i)},shaka.util.PeriodCombiner=function(){this.variants_=[],this.audioStreams_=[],this.videoStreams_=[],this.textStreams_=[],this.imageStreams_=[],this.useStreamOnce_=this.multiTypeVariantsAllowed_=!1,this.usedPeriodIds_=new Set},shaka.util.PeriodCombiner.prototype.release=function(){var e=this.audioStreams_.concat(this.videoStreams_,this.textStreams_,this.imageStreams_);e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())(t=t.value).segmentIndex&&t.segmentIndex.release();this.audioStreams_=[],this.videoStreams_=[],this.textStreams_=[],this.imageStreams_=[],this.variants_=[],this.useStreamOnce_=this.multiTypeVariantsAllowed_=!1,this.usedPeriodIds_.clear()},shaka.util.PeriodCombiner.prototype.getVariants=function(){return this.variants_},shaka.util.PeriodCombiner.prototype.getTextStreams=function(){return this.textStreams_.slice()},shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_},shaka.util.PeriodCombiner.prototype.deleteStream=function(e,t){if(e){var r=shaka.util.ManifestParserUtils.ContentType;if(e.type==r.AUDIO){r=$jscomp.makeIterator(this.audioStreams_);for(var i=r.next();!i.done;i=r.next())(i=i.value).matchedStreams=i.matchedStreams.filter(function(t){return t!==e})}else if(e.type==r.VIDEO)for(i=(r=$jscomp.makeIterator(this.videoStreams_)).next();!i.done;i=r.next())(i=i.value).matchedStreams=i.matchedStreams.filter(function(t){return t!==e}),i.trickModeVideo&&(i.trickModeVideo.matchedStreams=i.trickModeVideo.matchedStreams.filter(function(t){return t!==e}));else if(e.type==r.TEXT)for(i=(r=$jscomp.makeIterator(this.textStreams_)).next();!i.done;i=r.next())(i=i.value).matchedStreams=i.matchedStreams.filter(function(t){return t!==e});else if(e.type==r.IMAGE)for(i=(r=$jscomp.makeIterator(this.imageStreams_)).next();!i.done;i=r.next())(i=i.value).matchedStreams=i.matchedStreams.filter(function(t){return t!==e});e.segmentIndex&&e.closeSegmentIndex(),this.usedPeriodIds_.delete(t)}},shaka.util.PeriodCombiner.prototype.getStreamsPerPeriod_=function(e,t){var r=shaka.util.ManifestParserUtils.ContentType,i=shaka.util.PeriodCombiner,n=[],a=[],o=[],s=[];e=$jscomp.makeIterator(e);for(var l=e.next();!l.done;l=e.next()){var u=l.value;l=new Map(u.audioStreams.map(function(e){return[i.generateAudioKey_(e),e]}));var d=new Map(u.videoStreams.map(function(e){return[i.generateVideoKey_(e),e]})),c=new Map(u.textStreams.map(function(e){return[i.generateTextKey_(e),e]}));if(u=new Map(u.imageStreams.map(function(e){return[i.generateImageKey_(e),e]})),t){var p=i.dummyStream_(r.TEXT);c.set(i.generateTextKey_(p),p),p=i.dummyStream_(r.IMAGE),u.set(i.generateImageKey_(p),p)}n.push(l),a.push(d),o.push(c),s.push(u)}return{audioStreamsPerPeriod:n,videoStreamsPerPeriod:a,textStreamsPerPeriod:o,imageStreamsPerPeriod:s}},shaka.util.PeriodCombiner.prototype.combinePeriods=function(e,t,r){r=void 0!==r&&r;
1var i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,E,P,x,A,C,M,I,b,D,R,k,w=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(U){if(1==U.nextAddress){if(i=shaka.util.ManifestParserUtils.ContentType,!t&&1==e.length)return a=(n=w.getStreamsPerPeriod_(e,!1)).audioStreamsPerPeriod,o=n.videoStreamsPerPeriod,s=n.textStreamsPerPeriod,l=n.imageStreamsPerPeriod,w.audioStreams_=Array.from(a[0].values()),w.videoStreams_=Array.from(o[0].values()),w.textStreams_=Array.from(s[0].values()),w.imageStreams_=Array.from(l[0].values()),U.jumpTo(2);for(u=r?w.usedPeriodIds_.size:0,d=-1,c=0;c<e.length;c++)p=e[c],w.usedPeriodIds_.has(p.id)||(w.usedPeriodIds_.add(p.id),-1==d&&(d=c));return -1==d?U.return():(f=(m=w.getStreamsPerPeriod_(e,!0)).audioStreamsPerPeriod,g=m.videoStreamsPerPeriod,h=m.textStreamsPerPeriod,y=m.imageStreamsPerPeriod,U.yield(Promise.all([w.combine_(w.audioStreams_,f,d,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,u),w.combine_(w.videoStreams_,g,d,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,u),w.combine_(w.textStreams_,h,d,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,u),w.combine_(w.imageStreams_,y,d,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,u)]),2))}if(_=0,S=[],w.videoStreams_.length&&w.audioStreams_.length)for(C=(A=$jscomp.makeIterator(w.audioStreams_)).next();!C.done;C=A.next())for(M=C.value,b=(I=$jscomp.makeIterator(w.videoStreams_)).next();!b.done;b=I.next())D=b.value,R=shaka.drm.DrmUtils.getCommonDrmInfos(M.drmInfos,D.drmInfos),M.drmInfos.length&&D.drmInfos.length&&!R.length?shaka.log.warning("Incompatible DRM in audio & video, skipping variant creation.",M,D):(k=_++,S.push({id:k,language:M.language,disabledUntilTime:0,primary:M.primary,audio:M,video:D,bandwidth:(M.bandwidth||0)+(D.bandwidth||0),drmInfos:R,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]}));else for(v=w.videoStreams_.length?w.videoStreams_:w.audioStreams_,E=(T=$jscomp.makeIterator(v)).next();!E.done;E=T.next())P=E.value,x=_++,S.push({id:x,language:P.language,disabledUntilTime:0,primary:P.primary,audio:P.type==i.AUDIO?P:null,video:P.type==i.VIDEO?P:null,bandwidth:P.bandwidth||0,drmInfos:P.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});w.variants_=S,U.jumpToEnd()})},shaka.util.PeriodCombiner.combineDbStreams=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:if(t=shaka.util.ManifestParserUtils.ContentType,r=shaka.util.PeriodCombiner,1==e.length)return R.return(e[0]);for(i=e.map(function(e){return new Map(e.filter(function(e){return e.type===t.AUDIO}).map(function(e){return[r.generateAudioKey_(e),e]}))}),n=e.map(function(e){return new Map(e.filter(function(e){return e.type===t.VIDEO}).map(function(e){return[r.generateVideoKey_(e),e]}))}),a=e.map(function(e){return new Map(e.filter(function(e){return e.type===t.TEXT}).map(function(e){return[r.generateTextKey_(e),e]}))}),o=e.map(function(e){return new Map(e.filter(function(e){return e.type===t.IMAGE}).map(function(e){return[r.generateImageKey_(e),e]}))}),l=(s=$jscomp.makeIterator(a)).next();!l.done;l=s.next())u=l.value,d=r.dummyStreamDB_(t.TEXT),u.set(r.generateTextKey_(d),d);for(p=(c=$jscomp.makeIterator(o)).next();!p.done;p=c.next())m=p.value,f=r.dummyStreamDB_(t.IMAGE),m.set(r.generateImageKey_(f),f);return g=new shaka.util.PeriodCombiner,R.yield(g.combine_([],i,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),2);case 2:return h=R.yieldResult,R.yield(g.combine_([],n,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),3);case 3:return y=R.yieldResult,R.yield(g.combine_([],a,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),4);case 4:return _=R.yieldResult,R.yield(g.combine_([],o,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),5);case 5:if(S=R.yieldResult,v=0,y.length&&h.length)for(A=(x=$jscomp.makeIterator(h)).next();!A.done;A=x.next())for(C=A.value,I=(M=$jscomp.makeIterator(y)).next();!I.done;I=M.next())b=I.value,D=v++,b.variantIds.push(D),C.variantIds.push(D);else for(T=y.concat(h),P=(E=$jscomp.makeIterator(T)).next();!P.done;P=E.next())P.value.variantIds=[v++];return R.return(y.concat(h).concat(_).concat(S))}})},shaka.util.PeriodCombiner.prototype.combine_=function(e,t,r,i,n,a){var o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){switch(C.nextAddress){case 1:for(s=0,o=[];s<t.length;s++)s>=r?o.push(new Set(t[s].values())):o.push(new Set);u=(l=$jscomp.makeIterator(e)).next();case 2:if(u.done){C.jumpTo(4);break}return d=u.value,C.yield(A.extendExistingOutputStream_(d,t,r,n,o,a),5);case 5:if(!C.yieldResult)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);u=l.next(),C.jumpTo(2);break;case 4:for(p=(c=$jscomp.makeIterator(o)).next();!p.done;p=c.next())for(m=p.value,g=(f=$jscomp.makeIterator(m)).next();!g.done;g=f.next())h=g.value,(y=A.createNewOutputStream_(h,t,i,n,o))&&e.push(y);for(S=(_=$jscomp.makeIterator(o)).next();!S.done;S=_.next())for(v=S.value,E=(T=$jscomp.makeIterator(v)).next(),P={};!E.done;P={stream$jscomp$102:void 0},E=T.next())if(P.stream$jscomp$102=E.value,!shaka.util.PeriodCombiner.isDummy_(P.stream$jscomp$102)&&(x=e.some(function(e){return function(t){return A.areAVStreamsCompatible_(e.stream$jscomp$102,t)}}(P))))throw shaka.log.error("Unused stream in period-flattening!",P.stream$jscomp$102,e),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);return C.return(e)}})},shaka.util.PeriodCombiner.prototype.extendExistingOutputStream_=function(e,t,r,i,n,a){var o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){return 1==s.nextAddress?(o.findMatchesInAllPeriods_(t,e,0<a),goog.asserts.assert(e.createSegmentIndex,"outputStream should be a Stream type!"),e.matchedStreams?e.segmentIndex?s.yield(shaka.util.PeriodCombiner.extendOutputSegmentIndex_(e,r+a),2):s.jumpTo(2):(shaka.log.error("No matches extending output stream!",e,t),s.return(!1))):(shaka.util.PeriodCombiner.extendOutputStream_(e,r,i,n,a),s.return(!0))})},shaka.util.PeriodCombiner.extendOutputSegmentIndex_=function(e,t){var r,i,n,a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress){for(r=[],i=e.matchedStreams,goog.asserts.assert(i,"matched streams should be valid"),n=t;n<i.length;n++)a=i[n],r.push(a.createSegmentIndex()),a.trickModeVideo&&!a.trickModeVideo.segmentIndex&&r.push(a.trickModeVideo.createSegmentIndex());return l.yield(Promise.all(r),2)}if(e.segmentIndex instanceof shaka.media.MetaSegmentIndex)for(o=t;o<i.length;o++)s=i[o],goog.asserts.assert(s.segmentIndex,"stream should have a segmentIndex."),s.segmentIndex&&e.segmentIndex.appendSegmentIndex(s.segmentIndex);l.jumpToEnd()})},shaka.util.PeriodCombiner.prototype.createNewOutputStream_=function(e,t,r,i,n){if(shaka.util.PeriodCombiner.isDummy_(e))return null;var a=r(e);return(this.findMatchesInAllPeriods_(t,a),a.createSegmentIndex&&(a.createSegmentIndex=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return a.segmentIndex?e.jumpTo(0):(a.segmentIndex=new shaka.media.MetaSegmentIndex,e.yield(shaka.util.PeriodCombiner.extendOutputSegmentIndex_(a,0),0))})}),a.matchedStreams&&a.matchedStreams.length)?(shaka.util.PeriodCombiner.extendOutputStream_(a,0,i,n,0),a):null},shaka.util.PeriodCombiner.extendOutputStream_=function(e,t,r,i,n){var a=shaka.util.ManifestParserUtils.ContentType,o=shaka.util.LanguageUtils,s=e.matchedStreams;for(goog.asserts.assert(e.matchedStreams,"matchedStreams should be non-null"),t+=n;t<s.length;t++){var l=s[t];r(e,l);var u=!0;if(e.type==a.AUDIO&&0==o.relatedness(e.language,l.language)&&(u=!1),u&&(i[t-n].delete(l),l.fullMimeTypes))for(u=(l=$jscomp.makeIterator(l.fullMimeTypes.values())).next();!u.done;u=l.next())e.fullMimeTypes.add(u.value)}},shaka.util.PeriodCombiner.cloneStream_=function(e){var t=Object.assign({},e);return t.originalId=null,t.createSegmentIndex=function(){return Promise.resolve()},t.closeSegmentIndex=function(){if(t.segmentIndex&&(t.segmentIndex.release(),t.segmentIndex=null),t.matchedStreams)for(var e=$jscomp.makeIterator(t.matchedStreams),r=e.next();!r.done;r=e.next())(r=r.value).segmentIndex&&(r.segmentIndex.release(),r.segmentIndex=null)},t.roles=t.roles.slice(),t.segmentIndex=null,t.emsgSchemeIdUris=[],t.keyIds=new Set(e.keyIds),t.closedCaptions=e.closedCaptions?new Map(e.closedCaptions):null,t.trickModeVideo=null,t},shaka.util.PeriodCombiner.cloneStreamDB_=function(e){var t=Object.assign({},e);return t.roles=t.roles.slice(),t.keyIds=new Set(e.keyIds),t.segments=[],t.variantIds=[],t.closedCaptions=e.closedCaptions?new Map(e.closedCaptions):null,t},shaka.util.PeriodCombiner.concatenateStreams_=function(e,t){var r=function(e,t){e||(e=[]),t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next())r=r.value,e.includes(r)||e.push(r);return e};e.roles=r(e.roles,t.roles),t.emsgSchemeIdUris&&(e.emsgSchemeIdUris=r(e.emsgSchemeIdUris,t.emsgSchemeIdUris)),r=$jscomp.makeIterator(t.keyIds);for(var i=r.next();!i.done;i=r.next())e.keyIds.add(i.value);if(null==e.originalId?e.originalId=t.originalId:(r=t.originalId||"")&&!e.originalId.endsWith(r)&&(e.originalId+=","+r),r=shaka.drm.DrmUtils.getCommonDrmInfos(e.drmInfos,t.drmInfos),t.drmInfos.length&&e.drmInfos.length&&!r.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.INCONSISTENT_DRM_ACROSS_PERIODS);if(e.drmInfos=r,e.encrypted=e.encrypted||t.encrypted,t.closedCaptions)for(e.closedCaptions||(e.closedCaptions=new Map),i=(r=$jscomp.makeIterator(t.closedCaptions)).next();!i.done;i=r.next()){var n=$jscomp.makeIterator(i.value);i=n.next().value,n=n.next().value,e.closedCaptions.set(i,n)}e.bandwidth&&t.bandwidth&&(e.bandwidth=Math.max(e.bandwidth,t.bandwidth)),t.trickModeVideo?(e.trickModeVideo||(e.trickModeVideo=shaka.util.PeriodCombiner.cloneStream_
1(t.trickModeVideo),e.trickModeVideo.matchedStreams=[],e.trickModeVideo.createSegmentIndex=function(){if(e.trickModeVideo.segmentIndex)return Promise.resolve();var t=new shaka.media.MetaSegmentIndex;goog.asserts.assert(e.trickModeVideo.matchedStreams,"trickmode matched streams should exist");for(var r=$jscomp.makeIterator(e.trickModeVideo.matchedStreams),i=r.next();!i.done;i=r.next())i=i.value,goog.asserts.assert(i.segmentIndex,"trickmode segment index should exist"),t.appendSegmentIndex(i.segmentIndex);return e.trickModeVideo.segmentIndex=t,Promise.resolve()}),e.trickModeVideo.matchedStreams.push(t.trickModeVideo),shaka.util.PeriodCombiner.concatenateStreams_(e.trickModeVideo,t.trickModeVideo)):e.trickModeVideo&&(e.trickModeVideo.matchedStreams.push(t),shaka.util.PeriodCombiner.concatenateStreams_(e.trickModeVideo,t))},shaka.util.PeriodCombiner.concatenateStreamDBs_=function(e,t){var r=e.roles;r||(r=[]);for(var i=$jscomp.makeIterator(t.roles),n=i.next();!n.done;n=i.next())n=n.value,r.includes(n)||r.push(n);for(e.roles=r,i=(r=$jscomp.makeIterator(t.keyIds)).next();!i.done;i=r.next())e.keyIds.add(i.value);if(e.encrypted=e.encrypted&&t.encrypted,e.segments.push.apply(e.segments,$jscomp.arrayFromIterable(t.segments)),t.closedCaptions)for(e.closedCaptions||(e.closedCaptions=new Map),r=(t=$jscomp.makeIterator(t.closedCaptions)).next();!r.done;r=t.next())r=(i=$jscomp.makeIterator(r.value)).next().value,i=i.next().value,e.closedCaptions.set(r,i)},shaka.util.PeriodCombiner.prototype.findMatchesInAllPeriods_=function(e,t,r){r=(void 0===r?0:r)?t.matchedStreams:[],e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){if(!(i=this.findBestMatchInPeriod_(i.value,t)))return;r.push(i)}t.matchedStreams=r},shaka.util.PeriodCombiner.prototype.findBestMatchInPeriod_=function(e,t){var r=this,i={audio:shaka.util.PeriodCombiner.generateAudioKey_,video:shaka.util.PeriodCombiner.generateVideoKey_,text:shaka.util.PeriodCombiner.generateTextKey_,image:shaka.util.PeriodCombiner.generateImageKey_}[t.type],n=null,a=i(t);if(e.has(a))n=e.get(a);else{a=({audio:function(e,t){return r.areAVStreamsCompatible_(e,t)},video:function(e,t){return r.areAVStreamsCompatible_(e,t)},text:shaka.util.PeriodCombiner.areTextStreamsCompatible_,image:shaka.util.PeriodCombiner.areImageStreamsCompatible_})[t.type];for(var o={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[t.type],s=$jscomp.makeIterator(e.values()),l=s.next();!l.done;l=s.next())a(t,l=l.value)&&t.fastSwitching==l.fastSwitching&&(!n||o(t,n,l))&&(n=l)}return this.useStreamOnce_&&!shaka.util.PeriodCombiner.isDummy_(n)&&e.delete(i(n)),n},shaka.util.PeriodCombiner.areAVStreamsExactMatch_=function(e,t){return e.mimeType==t.mimeType&&shaka.util.PeriodCombiner.getCodec_(e.codecs)===shaka.util.PeriodCombiner.getCodec_(t.codecs)},shaka.util.PeriodCombiner.prototype.setAllowMultiTypeVariants=function(e){this.multiTypeVariantsAllowed_=e},shaka.util.PeriodCombiner.prototype.setUseStreamOnce=function(e){this.useStreamOnce_=e},shaka.util.PeriodCombiner.prototype.areAVStreamsCompatible_=function(e,t){return(!!shaka.util.PeriodCombiner.areAVStreamsExactMatch_(e,t)||!!this.multiTypeVariantsAllowed_)&&(!e.drmInfos||!!shaka.drm.DrmUtils.areDrmCompatible(e.drmInfos,t.drmInfos))},shaka.util.PeriodCombiner.areTextStreamsCompatible_=function(e,t){return!t.language||e.forced===t.forced&&0!=shaka.util.LanguageUtils.relatedness(e.language,t.language)&&t.kind==e.kind},shaka.util.PeriodCombiner.areImageStreamsCompatible_=function(e,t){return!0},shaka.util.PeriodCombiner.isAudioStreamBetterMatch_=function(e,t,r){var i=shaka.util.LanguageUtils,n=shaka.util.PeriodCombiner.BetterOrWorse,a=n.BETTER;n=n.WORSE;var o=shaka.util.PeriodCombiner.areAVStreamsExactMatch_(e,t),s=shaka.util.PeriodCombiner.areAVStreamsExactMatch_(e,r);if(o&&!s)return!1;if(!o&&s||(o=i.relatedness(e.language,t.language),(i=i.relatedness(e.language,r.language))>o))return!0;if(i<o)return!1;if(t.label!==r.label){if(e.label===t.label)return!1;if(e.label===r.label)return!0}if(e.roles.length){if(i=t.roles.filter(function(t){return e.roles.includes(t)}),(o=r.roles.filter(function(t){return e.roles.includes(t)})).length>i.length)return!0;
1if(o.length<i.length)return!1;if(r.roles.length!==t.roles.length)return r.roles.length<t.roles.length}else{if(!r.roles.length&&t.roles.length)return!0;if(r.roles.length&&!t.roles.length)return!1}return!t.primary&&!!r.primary||(!t.primary||!!r.primary)&&((i=shaka.util.PeriodCombiner.compareClosestPreferLower(e.channelsCount,t.channelsCount,r.channelsCount))==a||i!=n&&((i=shaka.util.PeriodCombiner.compareClosestPreferLower(e.audioSamplingRate,t.audioSamplingRate,r.audioSamplingRate))==a||i!=n&&!!e.bandwidth&&shaka.util.PeriodCombiner.compareClosestPreferMinimalAbsDiff_(e.bandwidth,t.bandwidth,r.bandwidth)==a))},shaka.util.PeriodCombiner.isVideoStreamBetterMatch_=function(e,t,r){var i=shaka.util.PeriodCombiner.BetterOrWorse,n=i.BETTER;i=i.WORSE;var a=shaka.util.PeriodCombiner.areAVStreamsExactMatch_(e,t),o=shaka.util.PeriodCombiner.areAVStreamsExactMatch_(e,r);if(a&&!o)return!1;if(!a&&o||(a=shaka.util.PeriodCombiner.compareClosestPreferLower(e.width*e.height,t.width*t.height,r.width*r.height))==n)return!0;if(a==i)return!1;if(e.frameRate){if((a=shaka.util.PeriodCombiner.compareClosestPreferLower(e.frameRate,t.frameRate,r.frameRate))==n)return!0;if(a==i)return!1}return!!e.bandwidth&&shaka.util.PeriodCombiner.compareClosestPreferMinimalAbsDiff_(e.bandwidth,t.bandwidth,r.bandwidth)==n},shaka.util.PeriodCombiner.isTextStreamBetterMatch_=function(e,t,r){var i=shaka.util.LanguageUtils,n=i.relatedness(e.language,t.language);if((i=i.relatedness(e.language,r.language))>n)return!0;if(i<n)return!1;if(!t.primary&&r.primary)return!0;if(t.primary&&!r.primary)return!1;if(t.label!==r.label){if(e.label===t.label)return!1;if(e.label===r.label)return!0}if(e.roles.length){if(n=t.roles.filter(function(t){return e.roles.includes(t)}),(i=r.roles.filter(function(t){return e.roles.includes(t)})).length>n.length)return!0;if(i.length<n.length)return!1}else{if(!r.roles.length&&t.roles.length)return!0;if(r.roles.length&&!t.roles.length)return!1}return r.mimeType==e.mimeType&&r.codecs==e.codecs&&(t.mimeType!=e.mimeType||t.codecs!=e.codecs)},shaka.util.PeriodCombiner.isImageStreamBetterMatch_=function(e,t,r){var i=shaka.util.PeriodCombiner.BetterOrWorse.BETTER;return shaka.util.PeriodCombiner.compareClosestPreferLower(e.width*e.height,t.width*t.height,r.width*r.height)==i},shaka.util.PeriodCombiner.dummyStreamDB_=function(e){return{id:0,originalId:"",groupId:null,primary:!1,type:e,mimeType:"",codecs:"",language:"",originalLanguage:null,label:null,width:null,height:null,encrypted:!1,keyIds:new Set,segments:[],variantIds:[],roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,external:!1,fastSwitching:!1,isAudioMuxedInVideo:!1}},shaka.util.PeriodCombiner.dummyStream_=function(e){return{id:0,originalId:"",groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:new shaka.media.SegmentIndex([]),mimeType:"",codecs:"",encrypted:!1,drmInfos:[],keyIds:new Set,language:"",originalLanguage:null,label:null,type:e,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!1,fastSwitching:!1,fullMimeTypes:new Set,isAudioMuxedInVideo:!1}},shaka.util.PeriodCombiner.compareClosestPreferLower=function(e,t,r){var i=shaka.util.PeriodCombiner.BetterOrWorse,n=i.BETTER,a=i.WORSE;if(t==e&&e!=r)return a;
1if(r==e&&e!=t)return n;if(t>e){if(r<=e||r-e<t-e)return n;if(r-e>t-e)return a}else{if(r>e)return a;if(e-r<e-t)return n;if(e-r>e-t)return a}return i.EQUAL},shaka.util.PeriodCombiner.compareClosestPreferMinimalAbsDiff_=function(e,t,r){var i=shaka.util.PeriodCombiner.BetterOrWorse,n=i.BETTER,a=i.WORSE;return t=Math.abs(e-t),(e=Math.abs(e-r))<t?n:t<e?a:i.EQUAL},shaka.util.PeriodCombiner.isDummy_=function(e){var t=shaka.util.ManifestParserUtils.ContentType;switch(e.type){case t.TEXT:return!e.language;case t.IMAGE:return!e.tilesLayout;default:return!1}},shaka.util.PeriodCombiner.generateVideoKey_=function(e){return shaka.util.PeriodCombiner.generateKey_([e.fastSwitching,e.width,e.frameRate,shaka.util.PeriodCombiner.getCodec_(e.codecs),e.mimeType,e.label,e.roles,e.closedCaptions?Array.from(e.closedCaptions.entries()):null,e.bandwidth,Array.from(e.keyIds)])},shaka.util.PeriodCombiner.generateAudioKey_=function(e){return shaka.util.PeriodCombiner.generateKey_([e.fastSwitching,e.channelsCount,e.language,e.bandwidth,e.label,shaka.util.PeriodCombiner.getCodec_(e.codecs),e.mimeType,e.roles,e.audioSamplingRate,e.primary,Array.from(e.keyIds)])},shaka.util.PeriodCombiner.generateTextKey_=function(e){return shaka.util.PeriodCombiner.generateKey_([e.language,e.label,e.codecs,e.mimeType,e.bandwidth,e.roles])},shaka.util.PeriodCombiner.generateImageKey_=function(e){return shaka.util.PeriodCombiner.generateKey_([e.width,e.codecs,e.mimeType])},shaka.util.PeriodCombiner.generateKey_=function(e){return JSON.stringify(e)},shaka.util.PeriodCombiner.getCodec_=function(e){if(!shaka.util.PeriodCombiner.memoizedCodecs.has(e)){var t=shaka.util.MimeUtils.getNormalizedCodec(e);shaka.util.PeriodCombiner.memoizedCodecs.set(e,t)}return shaka.util.PeriodCombiner.memoizedCodecs.get(e)},goog.exportSymbol("shaka.util.PeriodCombiner",shaka.util.PeriodCombiner),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"setUseStreamOnce",shaka.util.PeriodCombiner.prototype.setUseStreamOnce),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"setAllowMultiTypeVariants",shaka.util.PeriodCombiner.prototype.setAllowMultiTypeVariants),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"combinePeriods",shaka.util.PeriodCombiner.prototype.combinePeriods),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"deleteStream",shaka.util.PeriodCombiner.prototype.deleteStream),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"getImageStreams",shaka.util.PeriodCombiner.prototype.getImageStreams),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"getTextStreams",shaka.util.PeriodCombiner.prototype.getTextStreams),goog.exportProperty(shaka.util.PeriodCombiner.prototype,"getVariants",shaka.util.PeriodCombiner.prototype.getVariants),shaka.util.PeriodCombiner.BetterOrWorse={BETTER:1,EQUAL:0,WORSE:-1},shaka.util.PeriodCombiner.memoizedCodecs=new Map,shaka.util.XmlUtils=function(){},shaka.util.XmlUtils.parseXmlString=function(e,t){var r=new DOMParser,i=shaka.util.XmlUtils.trustedHTMLFromString_.value()(e);e=null;try{e=r.parseFromString(i,"text/xml")}catch(e){return shaka.log.error("XML parsing exception:",e),null}if(goog.asserts.assert(e,"Parsed XML document cannot be null!"),!(r=e.documentElement))return shaka.log.error("XML document was empty!"),null;if((i=r.getElementsByTagName("parsererror")).length)return shaka.log.error("XML parser error found:",i[0]),null;if(r.tagName!=t)return shaka.log.error('XML tag name does not match expected "'+t+'":',r.tagName),null;if(!("createNodeIterator"in document))return r;for(t=document.createNodeIterator(e,NodeFilter.SHOW_ALL);e=t.nextNode();)if(e instanceof HTMLElement||e instanceof SVGElement)return shaka.log.error("XML document embeds unsafe content!"),null;return r},shaka.util.XmlUtils.parseXml=function(e,t){try{var r=shaka.util.StringUtils.fromBytesAutoDetect(e);return shaka.util.XmlUtils.parseXmlString(r,t)}catch(e){return shaka.log.error("parseXmlString threw!",e),null}},shaka.util.XmlUtils.toArrayBuffer=function(e){return shaka.util.StringUtils.toUTF8(e.outerHTML)},shaka.util.XmlUtils.trustedHTMLFromString_=new shaka.util.Lazy(function(){if("u">typeof trustedTypes){var e=trustedTypes.createPolicy("shaka-player#xml",{createHTML:function(e){return e}});return function(t){return e.createHTML(t)}}return function(e){return e}}),shaka.dash.DashParser=function(){var e=this;this.playerInterface_=this.config_=null,this.manifestUris_=[],this.manifest_=null,this.globalId_=1,this.patchLocationNodes_=[],this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,getBaseUris:null,publishTime:0},this.contextCache_=new Map,this.streamMap_=new Map,this.indexStreamMap_=new Map,this.periodDurations_=new Map,this.periodCombiner_=new shaka.util.PeriodCombiner,this.updatePeriod_=0,this.averageUpdateDuration_=new shaka.abr.Ewma(5),this.updateTimer_=new shaka.util.Timer(function(){e.mediaElement_&&!e.config_.continueLoadingWhenPaused&&(e.eventManager_.unlisten(e.mediaElement_,"timeupdate"),e.mediaElement_.paused)?e.eventManager_.listenOnce(e.mediaElement_,"timeupdate",function(){return e.onUpdate_()}):e.onUpdate_()}),this.operationManager_=new shaka.util.OperationManager,this.largestPeriodStartTime_=null,this.lastManifestUpdatePeriodIds_=[],this.minTotalAvailabilityTimeOffset_=1/0,this.lowLatencyMode_=!1,this.contentSteeringManager_=null,this.gapCount_=0,this.isLowLatency_=!1,this.eventManager_=new shaka.util.EventManager,this.mediaElement_=null,this.isTransitionFromDynamicToStatic_=!1,this.lastManifestQueryParams_="",this.isPreloadFn_=function(){return!1},this.lastCalculatedBaseUris_=[]},shaka.dash.DashParser.prototype.configure=function(e,t){goog.asserts.assert(null!=e.dash,"DashManifestConfiguration should not be null!");var r=this.playerInterface_&&e.dash.updatePeriod!=this.config_.dash.updatePeriod&&0<=e.dash.updatePeriod;this.config_=e,t&&(this.isPreloadFn_=t),r&&this.manifest_&&this.manifest_.presentationTimeline.isLive()&&this.updateNow_(),this.contentSteeringManager_&&this.contentSteeringManager_.configure(this.config_),this.periodCombiner_&&(this.periodCombiner_.setAllowMultiT
1ypeVariants(this.config_.dash.multiTypeVariantsAllowed&&shaka.media.Capabilities.isChangeTypeSupported()),this.periodCombiner_.setUseStreamOnce(this.config_.dash.useStreamOnceInPeriodFlattening))},shaka.dash.DashParser.prototype.start=function(e,t){var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return goog.asserts.assert(i.config_,"Must call configure() before start()!"),i.lowLatencyMode_=t.isLowLatencyMode(),i.manifestUris_=[e],i.playerInterface_=t,n.yield(i.requestManifest_(),2);if(r=n.yieldResult,i.playerInterface_&&i.setUpdateTimer_(r),!i.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);return goog.asserts.assert(i.manifest_,"Manifest should be non-null!"),n.return(i.manifest_)})},shaka.dash.DashParser.prototype.stop=function(){for(var e=$jscomp.makeIterator(this.streamMap_.values()),t=e.next();!t.done;t=e.next())(t=t.value).segmentIndex&&t.segmentIndex.release();return this.periodCombiner_&&this.periodCombiner_.release(),this.config_=this.playerInterface_=null,this.manifestUris_=[],this.manifest_=null,this.streamMap_.clear(),this.indexStreamMap_.clear(),this.contextCache_.clear(),this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,getBaseUris:null,publishTime:0},this.periodCombiner_=null,null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null),this.contentSteeringManager_&&this.contentSteeringManager_.destroy(),this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),this.operationManager_.destroy()},shaka.dash.DashParser.prototype.update=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?(r.setCatchFinallyBlocks(2),r.yield(t.requestManifest_(),4)):2!=r.nextAddress?r.leaveTryBlock(0):(e=r.enterCatchBlock(),t.playerInterface_&&e)?void(goog.asserts.assert(e instanceof shaka.util.Error,"Bad error type"),t.playerInterface_.onError(e),r.jumpToEnd()):r.return()})},shaka.dash.DashParser.prototype.onExpirationUpdated=function(e,t){},shaka.dash.DashParser.prototype.onInitialVariantChosen=function(e){if(this.manifest_&&this.manifest_.presentationTimeline.isLive()){var t=e.video||e.audio;if(t&&t.segmentIndex){e=this.manifest_.presentationTimeline.getSegmentAvailabilityEnd();var r=t.segmentIndex.find(e);null!=r&&(t=t.segmentIndex.get(r))&&(this.updatePeriod_=t.endTime-e,this.setUpdateTimer_(0))}}},shaka.dash.DashParser.prototype.banLocation=function(e){this.contentSteeringManager_&&this.contentSteeringManager_.banLocation(e)},shaka.dash.DashParser.prototype.setMediaElement=function(e){this.mediaElement_=e},shaka.dash.DashParser.prototype.requestManifest_=function(){var e,t,r,i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return 1==c.nextAddress?(e=shaka.net.NetworkingEngine.RequestType.MANIFEST,t=shaka.net.NetworkingEngine.AdvancedRequestType.MPD,r="MPD",i=d.getPatchLocationUris_(),n=d.manifestUris_,i.length?(n=i,r="Patch",t=shaka.net.NetworkingEngine.AdvancedRequestType.MPD_PATCH):1<d.manifestUris_.length&&d.contentSteeringManager_&&(a=d.contentSteeringManager_.getLocations("Location",!0)).length&&(n=a),o=shaka.net.NetworkingEngine.makeRequest(n,d.config_.retryParameters),s=Date.now(),c.yield(d.makeNetworkRequest_(o,e,{type:t}),2)):3!=c.nextAddress?(l=c.yieldResult,d.playerInterface_)?(l.uri&&l.uri!=l.originalUri&&!d.manifestUris_.includes(l.uri)&&d.manifestUris_.unshift(l.uri),d.lastManifestQueryParams_=new goog.Uri(l.uri).getQueryData().toString(),c.yield(d.parseManifest_(l.data,l.uri,r),3)):c.return(0):(u=(Date.now()-s)/1e3,d.averageUpdateDuration_.sample(1,u),c.return(u))})},shaka.dash.DashParser.prototype.parseManifest_=function(e,t,r){var i,n,a,o,s,l,u,d,c,p=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){if(i=e,(n=p.config_.dash.manifestPreprocessor)!=shaka.util.PlayerConfiguration.defaultManifestPreprocessor){if(shaka.Deprecate.deprecateFeature
1(5,"manifest.dash.manifestPreprocessor configuration","Please Use manifest.dash.manifestPreprocessorTXml instead."),!(a=shaka.util.XmlUtils.parseXml(i,r)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,t);n(a),i=shaka.util.XmlUtils.toArrayBuffer(a)}if(!(o=shaka.util.TXml.parseXml(i,r)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,t);return((s=p.config_.dash.manifestPreprocessorTXml)!=shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml&&s(o),"Patch"===r)?m.return(p.processPatchManifest_(o)):(l=p.config_.dash.disableXlinkProcessing)?m.return(p.processManifest_(o,t)):(u=p.config_.dash.xlinkFailGracefully,d=shaka.dash.MpdUtils.processXlinks(o,p.config_.retryParameters,u,t,p.playerInterface_.networkingEngine),p.operationManager_.manage(d),m.yield(d.promise,2))}return c=m.yieldResult,m.return(p.processManifest_(c,t))})},shaka.dash.DashParser.prototype.processManifest_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O,B,F,V,G,H,j,K,W,q,X,z,$,Y,Q,J,Z,ee,et,er,ei=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(en){switch(en.nextAddress){case 1:for(r=shaka.util.TXml,goog.asserts.assert(ei.config_,"Must call configure() before processManifest_()!"),ei.contentSteeringManager_&&ei.contentSteeringManager_.clearPreviousLocations(),i=[t],n=[],a=new Map,o=r.findChildren(e,"Location"),l=(s=$jscomp.makeIterator(o)).next();!l.done;l=s.next())d=(u=l.value).attributes.serviceLocation,(c=r.getContents(u))&&(p=shaka.util.ManifestParserUtils.resolveUris(i,[c])[0],d&&(ei.contentSteeringManager_?ei.contentSteeringManager_.addLocation("Location",d,p):a.set(d,p)),n.push(p));if(ei.contentSteeringManager_?0<(m=ei.contentSteeringManager_.getLocations("Location",!0)).length&&(i=ei.manifestUris_=m):n.length&&(i=ei.manifestUris_=n),ei.manifestPatchContext_.mpdId=e.attributes.id||"",ei.manifestPatchContext_.publishTime=r.parseAttr(e,"publishTime",r.parseDate)||0,ei.patchLocationNodes_=r.findChildren(e,"PatchLocation"),f=Promise.resolve(),(g=r.findChild(e,"ContentSteering"))&&ei.playerInterface_)for(h=g.attributes.defaultServiceLocation,ei.contentSteeringManager_?(ei.contentSteeringManager_.setBaseUris(i),ei.contentSteeringManager_.setDefaultPathwayId(h)):(ei.contentSteeringManager_=new shaka.util.ContentSteeringManager(ei.playerInterface_),ei.contentSteeringManager_.configure(ei.config_),ei.contentSteeringManager_.setManifestType(shaka.media.ManifestParser.DASH),ei.contentSteeringManager_.setBaseUris(i),ei.contentSteeringManager_.setDefaultPathwayId(h),(y=r.getContents(g))&&((_=r.parseAttr(g,"queryBeforeStart",r.parseBoolean,!1))?f=ei.contentSteeringManager_.requestInfo(y):ei.contentSteeringManager_.requestInfo(y))),v=(S=$jscomp.makeIterator(a.keys())).next();!v.done;v=S.next())T=v.value,E=a.get(T),ei.contentSteeringManager_.addLocation("Location",T,E);if(P=r.findChildren(e,"BaseURL"),x=!1,ei.contentSteeringManager_)for(C=(A=$jscomp.makeIterator(P)).next();!C.done;C=A.next())I=(M=C.value).attributes.serviceLocation,b=r.getContents(M),I&&b&&(ei.contentSteeringManager_.addLocation("BaseURL",I,b),x=!0);if(ei.lastCalculatedBaseUris_=null,x&&ei.contentSteeringManager_||(D=P.map(r.getContents),ei.lastCalculatedBaseUris_=shaka.util.ManifestParserUtils.resolveUris(i,D)),R=function(){return ei.contentSteeringManager_&&x?ei.contentSteeringManager_.getLocations("BaseURL"):ei.lastCalculatedBaseUris_?ei.lastCalculatedBaseUris_:[]},ei.manifestPatchContext_.getBaseUris=R,k=0,P&&P.length&&(k=r.parseAttr(P[0],"availabilityTimeOffset",r.parseFloat)||0),ei.manifestPatchContext_.availabilityTimeOffset=k,ei.updatePeriod_=r.parseAttr(e,"minimumUpdatePeriod",r.parseDuration,-1),w=r.parseAttr(e,"availabilityStartTime",r.parseDate),U=r.parseAttr(e,"timeShiftBufferDepth",r.parseDuration),L=ei.config_.dash.ignoreSuggestedPresentationDelay,N=null,L||(N=r.parseAttr(e,"suggestedPresentationDelay",r.parseDuration)),O=ei.config_.dash.ignoreMaxSegmentDuration,B=null,O||(B=r.parseAttr(e,"maxSegmentDuration",r.parseDuration)),F=e.attributes.type||"static",ei.manifest_&&ei.manifest_.presentationTimeline&&(ei.isTransitionFromDynamicToStatic_=ei.manifest_.presentationTimeline.isLive()&&"static"==F),ei.manifestPatchContext_.type=F,ei.manifest_)for(G=(V=ei.manifest_.presentationTimeline).getSegmentAvailabilityStart(),j=(H=$jscomp.makeIterator(ei.streamMap_.values())).next();!j.done;j=H.next())(K=j.value).segmentIndex&&K.segmentIndex.evict(G);else W=ei.config_.dash.ignoreMinBufferTime,q=0,W||(q=r.parseAttr(e,"minBufferTime",r.parseDuration)||0),X=0,X=null!=N?Math.min(N,U||1/0):0<ei.config_.defaultPresentationDelay?ei.config_.defaultPresentationDelay:Math.min(1.5*q,U||1/0),V=new shaka.media.PresentationTimeline(w,X,ei.config_.dash.autoCorrectDrift);return V.setStatic("static"==F),(z=V.isLive())&&!isNaN(ei.config_.availabilityWindowOverride)&&(U=ei.config_.availabilityWindowOverride),null==U&&(U=1/0),V.setSegmentAvailabilityDuration(U),$=e.attributes.profiles||"",ei.manifestPatchContext_.profiles=$.split(","),Y={dynamic:"static"!=F,presentationTimeline:V,peri
1od:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:k,mediaPresentationDuration:null,profiles:$.split(","),roles:null,urlParams:function(){return""}},en.yield(f,2);case 2:if(ei.gapCount_=0,J=(Q=ei.parsePeriods_(Y,R,e,!1)).duration,Z=Q.periods,("static"!=F||ei.isTransitionFromDynamicToStatic_)&&Q.durationDerivedFromPeriods||V.setDuration(J||1/0),ei.isLowLatency_&&ei.lowLatencyMode_&&V.setAvailabilityTimeOffset(ei.minTotalAvailabilityTimeOffset_),V.notifyMaxSegmentDuration(B||1),goog.DEBUG&&!ei.isTransitionFromDynamicToStatic_&&V.assertIsValid(),ei.isLowLatency_&&ei.lowLatencyMode_&&(ee=null!=N?N:ei.config_.defaultPresentationDelay,V.setDelay(ee)),!ei.manifest_)return en.yield(ei.periodCombiner_.combinePeriods(Z,Y.dynamic),6);return ei.manifest_.periodCount=Z.length,ei.manifest_.gapCount=ei.gapCount_,en.yield(ei.postPeriodProcessing_(Z,!1),4);case 6:if(ei.manifest_={presentationTimeline:V,variants:ei.periodCombiner_.getVariants(),textStreams:ei.periodCombiner_.getTextStreams(),imageStreams:ei.periodCombiner_.getImageStreams(),offlineSessionIds:[],sequenceMode:ei.config_.dash.sequenceMode,ignoreManifestTimestampsInSegmentsMode:!1,type:shaka.media.ManifestParser.DASH,serviceDescription:ei.parseServiceDescription_(e),nextUrl:ei.parseMpdChaining_(e),periodCount:Z.length,gapCount:ei.gapCount_,isLowLatency:ei.isLowLatency_,startTime:null},!V.usingPresentationStartTime()){en.jumpTo(7);break}return et=shaka.util.TXml.findChildren(e,"UTCTiming"),en.yield(ei.parseUtcTiming_(R,et),8);case 8:if(er=en.yieldResult,!ei.playerInterface_)return en.return();V.setClockOffset(er);case 7:V.lockStartTime(),ei.periodCombiner_&&!ei.manifest_.presentationTimeline.isLive()&&ei.periodCombiner_.release();case 4:ei.playerInterface_.makeTextStreamsForClosedCaptions(ei.manifest_),ei.cleanStreamMap_(),en.jumpToEnd()}})},shaka.dash.DashParser.prototype.postPeriodProcessing_=function(e,t){var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return n.yield(i.periodCombiner_.combinePeriods(e,!0,t),2);i.manifest_.variants=i.periodCombiner_.getVariants(),0<(r=i.periodCombiner_.getTextStreams()).length&&(i.manifest_.textStreams=r),i.manifest_.imageStreams=i.periodCombiner_.getImageStreams(),i.playerInterface_.filter(i.manifest_),n.jumpToEnd()})},shaka.dash.DashParser.prototype.processPatchManifest_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){if(1==R.nextAddress){if(t=shaka.util.TXml,r=e.attributes.mpdId,i=t.parseAttr(e,"originalPublishTime",t.parseDate),!r||r!==D.manifestPatchContext_.mpdId||i!==D.manifestPatchContext_.publishTime)throw D.patchLocationNodes_=[],new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_PATCH);for(n=[],a=[],o=new Set,l=(s=$jscomp.makeIterator(t.getChildNodes(e))).next();!l.done;l=s.next()){if(u=l.value,d=!0,p=(c=t.parseXpath(u.attributes.sel||""))[c.length-1],m=t.getContents(u)||"","MPD"===p.name)"mediaPresentationDuration"===p.attribute?(f=t.getContents(u)||"",D.parsePatchMediaPresentationDurationChange_(f)):"type"===p.attribute?D.parsePatchMpdTypeChange_(m):"publishTime"===p.attribute?D.manifestPatchContext_.publishTime=t.parseDate(m)||0:null===p.attribute&&"add"===u.tagName?a.push(u):d=!1;else if("PatchLocation"===p.name)D.updatePatchLocationNodes_(u);else if("Period"===p.name)"add"===u.tagName?a.push(u):"remove"===u.tagName&&p.id&&D.removePatchPeriod_(p.id);else if("SegmentTemplate"===p.name)for(g=D.modifySegmentTemplate_(u),y=(h=$jscomp.makeIterator(g)).next();!y.done;y=h.next())_=y.value,o.add(_);else if("SegmentTimeline"===p.name||"S"===p.name)for(S=D.modifyTimepoints_(u),T=(v=$jscomp.makeIterator(S)).next();!T.done;T=v.next())E=T.value,o.add(E);else d=!1;d||shaka.log.warning("Unhandled "+u.tagName+" operation",u.attributes.sel)}for(x=(P=$jscomp.makeIterator(o)).next();!x.done;x=P.next())A=x.value,D.parsePatchSegment_(A);for(M=(C=$jscomp.makeIterator(a)).next();!M.done;M=C.next())I=M.value,n.push.apply(n,$jscomp.arrayFromIterable(D.parsePatchPeriod_(I)));return n.length?(D.manifest_.periodCount+=n.length,D.manifest_.gapCount=D.gapCount_,R.yield(D.postPeriodProcessing_(n,!0),2)):R.jumpTo(2)}"static"==D.manifestPatchContext_.type&&(b=D.manifestPatchContext_.mediaPresentationDuration,D.manifest_.presentationTimeline.setDuration(b||1/0)),R.jumpToEnd()})},shaka.dash.DashParser.prototype.parsePatchMpdTypeChange_=function(e){this.manifest_.presentationTimeline.setStatic("static"==e),this.manifestPatchContext_.type=e;for(var t=$jscomp.makeIterator(this.contextCache_.values()),r=t.next();!r.done;r=t.next())r.value.dynamic="dynamic"==e;"static"==e&&(this.updatePeriod_=-1)},shaka.dash.DashParser.prototype.parsePatchMediaPresentationDurationChange_=function(e){if(null!=(e=shaka.util.TXml.parseDuration(e))){this.manifestPatchContext_.mediaPresentationDuration=e;for(var t=$jscomp.makeIterator(this.contextCache_.values()),r=t.next();!r.done;r=t.next())r.value.mediaPresentationDuration=e}},shaka.dash.DashParser.prototype.parsePatchPeriod_=function(e){return goog.asserts.assert(this.manifestPatchContext_.getBaseUris,"Must provide getBaseUris on manifestPatchContext_"),this.parsePeriods_({dynamic:"dynamic"==this.manifestPatchContext_.type,presentationTimeline:this.manifest_.presentationTimeline,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:this.manifestPatchContext_.availabilityTimeOffset,profiles:this.manifestPatchContext_.profiles,mediaPresentationDuration:this.manifestPatchContext_.mediaPresentationDuration,roles:null,urlParams:function(){return""}},this.manifestPatchContext_.getBaseUris,e,!0).periods},shaka.dash.DashParser.prototype.removePatchPeriod_=function(e){var t=shaka.dash.SegmentTemplate;this.manifest_.periodCount--;for(var r=$jscomp.makeIterator(this.contextCache_.keys()),i=r.next();!i.done;i=r.next())if((i=i.value).startsWith(e)){var n=this.contextCache_.get(i);t.removeTimepoints(n),this.parsePatchSegment_(i),this.contextCache_.delete(i)}this.lastManifestUpdatePeriodIds_=this.lastManifestUpdatePeriodIds_.filter(function(t){return t!==e})},shaka.dash.DashParser.prototype.getContextIdsFromPath_=function(e){var t="",r="",i=-1,n="";e=$jscomp.makeIterator(e);for(var a=e.next();!a.done;a=e.next())"Period"===(a=a.value).name?t=a.id:"AdaptationSet"===a.name?(r=a.id,null!==a.position&&(i=a.position)):"Representation"===a.name&&(n=a.id);if(e=[],n)e.push(t+","+n);else if(r)for(n=(i=$jscomp.makeIterator(this.contextCache_.values())
1).next();!n.done;n=i.next())(n=n.value).period.id===t&&n.adaptationSet.id===r&&n.representation.id&&e.push(t+","+n.representation.id);else if(-1<i)for(n=(r=$jscomp.makeIterator(this.contextCache_.values())).next();!n.done;n=r.next())(n=n.value).period.id===t&&n.adaptationSet.position===i&&n.representation.id&&e.push(t+","+n.representation.id);return e},shaka.dash.DashParser.prototype.modifySegmentTemplate_=function(e){var t=shaka.util.TXml,r=t.parseXpath(e.attributes.sel||""),i=r[r.length-1];if(!i.attribute)return[];r=this.getContextIdsFromPath_(r);for(var n=t.getContents(e)||"",a=$jscomp.makeIterator(r),o=a.next();!o.done;o=a.next())o=this.contextCache_.get(o.value),goog.asserts.assert(o&&o.representation.segmentTemplate,"cannot modify segment template"),t.modifyNodeAttribute(o.representation.segmentTemplate,e.tagName,i.attribute,n);return r},shaka.dash.DashParser.prototype.modifyTimepoints_=function(e){var t=shaka.dash.SegmentTemplate,r=shaka.util.TXml.parseXpath(e.attributes.sel||"");r=this.getContextIdsFromPath_(r);for(var i=$jscomp.makeIterator(r),n=i.next();!n.done;n=i.next())n=this.contextCache_.get(n.value),t.modifyTimepoints(n,e);return r},shaka.dash.DashParser.prototype.parsePatchSegment_=function(e){var t=this,r=this.contextCache_.get(e),i=this.streamMap_.get(e);goog.asserts.assert(i,"stream should exist"),i.segmentIndex&&i.segmentIndex.evict(this.manifest_.presentationTimeline.getSegmentAvailabilityStart());try{var n=shaka.dash.SegmentTemplate.createStreamInfo(r,function(e,r,i,n){return t.requestSegment_(e,r,i,n)},this.streamMap_,!0,this.config_.dash.initialSegmentLimit,this.periodDurations_,r.representation.aesKey,null,!0);i.createSegmentIndex=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return i.segmentIndex?e.jumpTo(0):e.yield(n.generateSegmentIndex(),3);i.segmentIndex=e.yieldResult,e.jumpToEnd()})}}catch(t){e=shaka.util.ManifestParserUtils.ContentType;var a=(r=r.representation.contentType)==e.IMAGE;if(r!=e.TEXT&&r!=e.APPLICATION&&!a||t.code!=shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)throw t}},shaka.dash.DashParser.prototype.parseServiceDescription_=function(e){var t=shaka.util.TXml,r=t.findChild(e,"ServiceDescription");return r&&(e=t.findChild(r,"Latency"),t=t.findChild(r,"PlaybackRate"),e||t)?(r={},e&&("target"in e.attributes&&(r.targetLatency=parseInt(e.attributes.target,10)/1e3),"max"in e.attributes&&(r.maxLatency=parseInt(e.attributes.max,10)/1e3),"min"in e.attributes&&(r.minLatency=parseInt(e.attributes.min,10)/1e3)),t&&("max"in t.attributes&&(r.maxPlaybackRate=parseFloat(t.attributes.max)),"min"in t.attributes&&(r.minPlaybackRate=parseFloat(t.attributes.min))),r):null},shaka.dash.DashParser.prototype.parseMpdChaining_=function(e){if(!(e=shaka.util.TXml.findChildren(e,"SupplementalProperty")).length)return null;e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())if("urn:mpeg:dash:chaining:2016"==(t=t.value).attributes.schemeIdUri)return t.attributes.value;return null},shaka.dash.DashParser.prototype.parsePeriods_=function(e,t,r,i){var n=shaka.util.TXml,a=e.mediaPresentationDuration;a||(a=n.parseAttr(r,"mediaPresentationDuration",n.parseDuration),this.manifestPatchContext_.mediaPresentationDuration=a);var o=0;this.manifest_&&this.manifest_.presentationTimeline&&this.isTransitionFromDynamicToStatic_&&(o=this.manifest_.presentationTimeline.getSeekRangeStart());var s=[],l=o;r=n.findChildren(r,"Period");for(var u=0;u<r.length;u++){var d=r[u],c=r[u+1],p=n.parseAttr(d,"start",n.parseDuration,l),m=d.attributes.id,f=n.parseAttr(d,"duration",n.parseDuration);p=0==u&&0==p&&this.isTransitionFromDynamicToStatic_?o:p;var g=null;if(c){var h=n.parseAttr(c,"start",n.parseDuration);null!=h&&(g=h-p+o)}else null!=a&&(g=a-p+o);if(h=shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS,g&&f&&Math.abs(g-f)>h&&(shaka.log.warning("There is a gap/overlap between Periods",d),g>f&&this.gapCount_++),null==g&&(g=f),null!==this.largestPeriodStartTime_&&null!==m&&null!==p&&p<this.largestPeriodStartTime_&&!this.lastManifestUpdatePeriodIds_.includes(m)&&u+1!=r.length)shaka.log.debug("Skipping Perio
1d with ID "+m+" as its start time is smaller than the largest period start time that has been seen, and ID is unseen before");else{if(null!==p&&(null===this.largestPeriodStartTime_||p>this.largestPeriodStartTime_)&&(this.largestPeriodStartTime_=p),l=this.parsePeriod_(e,t,{start:p,duration:g,node:d,isLastPeriod:null==g||!c}),s.push(l),e.period.id&&g&&this.periodDurations_.set(e.period.id,g),null==g){c&&shaka.log.warning("Skipping Period",u+1,"and any subsequent Periods:","Period",u+1,"does not have a valid start time.",c),l=null;break}l=p+g}}if(i)for(t=(e=$jscomp.makeIterator(s)).next();!t.done;t=e.next())t=t.value.id,this.lastManifestUpdatePeriodIds_.includes(t)||this.lastManifestUpdatePeriodIds_.push(t);else this.lastManifestUpdatePeriodIds_=s.map(function(e){return e.id});return null!=a?(null!=l&&Math.abs(l-o-a)>shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS&&shaka.log.warning("@mediaPresentationDuration does not match the total duration ","of all Periods."),{periods:s,duration:a+o,durationDerivedFromPeriods:!1}):{periods:s,duration:l,durationDerivedFromPeriods:!0}},shaka.dash.DashParser.prototype.cleanStreamMap_=function(){var e=this,t=Array.from(this.indexStreamMap_.keys()).filter(function(t){return!e.lastManifestUpdatePeriodIds_.includes(t)});t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next()){r=r.value;for(var i=!0,n=$jscomp.makeIterator(this.indexStreamMap_.get(r)),a=n.next();!a.done;a=n.next()){a=a.value;var o=this.streamMap_.get(a);o&&(o.segmentIndex&&!o.segmentIndex.isEmpty()?i=!1:(this.periodCombiner_&&this.periodCombiner_.deleteStream(o,r),this.streamMap_.delete(a)))}i&&this.indexStreamMap_.delete(r)}},shaka.dash.DashParser.prototype.parsePeriod_=function(e,t,r){var i=this,n=shaka.util.Functional,a=shaka.util.TXml,o=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(r.node,"periodInfo.node should exist"),e.period=this.createFrame_(r.node,null,t),e.periodInfo=r,e.period.availabilityTimeOffset=e.availabilityTimeOffset,e.period.id||(shaka.log.info("No Period ID given for Period with start time "+r.start+",  Assigning a default"),e.period.id="__shaka_period_"+r.start);
1var s=a.findChildren(r.node,"EventStream");t=e.presentationTimeline.getSegmentAvailabilityStart(),s=$jscomp.makeIterator(s);for(var l=s.next();!l.done;l=s.next())this.parseEventStream_(r.start,r.duration,l.value,t);for(t=a.findChildren(r.node,"SupplementalProperty"),s=(t=$jscomp.makeIterator(t)).next();!s.done;s=t.next())"urn:mpeg:dash:urlparam:2014"==(s=s.value).attributes.schemeIdUri&&(s=this.getURLParametersFunction_(s))&&(e.urlParams=s);if(n=a.findChildren(r.node,"AdaptationSet").map(function(t,r){return i.parseAdaptationSet_(e,r,t)}).filter(n.isNotNull),e.dynamic){for(r=[],t=(a=$jscomp.makeIterator(n)).next();!t.done;t=a.next())for(s=(t=$jscomp.makeIterator(t.value.representationIds)).next();!s.done;s=t.next())r.push(s.value);if(a=new Set(r),r.length!=a.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_DUPLICATE_REPRESENTATION_ID)}if(r=n.filter(function(e){return!e.trickModeFor}),n=n.filter(function(e){return e.trickModeFor}),!this.config_.disableIFrames){for(a=(n=$jscomp.makeIterator(n)).next();!a.done;a=n.next())for(t=(a=a.value).trickModeFor.split(" "),l=(s=$jscomp.makeIterator(r)).next();!l.done;l=s.next())if(l=l.value,t.includes(l.id)){l=$jscomp.makeIterator(l.streams);for(var u=l.next();!u.done;u=l.next())shaka.util.StreamUtils.setBetterIFrameStream(u.value,a.streams)}}if(n=this.getStreamsFromSets_(this.config_.disableAudio,r,o.AUDIO),a=this.getStreamsFromSets_(this.config_.disableVideo,r,o.VIDEO),t=this.getStreamsFromSets_(this.config_.disableText,r,o.TEXT),o=this.getStreamsFromSets_(this.config_.disableThumbnails,r,o.IMAGE),0===a.length&&0===n.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_PERIOD);return{id:e.period.id,audioStreams:n,videoStreams:a,textStreams:t,imageStreams:o}},shaka.dash.DashParser.prototype.getStreamsFromSets_=function(e,t,r){return e||!t.length?[]:t.reduce(function(e,t){return t.contentType!=r||e.push.apply(e,$jscomp.arrayFromIterable(t.streams)),e},[])},shaka.dash.DashParser.prototype.parseAdaptationSet_=function(e,t,r){var i=this,n=shaka.util.TXml,a=shaka.util.Functional,o=shaka.util.ManifestParserUtils,s=o.ContentType,l=shaka.dash.ContentProtection;e.adaptationSet=this.createFrame_(r,e.period,null),e.adaptationSet.position=t;var u=!1,d=n.findChildren(r,"Role"),c=d.map(function(e){return e.attributes.value}).filter(a.isNotNull),p=void 0;for((t=e.adaptationSet.contentType==s.TEXT)&&(p=o.TextStreamKind.SUBTITLE),d=(a=$jscomp.makeIterator(d)).next();!d.done;d=a.next()){var m=(d=d.value).attributes.schemeIdUri;if(null==m||"urn:mpeg:dash:role:2011"==m)switch(d=d.attributes.value){case"main":u=!0;break;case"caption":case"subtitle":p=d}}d=function(e){switch(e){case 1:case 6:case 13:case 14:case 15:return"SDR";case 16:return"PQ";case 18:return"HLG"}},m=function(e){switch(e){case 1:case 5:case 6:case 7:return"srgb";case 9:return"rec2020";case 11:case 12:return"p3"}};var f=function(t){var r=t.attributes["dvb:fontFamily"];t=t.attributes["dvb:url"],r&&t&&(t=shaka.util.ManifestParserUtils.resolveUris(e.adaptationSet.getBaseUris(),[t],e.urlParams()),i.playerInterface_.addFont(r,t[0]))},g=n.findChildren(r,"EssentialProperty");a=null;var h=!1,y=null,_=!1;g=$jscomp.makeIterator(g);for(var S=g.next();!S.done;S=g.next()){var v=(S=S.value).attributes.schemeIdUri;if("http://dashif.org/guidelines/trickmode"==v)a=S.attributes.value;else if("urn:mpeg:mpegB:cicp:TransferCharacteristics"==v)var T=d(parseInt(S.attributes.value,10));else if("urn:mpeg:mpegB:cicp:ColourPrimaries"==v)var E=m(parseInt(S.attributes.value,10));else"urn:mpeg:mpegB:cicp:MatrixCoefficients"!=v&&("urn:mpeg:dash:ssr:2023"==v&&this.config_.dash.enableFastSwitching?h=!0:"urn:dvb:dash:fontdownload:2014"==v?f(S):"urn:mpeg:dash:urlparam:2014"==v&&(y=this.getURLParametersFunction_(S))||
1(_=!0))}if(_)return null;var P=null;for(_=n.findChildren(r,"SupplementalProperty"),g=(_=$jscomp.makeIterator(_)).next();!g.done;g=_.next())"http://dashif.org/guidelines/last-segment-number"==(S=(g=g.value).attributes.schemeIdUri)?P=parseInt(g.attributes.value,10)-1:"urn:mpeg:mpegB:cicp:TransferCharacteristics"==S?T=d(parseInt(g.attributes.value,10)):"urn:mpeg:mpegB:cicp:ColourPrimaries"==S?E=m(parseInt(g.attributes.value,10)):"urn:dvb:dash:fontdownload:2014"==S?f(g):"urn:mpeg:dash:urlparam:2014"==S&&(y=this.getURLParametersFunction_(g));y&&(e.urlParams=y),m=n.findChildren(r,"Accessibility"),d=shaka.util.LanguageUtils;var x=new Map;for(f=(m=$jscomp.makeIterator(m)).next();!f.done;f=m.next())if(f=(y=f.value).attributes.schemeIdUri,y=y.attributes.value,"urn:scte:dash:cc:cea-608:2015"!=f||this.config_.disableText)if("urn:scte:dash:cc:cea-708:2015"!=f||this.config_.disableText){if("urn:mpeg:dash:role:2011"==f)null!=y&&(c.push(y),"captions"==y&&(p=o.TextStreamKind.CLOSED_CAPTION));else if("urn:tva:metadata:cs:AudioPurposeCS:2007"==f)if("1"==y)var A=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED;else"2"==y&&(A=shaka.media.ManifestParser.AccessibilityPurpose.HARD_OF_HEARING)}else if(f=1,null!=y)for(_=(y=$jscomp.makeIterator(y.split(";"))).next();!_.done;_=y.next())g=_.value,S=_=void 0,g.includes("=")?(_="svc"+(g=g.split("="))[0],S=g[1].split(",")[0].split(":").pop()):(_="svc"+f,f++,S=g),x.set(_,d.normalize(S));else x.set("svc1","und");else if(f=1,null!=y)for(y=y.split(";"),g=(_=$jscomp.makeIterator(y)).next();!g.done;g=_.next())S=g.value,v=g=void 0,S.includes("=")?(g=(S=S.split("="))[0].startsWith("CC")?S[0]:"CC"+S[0],v=S[1]||"und"):(g="CC"+f,2==y.length?f+=2:f++,v=S),x.set(g,d.normalize(v));else x.set("CC1","und");o=n.findChildren(r,"ContentProtection");var C=l.parseFromAdaptationSet(o,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI);e.adaptationSet.encrypted=0<C.drmInfos.length;var M=shaka.util.LanguageUtils.normalize(e.adaptationSet.language||"und"),I=e.adaptationSet.label;if(r=n.findChildren(r,"Representation"),!this.config_.dash.ignoreSupplementalCodecs){for(l=[],d=(o=$jscomp.makeIterator(r)).next();!d.done;d=o.next())m=d.value,(d=n.getAttributeNS(m,shaka.dash.DashParser.SCTE214_,"supplementalCodecs"))&&((m=shaka.util.ObjectUtils.cloneObject(m)).attributes.codecs=d.split(" ").join(","),m.attributes.id&&(m.attributes.supplementalId=m.attributes.id+"_supplementalCodecs"),l.push(m));r.push.apply(r,$jscomp.arrayFromIterable(l))}if(0==(n=r.map(function(t){return(t=i.parseRepresentation_(e,C,p,M,I,u,c,x,t,A,P))&&(t.hdr=t.hdr||T,t.colorGamut=t.colorGamut||E,t.fastSwitching=h),t}).filter(function(e){return!!e})).length){if(a=e.adaptationSet.contentType==s.IMAGE,this.config_.dash.ignoreEmptyAdaptationSet||t||a)return null;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_ADAPTATION_SET)}if(!e.adaptationSet.contentType||e.adaptationSet.contentType==s.APPLICATION)for(e.adaptationSet.contentType=shaka.dash.DashParser.guessContentType_(n[0].mimeType,n[0].codecs),t=(s=$jscomp.makeIterator(n)).next();!t.done;t=s.next())t.value.type=e.adaptationSet.contentType;for(s=e.adaptationSet.id||"__fake__"+this.globalId_++,l=(t=$jscomp.makeIterator(n)).next();!l.done;l=t.next()){for(l=l.value,d=(o=$jscomp.makeIterator(C.drmInfos)).next();!d.done;d=o.next())(d=d.value).keyIds=d.keyIds&&l.keyIds?new Set([].concat($jscomp.arrayFromIterable(d.keyIds),$jscomp.arrayFromIterable(l.keyIds))):d.keyIds||l.keyIds;l.groupId=s}return t=r.map(function(e){return e.attributes.supplementalId||e.attributes.id}).filter(shaka.util.Functional.isNotNull),{id:s,contentType:e.adaptationSet.contentType,language:M,main:u,streams:n,drmInfos:C.drmInfos,trickModeFor:a,representationIds:t}},shaka.dash.DashParser.prototype.getURLParametersFunction_=function(e){var t=this,r=shaka.util.TXml;if((e=r.findChildNS(e,shaka.dash.DashParser.UP_NAMESPACE_,"UrlQueryInfo"))&&r.parseAttr(e,"useMPDUrlQuery",r.parseBoolean,!1)){var i=e.attributes.queryTemplate;if(i)return function(){return"$querypart$"==i?t.lastManifestQueryParams_:i.split("&").map(function(e){if("$querypart$"==e)return t.lastManifestQueryParams_;var r=/\$query:(.*?)\$/g.exec(e);if(r&&2==r.length){r=r[1];var i=new goog.Uri.QueryData(t.lastManifestQueryParams_).get(r);if(i.length)return r+"="+i[0]}return e}).join("&")}}return null},shaka.dash.DashParser.prototype.parseRepresentation_=function(e,t,r,i,n,a,o,s,l,u,d){var c,p,m=this,f=shaka.util.TXml,g=shaka.util.ManifestParserUtils.ContentType;e.representation=this.createFrame_(l,e.adaptationSet,null);var h=e.representation.id;if(this.minTotalAvailabilityTimeOffset_=Math.min(this.minTotalAvailabilityTimeOffset_,e.representation.availabilityTimeOffset),this.isLowLatency_=0<this.minTotalAvailabilityTimeOffset_,!this.verifyRepresentation_(e.representation))return shaka.log.warning("Skipping Representation",e.representation),null;var y=e.periodInfo.start;e.bandwidth=f.parseAttr(l,"bandwidth",f.parsePositiveInt)||0,e.roles=o;var _=f.findChildren(l,"SupplementalProperty"),S=f.findChildren(l,"EssentialProperty"),v=null,T=S.find(function(e){return"urn:mpeg:dash:urlparam:2014"==e.attributes.schemeIdUri});T?v=this.getURLParametersFunction_(T):(T=_.find(function(e){return"urn:mpeg:dash:urlparam:2014"==e.attributes.schemeIdUri}
1))&&(v=this.getURLParametersFunction_(T)),v&&(e.urlParams=v),v=(T=e.representation.contentType)==g.TEXT||T==g.APPLICATION,g=T==g.IMAGE;try{var E=void 0;if(t.aes128Info){var P=e.representation.getBaseUris,x=e.urlParams,A=shaka.util.ManifestParserUtils.resolveUris(P(),[t.aes128Info.keyUri],x()),C=shaka.net.NetworkingEngine.RequestType.KEY,M=shaka.net.NetworkingEngine.makeRequest(A,this.config_.retryParameters);E={bitsKey:128,blockCipherMode:"CBC",iv:t.aes128Info.iv,firstMediaSequenceNumber:0,fetchKey:function(){var e,t,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return i.yield(m.makeNetworkRequest_(M,C),2);if(3!=i.nextAddress){if(!(e=i.yieldResult).data||16!=e.data.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_KEY_LENGTH);return t={name:"AES-CBC"},r=E,i.yield(window.crypto.subtle.importKey("raw",e.data,t,!0,["decrypt"]),3)}r.cryptoKey=i.yieldResult,E.fetchKey=void 0,i.jumpToEnd()})}}}if(e.representation.aesKey=E,P=function(e,t,r,i){return m.requestSegment_(e,t,r,i)},e.representation.segmentBase)var I=shaka.dash.SegmentBase.createStreamInfo(e,P,E);else if(e.representation.segmentList)I=shaka.dash.SegmentList.createStreamInfo(e,this.streamMap_,E);else if(e.representation.segmentTemplate)I=shaka.dash.SegmentTemplate.createStreamInfo(e,P,this.streamMap_,!!this.manifest_,this.config_.dash.initialSegmentLimit,this.periodDurations_,E,d,!1);else{goog.asserts.assert(v,"Must have Segment* with non-text streams.");var b=e.periodInfo.duration||0,D=e.representation.getBaseUris,R=e.representation.mimeType,k=e.representation.codecs;I={generateSegmentIndex:function(){var e=shaka.media.SegmentIndex.forSingleSegment(y,b,D());return e.forEachTopLevelReference(function(e){e.mimeType=R,e.codecs=k}),Promise.resolve(e)}}}}catch(e){if((v||g)&&e.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw e}if(l=f.findChildren(l,"ContentProtection"),l=new Set((l=shaka.dash.ContentProtection.parseFromRepresentation(l,t,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI))?[l]:[]),d=!1,_.some(function(e){return"tag:dolby.com,2018:dash:EC3_ExtensionType:2018"==e.attributes.schemeIdUri&&"JOC"==e.attributes.value})&&(d=!0),_=!1,v&&(_=o.includes("forced_subtitle")||o.includes("forced-subtitle")),g&&((S=S.find(function(e){return["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"].includes(e.attributes.schemeIdUri)}))&&(c=S.attributes.value),!c))return null;v=e.representation.codecs,e.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(v.includes("hvc1.2.4.L153.B0")||v.includes("hev1.2.4.L153.B0"))&&(p="PQ"),S=e.representation.id?e.period.id+","+e.representation.id:"",this.patchLocationNodes_.length&&h&&this.contextCache_.set(e.period.id+","+h,this.cloneContext_(e));var w=S&&this.streamMap_.has(S)?this.streamMap_.get(S):{id:this.globalId_++,originalId:e.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){w.segmentIndex&&(w.segmentIndex.release(),w.segmentIndex=null)},segmentIndex:null,mimeType:e.representation.mimeType,codecs:v,frameRate:e.representation.frameRate,pixelAspectRatio:e.representation.pixelAspectRatio,bandwidth:e.bandwidth,width:e.representation.width,height:e.representation.height,kind:r,encrypted:0<t.drmInfos.length,drmInfos:t.drmInfos,keyIds:l,language:i,originalLanguage:e.adaptationSet.language,label:n,type:e.adaptationSet.contentType,primary:a,trickModeVideo:null,emsgSchemeIdUris:e.representation.emsgSchemeIdUris,roles:o,forced:_,channelsCount:e.representation.numChannels,audioSamplingRate:e.representation.audioSamplingRate,spatialAudio:d,closedCaptions:s,hdr:p,colorGamut:void 0,videoLayout:void 0,tilesLayout:c,accessibilityPurpose:u,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(e.representation.mimeType,e.representation.codecs)]),isAudioMuxedInVideo:!1};return w.createSegmentIndex=function(){var e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return w.segmentIndex?t.jumpTo(0):(e=w,t.yield(I.generateSegmentIndex(),3));e.segmentIndex=t.yieldResult,t.jumpToEnd()})},S&&e.dynamic&&!this.streamMap_.has(S)&&(e=e.period.id||"",this.indexStreamMap_.has(e)||this.indexStreamMap_.set(e,[]),this.streamMap_.set(S,w),this.indexStreamMap_.get(e).push(S)),w},shaka.dash.DashParser.prototype.cloneContext_=function(e){var t=function(e){return e?((e=shaka.util.ObjectUtils.shallowCloneObject(e)).segmentBase=null,e.segmentList=null,e.segmentTemplate=shaka.util.TXml.cloneNode(e.segmentTemplate),e):null};return(e=shaka.util.ObjectUtils.shallowCloneObject(e)).period=t(e.period),e.adaptationSet=t(e.adaptationSet),e.representation=t(e.representation),e.periodInfo&&(e.periodInfo=shaka.util.ObjectUtils.shallowCloneObject(e.periodInfo),e.periodInfo.node=null),e},shaka.dash.DashParser.prototype.onUpdate_=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){switch(i.nextAddress){case 1:return goog.asserts.assert(0<=r.updatePeriod_,"There should be an update period"),shaka.log.info("Updating manifest..."),e=0,i.setCatchFinallyBlocks(2),i.yield(r.requestManifest_(),4);case 4:e=i.yieldResult,i.leaveTryBlock(3);break;case 2:if(t=i.enterCatchBlock(),goog.asserts.assert(t instanceof shaka.util.Error,"Should only receive a Shaka error"),r.playerInterface_){if(r.config_.raiseFatalErrorOnManifestUpdateRequestFailure)return r.playerInterface_.onError(t),i.return();t.severity=shaka.util.Error.Severity.RECOVERABLE,r.playerInterface_.onError(t)}case 3:if(!r.playerInterface_)return i.return();r.playerInterface_.onManifestUpdated(),r.setUpdateTimer_(e),i.jumpToEnd()}})},shaka.dash.DashParser.prototype.updateNow_=function(){this.updateTimer_.tickNow()},shaka.dash.DashParser.prototype.setUpdateTimer_=function(e){if(!(0>this.updatePeriod_)){var t=this.updatePeriod_;0<=this.config_.dash.updatePeriod&&(t=this.config_.dash.updatePeriod),e=Math.max(t-e,this.averageUpdateDuration_.getEstimate()),this.updateTimer_.tickAfter(e)}},shaka.dash.DashParser.prototype.createFrame_=function(e,t,r){var i=this;goog.asserts.assert(t||r,"Must provide either parent or getBaseUris");var n=shaka.media.SegmentUtils,a=shaka.util.ManifestParserUtils,o=shaka.util.TXml;t=t||{contentType:"",mimeType:"",codecs:"",emsgSchemeIdUris:[],frameRate:void 0,pixelAspectRatio:void 0,numChannels:null,audioSamplingRate:null,availabilityTimeOffset:0,segmentSequenceCadence:0,encrypted:!1},r=r||t.getBaseUris;var s,l=o.parseNonNegativeInt,u=o.evalDivision,d=e.attributes.id,c=e.attributes.supplementalId,p=o.findC
1hildren(e,"BaseURL"),m=!1;if(this.contentSteeringManager_)for(var f=$jscomp.makeIterator(p),g=f.next();!g.done;g=f.next()){var h=g.value;g=h.attributes.serviceLocation,h=o.getContents(h),g&&h&&(this.contentSteeringManager_.addLocation(d,g,h),m=!0)}m&&this.contentSteeringManager_||(s=p.map(o.getContents)),f=e.attributes.contentType||t.contentType,g=e.attributes.mimeType||t.mimeType,n=n.codecsFiltering([e.attributes.codecs||t.codecs]).join(","),u=o.parseAttr(e,"frameRate",u)||t.frameRate,h=e.attributes.sar||t.pixelAspectRatio;var y=this.emsgSchemeIdUris_(o.findChildren(e,"InbandEventStream"),t.emsgSchemeIdUris),_=o.findChildren(e,"AudioChannelConfiguration");_=this.parseAudioChannels_(_)||t.numChannels;var S=o.parseAttr(e,"audioSamplingRate",l)||t.audioSamplingRate;f||(f=shaka.dash.DashParser.guessContentType_(g,n));var v=o.findChild(e,"SegmentBase"),T=o.findChild(e,"SegmentTemplate"),E=v&&o.parseAttr(v,"availabilityTimeOffset",o.parseFloat)||0,P=T&&o.parseAttr(T,"availabilityTimeOffset",o.parseFloat)||0,x=p&&p.length&&o.parseAttr(p[0],"availabilityTimeOffset",o.parseFloat)||0;E=t.availabilityTimeOffset+x+E+P,P=null,(x=o.findChild(e,"SegmentSequenceProperties"))&&(x=o.findChild(x,"SAP"))&&(P=o.parseAttr(x,"cadence",o.parseInt)),x=e.attributes.label;var A=o.findChildren(e,"Label");return A&&A.length&&(A=A[0],o.getTextContents(A)&&(x=o.getTextContents(A))),{getBaseUris:function(){return a.resolveUris(r(),p.length?i.contentSteeringManager_&&m?i.contentSteeringManager_.getLocations(d):s||[]:[])},segmentBase:v||t.segmentBase,segmentList:o.findChild(e,"SegmentList")||t.segmentList,segmentTemplate:T||t.segmentTemplate,width:o.parseAttr(e,"width",l)||t.width,height:o.parseAttr(e,"height",l)||t.height,contentType:f,mimeType:g,codecs:n,frameRate:u,pixelAspectRatio:h,emsgSchemeIdUris:y,id:c||d,originalId:d,language:e.attributes.lang,numChannels:_,audioSamplingRate:S,availabilityTimeOffset:E,initialization:null,segmentSequenceCadence:P||t.segmentSequenceCadence,label:x||null,encrypted:!1}},shaka.dash.DashParser.prototype.emsgSchemeIdUris_=function(e,t){t=t.slice(),e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())r=r.value.attributes.schemeIdUri,t.includes(r)||t.push(r);return t},shaka.dash.DashParser.prototype.parseAudioChannels_=function(e){e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next()){var r=t.value;if((t=r.attributes.schemeIdUri)&&(r=r.attributes.value))switch(t){case"urn:mpeg:dash:outputChannelPositionList:2012":return r.trim().split(/ +/).length;case"urn:mpeg:dash:23003:3:audio_channel_configuration:2011":case"urn:dts:dash:audio_channel_configuration:2012":var i=parseInt(r,10);if(!i){shaka.log.warning("Channel parsing failure! Ignoring scheme and value",t,r);continue}return i;case"tag:dolby.com,2015:dash:audio_channel_configuration:2015":i=[2,1,2,2,2,2,1,2,2,1,1,1,1,2,1,1,2,2];var n=parseInt(r,16);if(!n){shaka.log.warning("Channel parsing failure! Ignoring scheme and value",t,r);continue}for(r=t=0;r<i.length;r++)n&1<<r&&(t+=i[r]);if(t)return t;continue;case"tag:dolby.com,2014:dash:audio_channel_configuration:2011":case"urn:dolby:dash:audio_channel_configuration:2011":if(i=[1,1,1,1,1,2,2,1,1,2,2,2,1,2,1,1].reverse(),!(n=parseInt(r,16))){shaka.log.warning("Channel parsing failure! Ignoring scheme and value",t,r);continue}for(r=t=0;r<i.length;r++)n&1<<r&&(t+=i[r]);if(t)return t;continue;case"urn:mpeg:mpegB:cicp:ChannelConfiguration":if(i=[0,1,2,3,4,5,6,8,2,3,4,7,8,24,8,12,10,12,14,12,14],!(n=parseInt(r,10))){shaka.log.warning("Channel parsing failure! Ignoring scheme and value",t,r);continue}if(0<n&&n<i.length)return i[n];continue;default:shaka.log.warning("Unrecognized audio channel scheme:",t,r)}}return null},shaka.dash.DashParser.prototype.verifyRepresentation_=function(e){var t=shaka.util.ManifestParserUtils.ContentType,r=+!!e.segmentBase;return 0==(r+=+!!e.segmentList+ +!!e.segmentTemplate)?e.contentType==t.TEXT||e.contentType==t.APPLICATION||(shaka.log.warning("Representation does not contain a segment information source:","the Representation must contain one of SegmentBase, SegmentList,",'SegmentTemplate, or explicitly indicate that it is "text".',e),!1):(1!=r&&(shaka.log.warning("Representation contains multiple segment information sources:","the Representation should only contain one of SegmentBase,","SegmentList, or SegmentTemplate.",e),e.segmentBase?(shaka.log.info("Using SegmentBase by default."),e.segmentList=null):(goog.asserts.assert(e.segmentList,"There should be a SegmentList"),shaka.log.info("Using SegmentList b
1y default.")),e.segmentTemplate=null),!0)},shaka.dash.DashParser.prototype.requestForTiming_=function(e,t,r){var i,n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return i=[shaka.util.StringUtils.htmlUnescape(t)],n=shaka.util.ManifestParserUtils.resolveUris(e(),i),(a=shaka.net.NetworkingEngine.makeRequest(n,c.config_.retryParameters)).method=r,o=shaka.net.NetworkingEngine.RequestType.TIMING,s=c.playerInterface_.networkingEngine.request(o,a,{isPreload:c.isPreloadFn_()}),c.operationManager_.manage(s),p.yield(s.promise,2);if(l=p.yieldResult,"HEAD"==r){if(!l.headers||!l.headers.date)return shaka.log.warning("UTC timing response is missing","expected date header"),p.return(0);u=l.headers.date}else u=shaka.util.StringUtils.fromUTF8(l.data);return isNaN(d=Date.parse(u))?(shaka.log.warning("Unable to parse date from UTC timing response"),p.return(0)):p.return(d-Date.now())})},shaka.dash.DashParser.prototype.parseUtcTiming_=function(e,t){var r,i,n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:r=t.map(function(e){return{scheme:e.attributes.schemeIdUri,value:e.attributes.value}}),i=c.config_.dash.clockSyncUri,!r.length&&i&&r.push({scheme:"urn:mpeg:dash:utc:http-head:2014",value:i}),a=(n=$jscomp.makeIterator(r)).next();case 2:if(a.done){p.jumpTo(4);break}switch(o=a.value,p.setCatchFinallyBlocks(5),s=o.scheme,l=o.value,s){case"urn:mpeg:dash:utc:http-head:2014":case"urn:mpeg:dash:utc:http-head:2012":return p.jumpTo(7);case"urn:mpeg:dash:utc:http-xsdate:2014":case"urn:mpeg:dash:utc:http-iso:2014":case"urn:mpeg:dash:utc:http-xsdate:2012":case"urn:mpeg:dash:utc:http-iso:2012":return p.jumpTo(8);case"urn:mpeg:dash:utc:direct:2014":case"urn:mpeg:dash:utc:direct:2012":return u=Date.parse(l),p.return(isNaN(u)?0:u-Date.now());case"urn:mpeg:dash:utc:http-ntp:2014":case"urn:mpeg:dash:utc:ntp:2014":case"urn:mpeg:dash:utc:sntp:2014":shaka.log.alwaysWarn("NTP UTCTiming scheme is not supported");break;default:shaka.log.alwaysWarn("Unrecognized scheme in UTCTiming element",s)}p.jumpTo(9);break;case 7:return p.yield(c.requestForTiming_(e,l,"HEAD"),10);case 10:case 11:return p.return(p.yieldResult);case 8:return p.yield(c.requestForTiming_(e,l,"GET"),11);case 9:p.leaveTryBlock(3);break;case 5:d=p.enterCatchBlock(),shaka.log.warning("Error fetching time from UTCTiming elem",d.message);case 3:a=n.next(),p.jumpTo(2);break;case 4:return shaka.log.alwaysWarn("A UTCTiming element should always be given in live manifests! This content may not play on clients with bad clocks!"),p.return(0)}})},shaka.dash.DashParser.prototype.parseEventStream_=function(e,t,r,i){var n=shaka.util.TXml,a=shaka.util.TXml.parseNonNegativeInt,o=r.attributes.schemeIdUri||"",s=r.attributes.value||"",l=n.parseAttr(r,"timescale",a)||1,u=n.parseAttr(r,"presentationTimeOffset",a)||0;r=$jscomp.makeIterator(n.findChildren(r,"Event"));for(var d=r.next();!d.done;d=r.next()){d=d.value;var c=n.parseAttr(d,"presentationTime",a)||0,p=n.parseAttr(d,"duration",a)||0;p=(c=Math.max((c-u)/l+e,e))+p/l,null!=t&&(c=Math.min(c,e+t),p=Math.min(p,e+t)),p<i||(d={schemeIdUri:o,value:s,startTime:c,endTime:p,id:d.attributes.id||"",eventElement:n.txmlNodeToDomElement(d),eventNode:n.cloneNode(d)},this.playerInterface_.onTimelineRegionAdded(d))}},shaka.dash.DashParser.prototype.requestSegment_=function(e,t,r,i){var n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){return 1==u.nextAddress?(n=shaka.net.NetworkingEngine.RequestType.SEGMENT,a=i?shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT:shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT,o=shaka.util.Networking.createSegmentRequest(e,t,r,l.config_.retryParameters),u.yield(l.makeNetworkRequest_(o,n,{type:a}),2)):(s=u.yieldResult,u.return(s.data))})},shaka.dash.DashParser.guessContentType_=function(e,t){return t=shaka.util.MimeUtils.getFullType(e,t),shaka.text.TextEngine.isTypeSupported(t)?shaka.util.ManifestParserUtils.ContentType.TEXT:e.split("/")[0]},shaka.dash.DashParser.prototype.makeNetworkRequest_=function(e,t,r){return r||(r={}),r.isPreload=this.isPreloadFn_(),e=this.playerInterface_.networkingEngine.request(t,e,r),this.operationManager_.manage(e),e.promise},shaka.dash.DashParser.prototype.updatePatchLocationNodes_=function(e){shaka.util.TXml.modifyNodes(this.patchLocationNodes_,e)}
1,shaka.dash.DashParser.prototype.getPatchLocationUris_=function(){var e=shaka.util.TXml,t=this.manifestPatchContext_.publishTime;if(!this.manifestPatchContext_.mpdId||!t||!this.patchLocationNodes_.length)return[];var r=Date.now()/1e3,i=this.patchLocationNodes_.filter(function(i){return!(i=e.parseNonNegativeInt(i.attributes.ttl))||t+i>r}).map(e.getContents).filter(shaka.util.Functional.isNotNull);return i.length?shaka.util.ManifestParserUtils.resolveUris(this.manifestUris_,i):[]},goog.exportSymbol("shaka.dash.DashParser",shaka.dash.DashParser),shaka.dash.DashParser.SCTE214_="urn:scte:dash:scte214-extensions",shaka.dash.DashParser.UP_NAMESPACE_="urn:mpeg:dash:schema:urlparam:2014",shaka.media.ManifestParser.registerParserByMime("application/dash+xml",function(){return new shaka.dash.DashParser}),shaka.media.ManifestParser.registerParserByMime("video/vnd.mpeg.dash.mpd",function(){return new shaka.dash.DashParser}),shaka.dependencies=function(){},shaka.dependencies.add=function(e,t){if(!shaka.dependencies.Allowed[e])throw Error(e+" is not supported");e==shaka.dependencies.Allowed.muxjs?shaka.Deprecate.deprecateFeature(5,"mux.js","mux.js is no longer used in Shaka Player."):shaka.dependencies.dependencies_.set(e,function(){return t})},shaka.dependencies.has=function(e){return shaka.dependencies.dependencies_.has(e)},shaka.dependencies.isoBoxer=function(){return shaka.dependencies.dependencies_.get(shaka.dependencies.Allowed.ISOBoxer)()},goog.exportSymbol("shaka.dependencies",shaka.dependencies),goog.exportProperty(shaka.dependencies,"has",shaka.dependencies.has),goog.exportProperty(shaka.dependencies,"add",shaka.dependencies.add),shaka.dependencies.Allowed={muxjs:"muxjs",ISOBoxer:"ISOBoxer"},goog.exportProperty(shaka.dependencies,"Allowed",shaka.dependencies.Allowed),shaka.dependencies.dependencies_=new Map([[shaka.dependencies.Allowed.ISOBoxer,function(){return window.ISOBoxer}]]),shaka.hls={},shaka.hls.Playlist=function(e,t,r){this.type=e,this.tags=t,this.segments=r||null},shaka.hls.PlaylistType={MASTER:0,MEDIA:1},shaka.hls.Tag=function(e,t,r,i){this.id=e,this.name=t,this.attributes=r,this.value=void 0===i?null:i},shaka.hls.Tag.prototype.toString=function(e){var t=function(e){var t=isNaN(Number(e.value))?'"'+e.value+'"':e.value;return e.name+"="+t},r="#"+this.name;return t=this.attributes?this.attributes.filter(function(t){return!e||!e.has(t.name)}).map(t):[],this.value&&t.unshift(this.value),0<t.length&&(r+=":"+t.join(",")),r},shaka.hls.Tag.prototype.getTagKey=function(e){return e?this.toString():(e=(new Set).add("AUDIO").add("VIDEO").add("SUBTITLES").add("PATHWAY-ID").add("GROUP-ID").add("URI"),this.toString(e))}
1,shaka.hls.Tag.prototype.addAttribute=function(e){this.attributes.push(e)},shaka.hls.Tag.prototype.getAttribute=function(e){var t=this.attributes.filter(function(t){return t.name==e});return goog.asserts.assert(2>t.length,"A tag should not have multiple attributes with the same name!"),t.length?t[0]:null},shaka.hls.Tag.prototype.getAttributeValue=function(e,t){return(e=this.getAttribute(e))?e.value:t||null},shaka.hls.Tag.prototype.getRequiredAttrValue=function(e){var t=this.getAttribute(e);if(!t)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_REQUIRED_ATTRIBUTE_MISSING,e);return t.value},shaka.hls.Tag.prototype.setName=function(e){this.name=e},shaka.hls.Segment=function(e,t,r){r=void 0===r?[]:r,this.tags=t,this.verbatimSegmentUri=e,this.partialSegments=r},shaka.hls.Attribute=function(e,t){this.name=e,this.value=t},shaka.hls.Utils=function(){},shaka.hls.Utils.filterTagsByName=function(e,t){return e.filter(function(e){return e.name==t})},shaka.hls.Utils.filterTagsByType=function(e,t){return e.filter(function(e){return e.getRequiredAttrValue("TYPE")==t})}
1,shaka.hls.Utils.getFirstTagWithName=function(e,t){e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())if((r=r.value).name===t)return r;return null},shaka.hls.Utils.getFirstTagWithNameAsNumber=function(e,t,r){return r=void 0===r?0:r,(e=shaka.hls.Utils.getFirstTagWithName(e,t))?Number(e.value):r},shaka.hls.Utils.constructSegmentUris=function(e,t,r){return t?shaka.hls.Utils.constructUris(e,[t],r):[]},shaka.hls.Utils.constructUris=function(e,t,r){if(!t.length)return[];var i=t;return r&&r.size&&(i=t.map(function(e){return shaka.hls.Utils.variableSubstitution(e,r)})),shaka.util.ManifestParserUtils.resolveUris(e,i)},shaka.hls.Utils.variableSubstitution=function(e,t){if(!t||!t.size)return e;var r=(e=String(e).replace(/%7B/g,"{").replace(/%7D/g,"}")).match(/{\$\w*}/g);if(r){r=$jscomp.makeIterator(r);for(var i=r.next();!i.done;i=r.next()){var n=(i=i.value).slice(2,i.length-1),a=t.get(n);if(a)e=e.replace(i,a);else throw shaka.log.error("A variable has been found that is not declared",n),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_VARIABLE_NOT_FOUND,n)}}return e},shaka.hls.Utils.isComment=function(e){return/^#(?!EXT)/m.test(e)},shaka.hls.ManifestTextParser=function(){this.globalId_=0},shaka.hls.ManifestTextParser.prototype.parsePlaylist=function(e){var t=shaka.hls.ManifestTextParser.MEDIA_PLAYLIST_TAGS,r=shaka.hls.ManifestTextParser.SEGMENT_TAGS,i=(e=(e=shaka.util.StringUtils.fromUTF8(e)).replace(/\r\n|\r(?=[^\n]|$)/gm,"\n").trim()).split(/\n+/m);if(!/^#EXTM3U($|[ \t\n])/m.test(i[0]))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_PLAYLIST_HEADER_MISSING);e=shaka.hls.PlaylistType.MASTER;for(var n=!0,a=$jscomp.makeIterator(i),o=a.next();!o.done;o=a.next())if(o=o.value,shaka.hls.Utils.isComment(o)||n)n=!1;else if(o=this.parseTag_(o),--this.globalId_,t.includes(o.name)){e=shaka.hls.PlaylistType.MEDIA;break}else"EXT-X-STREAM-INF"==o.name&&(n=!0);for(a=0,t=[],n=!0;a<i.length;a++){var s=i[a];if(o=i[a+1],shaka.hls.Utils.isComment(s)||n)n=!1;else{if(s=this.parseTag_(s),r.includes(s.name)){if(e!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);return r=i.splice(a,i.length-a),r=this.parseSegments_(r,t),new shaka.hls.Playlist(e,t,r)}t.push(s),"EXT-X-STREAM-INF"==s.name&&(n=new shaka.hls.Attribute("URI",o),s.addAttribute(n),n=!0)}}return new shaka.hls.Playlist(e,t)},shaka.hls.ManifestTextParser.prototype.parseSegments_=function(e,t){var r=[],i=[],n=[],a=null;e=$jscomp.makeIterator(e);for(var o=e.next();!o.done;o=e.next())o=o.value,/^(#EXT)/.test(o)?(o=this.parseTag_(o),shaka.hls.ManifestTextParser.MEDIA_PLAYLIST_TAGS.includes(o.name)?t.push(o):"EXT-X-MAP"==o.name?a=o:"EXT-X-PART"==o.name?n.push(o):"EXT-X-PRELOAD-HINT"==o.name?"PART"==o.getAttributeValue("TYPE")?n.push(o):"MAP"==o.getAttributeValue("TYPE")&&(o.setName("EXT-X-MAP"),a=o):i.push(o)):shaka.hls.Utils.isComment(o)||(o=o.trim(),a&&i.push(a),r.push(i=new shaka.hls.Segment(o,i,n)),i=[],n=[]);return n.length&&(a&&i.push(a),r.push(t=new shaka.hls.Segment("",i,n))),r},shaka.hls.ManifestTextParser.prototype.parseTag_=function(e){return shaka.hls.ManifestTextParser.parseTag(this.globalId_++,e)},shaka.hls.ManifestTextParser.parseTag=function(e,t){var r=t.match(/^#(EXT[^:]*)(?::(.*))?$/);if(!r)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.INVALID_HLS_TAG,t);t=r[1];var i=r[2];if(r=[],i){var n,a,o=(i=new shaka.util.TextParser(i)).readRegex(/^([^,=]+)(?:,|$)/g);for(o&&(n=o[1]),o=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g;a=i.readRegex(o);)a=new shaka.hls.Attribute(a[1],a[2]||a[3]),r.push(a),i.skipWhitespace()}return new shaka.hls.Tag(e,t,r,n)},shaka.hls.ManifestTextParser.MEDIA_PLAYLIST_TAGS="EXT-X-TARGETDURATION EXT-X-MEDIA-SEQUENCE EXT-X-DISCONTINUITY-SEQUENCE EXT-X-PLAYLIST-TYPE EXT-X-I-FRAMES-ONLY EXT-X-ENDLIST EXT-X-SERVER-CONTROL EXT-X-SKIP EXT-X-PART-INF EXT-X-DATERANGE".split(" "),shaka.hl
1s.ManifestTextParser.SEGMENT_TAGS="EXTINF EXT-X-BYTERANGE EXT-X-DISCONTINUITY EXT-X-PROGRAM-DATE-TIME EXT-X-KEY EXT-X-DATERANGE EXT-X-MAP EXT-X-GAP EXT-X-TILES".split(" "),shaka.net.DataUriPlugin=function(){},shaka.net.DataUriPlugin.parse=function(e,t,r,i){try{var n=shaka.net.DataUriPlugin.parseRaw(e);return shaka.util.AbortableOperation.completed({uri:e,originalUri:e,data:n.data,headers:{"content-type":n.contentType},originalRequest:t})}catch(e){return shaka.util.AbortableOperation.failed(e)}},shaka.net.DataUriPlugin.parseRaw=function(e){var t=e.split(":");if(2>t.length||"data"!=t[0])throw shaka.log.error("Bad data URI, failed to parse scheme"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.MALFORMED_DATA_URI,e);if(2>(t=t.slice(1).join(":").split(",")).length)throw shaka.log.error("Bad data URI, failed to extract encoding and MIME type"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.MALFORMED_DATA_URI,e);var r=t[0];e=window.decodeURIComponent(t.slice(1).join(",")),r=(t=r.split(";"))[0];var i=!1;return 1<t.length&&"base64"==t[t.length-1]&&(i=!0,t.pop()),{data:i?
1shaka.util.Uint8ArrayUtils.fromBase64(e):shaka.util.StringUtils.toUTF8(e),contentType:r}},goog.exportSymbol("shaka.net.DataUriPlugin",shaka.net.DataUriPlugin),goog.exportProperty(shaka.net.DataUriPlugin,"parse",shaka.net.DataUriPlugin.parse),shaka.net.NetworkingEngine.registerScheme("data",shaka.net.DataUriPlugin.parse),shaka.hls.HlsParser=function(){var e=this;this.config_=this.playerInterface_=null,this.globalId_=1,this.globalVariables_=new Map,this.groupIdToStreamInfosMap_=new Map,this.mediaSequenceToStartTimeByType_=new Map;var t=shaka.util.ManifestParserUtils.ContentType;this.mediaSequenceToStartTimeByType_.set(t.VIDEO,new Map),this.mediaSequenceToStartTimeByType_.set(t.AUDIO,new Map),this.mediaSequenceToStartTimeByType_.set(t.TEXT,new Map),this.mediaSequenceToStartTimeByType_.set(t.IMAGE,new Map),this.variantUriSet_=new Set,this.uriToStreamInfosMap_=new Map,this.presentationTimeline_=null,this.masterPlaylistUri_="",this.manifestTextParser_=new shaka.hls.ManifestTextParser,this.minSequenceNumber_=-1,this.lowestSyncTime_=1/0,this.codecInfoInManifest_=this.streamsFinalized_=this.usesProgramDateTime_=!1,this.updatePlaylistTimer_=new shaka.util.Timer(function(){e.mediaElement_&&!e.config_.continueLoadingWhenPaused&&(e.eventManager_.unlisten(e.mediaElement_,"timeupdate"),e.mediaElement_.paused)?e.eventManager_.listenOnce(e.mediaElement_,"timeupdate",function(){return e.onUpdate_()}):e.onUpdate_()}),this.presentationType_=shaka.hls.HlsParser.PresentationType_.VOD,this.manifest_=null,this.maxTargetDuration_=0,this.lastTargetDuration_=1/0,this.lowLatencyPresentationDelay_=this.presentationDelay_=this.partialTargetDuration_=0,this.operationManager_=new shaka.util.OperationManager,this.groupIdToClosedCaptionsMap_=new Map,this.groupIdToCodecsMap_=new Map,this.mapTagToInitSegmentRefMap_=new Map,this.aesKeyInfoMap_=new Map,this.aesKeyMap_=new Map,this.identityKeyMap_=new Map,this.identityKidMap_=new Map,this.lowLatencyByterangeOptimization_=this.lowLatencyMode_=!1,this.averageUpdateDuration_=new shaka.abr.Ewma(5),this.contentSteeringManager_=null,this.needsClosedCaptionsDetection_=!0,this.dateRangeIdsEmitted_=new Set,this.eventManager_=new shaka.util.EventManager,this.startTime_=this.mediaElement_=null,this.isPreloadFn_=function(){return!1}},shaka.hls.HlsParser.prototype.configure=function(e,t){var r=this.playerInterface_&&e.hls.updatePeriod!=this.config_.hls.updatePeriod&&0<=e.hls.updatePeriod;this.config_=e,t&&(this.isPreloadFn_=t),this.contentSteeringManager_&&this.contentSteeringManager_.configure(this.config_),r&&this.manifest_&&this.manifest_.presentationTimeline.isLive()&&this.updatePlaylistTimer_.tickNow()}
1,shaka.hls.HlsParser.prototype.start=function(e,t){var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?(goog.asserts.assert(i.config_,"Must call configure() before start()!"),i.playerInterface_=t,i.lowLatencyMode_=t.isLowLatencyMode(),n.yield(i.requestManifest_([e]).promise,2)):3!=n.nextAddress?(i.masterPlaylistUri_=(r=n.yieldResult).uri,goog.asserts.assert(r.data,"Response data should be non-null!"),n.yield(i.parseManifest_(r.data),3)):(goog.asserts.assert(i.manifest_,"Manifest should be non-null"),n.return(i.manifest_))})},shaka.hls.HlsParser.prototype.stop=function(){this.updatePlaylistTimer_&&(this.updatePlaylistTimer_.stop(),this.updatePlaylistTimer_=null);var e=[];return this.operationManager_&&(e.push(this.operationManager_.destroy()),this.operationManager_=null),this.config_=this.playerInterface_=null,this.variantUriSet_.clear(),this.manifest_=null,this.uriToStreamInfosMap_.clear(),this.groupIdToStreamInfosMap_.clear(),this.groupIdToCodecsMap_.clear(),this.globalVariables_.clear(),this.mapTagToInitSegmentRefMap_.clear(),this.aesKeyInfoMap_.clear(),this.aesKeyMap_.clear(),this.identityKeyMap_.clear(),this.identityKidMap_.clear(),this.dateRangeIdsEmitted_.clear(),this.contentSteeringManager_&&this.contentSteeringManager_.destroy(),this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null),Promise.all(e)},shaka.hls.HlsParser.prototype.update=function(){var e,t,r,i,n,a,o,s,l,u,d,c,p=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){if(!p.isLive_())return m.return();for(e=[],t=Array.from(p.uriToStreamInfosMap_.values()),p.lastTargetDuration_=1/0,p.manifest_.gapCount=0,r=t.filter(function(e){return e.stream.segmentIndex}),n=(i=$jscomp.makeIterator(r)).next();!n.done;n=i.next())a=n.value,e.push(p.updateStream_(a));return m.yield(Promise.all(e),2)}for(p.notifySegmentsForStreams_(r.map(function(e){return e.stream})),o=r.some(function(e){return 0==e.hasEndList}),r.length&&!o&&(s=shaka.hls.HlsParser.PresentationType_,p.setPresentationType_(s.VOD),l=r.map(function(e){return e.maxTimestamp}),p.presentationTimeline_.setDuration(Math.min.apply(Math,$jscomp.arrayFromIterable(l))),p.playerInterface_.updateDuration()),o&&p.determineDuration_(),d=(u=$jscomp.makeIterator(r)).next();!d.done;d=u.next())(c=d.value).stream.isAudioMuxedInVideo||!c.stream.segmentIndex||c.stream.segmentIndex.earliestReference()||p.playerInterface_.disableStream(c.stream);m.jumpToEnd()})},shaka.hls.HlsParser.prototype.getMediaSequenceToStartTimeFor_=function(e){return this.isLive_()?this.mediaSequenceToStartTimeByType_.get(e.type):e.mediaSequenceToStartTime},shaka.hls.HlsParser.prototype.updateStream_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){switch(B.nextAddress){case 1:if(e.stream.isAudioMuxedInVideo)return B.return();for(t=[],i=(r=$jscomp.makeIterator(e.getUris())).next();!i.done;i=r.next())n=i.value,o=(a=new goog.Uri(n)).getQueryData(),e.canBlockReload&&(0<=e.nextMediaSequence&&o.add("_HLS_msn",String(e.nextMediaSequence)),0<=e.nextPart&&o.add("_HLS_part",String(e.nextPart))),e.canSkipSegments&&o.add("_HLS_skip","YES"),o.getCount()&&a.setQueryData(o.toDecodedString()),t.push(a.toString());return B.setCatchFinallyBlocks(2),B.yield(O.requestManifest_(t,!0).promise,4);case 4:s=B.yieldResult,B.leaveTryBlock(3);break;case 2:throw l=B.enterCatchBlock(),O.playerInterface_&&O.playerInterface_.disableStream(e.stream),l;case 3:if(!e.stream.segmentIndex)return B.return();if((u=O.manifestTextParser_.parsePlaylist(s.data)).type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);return(d=s.uri)==s.originalUri||e.getUris().includes(d)||e.redirectUris.push(d),c=shaka.hls.Utils.filterTagsByName(u.tags,"EXT-X-DEFINE"),p=O.parseMediaVariables_(c,d),m=e.stream,f=O.getMediaSequenceToStartTimeFor_(e),B.yield(O.parseDrmInfo_(u,m.mimeType,e.getUris,p),5);case 5:var F,V;for(h=(g=B.yieldResult).keyIds,y=g.drmInfos,_=g.encrypted,S=g.aesEncrypted,m.encrypted||!_||S||(m.encrypted=!0),F=m.keyIds,V=h,F.size===V.size&&[].concat($jscomp.arrayFromIterable(F)).every(function(e){return V.has(e)})||(m.keyIds=h,m.drmInfos=y,O.playerInterface_.newDrmInfo(m)),T=(v=O.createSegments_(u,f,p,e.getUris,e.type)).segments,(E=v.bandwidth)&&(m.bandwidth=E),P=shaka.media.QualityObserver.createQualityInfo(m),A=(x=$jscomp.makeIterator(T)).next();!A.done;A=x.next())(C=A.value).initSegmentReference&&(C.initSegmentReference.mediaQuality=P);m.segmentIndex.mergeAndEvict(T,O.presentationTimeline_.getSegmentAvailabilityStart()),T.length&&(M=shaka.hls.Utils.getFirstTagWithNameAsNumber(u.tags,"EXT-X-MEDIA-SEQUENCE",0),b=(I=shaka.hls.Utils.getFirstTagWithName(u.tags,"EXT-X-SKIP"))?Number(I.getAttributeValue("SKIPPED-SEGMENTS")):0,R=(D=O.getNextMediaSequenceAndPart_(M,T)).nextMediaSequence,k=D.nextPart,e.nextMediaSequence=R+b,e.nextPart=k,w=f.get(M),m.segmentIndex.evict(w)),(U=m.segmentIndex.earliestReference())&&(e.minTimestamp=U.startTime,L=T[T.length-1],goog.asserts.assert(L,"Should have segments!"),e.maxTimestamp=L.endTime),(N=shaka.hls.Utils.getFirstTagWithName(u.tags,"EXT-X-ENDLIST"))&&(e.hasEndList=!0),O.determineLastTargetDuration_(u),O.processDateRangeTags_(u.tags,m.type,p,e.getUris),B.jumpToEnd()}})},shaka.hls.HlsParser.prototype.onExpirationUpdated=function(e,t){},shaka.hls.HlsParser.prototype.onInitialVariantChosen=function(e){},shaka.hls.HlsParser.prototype.banLocation=function(e){this.contentSteeringManager_&&this.contentSteeringManager_.banLocation(e)},shaka.hls.HlsParser.prototype.setMediaElement=function(e){this.mediaElement_=e},shaka.hls.HlsParser.prototype.syncStreamsWithSequenceNumber_=function(e,t){t=void 0!==t&&t;for(var r=-1==this.minSequenceNumber_,i=$jscomp.makeIterator(e),n=i.next();!n.done;n=i.next()){var a=(n=n.value).stream.segmentIndex;goog.asserts.assert(a,"Only loaded streams should be synced");var o=this.getMediaSequenceToStartTimeFor_(n);if(a=a.earliestReference()){goog.DEBUG&&o.values().next().value!=a.startTime&&shaka.log.warning("Sequence number map is not ordered as expected!"),o=$jscomp.makeIterator(o);for(var s=o.next();!s.done;s=o.next()){var l=(s=$jscomp.makeIterator(s.value)).next().value;if(s.next().value==a.startTime){r&&(this.minSequenceNumber_=Math.max(this.minSequenceNumber_,l)),n.firstSequenceNumber=l;break}}}}if(!(0>this.minSequenceNumber_))for(shaka.log.debug("Syncing HLS streams against base sequence number:",this.minSequenceNumber_),r=(e=$jscomp.makeIterator(e)).next();!r.done;r=e.next())r=r.value,(this.ignoreManifestProgramDateTimeFor_(r.type)||t)&&(i=r.stream.segmentIndex)&&0<(n=this.minSequenceNumber_-r.firstSequenceNumber)&&(i.dropFirstReferences(n),i=i.earliestReference())&&(i=-i.startTime,r.stream.segmentIndex.offset(i),this.offsetStreamInfo_(r,i))}
1,shaka.hls.HlsParser.prototype.syncStreamsWithProgramDateTime_=function(e){if(1/0==this.lowestSyncTime_){e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next())t=t.value.stream.segmentIndex,goog.asserts.assert(t,"Only loaded streams should be synced"),null!=(t=t.earliestReference())&&null!=t.syncTime&&(this.lowestSyncTime_=Math.min(this.lowestSyncTime_,t.syncTime))}if(1/0!=(e=this.lowestSyncTime_)){shaka.log.debug("Syncing HLS streams against base time:",e),t=$jscomp.makeIterator(this.uriToStreamInfosMap_.values());for(var r=t.next();!r.done;r=t.next())if(r=r.value,!this.ignoreManifestProgramDateTimeFor_(r.type)){var i=r.stream.segmentIndex;if(null!=i){var n=i.earliestReference();if(n)if(null==n.syncTime)shaka.log.alwaysError("Missing EXT-X-PROGRAM-DATE-TIME for stream",r.getUris(),"Expect AV sync issues!");else for(this.offsetStreamInfo_(r,n.syncTime-e-n.startTime),i=(r=$jscomp.makeIterator(i)).next();!i.done;i=r.next())i.value.syncAgainst(e)}}}},shaka.hls.HlsParser.prototype.offsetStreamInfo_=function(e,t){if(!(.001>Math.abs(t))){e.minTimestamp+=t,e.maxTimestamp+=t,goog.asserts.assert(0<=e.maxTimestamp,"Negative maxTimestamp after adjustment!");for(var r=this.getMediaSequenceToStartTimeFor_(e),i=$jscomp.makeIterator(r),n=i.next();!n.done;n=i.next()){var a=$jscomp.makeIterator(n.value);n=a.next().value,a=a.next().value,r.set(n,a+t)}shaka.log.debug("Offset",t,"applied to",e.getUris())}}
1,shaka.hls.HlsParser.prototype.parseManifest_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O,B,F,V,G,H,j,K,W=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){switch(q.nextAddress){case 1:if(t=shaka.hls.Utils,r=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(W.masterPlaylistUri_,"Master playlist URI must be set before calling parseManifest_!"),i=W.manifestTextParser_.parsePlaylist(e),n=t.filterTagsByName(i.tags,"EXT-X-DEFINE"),a=[],o=[],s=[],goog.asserts.assert(null==W.presentationTimeline_,"Presentation timeline created early!"),W.presentationTimeline_=new shaka.media.PresentationTimeline(null,0),W.presentationTimeline_.setStatic(!0),l=function(){return[W.masterPlaylistUri_]},u=null,d=new Map,i.type==shaka.hls.PlaylistType.MEDIA)return W.needsClosedCaptionsDetection_=!1,w=shaka.hls.Utils.filterTagsByName(i.tags,"EXT-X-DEFINE"),d=W.parseMediaVariables_(w,W.masterPlaylistUri_),u=r.VIDEO,U="",L=new Map,q.yield(W.convertParsedPlaylistIntoStreamInfo_(W.globalId_++,d,i,l,"",u,U,!0,"Media Playlist",null,L,null,!1,null,!1),7);return W.parseMasterVariables_(n),c=t.filterTagsByName(i.tags,"EXT-X-MEDIA"),p=t.filterTagsByName(i.tags,"EXT-X-STREAM-INF"),m=t.filterTagsByName(i.tags,"EXT-X-IMAGE-STREAM-INF"),f=t.filterTagsByName(i.tags,"EXT-X-I-FRAME-STREAM-INF"),g=t.filterTagsByName(i.tags,"EXT-X-SESSION-KEY"),h=t.filterTagsByName(i.tags,"EXT-X-SESSION-DATA"),y=t.filterTagsByName(i.tags,"EXT-X-CONTENT-STEERING"),W.processSessionData_(h),q.yield(W.processContentSteering_(y),4);case 4:if(!W.config_.hls.ignoreSupplementalCodecs){for(_=[],v=(S=$jscomp.makeIterator(p)).next(),T={};!v.done;T={supplementalCodecs$jscomp$1:void 0},v=S.next())(P=(E=v.value).getAttributeValue("SUPPLEMENTAL-CODECS"))&&(T.supplementalCodecs$jscomp$1=P.split(/\s*,\s*/).map(function(e){return e.split("/")[0]}),x=E.attributes.map(function(e){return function(t){var r=t.name,i=t.value;return"CODECS"==r&&(i=e.supplementalCodecs$jscomp$1.join(","),1<(t=t.value.split(",")).length&&(t=shaka.util.ManifestParserUtils.guessCodecsSafe(shaka.util.ManifestParserUtils.ContentType.AUDIO,t))&&(i+=","+t)),new shaka.hls.Attribute(r,i)}}(T)),_.push(new shaka.hls.Tag(E.id,E.name,x,null)));for(p.push.apply(p,$jscomp.arrayFromIterable(_)),A=[],M=(C=$jscomp.makeIterator(f)).next(),I={};!M.done;I={supplementalCodecs$jscomp$2:void 0},M=C.next())(D=(b=M.value).getAttributeValue("SUPPLEMENTAL-CODECS"))&&(I.supplementalCodecs$jscomp$2=D.split(/\s*,\s*/).map(function(e){return e.split("/")[0]}),R=b.attributes.map(function(e){return function(t){var r=t.name;return t=t.value,"CODECS"==r&&(t=e.supplementalCodecs$jscomp$2.join(",")),new shaka.hls.Attribute(r,t)}}(I)),A.push(new shaka.hls.Tag(b.id,b.name,R,null)));f.push.apply(f,$jscomp.arrayFromIterable(A))}return W.parseCodecs_(p),W.parseClosedCaptions_(c),k=W.parseIFrames_(f),q.yield(W.createVariantsForTags_(p,g,c,l,W.globalVariables_,k),5);case 5:return a=q.yieldResult,o=W.parseTexts_(c),q.yield(W.parseImages_(m,f),6);case 6:s=q.yieldResult,q.jumpTo(3);break;case 7:N=q.yieldResult,W.uriToStreamInfosMap_.set(W.masterPlaylistUri_,N),N.stream&&(O=shaka.media.QualityObserver.createQualityInfo(N.stream),N.stream.segmentIndex.forEachTopLevelReference(function(e){e.initSegmentReference&&(e.initSegmentReference.mediaQuality=O)}
1)),u=N.stream.type,B=!0,W.config_.disableAudio&&"audio"==N.type?B=!1:W.config_.disableVideo&&"video"==N.type&&!N.stream.codecs.includes(",")&&(B=!1),B&&a.push({id:0,language:W.getLanguage_(U),disabledUntilTime:0,primary:!0,audio:"audio"==N.type?N.stream:null,video:"video"==N.type?N.stream:null,bandwidth:N.stream.bandwidth||0,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});case 3:if(!W.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);if(W.determineStartTime_(i),i.type==shaka.hls.PlaylistType.MEDIA&&(W.isLive_()&&(W.changePresentationTimelineToLive_(i),F=W.getUpdatePlaylistDelay_(),W.updatePlaylistTimer_.tickAfter(F)),V=Array.from(W.uriToStreamInfosMap_.values()),W.finalizeStreams_(V),W.determineDuration_(),goog.asserts.assert(u,"mediaPlaylistType should be non-null"),W.processDateRangeTags_(i.tags,u,d,l)),W.manifest_={presentationTimeline:W.presentationTimeline_,variants:a,textStreams:o,imageStreams:s,offlineSessionIds:[],sequenceMode:W.config_.hls.sequenceMode,ignoreManifestTimestampsInSegmentsMode:W.config_.hls.ignoreManifestTimestampsInSegmentsMode,type:shaka.media.ManifestParser.HLS,serviceDescription:null,nextUrl:null,periodCount:1,gapCount:0,isLowLatency:!1,startTime:W.startTime_},W.codecInfoInManifest_||!W.config_.hls.disableCodecGuessing){q.jumpTo(8);break}for(G=[],j=(H=$jscomp.makeIterator(W.manifest_.variants)).next();!j.done;j=H.next())(K=j.value).audio&&""===K.audio.codecs&&G.push(K.audio.createSegmentIndex()),K.video&&""===K.video.codecs&&G.push(K.video.createSegmentIndex());return q.yield(Promise.all(G),8);case 8:W.playerInterface_.makeTextStreamsForClosedCaptions(W.manifest_),q.jumpToEnd()}})},shaka.hls.HlsParser.prototype.getBasicInfoFromSegments_=function(e){var t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y,_=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){if(1==S.nextAddress)return(t=shaka.hls.HlsParser,r=shaka.media.SegmentUtils.getBasicInfoFromMimeType(_.config_.hls.mediaPlaylistFullMimeType),e.length)?(n=(i=_.getAvailableSegment_(e)).segment,a=i.segmentIndex,o=n.getUris()[0],s=new goog.Uri(o).getPath().split(".").pop(),(l=t.RAW_FORMATS_TO_MIME_TYPES_.get(s))?S.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(l)):S.yield(Promise.all([_.getInfoFromSegment_(n.initSegmentReference,0),_.getInfoFromSegment_(n,a)]),2)):S.return(r);if(d=(u=S.yieldResult)[1].mimeType,c=u[0].data,p=u[1].data,m="mp4 mp4a m4s m4i m4a m4f cmfa mp4v m4v cmfv fmp4".split(" "),f=["audio/mp4","video/mp4","video/iso.segment"],!(g=n.initSegmentReference||f.includes(d))&&shaka.util.TsParser.probe(shaka.util.BufferUtils.toUint8(p))){if(h=shaka.media.SegmentUtils.getBasicInfoFromTs(p,_.config_.disableAudio,_.config_.disableVideo,_.config_.disableText))return S.return(h)}else if((g||m.includes(s))&&(y=shaka.media.SegmentUtils.getBasicInfoFromMp4(c,p,_.config_.disableText)))return S.return(y);return d?S.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(d)):S.return(r)})},shaka.hls.HlsParser.prototype.getInfoFromSegment_=function(e,t){var r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:if(!e)return u.return({mimeType:null,data:null});return r=shaka.net.NetworkingEngine.RequestType.SEGMENT,i=shaka.util.Networking.createSegmentRequest(e.getUris(),e.getStartByte(),e.getEndByte(),l.config_.retryParameters),n=e instanceof shaka.media.SegmentReference?shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT:shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT,u.yield(l.makeNetworkRequest_(i,r,{type:n}).promise,2);case 2:if(o=(a=u.yieldResult).data,!e.aesKey){u.jumpTo(3);break}return u.yield(shaka.media.SegmentUtils.aesDecrypt(o,e.aesKey,t),4);case 4:o=u.yieldResult;case 3:return e instanceof shaka.media.SegmentReference?e.setSegmentData(o,!0):e.setSegmentData(o),(s=a.headers["content-type"])&&(s=s.split(";")[0].toLowerCase()),u.return({mimeType:s,data:o})}})},shaka.hls.HlsParser.prototype.determineDuration_=function(){if(goog.asserts.assert(this.presentationTimeline_,"Presentation timeline not created!"),this.isLive_()){if(this.presentationType_==shaka.hls.HlsParser.PresentationType_.LIVE){var e=this.getLiveDuration_()||0;isNaN(this.config_.availabilityWindowOverride)||(e=this.config_.availabilityWindowOverride),this.presentationTimeline_.
1setSegmentAvailabilityDuration(e)}}else this.presentationTimeline_.setDuration(this.getMinDuration_());if(!this.presentationTimeline_.isStartTimeLocked()){e=$jscomp.makeIterator(this.uriToStreamInfosMap_.values());for(var t=e.next();!t.done;t=e.next())!(t=t.value).stream.segmentIndex||"audio"!=t.type&&"video"!=t.type||(t=t.stream.segmentIndex.earliestReference())&&t.syncTime&&this.presentationTimeline_.setInitialProgramDateTime(t.syncTime)}this.presentationTimeline_.lockStartTime(),goog.asserts.assert(!this.presentationTimeline_.usingPresentationStartTime(),"We should not be using the presentation start time in HLS!")},shaka.hls.HlsParser.prototype.parseMasterVariables_=function(e){var t=new goog.Uri(this.masterPlaylistUri_).getQueryData();e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){var i=r.value;r=i.getAttributeValue("NAME");var n=i.getAttributeValue("VALUE");i=i.getAttributeValue("QUERYPARAM"),r&&n&&(this.globalVariables_.has(r)||this.globalVariables_.set(r,n)),i&&(r=t.get(i)[0])&&!this.globalVariables_.has(r)&&this.globalVariables_.set(i,r)}},shaka.hls.HlsParser.prototype.parseMediaVariables_=function(e,t){t=new goog.Uri(t).getQueryData();var r=new Map;e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){var n=i.value,a=n.getAttributeValue("NAME"),o=n.getAttributeValue("VALUE");i=n.getAttributeValue("QUERYPARAM"),n=n.getAttributeValue("IMPORT"),a&&o&&(r.has(a)||r.set(a,o)),i&&(a=t.get(i)[0])&&!r.has(a)&&r.set(i,a),n&&(i=this.globalVariables_.get(n))&&r.set(n,i)}return r},shaka.hls.HlsParser.prototype.parseCodecs_=function(e){var t=shaka.util.ManifestParserUtils.ContentType;e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next()){var i=r.value,n=i.getAttributeValue("AUDIO");r=i.getAttributeValue("VIDEO");var a=i.getAttributeValue("SUBTITLES");if(i=this.getCodecsForVariantTag_(i),a){var o=shaka.util.ManifestParserUtils.guessCodecsSafe(t.TEXT,i);goog.asserts.assert(null!=o,"Text codecs should be valid."),this.groupIdToCodecsMap_.set(a,o),shaka.util.ArrayUtils.remove(i,o)}n&&((a=shaka.util.ManifestParserUtils.guessCodecsSafe(t.AUDIO,i))||(a=this.config_.hls.defaultAudioCodec),this.groupIdToCodecsMap_.set(n,a)),r&&((n=shaka.util.ManifestParserUtils.guessCodecsSafe(t.VIDEO,i))||(n=this.config_.hls.defaultVideoCodec),this.groupIdToCodecsMap_.set(r,n))}}
1,shaka.hls.HlsParser.prototype.processSessionData_=function(e){e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next()){var r=t.value,i=r.getAttributeValue("DATA-ID");t=r.getAttributeValue("URI");var n=r.getAttributeValue("LANGUAGE");r=r.getAttributeValue("VALUE"),i=(new Map).set("id",i),t&&i.set("uri",shaka.hls.Utils.constructSegmentUris([this.masterPlaylistUri_],t,this.globalVariables_)[0]),n&&i.set("language",n),r&&i.set("value",r),t=new shaka.util.FakeEvent("sessiondata",i),this.playerInterface_&&this.playerInterface_.onEvent(t)}},shaka.hls.HlsParser.prototype.processContentSteering_=function(e){var t,r,i,n,a,o,s=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(!s.playerInterface_||!s.config_)return l.return();for(i=(r=$jscomp.makeIterator(e)).next();!i.done;i=r.next())if(a=(n=i.value).getAttributeValue("PATHWAY-ID"),o=n.getAttributeValue("SERVER-URI"),a&&o){s.contentSteeringManager_=new shaka.util.ContentSteeringManager(s.playerInterface_),s.contentSteeringManager_.configure(s.config_),s.contentSteeringManager_.setBaseUris([s.masterPlaylistUri_]),s.contentSteeringManager_.setManifestType(shaka.media.ManifestParser.HLS),s.contentSteeringManager_.setDefaultPathwayId(a),t=s.contentSteeringManager_.requestInfo(o);break}return l.yield(t,0)})},shaka.hls.HlsParser.prototype.parseTexts_=function(e){var t=this,r=shaka.hls.Utils.filterTagsByType(e,"SUBTITLES");e=r.map(function(e){if(t.config_.disableText)return null;try{return t.createStreamInfoFromMediaTags_([e],new Map).stream}catch(e){if(t.config_.hls.ignoreTextStreamFailures)return null;throw e}});var i=shaka.util.ManifestParserUtils.ContentType.TEXT;r=$jscomp.makeIterator(r);for(var n=r.next();!n.done;n=r.next()){var a=n.value.getRequiredAttrValue("GROUP-ID");if((n=this.groupIdToCodecsMap_.get(a))&&(a=this.groupIdToStreamInfosMap_.get(a))){a=$jscomp.makeIterator(a);for(var o=a.next();!o.done;o=a.next())(o=o.value).stream.codecs=n,o.stream.mimeType=this.guessMimeTypeBeforeLoading_(i,n)||this.guessMimeTypeFallback_(i),this.setFullTypeForStream_(o.stream)}}return e.filter(function(e){return e})}
1,shaka.hls.HlsParser.prototype.setFullTypeForStream_=function(e){var t=new Set([shaka.util.MimeUtils.getFullType(e.mimeType,e.codecs)]);e.segmentIndex&&e.segmentIndex.forEachTopLevelReference(function(r){r.mimeType&&t.add(shaka.util.MimeUtils.getFullType(r.mimeType,e.codecs))}),e.fullMimeTypes=t},shaka.hls.HlsParser.prototype.parseImages_=function(e,t){var r,i,n=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){return 1==a.nextAddress?(r=e.map(function(e){var t,r,i;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){if(1==a.nextAddress)return(t=n.config_.disableThumbnails)?a.return(null):(a.setCatchFinallyBlocks(2),a.yield(n.createStreamInfoFromImageTag_(e),4));if(2!=a.nextAddress)return r=a.yieldResult,a.return(r.stream);if(i=a.enterCatchBlock(),n.config_.hls.ignoreImageStreamFailures)return a.return(null);throw i})}).concat(t.map(function(e){if(n.config_.disableThumbnails)return null;try{var t=n.createStreamInfoFromIframeTag_(e);return t.stream.type!==shaka.util.ManifestParserUtils.ContentType.IMAGE?null:t.stream}catch(e){if(n.config_.hls.ignoreImageStreamFailures)return null;throw e}})),a.yield(Promise.all(r),2)):(i=a.yieldResult,a.return(i.filter(function(e){return e})))})},shaka.hls.HlsParser.prototype.createStreamInfosFromMediaTags_=function(e,t){e=e.filter(function(e){var t=e.getAttributeValue("URI")||"";return"SUBTITLES"!=(e=e.getAttributeValue("TYPE"))&&(""!=t||"AUDIO"==e)});var r={};e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){var n=(i=i.value).getTagKey(!this.contentSteeringManager_);r[n]?r[n].push(i):r[n]=[i]}for(var a in r)this.createStreamInfoFromMediaTags_(r[a],t,!1)}
1,shaka.hls.HlsParser.prototype.parseIFrames_=function(e){var t=this;return e.map(function(e){return(e=t.createStreamInfoFromIframeTag_(e)).stream.type!==shaka.util.ManifestParserUtils.ContentType.VIDEO?null:e.stream}).filter(function(e){return e})},shaka.hls.HlsParser.prototype.createVariantsForTags_=function(e,t,r,i,n,a){var o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O,B,F,V,G=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:if(o=[],s=new Set,!(0<t.length)){H.jumpTo(2);break}u=(l=$jscomp.makeIterator(t)).next();case 3:if(u.done){H.jumpTo(2);break}if(c=(d=u.value).getRequiredAttrValue("METHOD"),p=d.getAttributeValue("KEYFORMAT")||"identity",m=null,"NONE"==c){H.jumpTo(4);break}if(G.isAesMethod_(c)){g=(f=shaka.hls.Utils.constructSegmentUris(i(),d.getRequiredAttrValue("URI"),n)).sort().join(""),G.aesKeyMap_.has(g)||(h=shaka.net.NetworkingEngine.RequestType.KEY,y=shaka.net.NetworkingEngine.makeRequest(f,G.config_.retryParameters),_=G.makeNetworkRequest_(y,h).promise,G.aesKeyMap_.set(g,_)),H.jumpTo(4);break}if("identity"!=p){m=(S=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_.get(p))?S(d,""):null,H.jumpTo(6);break}return H.yield(G.identityDrmParser_(d,"",i,null,n),9);case 9:m=H.yieldResult;case 6:if(m){if(m.keyIds)for(T=(v=$jscomp.makeIterator(m.keyIds)).next();!T.done;T=v.next())E=T.value,s.add(E);o.push(m)}else shaka.log.warning("Unsupported HLS KEYFORMAT",p);case 4:u=l.next(),H.jumpTo(3);break;case 2:for(P={},A=(x=$jscomp.makeIterator(e)).next();!A.done;A=x.next())P[M=(C=A.value).getTagKey(!G.contentSteeringManager_)]?P[M].push(C):P[M]=[C];for(b in I=[],P)k=(R=(D=P[b])[0]).getAttributeValue("FRAME-RATE"),w=Number(R.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(R.getRequiredAttrValue("BANDWIDTH")),U=R.getAttributeValue("RESOLUTION"),N=(L=$jscomp.makeIterator(U?U.split("x"):[null,null])).next().value,O=L.next().value,B=R.getAttributeValue("VIDEO-RANGE"),(F=R.getAttributeValue("REQ-VIDEO-LAYOUT"))&&F.includes(",")&&(F=F.split(",").filter(function(e){return"CH-STEREO"==e||"CH-MONO"==e})[0]),F=F||"CH-MONO",V=G.createStreamInfosForVariantTags_(D,r,U,k),goog.asserts.assert(V.audio.length||V.video.length,"We should have created a stream!"),I.push.apply(I,$jscomp.arrayFromIterable(G.createVariants_(V.audio,V.video,w,N,O,k,B,F,o,s,a)));return H.return(I.filter(function(e){return null!=e}))}})},shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(e,t,r,i){i=shaka.util.ManifestParserUtils.ContentType,r={audio:[],video:[]};for(var n=new Map,a=[],o=!1,s=!1,l=$jscomp.makeIterator(e),u=l.next();!u.done;u=l.next()){var d=(u=u.value).getAttributeValue("AUDIO"),c=u.getAttributeValue("VIDEO");goog.asserts.assert(null==d||null==c,"Unexpected: both video and audio described by media tags!");var p=d||c;if(p){a.includes(p)||a.push(p);var m=u.getAttributeValue("PATHWAY-ID");m&&n.set(p,m),d?o=!0:c&&(s=!0),shaka.log.debug("Guessing stream type for",u.toString())}}a.length&&t.length&&(t=t.filter(function(e){return a.includes(e.getRequiredAttrValue("GROUP-ID"))}),this.createStreamInfosFromMediaTags_(t,n)),n=(t=a.sort().join(","))&&this.groupIdToStreamInfosMap_.has(t)?this.groupIdToStreamInfosMap_.get(t):[],o?r.audio.push.apply(r.audio,$jscomp.arrayFromIterable(n)):s&&r.video.push.apply(r.video,$jscomp.arrayFromIterable(n)),o=!1;var f=e.map(function(e){return e.getRequiredAttrValue("URI")});return u=r.audio.find(function(e){return e&&e.getUris().find(function(e){return f.includes(e)})}),s=this.getCodecsForVariantTag_(e[0]),n=shaka.util.ManifestParserUtils.guessCodecsSafe(i.VIDEO,s),(l=shaka.util.ManifestParserUtils.guessCodecsSafe(i.AUDIO,s))&&!n?(i=i.AUDIO,shaka.log.debug("Guessing audio-only."),o=0<r.audio.length):!r.audio.length&&!r.video.length&&l&&n?(shaka.log.debug("Guessing multiplexed audio+video."),i=i.VIDEO,s=[[n,l].join()]):r.audio.length&&u?(shaka.log.debug("Guessing audio-only."),i=i.AUDIO,o=!0):r.video.length&&!r.audio.length?(shaka.log.debug("Guessing audio-only."),i=i.AUDIO):(shaka.log.debug("Guessing video-only."),i=i.VIDEO),o||(e=this.createStreamInfoFromVariantTags_(e,s,i),t&&(e.stream.groupId=t),r[e.stream.type]=[e]),r}
1,shaka.hls.HlsParser.prototype.getCodecsForVariantTag_=function(e){return e=e.getAttributeValue("CODECS")||"",this.codecInfoInManifest_=0<e.length,this.codecInfoInManifest_||this.config_.hls.disableCodecGuessing||(e=[],this.config_.disableVideo||e.push(this.config_.hls.defaultVideoCodec),this.config_.disableAudio||e.push(this.config_.hls.defaultAudioCodec),e=e.join(",")),e=e.split(/\s*,\s*/),shaka.media.SegmentUtils.codecsFiltering(e)},shaka.hls.HlsParser.prototype.getChannelsCount_=function(e){return(e=e.getAttributeValue("CHANNELS"))?parseInt(e=e.split("/")[0],10):null},shaka.hls.HlsParser.prototype.getSampleRate_=function(e){return(e=e.getAttributeValue("SAMPLE-RATE"))?parseInt(e,10):null},shaka.hls.HlsParser.prototype.isSpatialAudio_=function(e){return!!(e=e.getAttributeValue("CHANNELS"))&&2==(e=e.split("/")).length&&("JOC"===e[1]||e[1].includes("ATMOS"))},shaka.hls.HlsParser.prototype.getClosedCaptions_=function(e,t){var r=shaka.util.ManifestParserUtils.ContentType;if(e=e.getAttributeValue("CLOSED-CAPTIONS"),t==r.VIDEO){if(this.config_.disableText)return this.needsClosedCaptionsDetection_=!1,null;if(e){if("NONE"!=e)return this.groupIdToClosedCaptionsMap_.get(e);this.needsClosedCaptionsDetection_=!1}else if(!e&&this.groupIdToClosedCaptionsMap_.size)for(t=$jscomp.makeIterator(this.groupIdToClosedCaptionsMap_.keys()).next();!t.done;)return this.groupIdToClosedCaptionsMap_.get(t.value)}return null},shaka.hls.HlsParser.prototype.getLanguage_=function(e){return shaka.util.LanguageUtils.normalize(e||"und")},shaka.hls.HlsParser.prototype.getType_=function(e){return"subtitles"==(e=e.getRequiredAttrValue("TYPE").toLowerCase())&&(e=shaka.util.ManifestParserUtils.ContentType.TEXT),e},shaka.hls.HlsParser.prototype.createVariants_=function(e,t,r,i,n,a,o,s,l,u,d){for(var c=shaka.util.ManifestParserUtils.ContentType,p=shaka.drm.DrmUtils,m=$jscomp.makeIterator(t),f=m.next();!f.done;f=m.next())this.addVideoAttributes_(f.value.stream,i,n,a,o,s,null);for(i=this.config_.disableAudio,(!e.length||i)&&(e=[null]),i=this.config_.disableVideo,(!t.length||i)&&(t=[null]),i=[],n=(e=$jscomp.makeIterator(e)).next();!n.done;n=e.next())for(n=n.value,o=(a=$jscomp.makeIterator(t)).next();!o.done;o=a.next()){var g=o.value;(o=n?n.stream:null)&&(o.drmInfos=l,o.keyIds=u),(s=g?g.stream:null)&&(s.drmInfos=l,s.keyIds=u,this.config_.disableIFrames||shaka.util.StreamUtils.setBetterIFrameStream(s,d)),s&&!o&&(s.bandwidth=r),!s&&o&&(o.bandwidth=r),m=n?n.stream.drmInfos:null,f=g?g.stream.drmInfos:null,g=g?g.getUris().sort().join(","):"";var h=n?n.getUris().sort().join(","):"",y=[];o&&o.codecs&&y.push(o.codecs),s&&s.codecs&&y.push(s.codecs),g=[g,h,y.sort()].join("-"),o&&s&&!p.areDrmCompatible(m,f)?shaka.log.warning("Incompatible DRM info in HLS variant.  Skipping."):this.variantUriSet_.has(g)?shaka.log.debug("Skipping variant which only differs in text streams."):(goog.asserts.assert(!o||o.type==c.AUDIO,"Audio parameter mismatch!"),goog.asserts.assert(!s||s.type==c.VIDEO,"Video parameter mismatch!"),o={id:this.globalId_++,language:o?o.language:"und",disabledUntilTime:0,primary:!!o&&o.primary||!!s&&s.primary,audio:o,video:s,bandwidth:r,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},i.push(o),this.variantUriSet_.add(g))}return i},shaka.hls.HlsParser.prototype.parseClosedCaptions_=function(e){e=shaka.hls.Utils.filterTagsByType(e,"CLOSED-CAPTIONS"),this.needsClosedCaptionsDetection_=0==e.length,e=$jscomp.makeIterator(e);for(var t=e.next();!t.done;t=e.next()){var r=t.value;goog.asserts.assert("EXT-X-MEDIA"==r.name,"Should only be called on media tags!");var i=r.getAttributeValue("LANGUAGE");t=this.getLanguage_(i),i||(i=r.getAttributeValue("NAME"))&&(t=i),i=r.getRequiredAttrValue("GROUP-ID"),r=r.getRequiredAttrValue("INSTREAM-ID").replace("SERVICE","svc"),this.groupIdToClosedCaptionsMap_.get(i)||this.groupIdToClosedCaptionsMap_.set(i,new Map),this.groupIdToClosedCaptionsMap_.get(i).set(r,t)}},shaka.hls.HlsParser.prototype.createStreamInfoFromMediaTags_=function(e,t,r){r=void 0===r||r;for(var i=[],n=[],a=new Map,o=$jscomp.makeIterator(e),s=o.next();!s.done;s=o.next()){var l=s.value;goog.asserts.assert("EXT-X-MEDIA"==l.name,"Should only be called on media tags!"),s=r?l.getRequiredAttrValue("URI"):l.getAttributeValue("URI")||shaka.hl
1s.HlsParser.FAKE_MUXED_URL_,l=l.getRequiredAttrValue("GROUP-ID"),i.push(s),n.push(l),a.set(l,s)}if(r=n.sort().join(","),s=e[0],e="",(o=this.getType_(s))==shaka.util.ManifestParserUtils.ContentType.TEXT)e=s.getAttributeValue("CODECS")||"";else for(l=(n=$jscomp.makeIterator(n)).next();!l.done;l=n.next())if(l=l.value,this.groupIdToCodecsMap_.has(l)){e=this.groupIdToCodecsMap_.get(l);break}if(n=i.sort().join(","),this.uriToStreamInfosMap_.has(n))return this.uriToStreamInfosMap_.get(n);if(l=this.globalId_++,this.contentSteeringManager_){a=$jscomp.makeIterator(a);for(var u=a.next();!u.done;u=a.next()){var d=$jscomp.makeIterator(u.value);u=d.next().value,d=d.next().value,(u=t.get(u))&&this.contentSteeringManager_.addLocation(l,u,d)}}t=s.getAttributeValue("LANGUAGE"),a=s.getAttributeValue("NAME"),u="YES"==s.getAttributeValue("DEFAULT"),d="audio"==o?this.getChannelsCount_(s):null;var c="audio"==o&&this.isSpatialAudio_(s),p=s.getAttributeValue("CHARACTERISTICS"),m="YES"==s.getAttributeValue("FORCED");return s="audio"==o?this.getSampleRate_(s):null,(i=this.createStreamInfo_(l,i,e,o,t,u,a,d,null,p,m,s,c)).stream&&(i.stream.groupId=r),this.groupIdToStreamInfosMap_.has(r)?this.groupIdToStreamInfosMap_.get(r).push(i):this.groupIdToStreamInfosMap_.set(r,[i]),this.uriToStreamInfosMap_.set(n,i),i}
1,shaka.hls.HlsParser.prototype.createStreamInfoFromImageTag_=function(e){var t,r,i,n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){return 1==p.nextAddress?(goog.asserts.assert("EXT-X-IMAGE-STREAM-INF"==e.name,"Should only be called on image tags!"),t=shaka.util.ManifestParserUtils.ContentType.IMAGE,r=e.getRequiredAttrValue("URI"),i=e.getAttributeValue("CODECS","jpeg")||"",c.uriToStreamInfosMap_.has(r))?p.return(c.uriToStreamInfosMap_.get(r)):(n=e.getAttributeValue("LANGUAGE"),a=e.getAttributeValue("NAME"),o=e.getAttributeValue("CHARACTERISTICS"),s=c.createStreamInfo_(c.globalId_++,[r],i,t,n,!1,a,null,null,o,!1,null,!1),(l=e.getAttributeValue("RESOLUTION"))?p.yield(s.stream.createSegmentIndex(),3):p.jumpTo(2)):(2!=p.nextAddress&&(u=s.stream.segmentIndex.earliestReference().getTilesLayout())&&(s.stream.width=Number(l.split("x")[0])*Number(u.split("x")[0]),s.stream.height=Number(l.split("x")[1])*Number(u.split("x")[1])),(d=e.getAttributeValue("BANDWIDTH"))&&(s.stream.bandwidth=Number(d)),c.uriToStreamInfosMap_.set(r,s),p.return(s))})},shaka.hls.HlsParser.prototype.createStreamInfoFromIframeTag_=function(e){goog.asserts.assert("EXT-X-I-FRAME-STREAM-INF"==e.name,"Should only be called on iframe tags!");var t=shaka.util.ManifestParserUtils.ContentType.VIDEO,r=e.getRequiredAttrValue("URI"),i=e.getAttributeValue("CODECS")||"";if("mjpg"==i&&(t=shaka.util.ManifestParserUtils.ContentType.IMAGE),this.uriToStreamInfosMap_.has(r))return this.uriToStreamInfosMap_.get(r);var n=e.getAttributeValue("LANGUAGE"),a=e.getAttributeValue("NAME"),o=e.getAttributeValue("CHARACTERISTICS");return t=this.createStreamInfo_(this.globalId_++,[r],i,t,n,!1,a,null,null,o,!1,null,!1),i=e.getAttributeValue("RESOLUTION"),i=(n=$jscomp.makeIterator(i?i.split("x"):[null,null])).next().value,n=n.next().value,t.stream.width=Number(i)||void 0,t.stream.height=Number(n)||void 0,(e=e.getAttributeValue("BANDWIDTH"))&&(t.stream.bandwidth=Number(e)),this.uriToStreamInfosMap_.set(r,t),t},shaka.hls.HlsParser.prototype.createStreamInfoFromVariantTags_=function(e,t,r){for(var i=this.globalId_++,n=[],a=$jscomp.makeIterator(e),o=a.next();!o.done;o=a.next()){var s=o.value;goog.asserts.assert("EXT-X-STREAM-INF"==s.name,"Should only be called on variant tags!"),o=s.getRequiredAttrValue("URI"),s=s.getAttributeValue("PATHWAY-ID"),this.contentSteeringManager_&&s&&this.contentSteeringManager_.addLocation(i,s,o),n.push(o)}return(a=n.sort().join(",")+t.sort().join(","),this.uriToStreamInfosMap_.has(a))?this.uriToStreamInfosMap_.get(a):(o=n.join(","),e=this.getClosedCaptions_(e[0],r),t=shaka.util.ManifestParserUtils.guessCodecs(r,t),r=this.createStreamInfo_(i,n,t,r,null,!1,o,null,e,null,!1,null,!1),this.uriToStreamInfosMap_.set(a,r),r)},shaka.hls.HlsParser.prototype.createStreamInfo_=function(e,t,r,i,n,a,o,s,l,u,d,c,p){var m=this,f=this.makeStreamObject_(e,r,i,n,a,o,s,l,u,d,c,p);t.includes(shaka.hls.HlsParser.FAKE_MUXED_URL_)&&(f.isAudioMuxedInVideo=!0,f.mimeType="video/mp2t",this.setFullTypeForStream_(f));var g={stream:f,type:i,redirectUris:[],getUris:function(){},minTimestamp:0,maxTimestamp:0,mediaSequenceToStartTime:new Map,canSkipSegments:!1,canBlockReload:!1,hasEndList:!1,firstSequenceNumber:-1,nextMediaSequence:-1,nextPart:-1,loadedOnce:!1},h=function(){return m.contentSteeringManager_&&1<t.length?m.contentSteeringManager_.getLocations(e):g.redirectUris.concat(shaka.hls.Utils.constructUris([m.masterPlaylistUri_],t,m.globalVariables_))};g.getUris=h;var y,_=function(t){var y,_,S,v,T,E,P,x,A,C,M,I,b,D,R,k,w,U,L,N;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){switch(O.nextAddress){case 1:return y=shaka.util.ManifestParserUtils.ContentType,O.setCatchFinallyBlocks(2),O.yield(t.promise,4);case 4:if(_=O.yieldResult,t.aborted)return O.return();if((S=_.uri)!=_.originalUri&&(g.getUris().includes(S)||g.redirectUris.push(S)),(v=m.manifestTextParser_.parsePlaylist(_.data)).type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);return T=shaka.hls.Utils.filterTagsByName(v.tags,"EXT-X-DEFINE"),E=m.parseMediaVariables_(T,S),P=!1,(!m.codecInfoInManifest_&&m.config_.hls.disableCodecGuessing||m.needsClosedCaptionsDetection_&&i==y.VIDEO&&!m.config_.hls.disableClosedCaptionsDetection)&&0<v.segments.length&&(m.needsClosedCaptionsDetection_=!1,P=!0),x=!m.codecInfoInManifest_&&m.config_.hls.disableCodecGuessing,A=m.isLive_(),O.yield(m.convertParsedPlaylistIntoStreamInfo_(e,E,v,h,r,i,n,a,o,s,l,u,d,c,p,void 0,P,x),5);case 5:if(C=O.yieldResult,t.aborted)return O.return();if(M=C.stream,m.determineStartTime_(v),m.isLive_()&&!A&&m.changePresentationTimelineToLive_(v),g.minTimestamp=C.minTimestamp,g.maxTimestamp=C.maxTimestamp,g.canSkipSegments=C.canSkipSegments,g.canBlockReload=C.canBlockReload,g.hasEndList=C.hasEndList,g.mediaSequenceToStartTime=C.mediaSequenceToStartTime,g.nextMediaSequence=C.nextMediaSequence,g.nextPart=C.nextPart,g.loadedOnce=!0,f.segmentIndex=M.segmentIndex,f.encrypted=M.encrypted,f.drmInfos=M.drmInfos,f.keyIds=M.keyIds,f.mimeType=M.mimeType,f.bandwidth=f.bandwidth||M.bandwidth,f.codecs=f.codecs||M.codecs,f.closedCaptions=f.closedCaptions||M.closedCaptions,f.width=f.width||M.width,f.height=f.height||M.height,f.hdr=f.hdr||M.hdr,f.colorGamut=f.colorGamut||M.colorGamut,f.frameRate=f.frameRate||M.frameRate,"und"==f.language&&"und"!=M.language&&(f.language=M.language),f.language=f.language||M.language,f.channelsCount=f.channelsCount||M.channelsCount,f.audioSamplingRate=f.audioSamplingRate||M.audioSamplingRate,m.setFullTypeForStream_(f),f.drmInfos.length&&m.playerInterface_.newDrmInfo(f),I=!1,(!l&&f.closedCaptions||l&&f.closedCaptions&&l.size!=f.closedCaptions.size)&&(I=!0),m.manifest_&&I&&m.playerInterface_.makeTextStreamsForClosedCaptions(m.manifest_),i==y.VIDEO||i==y.AUDIO)for(D=(b=$jscomp.makeIterator(m.uriToStreamInfosMap_.values())
1).next();!D.done;D=b.next())(R=D.value).loadedOnce||R.type!=i||(R.stream.mimeType=M.mimeType,m.setFullTypeForStream_(R.stream));i==y.TEXT&&(k=M.segmentIndex.earliestReference())&&k.initSegmentReference&&(f.mimeType="application/mp4",m.setFullTypeForStream_(f)),w=shaka.media.QualityObserver.createQualityInfo(f),f.segmentIndex.forEachTopLevelReference(function(e){e.initSegmentReference&&(e.initSegmentReference.mediaQuality=w)}),m.hasEnoughInfoToFinalizeStreams_()&&(m.streamsFinalized_?m.finalizeStreams_([g]):(m.streamsFinalized_=!0,U=Array.from(m.uriToStreamInfosMap_.values()).filter(function(e){return e.stream.segmentIndex}),m.finalizeStreams_(U),m.determineDuration_(),0<(L=m.getUpdatePlaylistDelay_())&&m.updatePlaylistTimer_.tickAfter(L))),m.processDateRangeTags_(v.tags,f.type,E,h),m.manifest_&&(m.manifest_.startTime=m.startTime_),O.leaveTryBlock(0);break;case 2:if(N=O.enterCatchBlock(),f.closeSegmentIndex(),N.code===shaka.util.Error.Code.OPERATION_ABORTED)return O.return();if(!m.playerInterface_.disableStream(f))throw N;O.jumpToEnd()}})},S=null;return f.createSegmentIndex=function(){return S||(f.isAudioMuxedInVideo?(f.segmentIndex=new shaka.media.SegmentIndex([]),Promise.resolve()):(y=m.requestManifest_(g.getUris(),!0),S=new Promise(function(e){e(_(y))})))},f.closeSegmentIndex=function(){S&&!f.segmentIndex&&y.abort(),f.segmentIndex&&(f.segmentIndex.release(),f.segmentIndex=null),S=null},g},shaka.hls.HlsParser.prototype.getMinDuration_=function(){for(var e=1/0,t=$jscomp.makeIterator(this.uriToStreamInfosMap_.values()),r=t.next();!r.done;r=t.next())(r=r.value).stream.segmentIndex&&"text"!=r.stream.type&&!r.stream.isAudioMuxedInVideo&&(e=Math.min(e,r.maxTimestamp));return e},shaka.hls.HlsParser.prototype.getLiveDuration_=function(){for(var e=1/0,t=1/0,r=$jscomp.makeIterator(this.uriToStreamInfosMap_.values()),i=r.next();!i.done;i=r.next())(i=i.value).stream.segmentIndex&&"text"!=i.stream.type&&!i.stream.isAudioMuxedInVideo&&(e=Math.min(e,i.maxTimestamp),t=Math.min(t,i.minTimestamp));return e-t},shaka.hls.HlsParser.prototype.notifySegmentsForStreams_=function(e){var t=[];e=$jscomp.makeIterator(e);for(var r=e.next();!r.done;r=e.next())(r=r.value).segmentIndex&&r.segmentIndex.forEachTopLevelReference(function(e){t.push(e)});this.presentationTimeline_.notifySegments(t)},shaka.hls.HlsParser.prototype.finalizeStreams_=function(e){if(!this.isLive_())for(var t=this.getMinDuration_(),r=$jscomp.makeIterator(e),i=r.next();!i.done;i=r.next())i.value.stream.segmentIndex.fit(0,t);this.notifySegmentsForStreams_(e.map(function(e){return e.stream})),r=Array.from(this.uriToStreamInfosMap_.values()).filter(function(e){return e.stream.segmentIndex});var n=shaka.util.ManifestParserUtils.ContentType;t=r.some(function(e){return e.stream.type==n.AUDIO}),i=r.some(function(e){return e.stream.type==n.VIDEO}),r=this.isLive_()&&!this.usesProgramDateTime_,t=!this.isLive_()&&this.usesProgramDateTime_&&!(t&&i),this.config_.hls.ignoreManifestProgramDateTime||r||t?this.syncStreamsWithSequenceNumber_(e,r):(this.syncStreamsWithProgramDateTime_(e),0<this.config_.hls.ignoreManifestProgramDateTimeForTypes.length&&this.syncStreamsWithSequenceNumber_(e))}
1,shaka.hls.HlsParser.prototype.ignoreManifestProgramDateTimeFor_=function(e){return!!this.config_.hls.ignoreManifestProgramDateTime||this.config_.hls.ignoreManifestProgramDateTimeForTypes.includes(e)},shaka.hls.HlsParser.prototype.hasEnoughInfoToFinalizeStreams_=function(){if(!this.manifest_)return!1;for(var e=[],t=[],r=$jscomp.makeIterator(this.manifest_.variants),i=r.next();!i.done;i=r.next())(i=i.value).video&&e.push(i.video),i.audio&&t.push(i.audio);return(!(0<e.length)||!!e.some(function(e){return e.segmentIndex}))&&(!(0<t.length)||!!t.some(function(e){return e.segmentIndex}))},shaka.hls.HlsParser.prototype.convertParsedPlaylistIntoStreamInfo_=function(e,t,r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y){h=void 0===h||h,y=void 0===y||y;var _,S,v,T,E,P,x,A,C,M,I,b,D,R,k,w,U,L,N,O,B,F,V,G,H,j,K,W=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){switch(q.nextAddress){case 1:if(S=(_=r.segments||[]).every(function(e){return!!shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-GAP")}),!_.length||S)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_EMPTY_MEDIA_PLAYLIST);if(W.determinePresentationType_(r),W.isLive_()&&W.determineLastTargetDuration_(r),v=W.isLive_()?W.mediaSequenceToStartTimeByType_.get(a):new Map,E=(T=W.createSegments_(r,v,t,i,a)).segments,P=T.bandwidth,I=M=C=A=x=null,!(0<E.length&&h)){q.jumpTo(2);break}return q.yield(W.getBasicInfoFromSegments_(E),3);case 3:a=(b=q.yieldResult).type,o=b.language,u=b.channelCount,m=b.sampleRate,W.config_.disableText||(d=b.closedCaptions),A=b.height,x=b.width,C=b.videoRange,M=b.colorGamut,I=b.frameRate,y&&(g=b.mimeType,n=b.codecs);case 2:if(g){q.jumpTo(4);break}return q.yield(W.guessMimeType_(a,n,E),5);case 5:g=q.yieldResult,a!=shaka.util.ManifestParserUtils.ContentType.TEXT||n||"application/mp4"!=g||!E[0]||E[0].initSegmentReference||(g="text/vtt");case 4:return q.yield(W.parseDrmInfo_(r,g,i,t),6);case 6:if(R=(D=q.yieldResult).drmInfos,k=D.keyIds,w=D.encrypted,U=D.aesEncrypted,w&&!R.length&&!U)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_KEYFORMATS_NOT_SUPPORTED);return(L=W.makeStreamObject_(e,n,a,o,s,l,u,d,c,p,m,f)).encrypted=w&&!U,L.drmInfos=R,L.keyIds=k,L.mimeType=g,P&&(L.bandwidth=P),W.setFullTypeForStream_(L),a==shaka.util.ManifestParserUtils.ContentType.VIDEO&&(x||A||C||M)&&W.addVideoAttributes_(L,x,A,I,C,null,M),W.isLive_()&&W.determineLastTargetDuration_(r),N=E[0].startTime,O=E[E.length-1].endTime,L.segmentIndex=new shaka.media.SegmentIndex(E),F=!!(B=shaka.hls.Utils.getFirstTagWithName(r.tags,"EXT-X-SERVER-CONTROL"))&&null!=B.getAttribute("CAN-SKIP-UNTIL"),V=!!B&&null!=B.getAttribute("CAN-BLOCK-RELOAD"),G=shaka.hls.Utils.getFirstTagWithNameAsNumber(r.tags,"EXT-X-MEDIA-SEQUENCE",0),j=(H=W.getNextMediaSequenceAndPart_(G,E)).nextMediaSequence,K=H.nextPart,q.return({stream:L,type:a,redirectUris:[],getUris:i,minTimestamp:N,maxTimestamp:O,canSkipSegments:F,canBlockReload:V,hasEndList:!1,firstSequenceNumber:-1,nextMediaSequence:j,nextPart:K,mediaSequenceToStartTime:v,loadedOnce:!1})}})},shaka.hls.HlsParser.prototype.getNextMediaSequenceAndPart_=function(e,t){e=e+t.length-1;var r=-1;if(!t.length)return{nextMediaSequence:++e,nextPart:r};var i=(t=t[t.length-1]).partialReferences;return t.partialReferences.length?(r=i.length-1,i[i.length-1].isPreload()||(e++,r=0)):(e++,t.hasByterangeOptimization()&&(r=0)),{nextMediaSequence:e,nextPart:r}},shaka.hls.HlsParser.prototype.makeStreamObject_=function(e,t,r,i,n,a,o,s,l,u,d,c){e=this.guessMimeTypeBeforeLoading_(r,t)||this.guessMimeTypeFallback_(r);var p=[];if(l){l=$jscomp.makeIterator(l.split(","));for(var m=l.next();!m.done;m=l.next())p.push(m.value)}return l=void 0,m=null,r==shaka.util.ManifestParserUtils.ContentType.TEXT?l=p.includes("public.accessibility.transcribes-spoken-dialog")&&p.includes("public.accessibility.describes-music-and-sound")?shaka.util.ManifestParserUtils.TextStreamKind.CLOSED_CAPTION:shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:p.includes("public.accessibility.describes-video")&&(m=sh
1aka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED),p.length||l!==shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE||p.push(shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE),t={id:this.globalId_++,originalId:a,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:e,codecs:t,kind:r==shaka.util.ManifestParserUtils.ContentType.TEXT?shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:void 0,encrypted:!1,drmInfos:[],keyIds:new Set,language:this.getLanguage_(i),originalLanguage:i,label:a,type:r,primary:n,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:void 0,pixelAspectRatio:void 0,width:void 0,height:void 0,bandwidth:void 0,roles:p,forced:u,channelsCount:o,audioSamplingRate:d,spatialAudio:c,closedCaptions:s,hdr:void 0,colorGamut:void 0,videoLayout:void 0,tilesLayout:void 0,accessibilityPurpose:m,external:!1,fastSwitching:!1,fullMimeTypes:new Set,isAudioMuxedInVideo:!1},this.setFullTypeForStream_(t),t},shaka.hls.HlsParser.prototype.parseDrmInfo_=function(e,t,r,i){var n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R,k=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.nextAddress){case 1:if(n=new Map,e.segments){for(o=(a=$jscomp.makeIterator(e.segments)).next();!o.done;o=a.next())if(s=o.value,l=shaka.hls.Utils.filterTagsByName(s.tags,"EXT-X-KEY"),u=null,l.length)for(u=k.getInitSegmentReference_(e,s.tags,r,i),c=(d=$jscomp.makeIterator(l)).next();!c.done;c=d.next())p=c.value,n.set(p,u)}f=m=!1,g=[],h=new Set,_=(y=$jscomp.makeIterator(n)).next();case 2:if(_.done){w.jumpTo(4);break}if(S=_.value,T=(v=$jscomp.makeIterator(S)).next().value,E=v.next().value,P=T,x=E,"NONE"==(A=P.getRequiredAttrValue("METHOD"))){w.jumpTo(3);break}if(m=!0,C=P.getAttributeValue("KEYFORMAT")||"identity",M=null,k.isAesMethod_(A)){f=!0,w.jumpTo(3);break}if("identity"!=C){M=(I=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_.get(C))?I(P,t):null,w.jumpTo(6);break}return w.yield(k.identityDrmParser_(P,t,r,x,i),8);case 8:M=w.yieldResult;case 6:if(M){if(M.keyIds)for(D=(b=$jscomp.makeIterator(M.keyIds)).next();!D.done;D=b.next())R=D.value,h.add(R);g.push(M)}else shaka.log.warning("Unsupported HLS KEYFORMAT",C);case 3:_=y.next(),w.jumpTo(2);break;case 4:return w.return({drmInfos:g,keyIds:h,encrypted:m,aesEncrypted:f})}})},shaka.hls.HlsParser.prototype.parseAESDrmTag_=function(e,t,r,i){var n=this;if(!window.crypto||!window.crypto.subtle)throw shaka.log.alwaysWarn("Web Crypto API is not available to decrypt AES. (Web Crypto only exists in secure origins like https)"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_WEB_CRYPTO_API);var a=0,o=e.getAttributeValue("IV","");if(o){var s=shaka.util.Uint8ArrayUtils.fromHex(o.substr(2));if(16!=s.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_IV_LENGTH)}else a=shaka.hls.Utils.getFirstTagWithNameAsNumber(t.tags,"EXT-X-MEDIA-SEQUENCE",0);var l=shaka.hls.Utils.constructSegmentUris(r(),e.getRequiredAttrValue("URI"),i),u=l.sort().join("");if(t=e.toString()+"-"+a+"-"+u,!this.aesKeyInfoMap_.has(t)){var d={bitsKey:128,blockCipherMode:"CBC",iv:s,firstMediaSequenceNumber:a};switch(e.getRequiredAttrValue("METHOD")){case"AES-256":d.bitsKey=256;break;case"AES-256-CTR":d.bitsKey=256,d.blockCipherMode="CTR"}d.fetchKey=function(){var e,t,r,i,a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){if(1==o.nextAddress)return n.aesKeyMap_.has(u)||(e=shaka.net.NetworkingEngine.RequestType.KEY,t=shaka.net.NetworkingEngine.makeRequest(l,n.config_.retryParameters),r=n.makeNetworkRequest_(t,e).promise,n.aesKeyMap_.set(u,r)),o.yield(n.aesKeyMap_.get(u),2);if(3!=o.nextAddress){if(!(i=o.yieldResult).data||i.data.byteLength!=d.bitsKey/8)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_KEY_LENGTH);return a={name:"CTR"==d.blockCipherMode?"AES-CTR":"AES-CBC",length:d.bitsKey},o.yield(window.crypto.subtle.importKey("raw",i.data,a,!0,["decrypt"]),3)}d.cryptoKey=o.yieldResult,d.fetchKey=void 0,o.jumpToEnd()})},this.aesKeyInfoMap_.set(t,d)}return this.aesKeyInfoMap_.get(t)},shaka.hls.HlsParser.prototype.determineStartTime_=function(e){null==this.startTime_&&(e=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-START"))&&(this.startTime_=Number(e.getRequiredAttrValue("TIME-OFFSET")))},shaka.hls.HlsParser.prototype.determinePresentationType_=function(e){var t=shaka.hls.HlsParser.PresentationType_,r=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-PLAYLIST-TYPE");e=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-ENDLIST"),e=r&&"VOD"==r.value||e,r=r&&"EVENT"==r.value&&!e,r=!e&&!r,e?this.setPresentationType_(t.VOD):r?this.setPresentationType_(t.LIVE):this.setPresentationType_(t.EVENT)},shaka.hls.HlsParser.prototype.determineLastTargetDuration_=function(e){var t=1/0,r=e.segments;if(r.length)for(var i=r.length-1;0<=i;){var n=shaka.hls.Utils.getFirstTagWithName(r[i].tags,"EXTINF");if(n){t=Number((t=n.value.split(","))[0]);break}i--}r=Number((r=this.getRequiredTag_(e.tags,"EXT-X-TARGETDURATION")).value),(i=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-PART-INF"))&&(this.partialTargetDuration_=Number(i.getRequiredAttrValue("PART-TARGET"))),e=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-SERVER-CONTROL"),this.lowLatencyMode_&&this.partialTargetDuration_?(this.lastTargetDuration_=this.lowLatencyByterangeOptimization_?5*this.partialTargetDuration_<=t?Math.min(this.partialTargetDuration_,this.lastTargetDuration_):Math.min(t,this.lastTargetDuration_):Math.min(this.partialTargetDuration_,this.lastTargetDuration_),this.lowLatencyPresentationDelay_=e?Number(e.getRequiredAttrValue("PART-HOLD-BACK")):0):(this.lastTargetDuration_=Math.min(t,this.lastTargetDuration_),this.presentationDelay_=(e=e?e.getAttribute("HOLD-BACK"):null)?Number(e.value):0),this.maxTargetDuration_=Math.max(r,this.maxTargetDuration_)}
1,shaka.hls.HlsParser.prototype.changePresentationTimelineToLive_=function(e){var t=0;if(this.config_.defaultPresentationDelay)t=this.config_.defaultPresentationDelay;else if(this.lowLatencyPresentationDelay_)t=this.lowLatencyPresentationDelay_;else if(this.presentationDelay_)t=this.presentationDelay_;else{var r=e.segments.length,i=this.config_.hls.liveSegmentsDelay;for(i>r-2&&(i=Math.max(1,r-2)),i=r-i;i<r;i++){var n=shaka.hls.Utils.getFirstTagWithName(e.segments[i].tags,"EXTINF");n?t+=Math.ceil(Number((n=n.value.split(","))[0])):t+=this.maxTargetDuration_}}this.startTime_&&0>this.startTime_&&(t=Math.min(-this.startTime_,t),this.startTime_+=t),this.presentationTimeline_.setPresentationStartTime(0),this.presentationTimeline_.setDelay(t),this.presentationTimeline_.setStatic(!1)},shaka.hls.HlsParser.prototype.getInitSegmentReference_=function(e,t,r,i){var n=shaka.hls.Utils.getFirstTagWithName(t,"EXT-X-MAP");if(!n)return null;var a=n.getRequiredAttrValue("URI"),o=shaka.hls.Utils.constructSegmentUris(r(),a,i);if(a=[o.toString(),n.getAttributeValue("BYTERANGE","")].join("-"),!this.mapTagToInitSegmentRefMap_.has(a)){var s=void 0,l=null,u=!1;t=$jscomp.makeIterator(t);for(var d=t.next();!d.done;d=t.next())"EXT-X-KEY"==(d=d.value).name?(u=d.getRequiredAttrValue("METHOD"),this.isAesMethod_(u)&&d.id<n.id?(u=!1,s=this.parseAESDrmTag_(d,e,r,i)):u="NONE"!=u):"EXT-X-BYTERANGE"==d.name&&d.id<n.id&&(l=d);e=this.createInitSegmentReference_(o,n,l,s,u),this.mapTagToInitSegmentRefMap_.set(a,e)}return this.mapTagToInitSegmentRefMap_.get(a)},shaka.hls.HlsParser.prototype.createInitSegmentReference_=function(e,t,r,i,n){var a=0,o=null;return(t=t.getAttributeValue("BYTERANGE"))||!r||(t=r.value),t&&(o=Number((a=t.split("@"))[0]),o=(a=Number(a[1]))+o-1,i&&(r=o+1-a)%16&&(o+=16-r%16)),new shaka.media.InitSegmentReference(function(){return e},a,o,null,null,null,i,n)},shaka.hls.HlsParser.prototype.createSegmentReference_=function(e,t,r,i,n,a,o,s,l){var u=shaka.hls.HlsParser;a=function(e){e=new goog.Uri(e).getPath().split(".").pop();var t=u.EXTENSION_MAP_BY_CONTENT_TYPE_.get(o).get(e);return t||(t=u.RAW_FORMATS_TO_MIME_TYPES_.get(e)),t};var d=r.tags,c=shaka.hls.Utils.getFirstTagWithName(d,"EXTINF"),p=0,m=0,f=null;r.partialSegments.length&&(this.manifest_.isLowLatency=!0);var g=null;if(!this.config_.hls.ignoreManifestProgramDateTime){var h=shaka.hls.Utils.getFirstTagWithName(d,"EXT-X-PROGRAM-DATE-TIME");h&&h.value&&(g=shaka.util.TXml.parseDate(h.value),goog.asserts.assert(null!=g,"EXT-X-PROGRAM-DATE-TIME format not valid"),this.usesProgramDateTime_=!0)}var y=shaka.media.SegmentReference.Status.AVAILABLE;if(shaka.hls.Utils.getFirstTagWithName(d,"EXT-X-GAP")&&(this.manifest_.gapCount++,y=shaka.media.SegmentReference.Status.MISSING),!c){if(0==r.partialSegments.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_REQUIRED_TAG_MISSING,"EXTINF");if(!this.lowLatencyMode_)return null}var _=[];h=!1;var S=null,v=!1,T=!1;if(this.lowLatencyMode_&&r.partialSegments.length){p=e&&window.ReadableStream&&this.config_.hls.allowLowLatencyByteRangeOptimization;for(var E=g,P={},x=0;x<r.partialSegments.length;P={uris$jscomp$24:void 0,pUri:void 0},x++){var A=r.partialSegments[x],C=0==x?t:_[_.length-1],M=0==x?i:C.endTime,I=Number(A.getAttributeValue("DURATION"))||this.partialTargetDuration_;if(I){var b=M+I,D=0,R=null;if("EXT-X-PRELOAD-HINT"==A.name?(D=(D=A.getAttributeValue("BYTERANGE-START"))?Number(D):0,(C=A.getAttributeValue("BYTERANGE-LENGTH"))?R=D+Number(C)-1:D&&(R=Number.MAX_SAFE_INTEGER)):(D=A.getAttributeValue("BYTERANGE"),D=(R=$jscomp.makeIterator(this.parseByteRange_(C,D))).next().value,R=R.next().value),P.pUri=A.getAttributeValue("URI"),P.pUri){C=shaka.media.SegmentReference.Status.AVAILABLE,"YES"==A.getAttributeValue("GAP")&&(this.manifest_.gapCount++,C=shaka.media.SegmentReference.Status.MISSING,v=!0),P.uris$jscomp$24=null;var k=function(e){return function(){return null==e.uris$jscomp$24&&(goog.asserts.assert(e.pUri,"Partial uri should be defined!"),e.uris$jscomp$24=shaka.hls.Utils.constructSegmentUris(s(),e.pUri,n)),e.uris$jscomp$24}}(P);p&&0<=D&&null!=R&&(S=k,h=!0),M=new shaka.media.SegmentReference(M,b,k,D,R,e,0,0,1/0,[],"",null,E,C,l),"EXT-X-PRELOAD-HINT"
1==A.name&&(M.markAsPreload(),T=!0),"YES"!=A.getAttributeValue("INDEPENDENT")&&0<x&&M.markAsNonIndependent(),(P=a(P.pUri))&&(M.mimeType=P,u.MIME_TYPES_WITHOUT_INIT_SEGMENT_.has(P)&&(M.initSegmentReference=null)),_.push(M),E&&(E+=I)}}}}if(c){if(0==(c=Number((c=c.value.split(","))[0])))return null;p=i+c}else{if(!_.length)return null;p=_[_.length-1].endTime}h&&(v||0!=_[0].startByte?(h=!1,S=null):_=[]),(v=shaka.hls.Utils.getFirstTagWithName(d,"EXT-X-BYTERANGE"))?(m=(f=$jscomp.makeIterator(this.parseByteRange_(t,v.value))).next().value,f=f.next().value):_.length&&(m=_[0].startByte,f=_[_.length-1].endByte),t="",v=null,o==shaka.util.ManifestParserUtils.ContentType.IMAGE&&(t="1x1",d=shaka.hls.Utils.getFirstTagWithName(d,"EXT-X-TILES"))&&(t=d.getRequiredAttrValue("LAYOUT"),(d=d.getAttributeValue("DURATION"))&&(v=Number(d)));var w=null;return e=new shaka.media.SegmentReference(i,p,function(){return S?S():(null==w&&(w=shaka.hls.Utils.constructSegmentUris(s(),r.verbatimSegmentUri,n)),w||[])},m,f,e,0,0,1/0,_,t,v,g,y,l,0<_.length&&!!r.verbatimSegmentUri),(i=a(r.verbatimSegmentUri))&&(e.mimeType=i,u.MIME_TYPES_WITHOUT_INIT_SEGMENT_.has(i)&&(e.initSegmentReference=null)),h&&(this.lowLatencyByterangeOptimization_=!0,e.markAsByterangeOptimization(),T&&e.markAsPreload()),e},shaka.hls.HlsParser.prototype.parseByteRange_=function(e,t){var r=0,i=null;return t&&(t=Number((r=t.split("@"))[0]),r[1]?r=Number(r[1]):(goog.asserts.assert(e,"Cannot refer back to previous HLS segment!"),r=e.endByte+1),i=r+t-1),[r,i]}
1,shaka.hls.HlsParser.prototype.processDateRangeTags_=function(e,t,r,i){var n=shaka.util.ManifestParserUtils.ContentType;if(t==n.VIDEO||t==n.AUDIO){n=shaka.hls.Utils;var a=this.presentationTimeline_.getInitialProgramDateTime();if(a&&!this.ignoreManifestProgramDateTimeFor_(t))for(e=(e=shaka.hls.Utils.filterTagsByName(e,"EXT-X-DATERANGE")).filter(function(e){return null!=e.getAttribute("START-DATE")}).sort(function(e,t){return(e=e.getRequiredAttrValue("START-DATE"))<(t=t.getRequiredAttrValue("START-DATE"))?-1:+(e>t)}),t=0;t<e.length;t++){var o=e[t];try{var s=o.getRequiredAttrValue("ID");if(!this.dateRangeIdsEmitted_.has(s)){var l=o.getRequiredAttrValue("START-DATE"),u=shaka.util.TXml.parseDate(l);if(!isNaN(u)){goog.asserts.assert(null!=u,"Start date should not be null!");var d=Math.max(0,u-a),c=null,p=o.getAttributeValue("END-DATE");if(p){var m=shaka.util.TXml.parseDate(p);if(!isNaN(m)&&(goog.asserts.assert(null!=m,"End date should not be null!"),c=m-a,0>c))continue}if(null==c){var f=o.getAttributeValue("DURATION")||o.getAttributeValue("PLANNED-DURATION");if(f){var g=parseFloat(f);if(isNaN(g)||(c=d+g),0>u-a+g)continue}}var h=o.getAttributeValue("CLASS")||"com.apple.quicktime.HLS",y="YES"==o.getAttributeValue("END-ON-NEXT");if(null==c&&y){for(var _=t+1;_<e.length;_++){var S=e[_].getAttributeValue("CLASS")||"com.apple.quicktime.HLS";if(h==S){var v=e[_].getRequiredAttrValue("START-DATE"),T=shaka.util.TXml.parseDate(v);if(!isNaN(T)&&T&&T>u){c=Math.max(0,T-a);break}}}if(null==c)continue}_=["CLASS","START-DATE","END-DATE","DURATION","END-ON-NEXT"];for(var E=[],P=$jscomp.makeIterator(o.attributes),x=P.next();!x.done;x=P.next()){var A=x.value;if(!_.includes(A.name)){var C=n.variableSubstitution(A.value,r);("X-ASSET-URI"==A.name||"X-ASSET-LIST"==A.name)&&(C=n.constructSegmentUris(i(),A.value,r)[0]),E.push({key:A.name,description:"",data:C,mimeType:null,pictureType:null})}}1<E.length&&this.playerInterface_.onMetadata(h,d,c,E),this.dateRangeIdsEmitted_.add(s)}}}catch(e){shaka.log.warning("Ignoring DATERANGE with errors",o.toString())}}}}
1,shaka.hls.HlsParser.prototype.createSegments_=function(e,t,r,i,n){var a=e.segments;goog.asserts.assert(a.length,"Playlist should have segments!");var o=void 0,s=shaka.hls.Utils.getFirstTagWithNameAsNumber(e.tags,"EXT-X-DISCONTINUITY-SEQUENCE",-1),l=shaka.hls.Utils.getFirstTagWithNameAsNumber(e.tags,"EXT-X-MEDIA-SEQUENCE",0),u=shaka.hls.Utils.getFirstTagWithName(e.tags,"EXT-X-SKIP"),d=u?Number(u.getAttributeValue("SKIPPED-SEGMENTS")):0,c=l+d,p=0;this.isLive_()&&t.has(c)&&(p=t.get(c)),0===p&&this.presentationType_==shaka.hls.HlsParser.PresentationType_.LIVE&&0<t.size&&!t.has(c)&&null!=this.presentationTimeline_.getPresentationStartTime()&&(p=this.presentationTimeline_.getSegmentAvailabilityStart());var m=[],f=null;u=[];for(var g=0;g<a.length;g++){var h=a[g],y=0==g?p:f.endTime;c=l+d+g,shaka.hls.Utils.getFirstTagWithName(h.tags,"EXT-X-DISCONTINUITY")&&s++;for(var _=$jscomp.makeIterator(h.tags),S=_.next();!S.done;S=_.next())"EXT-X-KEY"==(S=S.value).name&&(o=this.isAesMethod_(S.getRequiredAttrValue("METHOD"))?this.parseAESDrmTag_(S,e,i,r):void 0);t.set(c,y),_=this.getInitSegmentReference_(e,h.tags,i,r),(y=this.createSegmentReference_(_,f,h,y,r,e,n,i,o))&&((f=shaka.hls.Utils.getFirstTagWithNameAsNumber(h.tags,"EXT-X-BITRATE"))?u.push({bitrate:f,duration:y.endTime-y.startTime}):u.length&&(f=u.pop(),f.duration+=y.endTime-y.startTime,u.push(f)),f=y,y.discontinuitySequence=s,this.ignoreManifestProgramDateTimeFor_(n)&&null!=this.minSequenceNumber_&&c<this.minSequenceNumber_||m.push(y))}if(e=void 0,u.length&&(e=u.reduce(function(e,t){return e+t.duration},0),e=Math.round(u.reduce(function(e,t){return e+t.bitrate*t.duration},0)/e*1e3)),u=m.some(function(e){return null!=e.syncTime})){for(t={},r=0;r<m.length;t={forwardI:void 0,forwardAdd:void 0,backwardI:void 0,reference$jscomp$47:void 0,backwardAdd:void 0},r++)if(t.reference$jscomp$47=m[r],null==t.reference$jscomp$47.syncTime)for(t.forwardAdd=0,t.forwardI=r,i=function(e){return function(){var t=m[e.forwardI];if(t){if(null!=t.syncTime)return t.syncTime+e.forwardAdd;e.forwardAdd-=t.endTime-t.startTime,e.forwardI+=1}return null}}(t),t.backwardAdd=0,t.backwardI=r,a=function(e){return function(){var t=m[e.backwardI];if(t){if(t!=e.reference$jscomp$47&&(e.backwardAdd+=t.endTime-t.startTime),null!=t.syncTime)return t.syncTime+e.backwardAdd;--e.backwardI}return null}}(t);null==t.reference$jscomp$47.syncTime;)t.reference$jscomp$47.syncTime=a(),null==t.reference$jscomp$47.syncTime&&(t.reference$jscomp$47.syncTime=i())}if(u)for(r=(t=$jscomp.makeIterator(m)).next();!r.done;r=t.next())for(r=(i=r.value).syncTime,a=(i=$jscomp.makeIterator(i.partialReferences)).next();!a.done;a=i.next())(a=a.value).syncTime=r,r+=a.endTime-a.startTime;if(t=this.lowestSyncTime_,u&&1/0!=t&&!this.ignoreManifestProgramDateTimeFor_(n))for(u=(n=$jscomp.makeIterator(m)).next();!u.done;u=n.next())u.value.syncAgainst(t);return{segments:m,bandwidth:e}},shaka.hls.HlsParser.prototype.guessMimeTypeBeforeLoading_=function(e,t){if(e==shaka.util.ManifestParserUtils.ContentType.TEXT){if("vtt"==t||"wvtt"==t)return"text/vtt";if(t&&""!==t)return"application/mp4"}return e!=shaka.util.ManifestParserUtils.ContentType.IMAGE||t&&"jpeg"!=t?e==shaka.util.ManifestParserUtils.ContentType.AUDIO&&"mp4a.40.34"==t?"audio/mpeg":"mjpg"==t?"application/mp4":null:"image/jpeg"},shaka.hls.HlsParser.prototype.guessMimeTypeFallback_=function(e){return e==shaka.util.ManifestParserUtils.ContentType.TEXT?"text/vtt":shaka.hls.HlsParser.EXTENSION_MAP_BY_CONTENT_TYPE_.get(e).get("mp4")},shaka.hls.HlsParser.prototype.getAvailableSegment_=function(e){goog.asserts.assert(e.length,"Should have segments!");for(var t=this.isLive_()?Math.trunc((e.length-1)/2):0,r=e[t];r.getStatus()==shaka.media.SegmentReference.Status.MISSING&&t+1<e.length;)r=e[++t];return{segment:r,segmentIndex:t}},shaka.hls.HlsParser.prototype.guessMimeType_=function(e,t,r){var i,n,a,o,s,l,u,d,c,p,m=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:if(i=shaka.hls.HlsParser,n=shaka.net.NetworkingEngine.RequestType.SEGMENT,(a=m.getAvailableSegment_(r).segment).status==shaka.media.SegmentReference.Status.MISSING)return f.return(m.guessMimeTypeFallback_(e));if(o=a.getUris(),s=new goog.Uri(o[0]).getPath().split(".").pop(),(l=i.EXTENSION_MAP_BY_CONTENT_TYPE_.get(e).get(s))||(l=i.RAW_FORMATS_TO_MIME_TYPES_.get(s))||(l=m.guessMimeTypeBeforeLo
1ading_(e,t)))return f.return(l);return d=shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT,c=shaka.net.NetworkingEngine.makeRequest(o,m.config_.retryParameters),f.setCatchFinallyBlocks(2),c.method="HEAD",f.yield(m.makeNetworkRequest_(c,n,{type:d}).promise,4);case 4:u=f.yieldResult.headers["content-type"],f.leaveTryBlock(3);break;case 2:if(!(p=f.enterCatchBlock())||p.code!=shaka.util.Error.Code.HTTP_ERROR&&p.code!=shaka.util.Error.Code.BAD_HTTP_STATUS){f.jumpTo(3);break}return c.method="GET",f.yield(m.makeNetworkRequest_(c,n,{type:d}).promise,6);case 6:u=f.yieldResult.headers["content-type"];case 3:return u?f.return(u.toLowerCase().split(";")[0]):f.return(m.guessMimeTypeFallback_(e))}})},shaka.hls.HlsParser.prototype.getRequiredTag_=function(e,t){if(!(e=shaka.hls.Utils.getFirstTagWithName(e,t)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_REQUIRED_TAG_MISSING,t);return e},shaka.hls.HlsParser.prototype.addVideoAttributes_=function(e,t,r,i,n,a,o){e&&(e.width=Number(t)||void 0,e.height=Number(r)||void 0,e.frameRate=Number(i)||void 0,e.hdr=n||void 0,e.videoLayout=a||void 0,e.colorGamut=o||void 0)},shaka.hls.HlsParser.prototype.requestManifest_=function(e,t){var r=shaka.net.NetworkingEngine.RequestType.MANIFEST;return e=shaka.net.NetworkingEngine.makeRequest(e,this.config_.retryParameters),this.makeNetworkRequest_(e,r,{type:t?shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_PLAYLIST:shaka.net.NetworkingEngine.AdvancedRequestType.MASTER_PLAYLIST})}
1,shaka.hls.HlsParser.prototype.onUpdate_=function(){var e,t,r,i,n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){switch(o.nextAddress){case 1:if(shaka.log.info("Updating manifest..."),goog.asserts.assert(0<a.getUpdatePlaylistDelay_(),"We should only call |onUpdate_| when we are suppose to be updating."),!a.playerInterface_)return o.return();return o.setCatchFinallyBlocks(2),e=Date.now(),o.yield(a.update(),4);case 4:t=Date.now(),a.isLive_()&&(r=(t-e)/1e3,a.averageUpdateDuration_.sample(1,r),i=Math.max(0,(0<a.config_.hls.updatePeriod?a.config_.hls.updatePeriod:a.getUpdatePlaylistDelay_())-a.averageUpdateDuration_.getEstimate()),a.updatePlaylistTimer_.tickAfter(i)),o.leaveTryBlock(3);break;case 2:if(n=o.enterCatchBlock(),!a.playerInterface_)return o.return();if(goog.asserts.assert(n instanceof shaka.util.Error,"Should only receive a Shaka error"),a.config_.raiseFatalErrorOnManifestUpdateRequestFailure)return a.playerInterface_.onError(n),o.return();n.severity=shaka.util.Error.Severity.RECOVERABLE,a.playerInterface_.onError(n),a.updatePlaylistTimer_.tickAfter(.1);case 3:if(!a.playerInterface_)return o.return();a.playerInterface_.onManifestUpdated(),o.jumpToEnd()}})},shaka.hls.HlsParser.prototype.isLive_=function(){return this.presentationType_!=shaka.hls.HlsParser.PresentationType_.VOD},shaka.hls.HlsParser.prototype.getUpdatePlaylistDelay_=function(){return this.lastTargetDuration_},shaka.hls.HlsParser.prototype.setPresentationType_=function(e){this.presentationType_=e,this.presentationTimeline_&&this.presentationTimeline_.setStatic(!this.isLive_()),this.isLive_()||this.updatePlaylistTimer_.stop()}
1,shaka.hls.HlsParser.prototype.makeNetworkRequest_=function(e,t,r){if(!this.operationManager_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);return r||(r={}),r.isPreload=this.isPreloadFn_(),e=this.playerInterface_.networkingEngine.request(t,e,r),this.operationManager_.manage(e),e},shaka.hls.HlsParser.prototype.isAesMethod_=function(e){return"AES-128"==e||"AES-256"==e||"AES-256-CTR"==e},shaka.hls.HlsParser.fairplayDrmParser_=function(e,t){if("video/mp2t"==t)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED);if(shaka.util.Platform.isMediaKeysPolyfilled("apple"))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED);t=e.getRequiredAttrValue("METHOD");var r=["SAMPLE-AES","SAMPLE-AES-CTR"];return r.includes(t)?(r="cenc","SAMPLE-AES"==t&&(r="cbcs"),shaka.util.ManifestParserUtils.createDrmInfo("com.apple.fps",r,[{initDataType:"sinf",initData:new Uint8Array(0),keyId:null}],e.getRequiredAttrValue("URI"))):(shaka.log.error("FairPlay in HLS is only supported with [",r.join(", "),"], not",t),null)},shaka.hls.HlsParser.widevineDrmParser_=function(e){var t=e.getRequiredAttrValue("METHOD"),r=["SAMPLE-AES","SAMPLE-AES-CTR"];return r.includes(t)?(r="cenc","SAMPLE-AES"==t&&(r="cbcs"),t=e.getRequiredAttrValue("URI"),t=shaka.net.DataUriPlugin.parseRaw(t.split("?")[0]),t=shaka.util.BufferUtils.toUint8(t.data),r=shaka.util.ManifestParserUtils.createDrmInfo("com.widevine.alpha",r,[{initDataType:"cenc",initData:t}]),(e=e.getAttributeValue("KEYID"))&&(e=e.toLowerCase(),goog.asserts.assert(e.startsWith("0x"),"Incorrect KEYID format!"),r.keyIds=new Set([e.substr(2)])),r):(shaka.log.error("Widevine in HLS is only supported with [",r.join(", "),"], not",t),null)},shaka.hls.HlsParser.playreadyDrmParser_=function(e){var t=e.getRequiredAttrValue("METHOD"),r=["SAMPLE-AES","SAMPLE-AES-CTR"];if(!r.includes(t))return shaka.log.error("PlayReady in HLS is only supported with [",r.join(", "),"], not",t),null;r="cenc","SAMPLE-AES"==t&&(r="cbcs"),e=e.getRequiredAttrValue("URI"),e=shaka.net.DataUriPlugin.parseRaw(e.split("?")[0]),e=shaka.util.BufferUtils.toUint8(e.data),t=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);var i=new Set;return t=shaka.util.Pssh.createPssh(e,t,i,0),r=shaka.util.ManifestParserUtils.createDrmInfo("com.microsoft.playready",r,[{initDataType:"cenc",initData:t}]),(e=shaka.util.TXml.parseXmlString(["<PLAYREADY>",shaka.util.Uint8ArrayUtils.toBase64(e),"</PLAYREADY>"].join("\n")))&&(r.licenseServerUri=shaka.drm.PlayReady.getLicenseUrl(e)),r},shaka.hls.HlsParser.wiseplayDrmParser_=function(e){var t=e.getRequiredAttrValue("METHOD"),r=["SAMPLE-AES","SAMPLE-AES-CTR"];return r.includes(t)?(r="cenc","SAMPLE-AES"==t&&(r="cbcs"),t=e.getRequiredAttrValue("URI"),t=shaka.net.DataUriPlugin.parseRaw(t.split("?")[0]),t=shaka.util.BufferUtils.toUint8(t.data),r=shaka.util.ManifestParserUtils.createDrmInfo("com.huawei.wiseplay",r,[{initDataType:"cenc",initData:t}]),(e=e.getAttributeValue("KEYID"))&&(e=e.toLowerCase(),goog.asserts.assert(e.startsWith("0x"),"Incorrect KEYID format!"),r.keyIds=new Set([e.substr(2)])),r):(shaka.log.error("WisePlay in HLS is only supported with [",r.join(", "),"], not",t),null)},shaka.hls.HlsParser.prototype.identityDrmParser_=function(e,t,r,i,n){var a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(P){switch(P.nextAddress){case 1:if("video/mp2t"==t)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED);if(shaka.util.Platform.isMediaKeysPolyfilled("apple"))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED);if(a=e.getRequiredAttrValue("METHOD"),!(o=["SAMPLE-AES","SAMPLE-AES-CTR"]).includes(a))return shaka.log.error("Identity (ClearKey) in HLS is only supported with [",o.join(", "),"], not",a),P.return(null);if((s=shaka.hls.Utils.constructSegmentUris(r(),e.getRequiredAttrValue("URI"),n))[0].startsWith("data:text/plain;base64,")){l=shaka.util.Uint8ArrayUtils.toHex(shaka.util.Uint8ArrayUtils.fromBase64(s[0].split("data:text/plain;base64,").pop())),P.jumpTo(2);break}return u=s.sort().join(""),E.identityKeyMap_.has(u)||(d=shaka.net.NetworkingEngine.RequestType.KEY,c=shaka.net.NetworkingEngine.makeRequest(s,E.config_.retryParameters),p=E.makeNetworkRequest_(c,d).promise,E.identityKeyMap_.set(u,p)),P.yield(E.identityKeyMap_.get(u),3);case 3:m=P.yieldResult,l=shaka.util.Uint8ArrayUtils.toHex(m.data);case 2:if(f="00000000000000000000000000000000",!i){P.jumpTo(4);break}if(E.identityKidMap_.has(i)){g=E.identityKidMap_.get(i),P.jumpTo(5);break}return h=shaka.util.Networking.createSegmentRequest(i.getUris(),i.getStartByte(),i.getEndByte(),E.config_.retryParameters),y=shaka.net.NetworkingEngine.RequestType.SEGMENT,_=shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT,P.yield(E.makeNetworkRequest_(h,y,{type:_}).promise,6);case 6:S=P.yieldResult,i.setSegmentData(S.data),g=shaka.media.SegmentUtils.getDefaultKID(S.data),E.identityKidMap_.set(i,g);case 5:g&&(f=g);case 4:return(v=new Map).set(f,l),T="cenc","SAMPLE-AES"==a&&(T="cbcs"),P.return(shaka.util.ManifestParserUtils.createDrmInfoFromClearKeys(v,T))}})},goog.exportSymbol("shaka.hls.HlsParser",shaka.hls.HlsParser),shaka.hls.HlsParser.RAW_FORMATS_TO_MIME_TYPES_=(new Map).set("aac","audio/aac").set("ac3","audio/ac3").set("ec3","audio/ec3").set("mp3","audio/mpeg"),shaka.hls.HlsParser.AUDIO_EXTENSIONS_TO_MIME_TYPES_=(new Map).set("mp4","audio/mp4").set("mp4a","audio/mp4").set("m4s","audio/mp4").set("m4i","audio/mp4").set("m4a","audio/mp4").set("m4f","audio/mp4").set("cmfa","audio/mp4").set("ts","video/mp2t").set("tsa","video/mp2t"),shaka.hls.HlsParser.VIDEO_EXTENSIONS_TO_MIME_TYPES_=(new Map).set("mp4","video/mp4").set("mp4v","video/mp4").set("m4s","video/mp4").set("m4i","video/mp4").set("m4v","video/mp4").set("m4f","video/mp4").set("cmfv","video/mp4").set("ts","video/mp2t").set("tsv","video/mp2t"),shaka.hls.HlsParser.TEXT_EXTENSIONS_TO_MIME_TYPES_=(new Map).set("mp4","application/mp4").set("m4s","application/mp4").set("m4i","application/mp4").set("m4f","application/mp4").set("cmft","application/mp4").set("vtt","text/vtt").set("webvtt","text/vtt").set("ttml","application/ttml+xml"),shaka.hls.HlsParser.IMAGE_EXTENSIONS_TO_MIME_TYPES_=(new Map).set("jpg","image/jpeg").set("png","image/png").set("svg","image/svg+xml").set("webp","image/webp").set("avif","image/avif"),shaka.hls.HlsParser.EXTENSION_MAP_BY_CONTENT_TYPE_=(new Map).set("audio",shaka.hls.HlsParser.AUDIO_EXTENSIONS_TO_MIME_TYPES_).set("video",shaka.hls.HlsParser.VIDEO_EXTENSIONS_TO_MIME_TYPES_).set("text",shaka.hls.HlsParser.TEXT_EXTENSIONS_TO_MIME_TYPES_).set("image",shaka.hls.HlsParser.IMAGE_EXTENSIONS_TO_MIME_TYPES_),shaka.hls.HlsParser.MIME_TYPES_WITHOUT_INIT_SEGMENT_=new Set(["video/mp2t"].concat($jscomp.arrayFromIterable(shaka.util.MimeUtils.RAW_FORMATS))),shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_=(new Map).set("com.apple.streamingkeydelivery",shaka.hls.HlsParser.fairplayDrmParser_).set("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",shaka.hls.HlsParser.widevineDrmParser_).set("com.microsoft.playready",shaka.hls.HlsParser.playreadyDrmParser_).set("urn:uuid:3d5e6d35-9b9a-41e8-b843-dd3c6e72c42c",shaka.hls.HlsParser.wiseplayDrmParser_),shaka.hl
1s.HlsParser.PresentationType_={VOD:"VOD",EVENT:"EVENT",LIVE:"LIVE"},shaka.hls.HlsParser.FAKE_MUXED_URL_="shaka://hls-muxed",shaka.media.ManifestParser.registerParserByMime("application/x-mpegurl",function(){return new shaka.hls.HlsParser}),shaka.media.ManifestParser.registerParserByMime("application/vnd.apple.mpegurl",function(){return new shaka.hls.HlsParser}),shaka.mss={},shaka.mss.ContentProtection=function(){},shaka.mss.ContentProtection.parseFromProtection=function(e,t){var r=shaka.mss.ContentProtection,i=shaka.util.TXml,n=[];e=$jscomp.makeIterator(e);for(var a=e.next();!a.done;a=e.next())n=n.concat(i.findChildren(a.value,"ProtectionHeader"));return n.length?r.convertElements_(n,t):[]},shaka.mss.ContentProtection.getPlayReadyLicenseUrl=function(e){return shaka.drm.PlayReady.getLicenseUrl(e)},shaka.mss.ContentProtection.getPlayReadyKID_=function(e){return shaka.drm.PlayReady.getPlayReadyKID(e)},shaka.mss.ContentProtection.getInitDataFromPro_=function(e,t,r){var i=shaka.util.Uint8ArrayUtils;return e=i.fromBase64(shaka.util.TXml.getTextContents(e)),t=i.fromHex(t.replace(/-/g,"")),i=new Set,[{initData:shaka.util.Pssh.createPssh(e,t,i,0),initDataType:"cenc",keyId:r}]},shaka.mss.ContentProtection.convertElements_=function(e,t){for(var r=shaka.mss.ContentProtection,i=shaka.util.ManifestParserUtils,n=r.licenseUrlParsers_,a=[],o=0;o<e.length;o++){var s=e[o],l=s.attributes.SystemID.toLowerCase(),u=t[l];if(u){var d=r.getPlayReadyKID_(s);l=r.getInitDataFromPro_(s,l,d),l=i.createDrmInfo(u,"cenc",l),d&&l.keyIds.add(d),(u=n.get(u))&&(l.licenseServerUri=u(s)),a.push(l)}}return a},shaka.mss.ContentProtection.licenseUrlParsers_=(new Map).set("com.microsoft.playready",shaka.mss.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.recommendation",shaka.mss.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.software",shaka.mss.ContentProtection.getPlayReadyLicenseUrl).set("com.microsoft.playready.hardware",shaka.mss.ContentProtection.getPlayReadyLicenseUrl),shaka.mss.MssParser=function(){var e=this;this.playerInterface_=this.config_=null,this.manifestUris_=[],this.manifest_=null,this.globalId_=1,this.updatePeriod_=0,this.presentationTimeline_=null,this.averageUpdateDuration_=new shaka.abr.Ewma(5),this.updateTimer_=new shaka.util.Timer(function(){e.onUpdate_()}),this.operationManager_=new shaka.util.OperationManager,this.initSegmentDataByStreamId_=new Map,this.isPreloadFn_=function(){return!1}},shaka.mss.MssParser.prototype.configure=function(e,t){goog.asserts.assert(null!=e.mss,"MssManifestConfiguration should not be null!"),this.config_=e,t&&(this.isPreloadFn_=t)},shaka.mss.MssParser.prototype.start=function(e,t){var r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){if(1==i.nextAddress)return goog.asserts.assert(r.config_,"Must call configure() before start()!"),r.manifestUris_=[e],r.playerInterface_=t,i.yield(r.requestManifest_(),2);if(!r.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);return r.setUpdateTimer_(),goog.asserts.assert(r.manifest_,"Manifest should be non-null!"),i.return(r.manifest_)})},shaka.mss.MssParser.prototype.onUpdate_=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:return goog.asserts.assert(0<=t.updatePeriod_,"There should be an update period"),shaka.log.info("Updating manifest..."),r.setCatchFinallyBlocks(2),r.yield(t.requestManifest_(),4);case 4:r.leaveTryBlock(3);break;case 2:e=r.enterCatchBlock(),goog.asserts.assert(e instanceof shaka.util.Error,"Should only receive a Shaka error"),t.playerInterface_&&(e.severity=shaka.util.Error.Severity.RECOVERABLE,t.playerInterface_.onError(e));case 3:if(!t.playerInterface_)return r.return();t.setUpdateTimer_(),r.jumpToEnd()}})},shaka.mss.MssParser.prototype.setUpdateTimer_=function(){if(!(0>=this.updatePeriod_)){var e=Math.max(shaka.mss.MssParser.MIN_UPDATE_PERIOD_,this.updatePeriod_,this.averageUpdateDuration_.getEstimate());this.updateTimer_.tickAfter(e)}},shaka.mss.MssParser.prototype.stop=function(){return this.config_=this.playerInterface_=null,this.manifestUris_=[],this.manifest_=null,null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null),this.initSegmentDataByStreamId_.clear(),this.operationManager_.destroy()},shaka.mss.MssParser.prototype.update=function(){var e,t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?(r.setCatchFinallyBlocks(2),r.yield(t.requestManifest_(),4)):2!=r.nextAddress?r.leaveTryBlock(0):(e=r.enterCatchBlock(),t.playerInterface_&&e)?void(goog.asserts.assert(e instanceof shaka.util.Error,"Bad error type"),t.playerInterface_.onError(e),r.jumpToEnd()):r.return()})},shaka.mss.MssParser.prototype.onExpirationUpdated=function(e,t){},shaka.mss.MssParser.prototype.onInitialVariantChosen=function(e){},shaka.mss.MssParser.prototype.banLocation=function(e){},shaka.mss.MssParser.prototype.setMediaElement=function(e){},shaka.mss.MssParser.prototype.requestManifest_=function(){var e,t,r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){return 1==u.nextAddress?(e=shaka.net.NetworkingEngine.RequestType.MANIFEST,t=shaka.net.NetworkingEngine.AdvancedRequestType.MSS,r=shaka.net.NetworkingEngine.makeRequest
1(l.manifestUris_,l.config_.retryParameters),i=l.playerInterface_.networkingEngine,n=Date.now(),a=i.request(e,r,{type:t,isPreload:l.isPreloadFn_()}),l.operationManager_.manage(a),u.yield(a.promise,2)):(o=u.yieldResult,l.playerInterface_)?void(o.uri&&!l.manifestUris_.includes(o.uri)&&l.manifestUris_.unshift(o.uri),l.parseManifest_(o.data,o.uri),s=(Date.now()-n)/1e3,l.averageUpdateDuration_.sample(1,s),u.jumpToEnd()):u.return()})},shaka.mss.MssParser.prototype.parseManifest_=function(e,t){var r=e;if((e=this.config_.mss.manifestPreprocessor)!=shaka.util.PlayerConfiguration.defaultManifestPreprocessor){if(shaka.Deprecate.deprecateFeature(5,"manifest.mss.manifestPreprocessor configuration","Please Use manifest.mss.manifestPreprocessorTXml instead."),!(r=shaka.util.XmlUtils.parseXml(r,"SmoothStreamingMedia")))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.MSS_INVALID_XML,t);e(r),r=shaka.util.XmlUtils.toArrayBuffer(r)}if(!(e=shaka.util.TXml.parseXml(r,"SmoothStreamingMedia")))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.MSS_INVALID_XML,t);return(r=this.config_.mss.manifestPreprocessorTXml)!=shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml&&r(e),this.processManifest_(e,t),Promise.resolve()},shaka.mss.MssParser.prototype.processManifest_=function(e,t){var r=shaka.util.TXml;if(this.presentationTimeline_||(this.presentationTimeline_=new shaka.media.PresentationTimeline(null,0)),t=r.parseAttr(e,"IsLive",r.parseBoolean,!1))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.MSS_LIVE_CONTENT_NOT_SUPPORTED);this.presentationTimeline_.setStatic(!t);var i=r.parseAttr(e,"TimeScale",r.parseNonNegativeInt,shaka.mss.MssParser.DEFAULT_TIME_SCALE_);goog.asserts.assert(i&&0<=i,"Timescale must be defined!");var n=r.parseAttr(e,"DVRWindowLength",r.parseNonNegativeInt);t&&(0===n||isNaN(n))&&(n=1/0);var a=r.parseAttr(e,"CanSeek",r.parseBoolean,!1);0===n&&a&&(n=1/0),a=null,n&&0<n&&(a=n/i),t&&!isNaN(this.config_.availabilityWindowOverride)&&(a=this.config_.availabilityWindowOverride),null==a&&(a=1/0),this.presentationTimeline_.setSegmentAvailabilityDuration(a),r=r.parseAttr(e,"Duration",r.parseNonNegativeInt,1/0),goog.asserts.assert(r&&0<=r,"Duration must be defined!"),t||this.presentationTimeline_.setDuration(r/i),t={variants:[],textStreams:[],timescale:i,duration:r/i},this.parseStreamIndexes_(e,t),this.manifest_?(this.manifest_.variants=t.variants,this.manifest_.textStreams=t.textStreams,this.playerInterface_.filter(this.manifest_)):(this.manifest_={presentationTimeline:this.presentationTimeline_,variants:t.variants,textStreams:t.textStreams,imageStreams:[],offlineSessionIds:[],sequenceMode:this.config_.mss.sequenceMode,ignoreManifestTimestampsInSegmentsMode:!1,type:shaka.media.ManifestParser.MSS,serviceDescription:null,nextUrl:null,periodCount:1,gapCount:0,isLowLatency:!1,startTime:null},this.presentationTimeline_.lockStartTime())},shaka.mss.MssParser.prototype.parseStreamIndexes_=function(e,t){var r=shaka.mss.ContentProtection,i=shaka.util.TXml,n=shaka.util.ManifestParserUtils.ContentType,a=i.findChildren(e,"Protection"),o=r.parseFromProtection(a,this.config_.mss.keySystemsBySystemId),s=[];r=[],a=[],e=i.findChildren(e,"StreamIndex"),e=$jscomp.makeIterator(e);for(var l=e.next();!l.done;l=e.next()){l=l.value;var u=i.findChildren(l,"QualityLevel"),d=this.createTimeline_(l,t.timescale,t.duration);u=$jscomp.makeIterator(u);for(var c=u.next();!c.done;c=u.next())(c=this.createStream_(l,c.value,d,o,t))&&(c.type!=n.AUDIO||this.config_.disableAudio?c.type!=n.VIDEO||this.config_.disableVideo?c.type!=n.TEXT||this.config_.disableText||a.push(c):r.push(c):s.push(c))}for(i=[],s=(n=$jscomp.makeIterator(0<s.length?s:[null])).next();!s.done;s=n.next())for(s=s.value,e=(o=$jscomp.makeIterator(0<r.length?r:[null])).next();!e.done;e=o.next())i.push(this.createVariant_(s,e.value));t.variants=i,t.textStreams=a},shaka.mss.MssParser.prototype.createStream_=function(e,t,r,i,n){var a=this,o=shaka.util.TXml,s=shaka.util.ManifestParserUtils.ContentType,l=shaka.mss.MssParser,u=e.attributes.Type;if("audio"!==u&&"video"!==u&&"text"!==u)return shaka.log.alwaysWarn("Ignoring unrecognized type:",u),null;var d=e.attributes.Language,c=this.globalId_++,p=o.parseAttr(t,"Bitrate",o.parsePositiveInt),m=o.parseAttr(t,"MaxWidth",o.parsePositiveInt),f=o.parseAttr(t,"MaxHeight",o.parsePositiveInt),g=o.parseAttr(t,"Channels",o.parsePositiveInt);o=o.parseAttr(t,"SamplingRate",o.parsePositiveInt);var h=n.duration;r.length&&(h=r[r.length-1].end-r[0].start);var y=this.presentationTimeline_.getDuration();
1this.presentationTimeline_.setDuration(Math.min(h,y));var _={id:c,originalId:e.attributes.Name||String(c),groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:"",codecs:"",frameRate:void 0,pixelAspectRatio:void 0,bandwidth:p||0,width:m||void 0,height:f||void 0,kind:"",encrypted:0<i.length,drmInfos:i,keyIds:new Set,language:shaka.util.LanguageUtils.normalize(d||"und"),originalLanguage:d,label:"",type:"",primary:!1,trickModeVideo:null,emsgSchemeIdUris:[],roles:[],forced:!1,channelsCount:g,audioSamplingRate:o,spatialAudio:!1,closedCaptions:null,hdr:void 0,colorGamut:void 0,videoLayout:void 0,tilesLayout:void 0,matchedStreams:[],mssPrivateData:{duration:h,timescale:n.timescale,codecPrivateData:null},accessibilityPurpose:null,external:!1,fastSwitching:!1,fullMimeTypes:new Set,isAudioMuxedInVideo:!1};if((i=e.attributes.Subtype)&&((i=l.ROLE_MAPPING_.get(i))&&_.roles.push(i),"main"===i&&(_.primary=!0)),(null===(i=t.attributes.FourCC)||""===i)&&(i=e.attributes.FourCC),!i){if("audio"===u)i="AAC";else if("video"===u)return shaka.log.alwaysWarn('FourCC is not defined whereas it is required for a QualityLevel element for a StreamIndex of type "video"'),null}if(!l.SUPPORTED_CODECS_.includes(i.toUpperCase()))return shaka.log.alwaysWarn("Codec not supported:",i),null;switch(l=this.getCodecPrivateData_(t,u,i,_),_.mssPrivateData.codecPrivateData=l,u){case"audio":if(!l)return shaka.log.alwaysWarn("Quality unsupported without CodecPrivateData",u),null;_.type=s.AUDIO,_.mimeType="mss/audio/mp4",_.codecs=this.getAACCodec_(t,i,l);break;case"video":if(!l)return shaka.log.alwaysWarn("Quality unsupported without CodecPrivateData",u),null;_.type=s.VIDEO,_.mimeType="mss/video/mp4",_.codecs=this.getH264Codec_(t,l);break;case"text":_.type=s.TEXT,_.mimeType="application/mp4",("TTML"===i||"DFXP"===i)&&(_.codecs="stpp")}return _.fullMimeTypes.add(shaka.util.MimeUtils.getFullType(_.mimeType,_.codecs)),_.createSegmentIndex=function(){if(_.segmentIndex)return Promise.resolve();if(a.initSegmentDataByStreamId_.has(_.id))var t=a.initSegmentDataByStreamId_.get(_.id);else t=[],_.type==s.VIDEO&&(t=_.mssPrivateData.codecPrivateData.split("00000001").slice(1)),t={id:_.id,type:_.type,codecs:_.codecs,encrypted:_.encrypted,timescale:_.mssPrivateData.timescale,duration:_.mssPrivateData.duration,videoNalus:t,audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:null,stream:_},t=new shaka.util.Mp4Generator([t]).initSegment(),a.initSegmentDataByStreamId_.set(_.id,t);var i=shaka.media.QualityObserver.createQualityInfo(_);return t=new shaka.media.InitSegmentReference(function(){return[]},0,null,i,_.mssPrivateData.timescale,t,null,_.encrypted),t=a.createSegments_(t,_,e,r),_.segmentIndex=new shaka.media.SegmentIndex(t),Promise.resolve()},_.closeSegmentIndex=function(){_.segmentIndex&&(_.segmentIndex.release(),_.segmentIndex=null)},_},shaka.mss.MssParser.prototype.getCodecPrivateData_=function(e,t,r,i){if(e=e.attributes.CodecPrivateData)return e;if("audio"!==t)return null;t=i.channelsCount||2;var n={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12};return(i=n[e=i.audioSamplingRate||44100],"AACH"===r)?(r=new Uint8Array(4),e=n[2*e],r[0]=40|i>>1,r[1]=i<<7|t<<3|e>>1,r[2]=e<<7|8,r[3]=0,(t=new Uint16Array(2))[0]=(r[0]<<8)+r[1],t[1]=(r[2]<<8)+r[3],t[0].toString(16)+t[1].toString(16)):((r=new Uint8Array(2))[0]=16|i>>1,r[1]=i<<7|t<<3,(t=new Uint16Array(1))[0]=(r[0]<<8)+r[1],t[0].toString(16))},shaka.mss.MssParser.prototype.getAACCodec_=function(e,t,r){return e=0,"AACH"===t&&(e=5),r?0===e&&(e=(248&parseInt(r.substr(0,2),16))>>3):(e=2,"AACH"===t&&(e=5)),"mp4a.40."+e},shaka.mss.MssParser.prototype.getH264Codec_=function(e,t){return(e=/00000001[0-9]7/.exec(t)).length&&t?"avc1."+t.substr(t.indexOf(e[0])+10,6):""},shaka.mss.MssParser.prototype.createSegments_=function(e,t,r,i){var n=this,a=shaka.util.ManifestParserUtils;r=r.attributes.Url,goog.asserts.assert(r,"Missing URL for segments");var o=r.replace("{bitrate}",String(t.bandwidth));r=[],i=$jscomp.makeIterator(i);for(var s=i.next(),l={};!s.done;l={time$jscomp$41:void 0},s=i.next())l.time$jscomp$41=s.value,s=function(e){return function(){return a.resolveUris(n.manifestUris_,[o.replace("{start time}",String(e.time$jscomp$41.unscaledStart))])}}(l),r.push(new shaka.media.SegmentReference(l.time$jscomp$41.start,l.time$jscomp$41.end,s,0,null,e,0,0,t.mssPrivateData.duration));return r},shaka.mss.MssParser.prototype.createTimeline_=function(e,t,r){goog.asserts.assert(0<t&&1/0>t,"timescale must be a positive, finite integer"),goog.asserts.assert(0<r,"duration must be a positive integer");var i=shaka.util.TXml;e=i.findChildren(e,"c");for(var n=[],a=0,o=0;o<e.length;++o){var s=e[o],l=e[o+1],u=i.parseAttr(s,"t",i.parseNonNegativeInt),d=i.parseAttr(s,"d",i.parseNonNegativeInt),c=i.parseAttr(s,"r",i.parseInt);if(!d){shaka.log.warning('"c" element must have a duration:','ignoring the remaining "c" elements.',s);break}if(u=null!=u?u:a,(c=c||0)&&c--,0>c)if(l){if(null==(l=i.parseAttr(l,"t",i.parseNonNegativeInt))){shaka.log.warning('An "c" element cannot have a negative repeat','if the next "c" element does not have a valid start time:','ignoring the remaining "c" elements.',s);break}if(u>=l){shaka.log.warning('An "c" element cannot have a negative repeat if its start ','time exceeds the next "c" element\'s start time:','ignoring the remaining "c" elements.',s);break}c=Math.ceil((l-u)/d)-1}else{if(1/0==r){shaka.log.warning('The last "c" element cannot have a negative repeat',"if the Period has an infinite duration:",'ignoring the last "c" element.',s);break}if(u/t>=r){shaka.log.warning('The last "c" element cannot have a negative repeat',"if its start time exceeds the duration:",'ignoring the last "c" element.',s);break}c=Math.ceil((r*t-u)/d)-1}for(s=0;s<=c;++s)a=u+d,n.push({start:u/t,end:a/t,unscaledStart:u}),u=a}return n},shaka.mss.MssParser.prototype.createVariant_=function(e,t){var r=shaka.util.ManifestParserUtils.ContentType;return goog.asserts.assert(!e||e.type==r.AUDIO,"Audio parameter mismatch!"),goog.asserts.assert(!t||t.type==r.VIDEO,"Video parameter mismatch!"),r=0,e&&e.bandwidth&&0<e.bandwidth&&(r+=e.bandwidth),t&&t.bandwidth&&0<t.bandwidth&&(r+=t.bandwidth),{id:this.globalId_++,language:e?e.language:"und",disabledUntilTime:0,primary:!!e&&e.primary||!!t&&t.primary,audio:e,video:t,bandwidth:r,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]}},goog.exportSymbol("shaka.mss.MssParser",shaka.mss.MssParser),shaka.mss.MssParser.MIN_UPDATE_PERIOD_=3,shaka.mss.MssParser.DEFAULT_TIME_SCALE_=1e7,shaka.mss.MssParser.SUPPORTED_CODECS_="AAC AACL AACH AACP AVC1 H264 TTML DFXP".split(" "),shaka.mss.MssParser.ROLE_MAPPING_=(new Map).set("CAPT","main").set("SUBT","alternate").set("DESC","main"),shaka.media.ManifestParser.registerParserByMime("application/vnd.ms-sstr+xml",function(){return new shaka.mss.MssParser}),shaka.net.HttpPluginUtils=function(){},shaka.net.HttpPluginUtils.makeResponse=function(e,t,r,i,n,a,o){if(goog.asserts.assert(t,"Data should be non-null!"),200<=r&&299>=r&&202!=r||304==r)return{uri:n||i,originalUri:i,data:t,status:r,headers:e,fromCache:!!e["x-shaka-from-cache"],originalRequest:a};a=null;try{a=shaka.util.StringUtils.fromBytesAutoDetect(t)}catch(e){}throw shaka.log.debug("HTTP error text:",a),new shaka.util.Error(401==r||403==r?shaka.util.Error.Severity.CRITICAL:shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.BAD_HTTP_STATUS,i,r,a,e,o,n||i)},shaka.net.HttpFetchPlugin=function(){},shaka.net.HttpFetchPlugin.parse=function(e,t,r,i,n,a){var o=new shaka.net.HttpFetchPlugin.Headers_;
1shaka.util.MapUtils.asMap(t.headers).forEach(function(e,t){o.append(t,e)});var s=new shaka.net.HttpFetchPlugin.AbortController_,l={canceled:!1,timedOut:!1};if(e=shaka.net.HttpFetchPlugin.request_(e,t,r,{body:t.body||void 0,headers:o,method:t.method,signal:s.signal,credentials:t.allowCrossSiteCredentials?"include":void 0},l,i,n,t.streamDataCallback,a.minBytesForProgressEvents||0),e=new shaka.util.AbortableOperation(e,function(){return l.canceled=!0,s.abort(),Promise.resolve()}),t=t.retryParameters.timeout){var u=new shaka.util.Timer(function(){l.timedOut=!0,s.abort()});u.tickAfter(t/1e3),e.finally(function(){u.stop()})}return e},shaka.net.HttpFetchPlugin.request_=function(e,t,r,i,n,a,o,s,l){var u,d,c,p,m,f,g,h,y,_,S,v,T;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.nextAddress){case 1:return u=shaka.net.HttpFetchPlugin.fetch_,d=shaka.net.HttpFetchPlugin.ReadableStream_,p=new ArrayBuffer(0),f=m=0,g={},h=Date.now(),E.setCatchFinallyBlocks(2),E.yield(u(e,i),4);case 4:if(c=E.yieldResult,o(g=shaka.net.HttpFetchPlugin.headersToGenericObject_(c.headers)),"HEAD"==i.method){E.jumpTo(5);break}if(goog.asserts.assert(c.body,"non-HEAD responses should have a body"),_=(y=c.headers.get("Content-Length"))?parseInt(y,10):0,!c.body)return E.yield(c.arrayBuffer(),9);return S=c.clone().body.getReader(),new d({start:function(e){var t=function(){var r,i,n,o,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),d.yield(S.read(),4);case 4:r=d.yieldResult,d.leaveTryBlock(3);break;case 2:return i=d.enterCatchBlock(),shaka.log.v1("error reading from stream",i.message),d.return();case 3:if(r.done||(m+=r.value.byteLength,!s)){d.jumpTo(5);break}return d.yield(s(r.value),5);case 5:n=Date.now(),o=m-f,(100<n-h&&o>=l||r.done)&&(u=r.done?0:_-m,a(n-h,o,u),f=m,h=n),r.done?(goog.asserts.assert(!r.value,'readObj should be unset when "done" is true.'),e.close()):(e.enqueue(r.value),t()),d.jumpToEnd()}})};t()}}),E.yield(c.arrayBuffer(),8);case 8:p=E.yieldResult,E.jumpTo(5);break;case 9:p=E.yieldResult,a(Date.now()-h,p.byteLength,0);case 5:t.headers.Range&&2==(v=t.headers.Range.replace("bytes=","").split("-").filter(function(e){return e}).map(function(e){return parseInt(e,10)})).length&&p.byteLength!=v[1]-v[0]+1&&shaka.log.alwaysWarn("Payload length does not match range requested bytes",t,c),E.leaveTryBlock(3);break;case 2:if(T=E.enterCatchBlock(),n.canceled)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.OPERATION_ABORTED,e,r);if(n.timedOut)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,e,r);throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.HTTP_ERROR,e,T,r);case 3:return E.return(shaka.net.HttpPluginUtils.makeResponse(g,p,c.status,e,c.url,t,r))}})},shaka.net.HttpFetchPlugin.headersToGenericObject_=function(e){var t={};return e.forEach(function(e,r){t[r.trim()]=e}),t},shaka.net.HttpFetchPlugin.isSupported=function(){if(!window.ReadableStream)return!1;try{new ReadableStream({})}catch(e){return!1}return!!window.Response&&!!new Response("").body&&!(!window.fetch||"polyfill"in window.fetch||!window.AbortController)},goog.exportSymbol("shaka.net.HttpFetchPlugin",shaka.net.HttpFetchPlugin),goog.exportProperty(shaka.net.HttpFetchPlugin,"isSupported",shaka.net.HttpFetchPlugin.isSupported),goog.exportProperty(shaka.net.HttpFetchPlugin,"parse",shaka.net.HttpFetchPlugin.parse),shaka.net.HttpFetchPlugin.fetch_=window.fetch,shaka.net.HttpFetchPlugin.AbortController_=window.AbortController,shaka.net.HttpFetchPlugin.ReadableStream_=window.ReadableStream,shaka.net.HttpFetchPlugin.Headers_=window.Headers,shaka.net.HttpFetchPlugin.isSupported()&&(shaka.net.NetworkingEngine.registerScheme("http",shaka.net.HttpFetchPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.PREFERRED,!0),shaka.net.NetworkingEngine.registerScheme("https",shaka.net.HttpFetchPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.PREFERRED,!0),shaka.net.NetworkingEngine.registerScheme("blob",shaka.net.HttpFetchPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.PREFERRED,!0)),shaka.net.HttpXHRPlugin=function(){},shaka.net.HttpXHRPlugin.parse=function(e,t,r,i,n,a){var o=new shaka.net.HttpXHRPlugin.Xhr_,s=Date.now(),l=0,u=new Promise(function(u,d){o.open(t.method,e,!0),o.responseType="arraybuffer",o.timeout=t.retryParameters.timeout,o.withCredentials=t.allowCrossSiteCredentials,o.onabort=function(){d(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.OPERATION_ABORTED,e,r))};var c=!1;for(var p in o.onreadystatechange=function(e){2!=o.readyState||c||(n(e=shaka.net.HttpXHRPlugin.headersToGenericObject_(o)),c=!0)},o.onload=function(n){var a=shaka.net.HttpXHRPlugin.headersToGenericObject_(o);goog.asserts.assert(o.response instanceof ArrayBuffer,"XHR should have a response by now!");var c=o.response;try{var p=Date.now();i(p-s,n.loaded-l,0);var m=shaka.net.HttpPluginUtils.makeResponse(a,c,o.status,e,o.responseURL,t,r);u(m)}catch(e){goog.asserts.assert(e instanceof shaka.util.Error,"Wrong error type!"),d(e)}},o.onerror=function(t){d(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.HTTP_ERROR,e,t,r))},o.ontimeout=function(t){d(new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,e,r))},o.onprogress=function(e){var t=Date.now(),r=a.minBytesForProgressEvents||0,n=e.loaded-l;(100<t-s&&n>=r||e.lengthComputable&&e.loaded==e.total)&&(i(t-s,n,4==o.readyState?0:e.total-e.loaded),l=e.loaded,s=t)},t.headers){var m=p.toLowerCase();o.setRequestHeader(m,t.headers[p])}o.send(t.body)});return new shaka.util.AbortableOperation(u,function(){return o.abort(),Promise.resolve()})},shaka.net.HttpXHRPlugin.headersToGenericObject_=function(e){var t=e.getAllResponseHeaders().trim().split("\r\n");e={},t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next())e[(r=r.value.split(": "))[0].toLowerCase()]=r.slice(1).join(": ");return e},goog.exportSymbol("shaka.net.HttpXHRPlugin",shaka.net.HttpXHRPlugin),goog.exportProperty(shaka.net.HttpXHRPlugin,"parse",shaka.net.HttpXHRPlugin.parse),shaka.net.HttpXHRPlugin.Xhr_=window.XMLHttpRequest,shaka.net.NetworkingEngine.registerScheme("http",shaka.net.HttpXHRPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.FALLBACK,!0),shaka.net.NetworkingEngine.registerScheme("https",shaka.net.HttpXHRPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.FALLBACK,!0),shaka.net.NetworkingEngine.registerScheme("blob",shaka.net.HttpXHRPlugin.parse,shaka.net.NetworkingEngine.PluginPriority.FALLBACK,!0),shaka.offline={},shaka.offline.DownloadInfo=function(e,t,r,i,n){this.ref=e,this.estimateId=t,this.groupId=r,this.isInitSegment=i,this.refPosition=n},shaka.offline.DownloadInfo.idForSegmentRef=function(e){var t=e.getSegmentData(!1);return t?shaka.util.Uint8ArrayUtils.toBase64(t):e.getUris().map(function(e){return"{"+encodeURI(e.split("#xywh=")[0])+"}"}).join("")+":"+e.startByte+":"+e.endByte},shaka.offline.DownloadInfo.prototype.getRefId=function(){return shaka.offline.DownloadInfo.idForSegmentRef(this.ref)},shaka.offline.DownloadInfo.prototype.makeSegmentRequest=function(e){return shaka.util.Networking.createSegmentRequest(this.ref.getUris(),this.ref.startByte,this.ref.endByte,e.streaming.retryParameters)},shaka.offline.DownloadProgressEstimator=function(){this.actualDownloaded_=this.estimatedDownloaded_=this.estimatedTotal_=0,this.pending_=new Map,this.nextId_=0},shaka.offline.DownloadProgressEstimator.prototype.open=function(e){this.estimatedTotal_+=e;var t=this.nextId_;return this.nextId_++,this.pending_.set(t,e),t},shaka.offline.DownloadProgressEstimator.prototype.close=function(e,t){if(this.pending_.has(e)){var r=this.pending_.get(e);this.pending_.delete(e),this.estimatedDownloaded_+=r,this.actualDownloaded_+=t}},shaka.offline.DownloadProgressEstimator.prototype.getEstimatedProgress=function(){return 0==this.estimatedTotal_?0:this.estimatedDownloaded_/this.estimatedTotal_},shaka.offline.DownloadProgressEstimator.prototype.getTotalDownloaded=function(){return this.actualDownloaded_},shaka.offline.DownloadManager=function(e){var t=this;this.networkingEngine_=e,this.groups_=new Map,this.destroyer_=new shaka.util.Destroyer(function(){return t.abortAll().catch(function(){})}),this.abortCallbacks_=[],this.onProgress_=function(e,t){},this.onInitData_=function(e,t){},this.estimator_=new shaka.offline.DownloadProgressEstimator,this.aborted_=!1},shaka.offline.DownloadManager.prototype.destroy=function(){return this.destroyer_.destroy()},shaka.offline.DownloadManager.prototype.setCallbacks=function(e,t){this.onProgress_=e,this.onInitData_=t},shaka.offline.DownloadManager.prototype.abortAll=function(){this.aborted_=!0;var e=this.abortCallbacks_.map(function(e){return e()});return this.abortCallbacks_=[],Promise.all(e)},shaka.offline.DownloadManager.prototype.isAborted=function(){return this.aborted_},shaka.offline.DownloadManager.prototype.addDownloadEstimate=function(e){return this.estimator_.open(e)},shaka.offline.DownloadManager.prototype.queue=function(e,t,r,i,n){var a=this;this.destroyer_.ensureNotDestroyed();var o=(this.groups_.get(e)||Promise.resolve()).then(function(){var e,o,s,l,u,d,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return p.yield(a.fetchSegment_(t),2);if(e=p.yieldResult,a.destroyer_.destroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.OPERATION_ABORTED);if(i)for(l in o=shaka.util.BufferUtils.toUint8(e),(s=new shaka.util.Pssh(o)).data)u=Number(l),d=s.data[u],c=s.systemIds[u],a.onInitData_(d,c);return a.estimator_.close(r,e.byteLength),a.onProgress_(a.estimator_.getEstimatedProgress(),a.estimator_.getTotalDownloaded()),p.return(n(e))})});return this.groups_.set(e,o),o},shaka.offline.DownloadManager.prototype.queueData=function(e,t,r,i,n){var a=this;this.destroyer_.ensureNotDestroyed();var o=(this.groups_.get(e)||Promise.resolve()).then(function(){if(a.destroyer_.destroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.OPERATION_ABORTED);if(i){var e=shaka.util.BufferUtils.toUint8(t);for(var o in(e=new shaka.util.Pssh(e)).data){var s=Number(o);a.onInitData_(e.data[s],e.systemIds[s])}}return a.estimator_.close(r,t.byteLength),a.onProgress_(a.estimator_.getEstimatedProgress(),a.estimator_.getTotalDownloaded()),n(t)});return this.groups_.set(e,o),o},shaka.offline.DownloadManager.prototype.queueWork=function(e,t){this.destroyer_.ensureNotDestroyed();var r=(this.groups_.get(e)||Promise.resolve()).then(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return e.yield(t(),0)})});return this.groups_.set(e,r),r},shaka.offline.DownloadManager.prototype.waitToFinish=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?t.yield(Promise.all(e.groups_.values()),2):t.return(e.estimator_.getTotalDownloaded())})},shaka.offline.DownloadManager.prototype.fetchSegment_=function(e){var t,r,i,n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){return 1==o.nextAddress?(t=shaka.net.NetworkingEngine.RequestType.SEGMENT,r=a.networkingEngine_.request(t,e),i=function(){return r.abort()},a.abortCallbacks_.push(i),o.yield(r.promise,2)):(n=o.yieldResult,shaka.util.ArrayUtils.remove(a.abortCallbacks_,i),o.return(n.data))})},shaka.offline.indexeddb={},shaka.offline.indexeddb.DBOperation=function(e,t){var r=this;this.transaction_=e,this.store_=e.objectStore(t),this.promise_=new shaka.util.PublicPromise,e.onabort=function(e){e.preventDefault(),r.promise_.reject()},e.onerror=function(e){e.preventDefault(),r.promise_.reject()},e.oncomplete=function(e){r.promise_.resolve()}},shaka.offline.indexeddb.DBOperation.prototype.abort=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){try{e.transaction_.abort()}catch(e){}return t.setCatchFinallyBlocks(2),t.yield(e.promise_,4)}if(2!=t.nextAddress)return t.leaveTryBlock(0);t.enterCatchBlock(),t.jumpToEnd()})},shaka.offline.indexeddb.DBOperation.prototype.forEachEntry=function(e){var t=this;return new Promise(function(r,i){var n=t.store_.openCursor();n.onerror=i,n.onsuccess=function(t){var i;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress)return null==n.result?(r(),t.return()):(i=n.result,t.yield(e(i.key,i.value,i),2));i.continue(),t.jumpToEnd()})}})},shaka.offline.indexeddb.DBOperation.prototype.store=function(){return this.store_},shaka.offline.indexeddb.DBOperation.prototype.promise=function(){return this.promise_},shaka.offline.indexeddb.DBConnection=function(e){this.connection_=e,this.pending_=[]},shaka.offline.indexeddb.DBConnection.prototype.destroy=function(){return Promise.all(this.pending_.map(function(e){return e.abort()}))},shaka.offline.indexeddb.DBConnection.prototype.startReadOnlyOperation=function(e){return this.startOperation_(e,"readonly")},shaka.offline.indexeddb.DBConnection.prototype.startReadWriteOperation=function(e){return this.startOperation_(e,"readwrite")},shaka.offline.indexeddb.DBConnection.prototype.startOperation_=function(e,t){var r=this;t=this.connection_.transaction([e],t);var i=new shaka.offline.indexeddb.DBOperation(t,e);return this.pending_.push(i),i.promise().then(function(){return r.stopTracking_(i)},function(){return r.stopTracking_(i)}),i},shaka.offline.indexeddb.DBConnection.prototype.stopTracking_=function(e){shaka.util.ArrayUtils.remove(this.pending_,e)},shaka.offline.indexeddb.BaseStorageCell=function(e,t,r){this.connection_=new shaka.offline.indexeddb.DBConnection(e),this.segmentStore_=t,this.manifestStore_=r},shaka.offline.indexeddb.BaseStorageCell.prototype.destroy=function(){return this.connection_.destroy()},shaka.offline.indexeddb.BaseStorageCell.prototype.hasFixedKeySpace=function(){return!0},shaka.offline.indexeddb.BaseStorageCell.prototype.addSegments=function(e){return this.rejectAdd(this.segmentStore_)},shaka.offline.indexeddb.BaseStorageCell.prototype.removeSegments=function(e,t){return this.remove_(this.segmentStore_,e,t)},shaka.offline.indexeddb.BaseStorageCell.prototype.getSegments=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?i.yield(r.get_(r.segmentStore_,e),2):(t=i.yieldResult,i.return(t.map(function(e){return r.convertSegmentData(e)})))})},shaka.offline.indexeddb.BaseStorageCell.prototype.addManifests=function(e){return this.rejectAdd(this.manifestStore_)},shaka.offline.indexeddb.BaseStorageCell.prototype.updateManifest=function(e,t){return this.rejectUpdate(this.manifestStore_)},shaka.offline.indexeddb.BaseStorageCell.prototype.updateManifestImplementation=function(e,t){var r=this.connection_.startReadWriteOperation(this.manifestStore_),i=r.store();return i.get(e).onsuccess=function(r){i.put(t,e)},r.promise()},shaka.offline.indexeddb.BaseStorageCell.prototype.updateManifestExpiration=function(e,t){var r=this.connection_.startReadWriteOperation(this.manifestStore_),i=r.store();return i.get(e).onsuccess=function(r){(r=r.target.result)&&(r.expiration=t,i.put(r,e))},r.promise()},shaka.offline.indexeddb.BaseStorageCell.prototype.removeManifests=function(e,t){return this.remove_(this.manifestStore_,e,t)},shaka.offline.indexeddb.BaseStorageCell.prototype.getManifests=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?i.yield(r.get_(r.manifestStore_,e),2):(t=i.yieldResult,i.return(Promise.all(t.map(function(e){return r.convertManifest(e)}))))})},shaka.offline.indexeddb.BaseStorageCell.prototype.getAllManifests=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(e=r.connection_.startReadOnlyOperation(r.manifestStore_),t=new Map,i.yield(e.forEachEntry(function(e,i){var n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){if
1(1==a.nextAddress)return a.yield(r.convertManifest(i),2);n=a.yieldResult,t.set(e,n),a.jumpToEnd()})}),2)):3!=i.nextAddress?i.yield(e.promise(),3):i.return(t)})},shaka.offline.indexeddb.BaseStorageCell.prototype.convertSegmentData=function(e){return e},shaka.offline.indexeddb.BaseStorageCell.prototype.convertManifest=function(e){return Promise.resolve(e)},shaka.offline.indexeddb.BaseStorageCell.prototype.rejectAdd=function(e){return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.NEW_KEY_OPERATION_NOT_SUPPORTED,"Cannot add new value to "+e))},shaka.offline.indexeddb.BaseStorageCell.prototype.rejectUpdate=function(e){return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MODIFY_OPERATION_NOT_SUPPORTED,"Cannot modify values in "+e))},shaka.offline.indexeddb.BaseStorageCell.prototype.add=function(e,t){var r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){for(i=(r=u.connection_.startReadWriteOperation(e)).store(),n=[],o=(a=$jscomp.makeIterator(t)).next(),s={};!o.done;s={request$jscomp$60:void 0},o=a.next())l=o.value,s.request$jscomp$60=i.add(l),s.request$jscomp$60.onsuccess=function(e){return function(t){n.push(e.request$jscomp$60.result)}}(s);return d.yield(r.promise(),2)}return d.return(n)})},shaka.offline.indexeddb.BaseStorageCell.prototype.remove_=function(e,t,r){var i=(e=this.connection_.startReadWriteOperation(e)).store();t=$jscomp.makeIterator(t);for(var n=t.next(),a={};!n.done;a={key$jscomp$147:void 0},n=t.next())a.key$jscomp$147=n.value,i.delete(a.key$jscomp$147).onsuccess=function(e){return function(){return r(e.key$jscomp$147)}}(a);return e.promise()},shaka.offline.indexeddb.BaseStorageCell.prototype.get_=function(e,t){var r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){for(i=(r=u.connection_.startReadOnlyOperation(e)).store(),n={},a=[],s=(o=$jscomp.makeIterator(t)).next(),l={};!s.done;l={request$jscomp$61:void 0,key$jscomp$148:void 0},s=o.next())l.key$jscomp$148=s.value,l.request$jscomp$61=i.get(l.key$jscomp$148),l.request$jscomp$61.onsuccess=function(e){return function(){void 0==e.request$jscomp$61.result&&a.push(e.key$jscomp$148),n[e.key$jscomp$148]=e.request$jscomp$61.result}}(l);return d.yield(r.promise(),2)}if(a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.KEY_NOT_FOUND,"Could not find values for "+a);return d.return(t.map(function(e){return n[e]}))})},shaka.offline.indexeddb.EmeSessionStorageCell=function(e,t){this.connection_=new shaka.offline.indexeddb.DBConnection(e),this.store_=t},shaka.offline.indexeddb.EmeSessionStorageCell.prototype.destroy=function(){return this.connection_.destroy()},shaka.offline.indexeddb.EmeSessionStorageCell.prototype.getAll=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(e=r.connection_.startReadOnlyOperation(r.store_),t=[],i.yield(e.forEachEntry(function(e,r){t.push(r)}),2)):3!=i.nextAddress?i.yield(e.promise(),3):i.return(t)})},shaka.offline.indexeddb.EmeSessionStorageCell.prototype.add=function(e){var t=this.connection_.startReadWriteOperation(this.store_),r=t.store();e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())r.add(i.value);return t.promise()},shaka.offline.indexeddb.EmeSessionStorageCell.prototype.remove=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(t=r.connection_.startReadWriteOperation(r.store_),i.yield(t.forEachEntry(function(t,r,i){e.includes(r.sessionId)&&i.delete()}),2)):i.yield(t.promise(),0)})},shaka.offline.StorageCellHandle={},shaka.offline.StorageCellPath={},shaka.offline.StorageMuxer=function(){this.mechanisms_=new Map},shaka.offline.StorageMuxer.prototype.destroy=function(){for(var e=[],t=$jscomp.makeIterator(this.mechanisms_.values()),r=t.next();!r.done;r=t.next())e.push(r.value.destroy());return this.mechanisms_.clear(),Promise.all(e)},shaka.offline.StorageMuxer.prototype.init=function(){var e=this;
1shaka.offline.StorageMuxer.getRegistry_().forEach(function(t,r){(t=t())?e.mechanisms_.set(r,t):shaka.log.info("Skipping "+r+" as it is not supported on this platform")});for(var t=[],r=$jscomp.makeIterator(this.mechanisms_.values()),i=r.next();!i.done;i=r.next())t.push(i.value.init());return Promise.all(t)},shaka.offline.StorageMuxer.prototype.getActive=function(){var e=null;if(this.mechanisms_.forEach(function(t,r){t.getCells().forEach(function(t,i){t.hasFixedKeySpace()||e||(e={path:{mechanism:r,cell:i},cell:t})})}),e)return e;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MISSING_STORAGE_CELL,"Could not find a cell that supports add-operations")},shaka.offline.StorageMuxer.prototype.forEachCell=function(e){this.mechanisms_.forEach(function(t,r){t.getCells().forEach(function(t,i){e({mechanism:r,cell:i},t)})})},shaka.offline.StorageMuxer.prototype.getCell=function(e,t){var r=this.mechanisms_.get(e);if(!r)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MISSING_STORAGE_CELL,"Could not find mechanism with name "+e);if(!(e=r.getCells().get(t)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MISSING_STORAGE_CELL,"Could not find cell with name "+t);return e},shaka.offline.StorageMuxer.prototype.forEachEmeSessionCell=function(e){this.mechanisms_.forEach(function(t,r){e(t.getEmeSessionCell())})},shaka.offline.StorageMuxer.prototype.getEmeSessionCell=function(){var e=Array.from(this.mechanisms_.keys());if(!e.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.STORAGE_NOT_SUPPORTED,"No supported storage mechanisms found");return this.mechanisms_.get(e[0]).getEmeSessionCell()},shaka.offline.StorageMuxer.prototype.resolvePath=function(e){var t=this.mechanisms_.get(e.mechanism);return t?t.getCells().get(e.cell):null},shaka.offline.StorageMuxer.prototype.erase=function(){var e,t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?((t=0<(e=Array.from(r.mechanisms_.values())).length)||shaka.offline.StorageMuxer.getRegistry_().forEach(function(t,r){(t=t())&&e.push(t)}),i.yield(Promise.all(e.map(function(e){return e.erase()})),2)):t?i.jumpTo(0):i.yield(Promise.all(e.map(function(e){return e.destroy()})),0)})},shaka.offline.StorageMuxer.register=function(e,t){shaka.offline.StorageMuxer.registry_.set(e,t)},shaka.offline.StorageMuxer.unregister=function(e){shaka.offline.StorageMuxer.registry_.delete(e)},shaka.offline.StorageMuxer.support=function(){var e=shaka.offline.StorageMuxer.getRegistry_();e=$jscomp.makeIterator(e.values());for(var t=e.next();!t.done;t=e.next())if(t=(t=t.value)())return t.destroy(),!0;return!1},shaka.offline.StorageMuxer.overrideSupport=function(e){shaka.offline.StorageMuxer.override_=e},shaka.offline.StorageMuxer.clearOverride=function(){shaka.offline.StorageMuxer.override_=null},shaka.offline.StorageMuxer.getRegistry_=function(){var e=shaka.offline.StorageMuxer.override_,t=shaka.offline.StorageMuxer.registry_;return COMPILED?t:e||t},goog.exportSymbol("shaka.offline.StorageMuxer",shaka.offline.StorageMuxer),goog.exportProperty(shaka.offline.StorageMuxer,"unregister",shaka.offline.StorageMuxer.unregister),goog.exportProperty(shaka.offline.StorageMuxer,"register",shaka.offline.StorageMuxer.register),goog.exportProperty(shaka.offline.StorageMuxer.prototype,"destroy",shaka.offline.StorageMuxer.prototype.destroy),shaka.offline.StorageMuxer.override_=null,shaka.offline.StorageMuxer.registry_=new Map,shaka.offline.indexeddb.V1StorageCell=function(){shaka.offline.indexeddb.BaseStorageCell.apply(this,arguments)},$jscomp.inherits(shaka.offline.indexeddb.V1StorageCell,shaka.offline.indexeddb.BaseStorageCell),shaka.offline.indexeddb.V1StorageCell.prototype.updateManifestExpiration=function(e,t){var r,i,n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){return i=(r=a.connection_.startReadWriteOperation(a.manifestStore_)).store(),n=new shaka.util.PublicPromise,i.get(e).onsuccess=function(r){(r=r.target.result)?(goog.asserts.assert(r.key==e,"With in-line keys, the keys should match"),r.expiration=t,i.put(r),n.resolve()):n.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.KEY_NOT_FOUND,"Could not find values for "+e))},o.yield(Promise.all([r.promise(),n]),0)})},shaka.offline.indexeddb.V1StorageCell.prototype.convertManifest=function(e){var t,r,i,n,a,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){if(1==s.nextAddress){for(t=shaka.offline.indexeddb.V1StorageCell,r=[],i=0;i<e.periods.length;++i)n=(i==e.periods.length-1?e.duration:e.periods[i+1].startTime)-e.periods[i].startTime,a=t.convertPeriod_(e.periods[i],n),r.push(a);return s.yield(shaka.util.PeriodCombiner.combineDbStreams(r),2)}return o=s.yieldResult,s.return({creationTime:0,originalManifestUri:e.originalManifestUri,duration:e.duration,size:e.size,expiration:null==e.expiration?1/0:e.expiration,streams:o,sessionIds:e.sessionIds,drmInfo:e.drmInfo,appMetadata:e.appMetadata,sequenceMode:!1})})},shaka.offline.indexeddb.V1StorageCell.convertPeriod_=function(e,t){var r=shaka.offline.indexeddb.V1StorageCell;r.fillMissingVariants_(e);for(var i=$jscomp.makeIterator(e.streams),n=i.next();!n.done;n=i.next())goog.asserts.assert(n.value.variantIds,"After filling in missing variants, each stream should have variant ids");
1return e.streams.map(function(i){return r.convertStream_(i,e.startTime,t)})},shaka.offline.indexeddb.V1StorageCell.convertStream_=function(e,t,r){var i=shaka.offline.indexeddb.V1StorageCell,n=e.initSegmentUri?i.getKeyFromSegmentUri_(e.initSegmentUri):null,a=t+e.presentationTimeOffset,o=t+r;return{id:e.id,originalId:null,groupId:null,primary:e.primary,type:e.contentType,mimeType:e.mimeType,codecs:e.codecs,frameRate:e.frameRate,pixelAspectRatio:void 0,hdr:void 0,colorGamut:void 0,videoLayout:void 0,kind:e.kind,language:e.language,originalLanguage:e.language||null,label:e.label,width:e.width,height:e.height,initSegmentKey:n,encrypted:e.encrypted,keyIds:new Set([e.keyId]),segments:e.segments.map(function(e){return i.convertSegment_(e,n,t,o,a)}),variantIds:e.variantIds,roles:[],forced:!1,audioSamplingRate:null,channelsCount:null,spatialAudio:!1,closedCaptions:null,tilesLayout:void 0,external:!1,fastSwitching:!1,isAudioMuxedInVideo:!1}},shaka.offline.indexeddb.V1StorageCell.convertSegment_=function(e,t,r,i,n){var a=shaka.offline.indexeddb.V1StorageCell.getKeyFromSegmentUri_(e.uri);return{startTime:r+e.startTime,endTime:r+e.endTime,dataKey:a,initSegmentKey:t,appendWindowStart:r,appendWindowEnd:i,timestampOffset:n,tilesLayout:"",mimeType:null,codecs:null,thumbnailSprite:null}},shaka.offline.indexeddb.V1StorageCell.prototype.convertSegmentData=function(e){return{data:e.data}},shaka.offline.indexeddb.V1StorageCell.getKeyFromSegmentUri_=function(e){var t;if((t=/^offline:[0-9]+\/[0-9]+\/([0-9]+)$/.exec(e))||(t=/^offline:segment\/([0-9]+)$/.exec(e)))return Number(t[1]);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MALFORMED_OFFLINE_URI,"Could not parse uri "+e)},shaka.offline.indexeddb.V1StorageCell.fillMissingVariants_=function(e){var t=shaka.util.ManifestParserUtils.ContentType.AUDIO,r=shaka.util.ManifestParserUtils.ContentType.VIDEO,i=e.streams.filter(function(e){return e.contentType==t});if(e=e.streams.filter(function(e){return e.contentType==r}),!i.every(function(e){return e.variantIds})||!e.every(function(e){return e.variantIds})){goog.asserts.assert(i.every(function(e){return!e.variantIds}),"Some audio streams have variant ids and some do not."),goog.asserts.assert(e.every(function(e){return!e.variantIds}),"Some video streams have variant ids and some do not.");for(var n=$jscomp.makeIterator(i),a=n.next();!a.done;a=n.next())a.value.variantIds=[];for(a=(n=$jscomp.makeIterator(e)).next();!a.done;a=n.next())a.value.variantIds=[];if(n=0,e.length&&!i.length){shaka.log.debug("Found video-only content. Creating variants for video."),a=n++;for(var o=$jscomp.makeIterator(e),s=o.next();!s.done;s=o.next())s.value.variantIds.push(a)}if(!e.length&&i.length)for(shaka.log.debug("Found audio-only content. Creating variants for audio."),a=n++,s=(o=$jscomp.makeIterator(i)).next();!s.done;s=o.next())s.value.variantIds.push(a);if(e.length&&i.length)for(shaka.log.debug("Found audio-video content. Creating variants."),a=(i=$jscomp.makeIterator(i)).next();!a.done;a=i.next())for(a=a.value,s=(o=$jscomp.makeIterator(e)).next();!s.done;s=o.next()){s=s.value;var l=n++;a.variantIds.push(l),s.variantIds.push(l)}}},shaka.offline.indexeddb.V2StorageCell=function(){shaka.offline.indexeddb.BaseStorageCell.apply(this,arguments)},$jscomp.inherits(shaka.offline.indexeddb.V2StorageCell,shaka.offline.indexeddb.BaseStorageCell),shaka.offline.indexeddb.V2StorageCell.prototype.convertManifest=function(e){var t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){if(1==s.nextAddress){for(r=0,t=[];r<e.periods.length;++r)i=(r==e.periods.length-1?e.duration:e.periods[r+1].startTime)-e.periods[r].startTime,n=o.convertPeriod_(e.periods[r],i),t.push(n);return s.yield(shaka.util.PeriodCombiner.combineDbStreams(t),2)}return a=s.yieldResult,s.return({appMetadata:e.appMetadata,creationTime:0,drmInfo:e.drmInfo,duration:e.duration,expiration:null==e.expiration?1/0:e.expiration,originalManifestUri:e.originalManifestUri,sessionIds:e.sessionIds,size:e.size,streams:a,sequenceMode:!1})})},shaka.offline.indexeddb.V2StorageCell.prototype.convertPeriod_=function(e,t){for(var r=[],i=$jscomp.makeIterator(e.streams),n=i.next();!n.done;n=i.next())0!=(n=n.value).variantIds.length&&r.push(this.convertStream_
1(n,e.startTime,e.startTime+t));return r},shaka.offline.indexeddb.V2StorageCell.prototype.convertStream_=function(e,t,r){var i=this;return{id:e.id,originalId:e.originalId,groupId:null,primary:e.primary,type:e.contentType,mimeType:e.mimeType,codecs:e.codecs,frameRate:e.frameRate,pixelAspectRatio:e.pixelAspectRatio,hdr:void 0,colorGamut:void 0,videoLayout:void 0,kind:e.kind,language:e.language,originalLanguage:e.language||null,label:e.label,width:e.width,height:e.height,encrypted:e.encrypted,keyIds:new Set([e.keyId]),segments:e.segments.map(function(n){return i.convertSegment_(n,e.initSegmentKey,t,r,e.presentationTimeOffset)}),variantIds:e.variantIds,roles:[],forced:!1,audioSamplingRate:null,channelsCount:null,spatialAudio:!1,closedCaptions:null,tilesLayout:void 0,external:!1,fastSwitching:!1,isAudioMuxedInVideo:!1}},shaka.offline.indexeddb.V2StorageCell.prototype.convertSegment_=function(e,t,r,i,n){return{startTime:r+e.startTime,endTime:r+e.endTime,initSegmentKey:t,appendWindowStart:r,appendWindowEnd:i,timestampOffset:r-n,dataKey:e.dataKey,tilesLayout:"",mimeType:null,codecs:null,thumbnailSprite:null}},shaka.offline.indexeddb.V5StorageCell=function(){shaka.offline.indexeddb.BaseStorageCell.apply(this,arguments)},$jscomp.inherits(shaka.offline.indexeddb.V5StorageCell,shaka.offline.indexeddb.BaseStorageCell),shaka.offline.indexeddb.V5StorageCell.prototype.hasFixedKeySpace=function(){return!1},shaka.offline.indexeddb.V5StorageCell.prototype.addSegments=function(e){return this.add(this.segmentStore_,e)},shaka.offline.indexeddb.V5StorageCell.prototype.addManifests=function(e){return this.add(this.manifestStore_,e)},shaka.offline.indexeddb.V5StorageCell.prototype.updateManifest=function(e,t){return this.updateManifestImplementation(e,t)},shaka.offline.indexeddb.V5StorageCell.prototype.convertManifest=function(e){return null==e.expiration&&(e.expiration=1/0),Promise.resolve(e)},shaka.offline.indexeddb.StorageMechanism=function(){this.sessions_=this.v5_=this.v3_=this.v2_=this.v1_=this.db_=null},shaka.offline.indexeddb.StorageMechanism.prototype.init=function(){var e=this,t=shaka.offline.indexeddb.StorageMechanism.DB_NAME,r=shaka.offline.indexeddb.StorageMechanism.VERSION,i=new shaka.util.PublicPromise,n=!1,a=new shaka.util.Timer(function(){n=!0,i.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.INDEXED_DB_INIT_TIMED_OUT))});a.tickAfter(5);var o=window.indexedDB.open(t,r);return o.onsuccess=function(t){n||(e.db_=t=o.result,e.v1_=shaka.offline.indexeddb.StorageMechanism.createV1_(t),e.v2_=shaka.offline.indexeddb.StorageMechanism.createV2_(t),e.v3_=shaka.offline.indexeddb.StorageMechanism.createV3_(t),e.v5_=shaka.offline.indexeddb.StorageMechanism.createV5_(t),e.sessions_=shaka.offline.indexeddb.StorageMechanism.createEmeSessionCell_(t),a.stop(),i.resolve())},o.onupgradeneeded=function(t){e.createStores_(o.result)},o.onerror=function(e){n||(i.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.INDEXED_DB_ERROR,o.error)),a.stop(),e.preventDefault())},i},shaka.offline.indexeddb.StorageMechanism.prototype.destroy=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){switch(t.nextAddress){case 1:if(!e.v1_){t.jumpTo(2);break}return t.yield(e.v1_.destroy(),2);case 2:if(!e.v2_){t.jumpTo(4);break}return t.yield(e.v2_.destroy(),4);case 4:if(!e.v3_){t.jumpTo(6);break}return t.yield(e.v3_.destroy(),6);case 6:if(!e.v5_){t.jumpTo(8);break}return t.yield(e.v5_.destroy(),8);case 8:if(!e.sessions_){t.jumpTo(10);break}return t.yield(e.sessions_.destroy(),10);case 10:e.db_&&e.db_.close(),t.jumpToEnd()}})},shaka.offline.indexeddb.StorageMechanism.prototype.getCells=function(){var e=new Map;return this.v1_&&e.set("v1",this.v1_),this.v2_&&e.set("v2",this.v2_),this.v3_&&e.set("v3",this.v3_),this.v5_&&e.set("v5",this.v5_),e},shaka.offline.indexeddb.StorageMechanism.prototype.getEmeSessionCell=function(){return goog.asserts.assert(this.sessions_,"Cannot be destroyed."),this.sessions_}
1,shaka.offline.indexeddb.StorageMechanism.prototype.erase=function(){var e=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){switch(t.nextAddress){case 1:if(!e.v1_){t.jumpTo(2);break}return t.yield(e.v1_.destroy(),2);case 2:if(!e.v2_){t.jumpTo(4);break}return t.yield(e.v2_.destroy(),4);case 4:if(!e.v3_){t.jumpTo(6);break}return t.yield(e.v3_.destroy(),6);case 6:if(!e.v5_){t.jumpTo(8);break}return t.yield(e.v5_.destroy(),8);case 8:return e.db_&&e.db_.close(),t.yield(shaka.offline.indexeddb.StorageMechanism.deleteAll_(),10);case 10:return e.db_=null,e.v1_=null,e.v2_=null,e.v3_=null,e.v5_=null,t.yield(e.init(),0)}})},shaka.offline.indexeddb.StorageMechanism.createV1_=function(e){var t=shaka.offline.indexeddb.StorageMechanism,r=t.V1_SEGMENT_STORE;t=t.V1_MANIFEST_STORE;var i=e.objectStoreNames;return i.contains(t)&&i.contains(r)?(shaka.log.debug("Mounting v1 idb storage cell"),new shaka.offline.indexeddb.V1StorageCell(e,r,t)):null},shaka.offline.indexeddb.StorageMechanism.createV2_=function(e){var t=shaka.offline.indexeddb.StorageMechanism,r=t.V2_SEGMENT_STORE;t=t.V2_MANIFEST_STORE;var i=e.objectStoreNames;return i.contains(t)&&i.contains(r)?(shaka.log.debug("Mounting v2 idb storage cell"),new shaka.offline.indexeddb.V2StorageCell(e,r,t)):null},shaka.offline.indexeddb.StorageMechanism.createV3_=function(e){var t=shaka.offline.indexeddb.StorageMechanism,r=t.V3_SEGMENT_STORE;t=t.V3_MANIFEST_STORE;var i=e.objectStoreNames;return i.contains(t)&&i.contains(r)?(shaka.log.debug("Mounting v3 idb storage cell"),new shaka.offline.indexeddb.V2StorageCell(e,r,t)):null},shaka.offline.indexeddb.StorageMechanism.createV5_=function(e){var t=shaka.offline.indexeddb.StorageMechanism,r=t.V5_SEGMENT_STORE;t=t.V5_MANIFEST_STORE;var i=e.objectStoreNames;return i.contains(t)&&i.contains(r)?(shaka.log.debug("Mounting v5 idb storage cell"),new shaka.offline.indexeddb.V5StorageCell(e,r,t)):null},shaka.offline.indexeddb.StorageMechanism.createEmeSessionCell_=function(e){var t=shaka.offline.indexeddb.StorageMechanism.SESSION_ID_STORE;return e.objectStoreNames.contains(t)?(shaka.log.debug("Mounting session ID idb storage cell"),new shaka.offline.indexeddb.EmeSessionStorageCell(e,t)):null},shaka.offline.indexeddb.StorageMechanism.prototype.createStores_=function(e){for(var t=$jscomp.makeIterator([shaka.offline.indexeddb.StorageMechanism.V5_SEGMENT_STORE,shaka.offline.indexeddb.StorageMechanism.V5_MANIFEST_STORE,shaka.offline.indexeddb.StorageMechanism.SESSION_ID_STORE]),r=t.next();!r.done;r=t.next())r=r.value,e.objectStoreNames.contains(r)||e.createObjectStore(r,{autoIncrement:!0})},shaka.offline.indexeddb.StorageMechanism.deleteAll_=function(){var e=shaka.offline.indexeddb.StorageMechanism.DB_NAME,t=new shaka.util.PublicPromise,r=window.indexedDB.deleteDatabase(e);return r.onblocked=function(t){shaka.log.warning("Deleting",e,"is being blocked",t)},r.onsuccess=function(e){t.resolve()},r.onerror=function(e){t.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.INDEXED_DB_ERROR,r.error)),e.preventDefault()},t},shaka.offline.indexeddb.StorageMechanism.DB_NAME="shaka_offline_db",shaka.offline.indexeddb.StorageMechanism.VERSION=5,shaka.offline.indexeddb.StorageMechanism.V1_SEGMENT_STORE="segment",shaka.offline.indexeddb.StorageMechanism.V2_SEGMENT_STORE="segment-v2",shaka.offline.indexeddb.StorageMechanism.V3_SEGMENT_STORE="segment-v3",shaka.offline.indexeddb.StorageMechanism.V5_SEGMENT_STORE="segment-v5",shaka.offline.indexeddb.StorageMechanism.V1_MANIFEST_STORE="manifest",shaka.offline.indexeddb.StorageMechanism.V2_MANIFEST_STORE="manifest-v2",shaka.offline.indexeddb.StorageMechanism.V3_MANIFEST_STORE="manifest-v3",shaka.offline.indexeddb.StorageMechanism.V5_MANIFEST_STORE="manifest-v5",shaka.offline.indexeddb.StorageMechanism.SESSION_ID_STORE="session-ids",shaka.offline.StorageMuxer.register("idb",function(){return shaka.util.Platform.isChromecast()&&!shaka.util.Platform.isAndroidCastDevice()||shaka.util.Platform.isXboxOne()||!window.indexedDB?null:new shaka.offline.indexeddb.StorageMechanism}),shaka.offline.OfflineUri=function(e,t,r,i){this.type_=e,this.mechanism_=t,this.cell_=r,this.key_=i,this.asString_=["offline:",e,"/",t,"/",r,"/",i].join("")},shaka.offline.OfflineUri.prototype.isManifest=function(){return"manifest"==this.type_},shaka.offline.OfflineUri.prototype.isSegment=function(){return"segment"==this.type_},shaka.offline.OfflineUri.prototype.mechanism=function(){return this.mechanism_},shaka.offline.OfflineUri.prototype.cell=function(){return this.cell_},shaka.offline.OfflineUri.prototype.key=function(){return this.key_},shaka.offline.OfflineUri.prototype.toString=function(){return this.asString_},shaka.offline.OfflineUri.parse=function(e){if(null==(e=/^offline:([a-z]+)\/([^/]+)\/([^/]+)\/([0-9]+)$/.exec(e)))return null;var t=e[1];if("manifest"!=t&&"segment"!=t)return null;var r=e[2];if(!r)return null;var i=e[3];return i&&null!=t?new shaka.offline.OfflineUri(t,r,i,Number(e[4])):null},shaka.offline.OfflineUri.manifest=function(e,t,r){return new shaka.offline.OfflineUri("manifest",e,t,r)},shaka.offline.OfflineUri.segment=function(e,t,r){return new shaka.offline.OfflineUri("segment",e,t,r)},shaka.offline.ManifestConverter=function(e,t){this.mechanism_=e,this.cell_=t},shaka.offline.ManifestConverter.prototype.fromManifestDB=function(e){var t=this,r=new shaka.media.PresentationTimeline(null,0);r.setDuration(e.duration);var i=e.streams.filter(function(e){return t.isAudio_(e)}),n=e.streams.filter(function(e){return t.isVideo_(e)});i=this.createVariants(i,n,r),n=e.streams.filter(function(e){return t.isText_(e)}).map(function(e){return t.fromStreamDB_(e,r)});var a=e.streams.filter(function(e){return t.isImage_(e)}).map(function(e){return t.fromStreamDB_(e,r)}),o=e.drmInfo?[e.drmInfo]:[];if(e.drmInfo)for(var s=$jscomp.makeIterator(i.values()),l=s.next();!l.done;l=s.next())(l=l.value).audio&&l.audio.encrypted&&(l.audio.drmInfos=o),l.video&&l.video.encrypted&&(l.video.drmInfos=o);return{presentationTimeline:r,offlineSessionIds:e.sessionIds,variants:Array.from(i.values()),textStreams:n,imageStreams:a,sequenceMode:e.sequenceMode||!1,ignoreManifestTimestampsInSegmentsMode:!1,type:e.type||shaka.media.ManifestParser.UNKNOWN,serviceDescription:null,nextUrl:null,periodCount:1,gapCount:0,isLowLatency:!1,startTime:null}},shaka.offline.ManifestConverter.prototype.createVariants=function(e,t,r){for(var i=new Set,n=$jscomp.makeIterator(e),a=n.next();!a.done;a=n.next()){a=$jscomp.makeIterator(a.value.variantIds);for(var o=a.next();!o.done;o=a.next())i.add(o.value)}for(a=(n=$jscomp.makeIterator(t)).next();!a.done;a=n.next())for(o=(a=$jscomp.makeIterator(a.value.variantIds)).next();!o.done;o=a.next())i.add(o.value);for(n=new Map,a=(i=$jscomp.makeIterator(i)).next();!a.done;a=i.next())a=a.value,n.set(a,this.createEmptyVariant_(a));for(i=(e=$jscomp.makeIterator(e)).next();!i.done;i=e.next())for(a=i.value,i=this.fromStreamDB_(a,r),o=(a=$jscomp.makeIterator(a.variantIds)).next();!o.done;o=a.next())o=n.get(o.value),goog.asserts.assert(!o.audio,"A variant should only have one audio stream"),o.language=i.language,o.primary=o.primary||i.primary,o.audio=i;for(e=(t=$jscomp.makeIterator(t)).next();!e.done;e=t.next())for(i=e.value,e=this.fromStreamDB_(i,r),a=(i=$jscomp.makeIterator(i.variantIds)).next();!a.done;a=i.next())a=n.get(a.value),goog.asserts.assert(!a.video,"A variant should only have one video stream"),a.primary=a.primary||e.primary,a.video=e;return n},shaka.offline.ManifestConverter.prototype.fromStreamDB_=function(e,t){var r=this,i=e.segments.map(function(t,i){return r.fromSegmentDB_(i,t,e)});return t.notifySegments(i),t=new shaka.media.SegmentIndex(i),{id:e.id,originalId:e.originalId,groupId:e.groupId,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:t,mimeType:e.mimeType,codecs:e.codecs,width:e.width||void 0,height:e.height||void 0,frameRate:e.frameRate,pixelAspectRatio:e.pixelAspectRatio,hdr:e.hdr,colorGamut:e.colorGamut,videoLayout:e.videoLayout,kind:e.kind,encrypted:e.encrypted,drmInfos:[],keyIds:e.keyIds,language:e.language,originalLanguage:e.originalLanguage||null,label:e.label,type:e.type,primary:e.primary,trickModeVideo:null,emsgSchemeIdUris:null,roles:e.roles,forced:e.forced,channelsCount:e.channelsCount,audioSamplingRate:e.audioSamplingRate,spatialAudio:e.spatialAudio,closedCaptions:e.closedCaptions,tilesLayout:e.tilesLayout,mssPrivateData:e.mssPrivateData,accessibilityPurpose:null,external:e.external,fastSwitching:e.fastSwitching,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(e.mimeType,e.codecs)]),isAudioMuxedInVideo:!1}},shaka.offline.ManifestConverter.prototype.fromSegmentDB_=function(e,t,r){var i=shaka.offline.OfflineUri.segment(this.mechanism_,this.cell_,t.dataKey);return e=null!=t.initSegmentKey?this.fromInitSegmentDB_(t.initSegmentKey):null,(e=new shaka.media.SegmentReference(t.startTime,t.endTime,function(){return[i.toString()]},0,null,e,t.timestampOffset,t.appendWindowStart,t.appendWindowEnd,[],t.tilesLayout||"")).mimeType=t.mimeType||r.mimeType||"",e.codecs=t.codecs||r.codecs||"",t.thumbnailSprite&&e.setThumbnailSprite(t.thumbnailSprite),e},shaka.offline.ManifestConverter.prototype.fromInitSegmentDB_=function(e){var t=shaka.offline.OfflineUri.segment(this.mechanism_,this.cell_,e);return new shaka.media.InitSegmentReference(function(){return[t.toString()]},0,null)},shaka.offline.ManifestConverter.prototype.isAudio_=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.AUDIO},shaka.offline.ManifestConverter.prototype.isVideo_=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.VIDEO},shaka.offline.ManifestConverter.prototype.isText_=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.TEXT},shaka.offline.ManifestConverter.prototype.isImage_=function(e){return e.type==shaka.util.ManifestParserUtils.ContentType.IMAGE},shaka.offline.ManifestConverter.prototype.createEmptyVariant_=function(e){return{id:e,language:"",disabledUntilTime:0,primary:!1,audio:null,video:null,bandwidth:0,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]}},shaka.offline.OfflineManifestParser=function(){this.uri_=null},shaka.offline.OfflineManifestParser.prototype.configure=function(e){},shaka.offline.OfflineManifestParser.prototype.start=function(e,t){var r,i,n,a,o,s=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:if(s.uri_=r=shaka.offline.OfflineUri.parse(e),null==r||!r.isManifest())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.MALFORMED_OFFLINE_URI,e);return i=new shaka.offline.StorageMuxer,l.setFinallyBlock(2),l.yield(i.init(),4);case 4:return l.yield(i.getCell(r.mechanism(),r.cell()),5);
1case 5:return n=l.yieldResult,l.yield(n.getManifests([r.key()]),6);case 6:return a=l.yieldResult[0],o=new shaka.offline.ManifestConverter(r.mechanism(),r.cell()).fromManifestDB(a),t.makeTextStreamsForClosedCaptions(o),l.return(o);case 2:return l.enterFinallyBlock(),l.yield(i.destroy(),7);case 7:l.leaveFinallyBlock(0)}})},shaka.offline.OfflineManifestParser.prototype.stop=function(){return Promise.resolve()},shaka.offline.OfflineManifestParser.prototype.update=function(){},shaka.offline.OfflineManifestParser.prototype.onExpirationUpdated=function(e,t){var r,i,n,a,o,s,l,u=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:return goog.asserts.assert(u.uri_,"Should not get update event before start has been called"),r=u.uri_,i=new shaka.offline.StorageMuxer,d.setCatchFinallyBlocks(2,3),d.yield(i.init(),5);case 5:return d.yield(i.getCell(r.mechanism(),r.cell()),6);case 6:return n=d.yieldResult,d.yield(n.getManifests([r.key()]),7);case 7:if(o=(a=d.yieldResult[0]).sessionIds.includes(e),s=void 0==a.expiration||a.expiration>t,!o||!s){d.jumpTo(3);break}return shaka.log.debug("Updating expiration for stored content"),d.yield(n.updateManifestExpiration(r.key(),t),3);case 3:return d.enterFinallyBlock(),d.yield(i.destroy(),10);case 10:d.leaveFinallyBlock(0);break;case 2:l=d.enterCatchBlock(),shaka.log.error("There was an error updating",r,l),d.jumpTo(3)}})},shaka.offline.OfflineManifestParser.prototype.onInitialVariantChosen=function(e){},shaka.offline.OfflineManifestParser.prototype.banLocation=function(e){},shaka.offline.OfflineManifestParser.prototype.setMediaElement=function(e){},shaka.media.ManifestParser.registerParserByMime("application/x-offline-manifest",function(){return new shaka.offline.OfflineManifestParser}),shaka.offline.OfflineScheme=function(){},shaka.offline.OfflineScheme.plugin=function(e,t,r,i){return(r=shaka.offline.OfflineUri.parse(e))&&r.isManifest()?shaka.offline.OfflineScheme.getManifest_(e,t):r&&r.isSegment()?shaka.offline.OfflineScheme.getSegment_(r.key(),r,t):shaka.util.AbortableOperation.failed(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.MALFORMED_OFFLINE_URI,e))},shaka.offline.OfflineScheme.getManifest_=function(e,t){return e={uri:e,originalUri:e,data:new ArrayBuffer(0),headers:{"content-type":"application/x-offline-manifest"},originalRequest:t},shaka.util.AbortableOperation.completed(e)},shaka.offline.OfflineScheme.getSegment_=function(e,t,r){goog.asserts.assert(t.isSegment(),"Only segment uri's should be given to getSegment");var i=new shaka.offline.StorageMuxer;return shaka.util.AbortableOperation.completed(void 0).chain(function(){return i.init()}).chain(function(){return i.getCell(t.mechanism(),t.cell())}).chain(function(e){return e.getSegments([t.key()])}).chain(function(e){return{uri:t,data:e[0].data,headers:{},originalRequest:r}}).finally(function(){return i.destroy()})},goog.exportSymbol("shaka.offline.OfflineScheme",shaka.offline.OfflineScheme),goog.exportProperty(shaka.offline.OfflineScheme,"plugin",shaka.offline.OfflineScheme.plugin),shaka.net.NetworkingEngine.registerScheme("offline",shaka.offline.OfflineScheme.plugin),shaka.offline.SessionDeleter=function(){},shaka.offline.SessionDeleter.prototype.delete=function(e,t,r){var i,n,a,o,s,l,u,d=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:i=shaka.offline.SessionDeleter,n=[],o=(a=$jscomp.makeIterator(i.createBuckets_(r))).next();case 2:if(o.done){c.jumpTo(4);break}return s=o.value,l=d.doDelete_(e,t,s),c.yield(l,5);case 5:u=c.yieldResult,n=n.concat(u),o=a.next(),c.jumpTo(2);break;case 4:return c.return(n)}})},shaka.offline.SessionDeleter.prototype.doDelete_=function(e,t,r){var i,n,a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){switch(o.nextAddress){case 1:return i=new shaka.drm.DrmEngine({netEngine:t,onError:function(){},onKeyStatus:function(){},onExpirationUpdated:function(){},onEvent:function(){}}),o.setCatchFinallyBlocks(2),i.configure(e),o.yield(i.initForRemoval(r.info.keySystem,r.info.licenseUri,r.info.serverCertificate,r.info.audioCapabilities,r.info.videoCapabilities),4);case 4:o.leaveTryBlock(3);break;case 2:return n=o.enterCatchBlock(),shaka.log.warning("Error initializing EME",n),o.yield(i.destroy(),5);case 5:return o.return([]);case 3:return a=[],o.yield(Promise.all(r.sessionIds.map(function(e){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?(r.setCatchFinallyBlocks(2),r.yield(i.removeSession(e),4)):2!=r.nextAddress?(a.push(e),r.leaveTryBlock(0)):void(t=r.enterCatchBlock(),shaka.log.warning("Error deleting offline session",t),r.jumpToEnd())})})),6);case 6:return o.yield(i.destroy(),7);case 7:return o.return(a)}})},shaka.offline.SessionDeleter.createBuckets_=function(e){var t=shaka.offline.SessionDeleter,r=[];e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next()){i=i.value;for(var n=!1,a=$jscomp.makeIterator(r),o=a.next();!o.done;o=a.next())if(o=o.value,t.isCompatible_(o.info,i)){o.sessionIds.push(i.sessionId),n=!0;break}n||r.push({info:i,sessionIds:[i.sessionId]})}return r},shaka.offline.SessionDeleter.isCompatible_=function(e,t){var r=shaka.util.ArrayUtils,i=function(e,t){return e.robustness==t.robustness&&e.contentType==t.contentType};return e.keySystem==t.keySystem&&e.licenseUri==t.licenseUri&&r.hasSameElements(e.audioCapabilities,t.audioCapabilities,i)&&r.hasSameElements(e.videoCapabilities,t.videoCapabilities,i)},shaka.offline.StoredContentUtils=function(){},shaka.offline.StoredContentUtils.fromManifest=function(e,t,r,i){return goog.asserts.assert(t.variants.length,"Cannot create stored content from manifest with no variants."),{offlineUri:null,originalManifestUri:e,duration:t.presentationTimeline.getDuration(),size:r,expiration:1/0,tracks:t=shaka.offline.StoredContentUtils.getTracks_(t),appMetadata:i,isIncomplete:!1}},shaka.offline.StoredContentUtils.fromManifestDB=function(e,t){goog.asserts.assert(t.streams.length,"Cannot create stored content from manifestDB with no streams.");var r=new shaka.offline.ManifestConverter(e.mechanism(),e.cell()).fromManifestDB(t),i=t.appMetadata||{};
1return r=shaka.offline.StoredContentUtils.getTracks_(r),goog.asserts.assert(null!=t.expiration,"Manifest expiration must be set by now!"),{offlineUri:e.toString(),originalManifestUri:t.originalManifestUri,duration:t.duration,size:t.size,expiration:t.expiration,tracks:r,appMetadata:i,isIncomplete:t.isIncomplete||!1}},shaka.offline.StoredContentUtils.getTracks_=function(e){var t=shaka.util.StreamUtils,r=[],i=t.getPlayableVariants(e.variants);i=$jscomp.makeIterator(i);for(var n=i.next();!n.done;n=i.next())r.push(t.variantToTrack(n.value));for(i=(e=$jscomp.makeIterator(e.textStreams)).next();!i.done;i=e.next())r.push(t.textStreamToTrack(i.value));return r},shaka.offline.StreamBandwidthEstimator=function(){this.estimateByStreamId_=new Map},shaka.offline.StreamBandwidthEstimator.prototype.addVariant=function(e){var t=e.audio,r=e.video;if(t&&!r&&this.setBitrate_(t.id,t.bandwidth||e.bandwidth),!t&&r&&this.setBitrate_(r.id,r.bandwidth||e.bandwidth),t&&r){var i=t.bandwidth||shaka.offline.StreamBandwidthEstimator.DEFAULT_AUDIO_BITRATE_,n=r.bandwidth||e.bandwidth-i;0>=n&&(shaka.log.warning("Audio bit rate consumes variants bandwidth. Setting video bandwidth to match variant's bandwidth."),n=e.bandwidth),this.setBitrate_(t.id,i),this.setBitrate_(r.id,n)}},shaka.offline.StreamBandwidthEstimator.prototype.setBitrate_=function(e,t){this.estimateByStreamId_.set(e,t)},shaka.offline.StreamBandwidthEstimator.prototype.addText=function(e){this.estimateByStreamId_.set(e.id,shaka.offline.StreamBandwidthEstimator.DEFAULT_TEXT_BITRATE_)},shaka.offline.StreamBandwidthEstimator.prototype.addImage=function(e){this.estimateByStreamId_.set(e.id,e.bandwidth||shaka.offline.StreamBandwidthEstimator.DEFAULT_IMAGE_BITRATE_)},shaka.offline.StreamBandwidthEstimator.prototype.getSegmentEstimate=function(e,t){return t=t.endTime-t.startTime,this.getEstimate_(e)*t},shaka.offline.StreamBandwidthEstimator.prototype.getInitSegmentEstimate=function(e){return .5*this.getEstimate_(e)},shaka.offline.StreamBandwidthEstimator.prototype.getEstimate_=function(e){return null==(e=this.estimateByStreamId_.get(e))&&(e=0,shaka.log.error("Asking for bitrate of stream not given to the estimator")),0==e&&shaka.log.warning("Using bitrate of 0, this stream won't affect progress"),e},shaka.offline.StreamBandwidthEstimator.DEFAULT_AUDIO_BITRATE_=393216,shaka.offline.StreamBandwidthEstimator.DEFAULT_TEXT_BITRATE_=52,shaka.offline.StreamBandwidthEstimator.DEFAULT_IMAGE_BITRATE_=2048,shaka.offline.Storage=function(e){var t=this;if(e&&e.constructor!=shaka.Player)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.LOCAL_PLAYER_INSTANCE_REQUIRED);this.networkingEngine_=this.config_=null,e?(this.config_=e.getSharedConfiguration(),this.networkingEngine_=e.getNetworkingEngine(),goog.asserts.assert(this.networkingEngine_,"Storage should not be initialized with a player that had |destroy| called on it.")):(this.config_=shaka.util.PlayerConfiguration.createDefault(),this.networkingEngine_=new shaka.net.NetworkingEngine),this.openOperations_=[],this.openDownloadManagers_=[];var r=!e;this.destroyer_=new shaka.util.Destroyer(function(){var e,i,n,a,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){switch(s.nextAddress){case 1:return s.yield(Promise.all(t.openDownloadManagers_.map(function(e){return e.abortAll()})),2);case 2:for(e=function(){},i=[],a=(n=$jscomp.makeIterator(t.openOperations_)).next();!a.done;a=n.next())o=a.value,i.push(o.then(e,e));return s.yield(Promise.all(i),3);case 3:if(!r){s.jumpTo(4);break}return s.yield(t.networkingEngine_.destroy(),4);case 4:t.config_=null,t.networkingEngine_=null,s.jumpToEnd()}})}),this.nextExternalStreamId_=1e9},shaka.offline.Storage.support=function(){return!!shaka.util.Platform.supportsMediaSource()&&shaka.offline.StorageMuxer.support()},shaka.offline.Storage.prototype.destroy=function(){return this.destroyer_.destroy()},shaka.offline.Storage.prototype.configure=function(e,t){return goog.asserts.assert("object"==typeof e||2==arguments.length,"String configs should have values!"),2==arguments.length&&"string"==typeof e&&(e=shaka.util.ConfigUtils.convertToConfigObject(e,t)),goog.asserts.assert("object"==typeof e,"Should be an object!"),goog.asserts.assert(this.config_,"Cannot reconfigure storage after calling destroy."),shaka.util.PlayerConfiguration.mergeConfigObjects(this.config_,e)},shaka.offline.Storage.prototype.getConfiguration=function(){goog.asserts.assert(this.config_,"Config must not be null!");var e=shaka.util.PlayerConfiguration.createDefault();return shaka.util.PlayerConfiguration.mergeConfigObjects(e,this.config_,shaka.util.PlayerConfiguration.createDefault()),e},shaka.offline.Storage.prototype.getNetworkingEngine=function(){return this.networkingEngine_},shaka.offline.Storage.prototype.store=function(e,t,r,i,n){var a=this;goog.asserts.assert(this.networkingEngine_,"Cannot call |store| after calling |destroy|.");var o=this.getConfiguration(),s=new shaka.offline.DownloadManager(this.networkingEngine_);return this.openDownloadManagers_.push(s),t=this.store_(e,t||{},i||[],n||[],function(){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(goog.asserts.assert(a.networkingEngine_,"Should not call |store| after |destroy|"),r?i.jumpTo(2):i.yield(shaka.net.NetworkingUtils.getMimeType(e,a.networkingEngine_,o.manifest.retryParameters),3)):(2!=i.nextAddress&&(r=i.yieldResult),t=shaka.media.ManifestParser.getFactory(e,r||null),i.return(t()))})},o,s),(t=new shaka.util.AbortableOperation(t,function(){return s.abortAll()})).finally(function(){shaka.util.ArrayUtils.remove(a.openDownloadManagers_,s)}),this.startAbortableOperation_(t)},shaka.offline.Storage.prototype.store_=function(e,t,r,i,n,a,o){var s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:return D.requireSupport_(),l=s=null,u=new shaka.offline.StorageMuxer,p=c=d=null,R.setCatchFinallyBlocks(2,3),R.yield(n(),5);case 5:return s=R.yieldResult,R.yield(D.parseManifest(e,s,a),6);case 6:if(m=R.yieldResult,D.ensureNotDestroyed_(),!(!m.presentationTimeline.isLive()&&!m.presentationTimeline.isInProgress()))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.CANNOT_STORE_LIVE_OFFLINE,e);g=(f=$jscomp.makeIterator(r)).next();case 7:if(g.done){R.jumpTo(9);break}return h=g.value,R.yield(D.createExternalImageStream_(h,m),10);case 10:y=R.yieldResult,m.imageStreams.push(y),D.ensureNotDestroyed_(),g=f.next(),R.jumpTo(7);break;case 9:S=(_=$jscomp.makeIterator(i)).next();case 11:if(S.done)return shaka.drm.DrmEngine.configureClearKey(a.drm.clearKeys,m.variants),E=m.variants.some(function(e){if(e.audio){for(var t=$jscomp.makeIterator(e.audio.drmInfos),r=t.next();!r.done;r=t.next())if(r.value.licenseServerUri.startsWith("data:"))return!0}if(e.video){for(t=(e=$jscomp.makeIterator(e.video.drmInfos)).next();!t.done;t=e.next())if(t.value.licenseServerUri.startsWith("data:"))return!0}return!1}),P=a.offline.usePersistentLicense,E&&(P=!1),R.yield(D.createDrmEngine(m,function(e){p=p||e},a,P),15);return v=S.value,R.yield(D.createExternalTextStream_(m,v.uri,v.language,v.kind,v.mime,v.codecs),14);case 14:T=R.yieldResult,m.textStreams.push(T),D.ensureNotDestroyed_(),S=_.next(),R.jumpTo(11);break;case 15:if(l=R.yieldResult,D.ensureNotDestroyed_(),p)throw p;return R.yield(D.filterManifest_(m,l,a,P),16);case 16:return R.yield(u.init(),17);case 17:return D.ensureNotDestroyed_(),R.yield(u.getActive(),18);case 18:return d=R.yieldResult,D.ensureNotDestroyed_(),goog.asserts.assert(l,"drmEngine should be non-null here."),A=(x=D.makeManifestDB_(l,m,e,t,a,o,P)).manifestDB,C=x.toDownload,R.yield(d.cell.addManifests([A]),19);case 19:if(M=R.yieldResult,D.ensureNotDestroyed_(),c=M[0],goog.asserts.assert(l,"drmEngine should be non-null here."),D.ensureNotDestroyed_(),p)throw p;return R.yield(D.downloadSegments_(C,c,A,o,a,d.cell,m,l,P),20);case 20:return D.ensureNotDestroyed_(),D.setManifestDrmFields_(m,A,l,P),R.yield(d.cell.updateManifest(c,A),21);case 21:return D.ensureNotDestroyed_(),I=shaka.offline.OfflineUri.manifest(d.path.mechanism,d.path.cell,c),R.return(shaka.offline.StoredContentUtils.fromManifestDB(I,A));case 3:return R.enterFinallyBlock(),R.yield(u.destroy(),22);case 22:if(!s){R.jumpTo(23);break}return R.yield(s.stop(),23);case 23:if(!l){R.jumpTo(25);break}return R.yield(l.destroy(),25);case 25:R.leaveFinallyBlock(0);break;case 2:if(b=R.enterCatchBlock(),null==c){R.jumpTo(27);break}return R.yield(shaka.offline.Storage.cleanStoredManifest(c),27);case 27:throw p||b}})},shaka.offline.Storage.prototype.downloadSegments_=function(e,t,r,i,n,a,o,s,l){var u,d,c,p,m,f,g,h,y,_,S,v=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(T){switch(T.nextAddress){case 1:if(u={},d=0,c=function(){if(v.destroyer_.destroyed()||i.isAborted())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.OPERATION_ABORTED)},p=function(e,p){var m,f,g,h,y,_,S,T;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){if(1==E.nextAddress){for(f=(m=$jscomp.makeIterator(e)).next(),g={};!f.done;g={download$jscomp$1:void 0},f=m.next())g.download$jscomp$1=f.value,c(),h=g.download$jscomp$1.makeSegmentRequest(n),y=g.download$jscomp$1.estimateId,_=g.download$jscomp$1.isInitSegment,S=function(e){return function(t){var r,i,n,o;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){switch(s.nextAddress){case 1:if(i=(r=e.download$jscomp$1.ref).getSegmentData(!1),!r.aesKey||i){s.jumpTo(2);break}return s.yield(shaka.media.SegmentUtils.aesDecrypt(t,r.aesKey,e.download$jscomp$1.refPosition),3);case 3:t=s.yieldResult;case 2:return n=shaka.offline.DownloadInfo.idForSegmentRef(r),s.yield(a.addSegments([{data:t}]),4);case 4:o=s.yieldResult,c(),u[n]=o[0],d+=t.byteLength,s.jumpToEnd()}})}}(g),(T=g.download$jscomp$1.ref.getSegmentData(!1))?i.queueData(g.download$jscomp$1.groupId,T,y,_,S):i.queue(g.download$jscomp$1.groupId,h,y,_,S);return E.yield(i.waitToFinish(),2)}return(c(),!p||i.isAborted())?E.jumpTo(0):(v.setManifestDrmFields_(o,r,s,l),E.yield(a.updateManifest(t,r),0))})},m=!1,T.setCatchFinallyBlocks(2),!v.getManifestIsEncrypted_(o)||!m||v.getManifestIncludesInitData_(o)){T.jumpTo(4);break}return T.yield(p(e.filter(function(e){return e.isInitSegment}),!0),5);case 5:return c(),e=e.filter(function(e){return!e.isInitSegment}),f=u,g=d,u={},d=0,T.yield(shaka.offline.Storage.assignSegmentsToManifest(a,t,r,f,g,function(){return v.ensureNotDestroyed_()}),6);case 6:c();case 4:if(m){T.jumpTo(7);break}return T.yield(p(e,!1),8);case 8:return c(),h=u,y=d,u={},d=0,T.yield(shaka.offline.Storage.assignSegmentsToManifest(a,t,r,h,y,function(){return c()}),9);case 9:c(),goog.asserts.assert(!r.isIncomplete,"The manifest should be complete by now");case 7:T.leaveTryBlock(0);break;case 2:return _=T.enterCatchBlock(),S=Object.values(u),T.yield(a.removeSegments(S,function(e){}),10);case 10:throw _}})},shaka.offline.Storage.cleanStoredManifest=function(e){var t,r,i,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){switch(a.nextAddress){case 1:return t=new shaka.offline.StorageMuxer,a.yield(t.init(
1),2);case 2:return a.yield(t.getActive(),3);case 3:return r=a.yieldResult,i=shaka.offline.OfflineUri.manifest(r.path.mechanism,r.path.cell,e),a.yield(t.destroy(),4);case 4:return n=new shaka.offline.Storage,a.yield(n.remove(i.toString()),0)}})},shaka.offline.Storage.assignSegmentsToManifest=function(e,t,r,i,n,a){var o,s,l,u,d,c,p,m,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:for(o=!1,y.setCatchFinallyBlocks(2),s=!0,u=(l=$jscomp.makeIterator(r.streams)).next();!u.done;u=l.next())for(d=u.value,p=(c=$jscomp.makeIterator(d.segments)).next();!p.done;p=c.next())null!=(f=(m=p.value).pendingSegmentRefId?i[m.pendingSegmentRefId]:null)&&(m.dataKey=f,m.pendingSegmentRefId=void 0),null!=(f=m.pendingInitSegmentRefId?i[m.pendingInitSegmentRefId]:null)&&(m.initSegmentKey=f,m.pendingInitSegmentRefId=void 0),m.pendingSegmentRefId&&(s=!1),m.pendingInitSegmentRefId&&(s=!1);return r.size+=n,s&&(r.isIncomplete=!1),y.yield(e.updateManifest(t,r),4);case 4:o=!0,a(),y.leaveTryBlock(0);break;case 2:return g=y.enterCatchBlock(),y.yield(shaka.offline.Storage.cleanStoredManifest(t),5);case 5:if(o){y.jumpTo(6);break}return h=Object.values(i),y.yield(e.removeSegments(h,function(e){}),6);case 6:throw g}})},shaka.offline.Storage.prototype.filterManifest_=function(e,t,r,i){var n,a,o,s,l,u,d,c,p,m,f,g,h,y,_,S,v,T,
1E,P,x,A,C,M,I,b,D,R;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return n={width:1/0,height:1/0},shaka.util.StreamUtils.filterByRestrictions(e,r.restrictions,n),k.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(t,e,i,r.drm.preferredKeySystems,r.drm.keySystemsMapping),2);case 2:for(a=[],o=r.preferredDecodingAttributes,s=r.preferredVideoCodecs,l=r.preferredAudioCodecs,u=r.preferredTextFormats,shaka.util.StreamUtils.chooseCodecsAndFilterManifest(e,s,l,o,u),c=(d=$jscomp.makeIterator(e.variants)).next();!c.done;c=d.next())p=c.value,goog.asserts.assert(shaka.util.StreamUtils.isPlayable(p),'We should have already filtered by "is playable"'),a.push(shaka.util.StreamUtils.variantToTrack(p));for(f=(m=$jscomp.makeIterator(e.textStreams)).next();!f.done;f=m.next())g=f.value,a.push(shaka.util.StreamUtils.textStreamToTrack(g));for(y=(h=$jscomp.makeIterator(e.imageStreams)).next();!y.done;y=h.next())_=y.value,a.push(shaka.util.StreamUtils.imageStreamToTrack(_));return k.yield(r.offline.trackSelectionCallback(a),3);case 3:for(S=k.yieldResult,v=e.presentationTimeline.getDuration(),T=0,P=(E=$jscomp.makeIterator(S)).next();!P.done;P=E.next())x=P.value.bandwidth*v/8,T+=x;return k.setCatchFinallyBlocks(4),k.yield(r.offline.downloadSizeCallback(T),6);case 6:if(!k.yieldResult)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.STORAGE_LIMIT_REACHED);k.leaveTryBlock(5);break;case 4:if((A=k.enterCatchBlock())instanceof shaka.util.Error)throw A;throw shaka.log.warning("downloadSizeCallback has produced an unexpected error",A),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:for(C=new Set,M=new Set,I=new Set,D=(b=$jscomp.makeIterator(S)).next();!D.done;D=b.next())"variant"==(R=D.value).type&&C.add(R.id),"text"==R.type&&M.add(R.id),"image"==R.type&&I.add(R.id);e.variants=e.variants.filter(function(e){return C.has(e.id)}),e.textStreams=e.textStreams.filter(function(e){return M.has(e.id)}),e.imageStreams=e.imageStreams.filter(function(e){return I.has(e.id)}),shaka.offline.Storage.validateManifest_(e),k.jumpToEnd()}})},shaka.offline.Storage.prototype.makeManifestDB_=function(e,t,r,i,n,a,o){var s=shaka.offline.StoredContentUtils.fromManifest(r,t,0,i),l=n.offline.progressCallback;a.setCallbacks(function(e,t){s.size=t,l(s,e)},function(t,r){u&&o&&d==r&&e.newInitData("cenc",t)});var u=this.getManifestIsEncrypted_(t)&&!this.getManifestIncludesInitData_(t),d=null;if(u){var c=e.getDrmInfo();d=shaka.offline.Storage.defaultSystemIds_.get(c.keySystem)}c=new shaka.offline.StreamBandwidthEstimator;for(var p=$jscomp.makeIterator(t.textStreams),m=p.next();!m.done;m=p.next())c.addText(m.value);for(m=(p=$jscomp.makeIterator(t.imageStreams)).next();!m.done;m=p.next())c.addImage(m.value);
1for(m=(p=$jscomp.makeIterator(t.variants)).next();!m.done;m=p.next())c.addVariant(m.value);return n=(a=this.createStreams_(a,c,e,t,n)).streams,a=a.toDownload,(c=e.getDrmInfo())&&o&&(c.initData=[]),{manifestDB:{creationTime:Date.now(),originalManifestUri:r,duration:t.presentationTimeline.getDuration(),size:0,expiration:e.getExpiration(),streams:n,sessionIds:o?e.getSessionIds():[],drmInfo:c,appMetadata:i,isIncomplete:!0,sequenceMode:t.sequenceMode,type:t.type},toDownload:a}},shaka.offline.Storage.prototype.getManifestIsEncrypted_=function(e){return e.variants.some(function(e){var t=e.audio&&e.audio.encrypted;return e.video&&e.video.encrypted||t})},shaka.offline.Storage.prototype.getManifestIncludesInitData_=function(e){return e.variants.some(function(e){return(e.video?e.video.drmInfos:[]).concat(e.audio?e.audio.drmInfos:[]).some(function(e){return e.initData&&e.initData.length})})},shaka.offline.Storage.prototype.setManifestDrmFields_=function(e,t,r,i){if(t.expiration=r.getExpiration(),r=r.getSessionIds(),t.sessionIds=i?r:[],this.getManifestIsEncrypted_(e)&&i&&!r.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.NO_INIT_DATA_FOR_OFFLINE)},shaka.offline.Storage.prototype.remove=function(e){return this.startOperation_(this.remove_(e))},shaka.offline.Storage.prototype.remove_=function(e){var t,r,i,n,a,o=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(s){switch(s.nextAddress){case 1:if(o.requireSupport_(),null==(t=shaka.offline.OfflineUri.parse(e))||!t.isManifest())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.MALFORMED_OFFLINE_URI,e);return r=t,i=new shaka.offline.StorageMuxer,s.setFinallyBlock(2),s.yield(i.init(),4);case 4:return s.yield(i.getCell(r.mechanism(),r.cell()),5);case 5:return n=s.yieldResult,s.yield(n.getManifests([r.key()]),6);case 6:return a=s.yieldResult[0],s.yield(Promise.all([o.removeFromDRM_(r,a,i),o.removeFromStorage_(n,r,a)]),2);case 2:return s.enterFinallyBlock(),s.yield(i.destroy(),8);case 8:s.leaveFinallyBlock(0)}})},shaka.offline.Storage.getCapabilities_=function(e,t){for(var r=shaka.util.MimeUtils,i=[],n=$jscomp.makeIterator(e.streams),a=n.next();!a.done;a=n.next())a=a.value,t&&"video"==a.type?i.push({contentType:r.getFullType(a.mimeType,a.codecs),robustness:e.drmInfo.videoRobustness}):t||"audio"!=a.type||i.push({contentType:r.getFullType(a.mimeType,a.codecs),robustness:e.drmInfo.audioRobustness});return i},shaka.offline.Storage.prototype.removeFromDRM_=function(e,t,r){var i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return goog.asserts.assert(i.networkingEngine_,"Cannot be destroyed"),e.yield(shaka.offline.Storage.deleteLicenseFor_(i.networkingEngine_,i.config_.drm,r,t),0)})},shaka.offline.Storage.prototype.removeFromStorage_=function(e,t,r){var i=this,n=shaka.offline.Storage.getAllSegmentIds_(r),a=n.length+1,o=0,s=shaka.offline.StoredContentUtils.fromManifestDB(t,r);return r=function(e){o+=1,i.config_.offline.progressCallback(s,o/a)},Promise.all([e.removeSegments(n,r),e.removeManifests([t.key()],r)])},shaka.offline.Storage.prototype.removeEmeSessions=function(){return this.startOperation_(this.removeEmeSessions_())},shaka.offline.Storage.prototype.removeEmeSessions_=function(){var e,t,r,i,n,a,o,s,l,u,d,c=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){switch(p.nextAddress){case 1:return c.requireSupport_(),goog.asserts.assert(c.networkingEngine_,"Cannot be destroyed"),e=c.networkingEngine_,t=c.config_.drm,r=new shaka.offline.StorageMuxer,i=new shaka.offline.SessionDeleter,n=!1,p.setFinallyBlock(2),p.yield(r.init(),4);case 4:a=[],r.forEachEmeSessionCell(function(e){return a.push(e)}),s=(o=$jscomp.makeIterator(a)).next();case 5:if(s.done){p.jumpTo(2);break}return l=s.value,p.yield(l.getAll(),8);case 8:return u=p.yieldResult,p.yield(i.delete(t,e,u),9);case 9:return d=p.yieldResult,p.yield(l.remove(d),10);case 10:d.length!=u.length&&(n=!0),s=o.next(),p.jumpTo(5);break;case 2:return p.enterFinallyBlock(),p.yield(r.destroy(),11);case 11:p.leaveFinallyBlock(3);break;case 3:return p.return(!n)}})},shaka.offline.Storage.prototype.list=function(){return this.startOperation_(this.list_())},shaka.offline.Storage.prototype.list_=function(){var e,t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:return i.requireSupport_(),e=[],t=new shaka.offline.StorageMuxer,n.setFinallyBlock(2),n.yield(t.init(
1),4);case 4:return r=Promise.resolve(),t.forEachCell(function(t,i){r=r.then(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){if(1==r.nextAddress)return r.yield(i.getAllManifests(),2);r.yieldResult.forEach(function(r,i){i=shaka.offline.OfflineUri.manifest(t.mechanism,t.cell,i),r=shaka.offline.StoredContentUtils.fromManifestDB(i,r),e.push(r)}),r.jumpToEnd()})})}),n.yield(r,2);case 2:return n.enterFinallyBlock(),n.yield(t.destroy(),6);case 6:n.leaveFinallyBlock(3);break;case 3:return n.return(e)}})},shaka.offline.Storage.prototype.parseManifest=function(e,t,r){var i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==u.nextAddress)return i=null,n=l.networkingEngine_,goog.asserts.assert(n,"Should be initialized!"),a={networkingEngine:n,filter:function(){return Promise.resolve()},makeTextStreamsForClosedCaptions:function(e){},onTimelineRegionAdded:function(){},onEvent:function(){},onError:function(e){i=e},isLowLatencyMode:function(){return!1},updateDuration:function(){},newDrmInfo:function(e){},onManifestUpdated:function(){},getBandwidthEstimate:function(){return r.abr.defaultBandwidthEstimate},onMetadata:function(){},disableStream:function(e){},addFont:function(e,t){}},t.configure(r.manifest),l.ensureNotDestroyed_(),u.yield(t.start(e,a),2);if(3!=u.nextAddress)return o=u.yieldResult,l.ensureNotDestroyed_(),s=shaka.offline.Storage.getAllStreamsFromManifest_(o),u.yield(Promise.all(shaka.util.Iterables.map(s,function(e){return e.createSegmentIndex()})),3);if(l.ensureNotDestroyed_(),i)throw i;return u.return(o)})},shaka.offline.Storage.prototype.createExternalImageStream_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f,g,h,y=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(_){switch(_.nextAddress){case 1:return _.yield(y.getTextMimetype_(e),2);case 2:if("text/vtt"!=(r=_.yieldResult))throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.UNSUPPORTED_EXTERNAL_THUMBNAILS_URI,e);return goog.asserts.assert(y.networkingEngine_,"Need networking engine."),_.yield(y.getTextData_(e,y.networkingEngine_,y.config_.streaming.retryParameters),3);case 3:if(i=_.yieldResult,!(n=shaka.text.TextEngine.findParser(r)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,r);for(a=n(),o={periodStart:0,segmentStart:0,segmentEnd:t.presentationTimeline.getDuration(),vttOffset:0},s=shaka.util.BufferUtils.toUint8(i),l=a.parseMedia(s,o,e,[]),u=[],c=(d=$jscomp.makeIterator(l)).next(),p={};!c.done;p={uris$jscomp$26:void 0,cue$jscomp$43:void 0},c=d.next())p.cue$jscomp$43=c.value,p.uris$jscomp$26=null,m=function(t){return function(){return null==t.uris$jscomp$26&&(t.uris$jscomp$26=shaka.util.ManifestParserUtils.resolveUris([e],[t.cue$jscomp$43.payload])),t.uris$jscomp$26||[]}}(p),f=new shaka.media.SegmentReference(p.cue$jscomp$43.startTime,p.cue$jscomp$43.endTime,m,0,null,null,0,0,1/0),p.cue$jscomp$43.payload.includes("#xywh")&&4===(g=p.cue$jscomp$43.payload.split("#xywh=")[1].split(",")).length&&f.setThumbnailSprite({height:parseInt(g[3],10),positionX:parseInt(g[0],10),positionY:parseInt(g[1],10),width:parseInt(g[2],10)}),u.push(f);if(h=r,!u.length){_.jumpTo(4);break}return _.yield(shaka.net.NetworkingUtils.getMimeType(u[0].getUris()[0],y.networkingEngine_,y.config_.manifest.retryParameters),5);case 5:h=_.yieldResult;case 4:return _.return({id:y.nextExternalStreamId_++,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:new shaka.media.SegmentIndex(u),mimeType:h||"",codecs:"",kind:"",encrypted:!1,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:shaka.util.ManifestParserUtils.ContentType.IMAGE,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,tilesLayout:"1x1",accessibilityPurpose:null,external:!0,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(h||"","")]),isAudioMuxedInVideo:!1})}})},shaka.offline.Storage.prototype.createExternalTextStream_=function(e,t,r,i,n,a){var o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==u.nextAddress)return n?u.jumpTo(2):u.yield(l.getTextMimetype_(t),3);
1if(2!=u.nextAddress&&(n=u.yieldResult),o={id:l.nextExternalStreamId_++,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:shaka.media.SegmentIndex.forSingleSegment(0,e.presentationTimeline.getDuration(),[t]),mimeType:n||"",codecs:a||"",kind:i,encrypted:!1,drmInfos:[],keyIds:new Set,language:r,originalLanguage:r,label:null,type:shaka.util.ManifestParserUtils.ContentType.TEXT,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!0,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(n||"",a||"")]),isAudioMuxedInVideo:!1},s=shaka.util.MimeUtils.getFullType(o.mimeType,o.codecs),!shaka.text.TextEngine.isTypeSupported(s))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.MISSING_TEXT_PLUGIN,n);return u.return(o)})},shaka.offline.Storage.prototype.getTextMimetype_=function(e){var t,r=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){switch(i.nextAddress){case 1:return i.setCatchFinallyBlocks(2),goog.asserts.assert(r.networkingEngine_,"Need networking engine."),i.yield(shaka.net.NetworkingUtils.getMimeType(e,r.networkingEngine_,r.config_.streaming.retryParameters),4);case 4:t=i.yieldResult,i.leaveTryBlock(3);break;case 2:i.enterCatchBlock();case 3:if(t)return i.return(t);throw shaka.log.error("The mimeType has not been provided and it could not be deduced from its uri."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.TEXT_COULD_NOT_GUESS_MIME_TYPE,e)}})},shaka.offline.Storage.prototype.getTextData_=function(e,t,r){var i,n,a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){return 1==o.nextAddress?(i=shaka.net.NetworkingEngine.RequestType.SEGMENT,(n=shaka.net.NetworkingEngine.makeRequest([e],r)).method="GET",o.yield(t.request(i,n).promise,2)):(a=o.yieldResult,o.return(a.data))})},shaka.offline.Storage.prototype.createDrmEngine=function(e,t,r,i){var n,a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(o){return 1==o.nextAddress?(goog.asserts.assert(a.networkingEngine_,"Cannot call |createDrmEngine| after |destroy|"),(n=new shaka.drm.DrmEngine({netEngine:a.networkingEngine_,onError:t,onKeyStatus:function(){},onExpirationUpdated:function(){},onEvent:function(){}})).configure(r.drm),o.yield(n.initForStorage(e.variants,i),2)):3!=o.nextAddress?o.yield(n.createOrLoad(),3):o.return(n)})},shaka.offline.Storage.prototype.createStreams_=function(e,t,r,i,n){r=new Map;var a=shaka.offline.Storage.getAllStreamsFromManifest_(i),o=new Map;a=$jscomp.makeIterator(a);for(var s=a.next();!s.done;s=a.next()){s=s.value;var l=this.createStream_(e,t,i,s,n,r);o.set(s.id,l)}for(t=(e=$jscomp.makeIterator(i.variants)).next();!t.done;t=e.next())(t=t.value).audio&&o.get(t.audio.id).variantIds.push(t.id),t.video&&o.get(t.video.id).variantIds.push(t.id);return{streams:Array.from(o.values()),toDownload:Array.from(r.values())}},shaka.offline.Storage.prototype.createStream_=function(e,t,r,i,n,a){var o={id:i.id,originalId:i.originalId,groupId:i.groupId,primary:i.primary,type:i.type,mimeType:i.mimeType,codecs:i.codecs,frameRate:i.frameRate,pixelAspectRatio:i.pixelAspectRatio,hdr:i.hdr,colorGamut:i.colorGamut,videoLayout:i.videoLayout,kind:i.kind,language:i.language,originalLanguage:i.originalLanguage,label:i.label,width:i.width||null,height:i.height||null,encrypted:i.encrypted,keyIds:i.keyIds,segments:[],variantIds:[],roles:i.roles,forced:i.forced,channelsCount:i.channelsCount,audioSamplingRate:i.audioSamplingRate,spatialAudio:i.spatialAudio,closedCaptions:i.closedCaptions,tilesLayout:i.tilesLayout,mssPrivateData:i.mssPrivateData,external:i.external,fastSwitching:i.fastSwitching,isAudioMuxedInVideo:i.isAudioMuxedInVideo};r=r.presentationTimeline.getSegmentAvailabilityStart();var s=n.offline.numberOfParallelDownloads,l=0===s?i.id:0;return shaka.offline.Storage.forEachSegment_(i,r,function(r,n){var u=shaka.offline.DownloadInfo.idForSegmentRef(r),d=void 0;if(!a.has(u)){var c=e.addDownloadEstimate(t.getSegmentEstimate(i.id,r));c=new shaka.offline.DownloadInfo(r,c,l,!1,n),a.set(u,c)}r.initSegmentReference&&(d=shaka.offline.DownloadInfo.idForSegmentRef(r.initSegmentReference),a.has(d)||(c=e.addDownloadEstimate(t.getInitSegmentEstimate(i.id)),n=new shaka.offline.DownloadInfo(r.initSegmentReference,c,l,!0,n),a.set(d,n))),o.segments.push({pendingInitSegmentRefId:d,initSegmentKey:d?0:null,startTime:r.startTime,endTime:r.endTime,appendWindowStart:r.appendWindowStart,appendWindowEnd:r.appendWindowEnd,timestampOffset:r.timestampOffset,tilesLayout:r.tilesLayout,pendingSegmentRefId:u,dataKey:0,mimeType:r.mimeType,codecs:r.codecs,thumbnailSprite:r.thumbnailSprite}),0!==s&&(l=(l+1)%s)}),o},shaka.offline.Storage.forEachSegment_=function(e,t,r){if(null!=(t=e.segmentIndex.find(t)))for(var i=e.segmentIndex.get(t);i;)r(i,t),i=e.segmentIndex.get(++t)},shaka.offline.Storage.prototype.ensureNotDestroyed_=function(){if(this.destroyer_.destroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.OPERATION_ABORTED)},shaka.offline.Storage.prototype.requireSupport_=function(){if(!shaka.offline.Storage.support())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.STORAGE_NOT_SUPPORTED)},shaka.offline.Storage.prototype.startOperation_=function(e){var t=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?(t.openOperations_.push(e),r.setFinallyBlock(2),r.yield(e,4)):2!=r.nextAddress?r.return(r.yieldResult):(r.enterFinallyBlock(),shaka.util.ArrayUtils.remove(t.openOperations_,e),r.leaveFinallyBlock(0))})},shaka.offline.Storage.prototype.startAbortableOperation_=function(e){var t=this,r=e.promise;return this.openOperations_.push(r),e.finally(function(){shaka.util.ArrayUtils.remove(t.openOperations_,r)})},shaka.offline.Storage.getAllSegmentIds_=function(e){var t=new Set;e=$jscomp.makeIterator(e.streams);for(var r=e.next();!r.done;r=e.next()){r=$jscomp.makeIterator(r.value.segments);for(var i=r.next();!i.done;i=r.next())null!=(i=i.value).initSegmentKey&&t.add(i.initSegmentKey),t.add(i.dataKey)}return Array.from(t)},shaka.offline.Storage.deleteAll=function(){var e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){return 1==t.nextAddress?(e=new shaka.offline.StorageMuxer,t.setFinallyBlock(2),t.yield(e.erase(),2)):5!=t.nextAddress?(t.enterFinallyBlock(),t.yield(e.destroy(),5)):t.leaveFinallyBlock(0)})},shaka.offline.Storage.deleteLicenseFor_=function(e,t,r,i){var n,a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){return 1==l.nextAddress?i.drmInfo?(n=r.getEmeSessionCell(),a=i.sessionIds.map(function(e){return{sessionId:e,keySystem:i.drmInfo.keySystem,licenseUri:i.drmInfo.licenseServerUri,serverCertificate:i.drmInfo.serverCertificate,audioCapabilities:shaka.offline.Storage.getCapabilities_(i,!1),videoCapabilities:shaka.offline.Storage.getCapabilities_(i,!0)}}),o=new shaka.offline.SessionDeleter,l.yield(o.delete(t,e,a),2)):l.return():3!=l.nextAddress?(s=l.yieldResult,l.yield(n.remove(s),3)):l.yield(n.add(a.filter(function(e){return!s.includes(e.sessionId)})),0)})},shaka.offline.Storage.getAllStreamsFromManifest_=function(e){for(var t=new Set,r=$jscomp.makeIterator(e.variants),i=r.next();!i.done;i=r.next())(i=i.value).audio&&t.add(i.audio),i.video&&t.add(i.video);for(i=(r=$jscomp.makeIterator(e.textStreams)).next();!i.done;i=r.next())t.add(i.value);for(r=(e=$jscomp.makeIterator(e.imageStreams)).next();!r.done;r=e.next())t.add(r.value);return t},shaka.offline.Storage.validateManifest_=function(e){var t=new Set(e.variants.map(function(e){return e.video})),r=new Set(e.variants.map(function(e){return e.audio}));e=e.textStreams,1<t.size&&shaka.log.warning("Multiple video tracks selected to be stored"),t=$jscomp.makeIterator(r);for(var i=t.next();!i.done;i=t.next()){i=i.value;for(var n=$jscomp.makeIterator(r),a=n.next();!a.done;a=n.next())i!=(a=a.value)&&i.language==a.language&&shaka.log.warning("Similar audio tracks were selected to be stored",i.id,a.id)}for(t=(r=$jscomp.makeIterator(e)).next();!t.done;t=r.next())for(t=t.value,n=(i=$jscomp.makeIterator(e)).next();!n.done;n=i.next())t!=(n=n.value)&&t.language==n.language&&shaka.log.warning("Similar text tracks were selected to be stored",t.id,n.id)},goog.exportSymbol("shaka.offline.Storage",shaka.offline.Storage),goog.exportProperty(shaka.offline.Storage,"deleteAll",shaka.offline.Storage.deleteAll),goog.exportProperty(shaka.offline.Storage.prototype,"list",shaka.offline.Storage.prototype.list),goog.exportProperty(shaka.offline.Storage.prototype,"removeEmeSessions",shaka.offline.Storage.prototype.removeEmeSessions),goog.exportProperty(shaka.offline.Storage.prototype,"remove",shaka.offline.Storage.prototype.remove),goog.exportProperty(shaka.offline.Storage.prototype,"store",shaka.offline.Storage.prototype.store),goog.exportProperty(shaka.offline.Storage.prototype,"getNetworkingEngine",shaka.offline.Storage.prototype.getNetworkingEngine),goog.exportProperty(shaka.offline.Storage.prototype,"getConfiguration",shaka.offline.Storage.prototype.getConfiguration),goog.exportProperty(shaka.offline.Storage.prototype,"configure",shaka.offline.Storage.prototype.configure),goog.exportProperty(shaka.offline.Storage.prototype,"destroy",shaka.offline.Storage.prototype.destroy),goog.exportProperty(shaka.offline.Storage,"support",shaka.offline.Storage.support),shaka.offline.Storage.defaultSystemIds_=(new Map).set("org.w3.clearkey","1077efecc0b24d02ace33c1e52e2fb4b").set("com.widevine.alpha","edef8ba979d64acea3c827dcd51d21ed").set("com.microsoft.playready","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.recommendation","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.softw
1are","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.hardware","9a04f07998404286ab92e65be0885f95").set("com.huawei.wiseplay","3d5e6d359b9a41e8b843dd3c6e72c42c"),shaka.Player.registerSupportPlugin("offline",shaka.offline.Storage.support),shaka.polyfill=function(){},shaka.polyfill.installAll=function(){for(var e=$jscomp.makeIterator(shaka.polyfill.polyfills_),t=e.next();!t.done;t=e.next()){t=t.value;try{t.callback()}catch(e){shaka.log.alwaysWarn("Error installing polyfill!",e)}}},shaka.polyfill.register=function(e,t){for(e={priority:t||0,callback:e},t=0;t<shaka.polyfill.polyfills_.length;t++)if(shaka.polyfill.polyfills_[t].priority<e.priority)return void shaka.polyfill.polyfills_.splice(t,0,e);shaka.polyfill.polyfills_.push(e)},goog.exportSymbol("shaka.polyfill",shaka.polyfill),goog.exportProperty(shaka.polyfill,"register",shaka.polyfill.register),goog.exportProperty(shaka.polyfill,"installAll",shaka.polyfill.installAll),shaka.polyfill.polyfills_=[],shaka.polyfill.Aria=function(){},shaka.polyfill.Aria.install=function(){if(Object.getOwnPropertyDescriptor(Element.prototype,"ariaHidden"))shaka.log.info("Using native ARIAMixin interface.");else{shaka.log.info("ARIAMixin interface not detected. Installing polyfill.");for(var e=$jscomp.makeIterator(["ariaHidden","ariaLabel","ariaPressed","ariaSelected"]),t=e.next();!t.done;t=e.next())shaka.polyfill.Aria.addARIAMixinAttribute_(t.value)}},shaka.polyfill.Aria.addARIAMixinAttribute_=function(e){var t="aria-"+e.toLowerCase().replace(/^aria/,"");Object.defineProperty(Element.prototype,e,{get:function(){return this.getAttribute(t)},set:function(e){null==e||void 0==e?this.removeAttribute(t):this.setAttribute(t,e)}})},goog.exportProperty(shaka.polyfill,"Aria",shaka.polyfill.Aria),goog.exportProperty(shaka.polyfill.Aria,"install",shaka.polyfill.Aria.install),shaka.polyfill.register(shaka.polyfill.Aria.install),shaka.polyfill.EncryptionScheme=function(){},shaka.polyfill.EncryptionScheme.install=function(){shaka.util.Platform.isPS4()||shaka.util.Platform.isSkyQ()||EncryptionSchemePolyfills.install()},goog.exportProperty(shaka.polyfill,"EncryptionScheme",shaka.polyfill.EncryptionScheme),goog.exportProperty(shaka.polyfill.EncryptionScheme,"install",shaka.polyfill.EncryptionScheme.install),shaka.polyfill.register(shaka.polyfill.EncryptionScheme.install,-2),shaka.polyfill.Fullscreen=function(){},shaka.polyfill.Fullscreen.install=function(){if(window.Document){var e=Element.prototype;e.requestFullscreen=e.requestFullscreen||e.mozRequestFullScreen||e.msRequestFullscreen||e.webkitRequestFullscreen,(e=Document.prototype).exitFullscreen=e.exitFullscreen||e.mozCancelFullScreen||e.msExitFullscreen||e.webkitCancelFullScreen,"fullscreenElement"in document||(Object.defineProperty(document,"fullscreenElement",{get:function(){return document.mozFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement||document.webkitFullscreenElement}}),Object.defineProperty(document,"fullscreenEnabled",{get:function(){return document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled}})),e=shaka.polyfill.Fullscreen.proxyEvent_,document.addEventListener("webkitfullscreenchange",e),document.addEventListener("webkitfullscreenerror",e),document.addEventListener("mozfullscreenchange",e),document.addEventListener("mozfullscreenerror",e),document.addEventListener("MSFullscreenChange",e),document.addEventListener("MSFullscreenError",e)}},shaka.polyfill.Fullscreen.proxyEvent_=function(e){var t=e.type.replace(/^(webkit|moz|MS)/,"").toLowerCase(),r=document.createEvent("Event");r.initEvent(t,e.bubbles,e.cancelable),e.target.dispatchEvent(r)},goog.exportProperty(shaka.polyfill,"Fullscreen",shaka.polyfill.Fullscreen),goog.exportProperty(shaka.polyfill.Fullscreen,"install",shaka.polyfill.Fullscreen.install),shaka.polyfill.register(shaka.polyfill.Fullscreen.install),shaka.polyfill.MediaCapabilities=function(){},shaka.polyfill.MediaCapabilities.install=function(){var e=!0;(shaka.util.Platform.isOlderChromecast()||shaka.util.Platform.isApple()||shaka.util.Platform.isPS5()||shaka.util.Platform.isPS4()||shaka.util.Platform.isWebOS()||shaka.util.Platform.isTizen()||shaka.util.Platform.isHisense()||shaka.util.Platform.isWebkitSTB())&&(e=!1),e&&navigator.mediaCapabilities?shaka.log.info("MediaCapabilities: Native mediaCapabilities support found."):(shaka.log.info("MediaCapabilities: install"),navigator.mediaCapabilities||
1(navigator.mediaCapabilities={}),shaka.polyfill.MediaCapabilities.originalMcap=navigator.mediaCapabilities,navigator.mediaCapabilities.decodingInfo=shaka.polyfill.MediaCapabilities.decodingInfo_)},shaka.polyfill.MediaCapabilities.decodingInfo_=function(e){var t,r,i,n,a,o,s;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:if(t={supported:!1,powerEfficient:!0,smooth:!0,keySystemAccess:null,configuration:e},r=e.video,i=e.audio,"media-source"!=e.type){if("file"!=e.type||r&&(n=r.contentType,!shaka.util.Platform.supportsMediaType(n))||i&&(a=i.contentType,!shaka.util.Platform.supportsMediaType(a)))return l.return(t);l.jumpTo(2);break}if(!shaka.util.Platform.supportsMediaSource())return l.return(t);if(!r){l.jumpTo(3);break}return l.yield(shaka.polyfill.MediaCapabilities.checkVideoSupport_(r),4);case 4:if(!l.yieldResult)return l.return(t);case 3:if(i&&!shaka.polyfill.MediaCapabilities.checkAudioSupport_(i))return l.return(t);case 2:if(!e.keySystemConfiguration)return t.supported=!0,l.return(t);return o=e.keySystemConfiguration,l.yield(shaka.polyfill.MediaCapabilities.checkDrmSupport_(r,i,o),6);case 6:(s=l.yieldResult)&&(t.supported=!0,t.keySystemAccess=s);case 5:return l.return(t)}})},shaka.polyfill.MediaCapabilities.checkVideoSupport_=function(e){var t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){return 1==r.nextAddress?shaka.util.Platform.isChromecast()?r.yield(shaka.polyfill.MediaCapabilities.canCastDisplayType_(e),3):r.jumpTo(2):2!=r.nextAddress?(t=r.yieldResult,r.return(t)):r.return(shaka.media.Capabilities.isTypeSupported(e.contentType))})},shaka.polyfill.MediaCapabilities.checkAudioSupport_=function(e){var t=e.contentType;return shaka.util.Platform.isChromecast()&&e.spatialRendering&&(t+="; spatialRendering=true"),shaka.media.Capabilities.isTypeSupported(t)},shaka.polyfill.MediaCapabilities.checkDrmSupport_=function(e,t,r){var i,n,a,o,s,l,u,d,c,p,m,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:if(i=shaka.util.MimeUtils,n=[],a=[],r.audio&&(o={robustness:r.audio.robustness||"",contentType:t.contentType},shaka.util.Platform.isTizen()&&t.contentType.includes('codecs="ac-3"')&&(o.contentType='audio/mp4; codecs="ec-3"'),r.audio.encryptionScheme&&(o.encryptionScheme=r.audio.encryptionScheme),n.push(o)),r.video&&(s={robustness:r.video.robustness||"",contentType:e.contentType},r.video.encryptionScheme&&(s.encryptionScheme=r.video.encryptionScheme),a.push(s)),l={initDataTypes:[r.initDataType],distinctiveIdentifier:r.distinctiveIdentifier,persistentState:r.persistentState,sessionTypes:r.sessionTypes},n.length&&(l.audioCapabilities=n),a.length&&(l.videoCapabilities=a),u=e?e.contentType:"",d=t?t.contentType:"",c=i.getBasicType(u)+";"+i.getCodecBase(u),p=i.getBasicType(d)+";"+i.getCodecBase(d),m=r.keySystem,f=null,g.setCatchFinallyBlocks(2),shaka.drm.DrmUtils.hasMediaKeySystemAccess(c,p,m)){f=shaka.drm.DrmUtils.getMediaKeySystemAccess(c,p,m),g.jumpTo(4);break}return g.yield(navigator.requestMediaKeySystemAccess(r.keySystem,[l]),5);case 5:f=g.yieldResult,shaka.drm.DrmUtils.setMediaKeySystemAccess(c,p,m,f);case 4:g.leaveTryBlock(3);break;case 2:g.enterCatchBlock(),shaka.log.info("navigator.requestMediaKeySystemAccess failed.");case 3:return g.return(f)}})},shaka.polyfill.MediaCapabilities.canCastDisplayType_=function(e){var t,r,i,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(a){if(1==a.nextAddress){if(!(window.cast&&cast.__platform__&&cast.__platform__.canDisplayType))return shaka.log.warning("Expected cast APIs to be available! Falling back to shaka.media.Capabilities.isTypeSupported() for type support."),a.return(shaka.media.Capabilities.isTypeSupported(e.contentType));switch(t=e.contentType,e.width&&e.height&&1280<e.width&&720<e.height&&(t+="; width="+e.width+"; height="+e.height),e.framerate&&(24>(r=Math.round(e.framerate))||30<r)&&(t+="; framerate="+e.framerate),e.transferFunction||""){case"":case"srgb":break;case"pq":t+="; eotf=smpte2084";break;case"hlg":t+="; eotf=arib-std-b67";break;default:return a.return(!1)}return i=!1,(n=shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_).has(t)?(i=n.get(t),a.jumpTo(2)):a.yield(cast.__platform__.canDisplayType(t),3)}return 2!=a.nextAddress&&(i=a.yieldResult,n.set(t,i)),a.return(i)})},goog.exportProperty(shaka.polyfill,"MediaCapabilities",shaka.polyfill.MediaCapabilities),goog.exportProperty(shaka.polyfill.MediaCapabilities,"install",shaka.polyfill.MediaCapabilities.install),shaka.polyfill.MediaCapabilities.originalMcap=null,goog.exportProperty(shaka.polyfill.MediaCapabilities,"originalMcap",shaka.polyfill.MediaCapabilities.originalMcap),shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_=new Map,shaka.polyfill.register(shaka.polyfill.MediaCapabilities.install,-1),shaka.polyfill.MediaSource=function(){},shaka.polyfill.MediaSource.install=function(){shaka.log.debug("MediaSource.install");var e=shaka.util.Platform.safariVersion();window.MediaSource||window.ManagedMediaSource?e&&window.MediaSource?12>=e?(shaka.log.info("Patching Safari 8-12 MSE bugs."),shaka.polyfill.MediaSource.stubAbort_(),shaka.polyfill.MediaSource.patchRemovalRange_()):15>=e&&(shaka.log.info("Patching Safari 13 & 14 & 15 MSE bugs."),shaka.polyfill.MediaSource.stubAbort_()):shaka.util.Platform.isZenterio()?(shaka.polyfill.MediaSource.stubAbort_(),shaka.polyfill.MediaSource.patchRemovalRange_()):shaka.util.Platform.isTizen2()||shaka.util.Platform.isTizen3()||shaka.util.Platform.isTizen4()?(shaka.log.info("Rejecting Opus."),shaka.polyfill.MediaSource.rejectCodec_("opus")):shaka.log.info("Using native MSE as-is."):shaka.log.info("No MSE implementation available."),(window.MediaSource||window.ManagedMediaSource)&&shaka.polyfill.MediaSource.rejectContainer_("mp2t"),window.MediaSource&&MediaSource.isTypeSupp
1orted('video/webm; codecs="vp9"')&&!MediaSource.isTypeSupported('video/webm; codecs="vp09.00.10.08"')&&(shaka.log.info("Patching vp09 support queries."),shaka.polyfill.MediaSource.patchVp09_())},shaka.polyfill.MediaSource.stubAbort_=function(){var e=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(){var t=$jscomp.getRestArguments.apply(0,arguments);return(t=e.apply(this,t)).abort=function(){},t}},shaka.polyfill.MediaSource.patchRemovalRange_=function(){var e=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(t,r){return e.call(this,t,r-.001)}},shaka.polyfill.MediaSource.rejectContainer_=function(e){if(window.MediaSource){var t=MediaSource.isTypeSupported.bind(MediaSource);MediaSource.isTypeSupported=function(r){return shaka.util.MimeUtils.getContainerType(r)!=e&&t(r)}}if(window.ManagedMediaSource){var r=ManagedMediaSource.isTypeSupported.bind(ManagedMediaSource);window.ManagedMediaSource.isTypeSupported=function(t){return shaka.util.MimeUtils.getContainerType(t)!=e&&r(t)}}},shaka.polyfill.MediaSource.rejectCodec_=function(e){var t=MediaSource.isTypeSupported.bind(MediaSource);if(MediaSource.isTypeSupported=function(r){return shaka.util.MimeUtils.getCodecBase(r)!=e&&t(r)},window.ManagedMediaSource){var r=ManagedMediaSource.isTypeSupported.bind(ManagedMediaSource);window.ManagedMediaSource.isTypeSupported=function(t){return shaka.util.MimeUtils.getCodecBase(t)!=e&&r(t)}}},shaka.polyfill.MediaSource.patchVp09_=function(){var e=MediaSource.isTypeSupported;shaka.util.Platform.isWebOS()||(MediaSource.isTypeSupported=function(t){var r=t.split(/ *; */),i=r.findIndex(function(e){return e.startsWith("codecs=")});if(0>i)return e(t);var n=r[i].replace("codecs=","").replace(/"/g,"").split(/\s*,\s*/),a=n.findIndex(function(e){return e.startsWith("vp09")});return 0<=a&&(n[a]="vp9",r[i]='codecs="'+n.join(",")+'"',t=r.join("; ")),e(t)})},goog.exportProperty(shaka.polyfill,"MediaSource",shaka.polyfill.MediaSource),goog.exportProperty(shaka.polyfill.MediaSource,"install",shaka.polyfill.MediaSource.install),shaka.polyfill.register(shaka.polyfill.MediaSource.install),shaka.polyfill.Orientation=function(){},shaka.polyfill.Orientation.install=function(){screen.orientation&&screen.orientation.unlock?shaka.log.info("Using native screen.orientation"):void 0!=screen.orientation?shaka.polyfill.Orientation.installBasedOnScreenMethods_():void 0!=window.orientation&&shaka.polyfill.Orientation.installBasedOnWindowMethods_()},shaka.polyfill.Orientation.installBasedOnScreenMethods_=function(){void 0===screen.orientation.lock&&(screen.orientation.lock=function(e){return shaka.log.info("screen.orientation.lock is a no-op"),Promise.resolve()}),void 0===screen.orientation.unlock&&(screen.orientation.unlock=function(){shaka.log.info("screen.orientation.unlock is a no-op")})},shaka.polyfill.Orientation.installBasedOnWindowMethods_=function(){var e=new shaka.polyfill.Orientation.FakeOrientation;screen.orientation=e;var t=function(){switch(window.orientation){case -90:e.type="landscape-secondary",e.angle=270;break;case 0:e.type="portrait-primary",e.angle=0;break;case 90:e.type="landscape-primary",e.angle=90;break;case 180:e.type="portrait-secondary",e.angle=180}};t(),window.addEventListener("orientationchange",function(){t(),e.dispatchChangeEvent()})},goog.exportProperty(shaka.polyfill,"Orientation",shaka.polyfill.Orientation),goog.exportProperty(shaka.polyfill.Orientation,"install",shaka.polyfill.Orientation.install),shaka.polyfill.Orientation.FakeOrientation=function(){shaka.util.FakeEventTarget.call(this),this.type="",this.angle=0},$jscomp.inherits(shaka.polyfill.Orientation.FakeOrientation,shaka.util.FakeEventTarget),shaka.polyfill.Orientation.FakeOrientation.prototype.dispatchChangeEvent=function(){var e=new shaka.util.FakeEvent("change");this.dispatchEvent(e)},shaka.polyfill.Orientation.FakeOrientation.prototype.lock=function(e){var t=function(e){return screen.lockOrientation?screen.lockOrientation(e):screen.mozLockOrientation?screen.mozLockOrientation(e):!!screen.msLockOrientation&&screen.msLockOrientation(e)},r=!1;switch(e){case"natural":r=t("default");break;case"any":r=!0,this.unlock();break;default:r=t(e)}return r?Promise.resolve():((e=Error("screen.orientation.lock() is not available on this device")).name="NotSupportedError",e.code=DOMException.NOT_SUPPORTED_ERR,Promise.reject(e))},shaka.polyfill.Orientation.FakeOrientation.prototype.unlock=function(){screen.unlockOrientation?screen.unlockOrientation():screen.mozUnlockOrientation?screen.mozUnlockOrientation():screen.msUnlockOrientation&&screen.msUnlockOrientation()},shaka.polyfill.register(shaka.polyfill.Orientation.install),shaka.polyfill.PatchedMediaKeysApple=function(){},shaka.polyfill.PatchedMediaKeysApple.defaultInstall=function(){window.HTMLVideoElement&&window.WebKitMediaKeys&&(navigator.requestMediaKeySystemAccess&&MediaKeySystemAccess.prototype.getConfiguration||shaka.polyfill.PatchedMediaKeysApple.install())},shaka.polyfill.PatchedMediaKeysApple.install=function(e){var t=shaka.polyfill.PatchedMediaKeysApple;window.HTMLVideoElement&&window.WebKitMediaKeys&&window.shakaMediaKeysPolyfill!=t.apiName_&&((void 0===e?0:e)&&(t.enableUninstall=!0,t.originalHTMLMediaElementPrototypeMediaKeys=Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"mediaKeys"),t.originalHTMLMediaElementPrototypeSetMediaKeys=
1HTMLMediaElement.prototype.setMediaKeys,t.originalWindowMediaKeys=window.MediaKeys,t.originalWindowMediaKeySystemAccess=window.MediaKeySystemAccess,t.originalNavigatorRequestMediaKeySystemAccess=navigator.requestMediaKeySystemAccess),shaka.log.info("Using Apple-prefixed EME"),delete HTMLMediaElement.prototype.mediaKeys,HTMLMediaElement.prototype.mediaKeys=null,HTMLMediaElement.prototype.setMediaKeys=t.setMediaKeys,window.MediaKeys=t.MediaKeys,window.MediaKeySystemAccess=t.MediaKeySystemAccess,navigator.requestMediaKeySystemAccess=t.requestMediaKeySystemAccess,window.shakaMediaKeysPolyfill=t.apiName_,shaka.util.StreamUtils.clearDecodingConfigCache(),shaka.drm.DrmUtils.clearMediaKeySystemAccessMap())},shaka.polyfill.PatchedMediaKeysApple.uninstall=function(){var e=shaka.polyfill.PatchedMediaKeysApple;window.shakaMediaKeysPolyfill==e.apiName_&&e.enableUninstall&&(shaka.log.info("Un-installing Apple-prefixed EME"),e.enableUninstall=!1,Object.defineProperty(HTMLMediaElement.prototype,"mediaKeys",e.originalHTMLMediaElementPrototypeMediaKeys),HTMLMediaElement.prototype.setMediaKeys=e.originalHTMLMediaElementPrototypeSetMediaKeys,window.MediaKeys=e.originalWindowMediaKeys,window.MediaKeySystemAccess=e.originalWindowMediaKeySystemAccess,navigator.requestMediaKeySystemAccess=e.originalNavigatorRequestMediaKeySystemAccess,e.originalWindowMediaKeys=null,e.originalWindowMediaKeySystemAccess=null,e.originalHTMLMediaElementPrototypeSetMediaKeys=null,e.originalNavigatorRequestMediaKeySystemAccess=null,e.originalHTMLMediaElementPrototypeMediaKeys=null,window.shakaMediaKeysPolyfill="",shaka.util.StreamUtils.clearDecodingConfigCache(),shaka.drm.DrmUtils.clearMediaKeySystemAccessMap())},shaka.polyfill.PatchedMediaKeysApple.requestMediaKeySystemAccess=function(e,t){shaka.log.debug("PatchedMediaKeysApple.requestMediaKeySystemAccess"),goog.asserts.assert(this==navigator,'bad "this" for requestMediaKeySystemAccess');var r=shaka.polyfill.PatchedMediaKeysApple;try{var i=new r.MediaKeySystemAccess(e,t);return Promise.resolve(i)}catch(e){return Promise.reject(e)}},shaka.polyfill.PatchedMediaKeysApple.setMediaKeys=function(e){shaka.log.debug("PatchedMediaKeysApple.setMediaKeys"),goog.asserts.assert(this instanceof HTMLMediaElement,'bad "this" for setMediaKeys');var t=shaka.polyfill.PatchedMediaKeysApple,r=this.mediaKeys;return r&&r!=e&&(goog.asserts.assert(r instanceof t.MediaKeys,"non-polyfill instance of oldMediaKeys"),r.setMedia(null)),delete this.mediaKeys,(this.mediaKeys=e)?(goog.asserts.assert(e instanceof t.MediaKeys,"non-polyfill instance of newMediaKeys"),e.setMedia(this)):Promise.resolve()},shaka.polyfill.PatchedMediaKeysApple.onWebkitNeedKey_=function(e){if(shaka.log.debug("PatchedMediaKeysApple.onWebkitNeedKey_",e),goog.asserts.assert(this.mediaKeys instanceof shaka.polyfill.PatchedMediaKeysApple.MediaKeys,"non-polyfill instance of newMediaKeys"),goog.asserts.assert(null!=e.initData,"missing init data!"),e=shaka.util.BufferUtils.toUint8(e.initData),shaka.util.BufferUtils.toDataView(e).getUint32(0,!0)+4!=e.byteLength)throw RangeError("Malformed FairPlay init data");e=shaka.util.StringUtils.fromUTF16(e.subarray(4),!0),e=shaka.util.StringUtils.toUTF8(e);var t=new Event("encrypted");t.initDataType="skd",t.initData=shaka.util.BufferUtils.toArrayBuffer(e),this.dispatchEvent(t)},goog.exportProperty(shaka.polyfill,"PatchedMediaKeysApple",shaka.polyfill.PatchedMediaKeysApple),goog.exportProperty(shaka.polyfill.PatchedMediaKeysApple,"uninstall",shaka.polyfill.PatchedMediaKeysApple.uninstall),goog.exportProperty(shaka.polyfill.PatchedMediaKeysApple,"install",shaka.polyfill.PatchedMediaKeysApple.install),shaka.polyfill.PatchedMediaKeysApple.MediaKeySystemAccess=function(e,t){if(shaka.log.debug("PatchedMediaKeysApple.MediaKeySystemAccess"),this.keySystem=e,e.startsWith("com.apple.fps")){for(t=(e=$jscomp.makeIterator(t)).next();!t.done;t=e.next())if(t=this.checkConfig_(t.value)){this.configuration_=t;return}}throw(e=Error("Unsupported keySystem")).name="NotSupportedError",e.code=DOMException.NOT_SUPPORTED_ERR,e},shaka.polyfill.PatchedMediaKeysApple.MediaKeySystemAccess.prototype.checkConfig_=function(e){if("required"==e.persistentState)return null;var t={audioCapabilities:[],videoCapabilities:[],persistentState:"optional",distinctiveIdentifier:"optional",initDataTypes:e.initDataTypes,sessionTypes:["temporary"],label:e.label},r=!1,i=!1;if(e.audioCapabilities){for(var n=$jscomp.makeIterator(e.audioCapabilities),a=n.next();!a.done;a=n.next())if((a=a.value).contentType){r=!0;var o=a.contentType.split(";")[0];
1WebKitMediaKeys.isTypeSupported(this.keySystem,o)&&(t.audioCapabilities.push(a),i=!0)}}if(e.videoCapabilities)for(n=(e=$jscomp.makeIterator(e.videoCapabilities)).next();!n.done;n=e.next())(n=n.value).contentType&&(r=!0,a=n.contentType.split(";")[0],WebKitMediaKeys.isTypeSupported(this.keySystem,a)&&(t.videoCapabilities.push(n),i=!0));return r||(i=WebKitMediaKeys.isTypeSupported(this.keySystem,"video/mp4")),i?t:null},shaka.polyfill.PatchedMediaKeysApple.MediaKeySystemAccess.prototype.createMediaKeys=function(){return shaka.log.debug("PatchedMediaKeysApple.MediaKeySystemAccess.createMediaKeys"),Promise.resolve(new shaka.polyfill.PatchedMediaKeysApple.MediaKeys(this.keySystem))},shaka.polyfill.PatchedMediaKeysApple.MediaKeySystemAccess.prototype.getConfiguration=function(){return shaka.log.debug("PatchedMediaKeysApple.MediaKeySystemAccess.getConfiguration"),this.configuration_},shaka.polyfill.PatchedMediaKeysApple.MediaKeys=function(e){shaka.log.debug("PatchedMediaKeysApple.MediaKeys"),this.nativeMediaKeys_=new WebKitMediaKeys(e),this.eventManager_=new shaka.util.EventManager},shaka.polyfill.PatchedMediaKeysApple.MediaKeys.prototype.createSession=function(e){if(shaka.log.debug("PatchedMediaKeysApple.MediaKeys.createSession"),"temporary"!=(e=e||"temporary"))throw TypeError("Session type "+e+" is unsupported on this platform.");return new shaka.polyfill.PatchedMediaKeysApple.MediaKeySession(this.nativeMediaKeys_,e)},shaka.polyfill.PatchedMediaKeysApple.MediaKeys.prototype.setServerCertificate=function(e){return shaka.log.debug("PatchedMediaKeysApple.MediaKeys.setServerCertificate"),Promise.resolve(!1)},shaka.polyfill.PatchedMediaKeysApple.MediaKeys.prototype.setMedia=function(e){var t=this,r=shaka.polyfill.PatchedMediaKeysApple;if(this.eventManager_.removeAll(),!e)return Promise.resolve();this.eventManager_.listen(e,"webkitneedkey",r.onWebkitNeedKey_);try{return shaka.util.MediaReadyState.waitForReadyState(e,HTMLMediaElement.HAVE_METADATA,this.eventManager_,function(){e.webkitSetMediaKeys(t.nativeMediaKeys_)}),Promise.resolve()}catch(e){return Promise.reject(e)}},shaka.polyfill.PatchedMediaKeysApple.MediaKeys.prototype.getStatusForPolicy=function(e){return Promise.resolve("usable")},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession=function(e,t){shaka.log.debug("PatchedMediaKeysApple.MediaKeySession"),shaka.util.FakeEventTarget.call(this),this.nativeMediaKeySession_=null,this.nativeMediaKeys_=e,this.updatePromise_=this.generateRequestPromise_=null,this.eventManager_=new shaka.util.EventManager,this.sessionId="",this.expiration=NaN,this.closed=new shaka.util.PublicPromise,this.keyStatuses=new shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap},$jscomp.inherits(shaka.polyfill.PatchedMediaKeysApple.MediaKeySession,shaka.util.FakeEventTarget),shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.generateRequest=function(e,t){var r=this;shaka.log.debug("PatchedMediaKeysApple.MediaKeySession.generateRequest"),this.generateRequestPromise_=new shaka.util.PublicPromise;try{var i=this.nativeMediaKeys_.createSession("video/mp4",shaka.util.BufferUtils.toUint8(t));this.nativeMediaKeySession_=i,this.sessionId=i.sessionId||"",this.eventManager_.listen(this.nativeMediaKeySession_,"webkitkeymessage",function(e){return r.onWebkitKeyMessage_(e)}),this.eventManager_.listen(i,"webkitkeyadded",function(e){return r.onWebkitKeyAdded_(e)}),this.eventManager_.listen(i,"webkitkeyerror",function(e){return r.onWebkitKeyError_(e)}),this.updateKeyStatus_("status-pending")}catch(e){this.generateRequestPromise_.reject(e)}return this.generateRequestPromise_},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.load=function(){return shaka.log.debug("PatchedMediaKeysApple.MediaKeySession.load"),Promise.reject(Error("MediaKeySession.load not yet supported"))},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.update=function(e){shaka.log.debug("PatchedMediaKeysApple.MediaKeySession.update"),this.updatePromise_=new shaka.util.PublicPromise;try{this.nativeMediaKeySession_.update(shaka.util.BufferUtils.toUint8(e))}catch(e){this.updatePromise_.reject(e)}return this.updatePromise_},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.close=function(){shaka.log.debug("PatchedMediaKeysApple.MediaKeySession.close");try{this.nativeMediaKeySession_.close(),this.closed.resolve(),this.eventManager_.removeAll()}catch(e){this.closed.reject(e)}return this.closed},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.remove=function(){return shaka.log.debug("PatchedMediaKeysApple.MediaKeySession.remove"),Promise.reject(Error("MediaKeySession.remove is only applicable for persistent licenses, which are not supported on this platform"))},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.onWebkitKeyMessage_=function(e){shaka.log.debug("PatchedMediaKeysApple.onWebkitKeyMessage_",e),goog.asserts.assert(this.generateRequestPromise_,"generateRequestPromise_ should be set before now!"),this.generateRequestPromise_&&(this.generateRequestPromise_.resolve(),this.generateRequestPromise_=null);var t=void 0==this.keyStatuses.getStatus();e=(new Map).set("messageType",t?"license-request":"license-renewal").set("message",shaka.util.BufferUtils.toArrayBuffer(e.message)),e=new shaka.util.FakeEvent("message",e),this.dispatchEvent(e)},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.onWebkitKeyAdded_=function(e){shaka.log.debug("PatchedMediaKeysApple.onWebkitKeyAdded_",e),goog.asserts.assert(!this.generateRequestPromise_,"Key added during generate!"),goog.asserts.assert(this.updatePromise_,"updatePromise_ should be set before now!"),this.updatePromise_&&(this.updateKeyStatus_("usable"),this.updatePromise_.resolve(),this.updatePromise_=null)},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.onWebkitKeyError_=function(e){if(shaka.log.debug("PatchedMediaKeysApple.onWebkitKeyError_",e),(e=Error("EME PatchedMediaKeysApple key error")).errorCode=this.nativeMediaKeySession_.error,null!=this.generateRequestPromise_)this.generateRequestPromise_.reject(e),this.generateRequestPromise_=null;else if(null!=this.updatePromise_)this.updatePromise_.reject(e),this.updatePromise_=null;else switch(this.nativeMediaKeySession_.error.code){case WebKitMediaKeyError.MEDIA_KEYERR_OUTPUT:case WebKitMediaKeyError.MEDIA_KEYERR_HARDWARECHANGE:this.updateKeyStatus_("output-not-allowed");break;default:this.updateKeyStatus_("internal-error")}},shaka.polyfill.PatchedMediaKeysApple.MediaKeySession.prototype.updateKeyStatus_=function(e){this.keyStatuses.setStatus(e),e=new shaka.util.FakeEvent("keystatuseschange"),this.dispatchEvent(e)},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap=function(){this.size=0,this.status_=void 0},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.setStatus=function(e){this.size=+(void 0!=e),this.status_=e},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.getStatus=function(){return this.status_},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.forEach=function(e){this.status_&&e(this.status_,shaka.drm.DrmUtils.DUMMY_KEY_ID.value(
1))},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.get=function(e){if(this.has(e))return this.status_},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.has=function(e){var t=shaka.drm.DrmUtils.DUMMY_KEY_ID.value();return!!(this.status_&&shaka.util.BufferUtils.equal(e,t))},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.entries=function(){goog.asserts.assert(!1,"Not used!  Provided only for the compiler.")},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.keys=function(){goog.asserts.assert(!1,"Not used!  Provided only for the compiler.")},shaka.polyfill.PatchedMediaKeysApple.MediaKeyStatusMap.prototype.values=function(){goog.asserts.assert(!1,"Not used!  Provided only for the compiler.")},shaka.polyfill.PatchedMediaKeysApple.apiName_="apple",shaka.polyfill.register(shaka.polyfill.PatchedMediaKeysApple.defaultInstall),shaka.polyfill.PatchedMediaKeysCert=function(){},shaka.polyfill.PatchedMediaKeysCert.install=function(){window.MediaKeys&&(!MediaKeys.prototype.setServerCertificate||shaka.polyfill.PatchedMediaKeysCert.hasInvalidImplementation_())&&(shaka.log.info("Patching MediaKeys.setServerCertificate"),MediaKeys.prototype.setServerCertificate=shaka.polyfill.PatchedMediaKeysCert.setServerCertificate_)},shaka.polyfill.PatchedMediaKeysCert.setServerCertificate_=function(e){return shaka.log.debug("PatchedMediaKeysCert.setServerCertificate"),Promise.resolve(!1)},shaka.polyfill.PatchedMediaKeysCert.hasInvalidImplementation_=function(){return shaka.util.Platform.isTizen3()||shaka.util.Platform.isTizen4()||shaka.util.Platform.isTizen5_0()||shaka.util.Platform.isWebOS3()},goog.exportProperty(shaka.polyfill,"PatchedMediaKeysCert",shaka.polyfill.PatchedMediaKeysCert),goog.exportProperty(shaka.polyfill.PatchedMediaKeysCert,"install",shaka.polyfill.PatchedMediaKeysCert.install),shaka.polyfill.register(shaka.polyfill.PatchedMediaKeysCert.install),shaka.polyfill.PatchedMediaKeysWebkit=function(){},shaka.polyfill.PatchedMediaKeysWebkit.install=function(){var e=shaka.polyfill.PatchedMediaKeysWebkit;if(!(!window.HTMLVideoElement||navigator.requestMediaKeySystemAccess&&MediaKeySystemAccess.prototype.getConfiguration)){if(HTMLMediaElement.prototype.webkitGenerateKeyRequest)shaka.log.info("Using webkit-prefixed EME v0.1b"),e.prefix_="webkit";else{if(!HTMLMediaElement.prototype.generateKeyRequest)return;shaka.log.info("Using nonprefixed EME v0.1b")}goog.asserts.assert(HTMLMediaElement.prototype[e.prefixApi_("generateKeyRequest")],"PatchedMediaKeysWebkit APIs not available!"),navigator.requestMediaKeySystemAccess=e.requestMediaKeySystemAccess,delete HTMLMediaElement.prototype.mediaKeys,HTMLMediaElement.prototype.mediaKeys=null,HTMLMediaElement.prototype.setMediaKeys=e.setMediaKeys,window.MediaKeys=e.MediaKeys,window.MediaKeySystemAccess=e.MediaKeySystemAccess,window.shakaMediaKeysPolyfill=e.apiName_}},shaka.polyfill.PatchedMediaKeysWebkit.prefixApi_=function(e){var t=shaka.polyfill.PatchedMediaKeysWebkit.prefix_;return t?t+e.charAt(0).toUpperCase()+e.slice(1):e},shaka.polyfill.PatchedMediaKeysWebkit.requestMediaKeySystemAccess=function(e,t){shaka.log.debug("PatchedMediaKeysWebkit.requestMediaKeySystemAccess"),goog.asserts.assert(this==navigator,'bad "this" for requestMediaKeySystemAccess');var r=shaka.polyfill.PatchedMediaKeysWebkit;try{var i=new r.MediaKeySystemAccess(e,t);return Promise.resolve(i)}catch(e){return Promise.reject(e)}},shaka.polyfill.PatchedMediaKeysWebkit.setMediaKeys=function(e){shaka.log.debug("PatchedMediaKeysWebkit.setMediaKeys"),goog.asserts.assert(this instanceof HTMLMediaElement,'bad "this" for setMediaKeys');var t=shaka.polyfill.PatchedMediaKeysWebkit,r=this.mediaKeys;return r&&r!=e&&(goog.asserts.assert(r instanceof t.MediaKeys,"non-polyfill instance of oldMediaKeys"),r.setMedia(null)),delete this.mediaKeys,(this.mediaKeys=e)&&(goog.asserts.assert(e instanceof t.MediaKeys,"non-polyfill instance of newMediaKeys"),e.setMedia(this)),Promise.resolve()},shaka.polyfill.PatchedMediaKeysWebkit.getVideoElement_=function(){var e=document.getElementsByTagName("video");return e.length?e[0]:document.createElement("video")},goog.exportProperty(shaka.polyfill,"PatchedMediaKeysWebkit",shaka.polyfill.PatchedMediaKeysWebkit),goog.exportProperty(shaka.polyfill.PatchedMediaKeysWebkit,"install",shaka.polyfill.PatchedMediaKeysWebkit.install),shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySystemAccess=function(e,t){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySystemAccess"),this.internalKeySystem_=this.keySystem=e;var r=!1;"org.w3.clearkey"==e&&(this.internalKeySystem_="webkit-org.w3.clearkey",r=!1);var i=!1,n=shaka.polyfill.PatchedMediaKeysWebkit.getVideoElement_();t=$jscomp.makeIterator(t);for(var a=t.next();!a.done;a=t.next()){var o={audioCapabilities:[],videoCapabilities:[],persistentState:"optional",distinctiveIdentifier:"optional",initDataTypes:(a=a.value).initDataTypes,sessionTypes:["temporary"],label:a.label},s=!1;if(a.audioCapabilities){for(var l=$jscomp.makeIterator(a.audioCapabilities),u=l.next();!u.done;u=l.next())if((u=u.value).contentType){s=!0;var d=u.contentType.split(";")[0];n.canPlayType(d,this.internalKeySystem_)&&(o.audioCapabilities.push(u),i=!0)}}if(a.videoCapabilities)for(u=(l=$jscomp.makeIterator(a.videoCapabilities)).next();!u.done;u=l.next())(u=u.value).contentType&&(s=!0,n.canPlayType(u.contentType,this.internalKeySystem_)&&(o.videoCapabilities.push(u),i=!0));if(s||(i=n.canPlayType("video/mp4",this.internalKeySystem_)||n.canPlayType("video/webm",this.internalKeySystem_)),"required"==a.persistentState&&(r?(o.persistentState="required",o.sessionTypes=["persistent-license"]):i=!1),i){this.configuration_=o;return}}throw r="Unsupported keySystem",("org.w3.clearkey"==e||"com.widevine.alpha"==e)&&(r="None of the requested configurations were supported."),(e=Error(r)).name="NotSupportedError",e.code=DOMException.NOT_SUPPORTED_ERR,e},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySystemAccess.prototype.createMediaKeys=function(){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySystemAccess.createMediaKeys"),Promise.resolve(new shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys(this.internalKeySystem_))},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySystemAccess.prototype.getConfiguration=function(){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySystemAccess.getConfiguration"),this.configuration_},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys=function(e){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeys"),this.keySystem_=e,this.media_=null,this.eventManager_=new shaka.util.EventManager,this.newSessions_=[],this.sessionMap_=new Map},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.setMedia=function(e){var t=this;this.media_=e,this.eventManager_.removeAll();var r=shaka.polyfill.PatchedMediaKeysWebkit.prefix_;e&&(this.eventManager_.listen(e,r+"needkey",function(e){return t.onWebkitNeedKey_(e)}),this.eventManager_.listen(e,r+"keymessage",function(e){return t.onWebkitKeyMessage_(e)}
1),this.eventManager_.listen(e,r+"keyadded",function(e){return t.onWebkitKeyAdded_(e)}),this.eventManager_.listen(e,r+"keyerror",function(e){return t.onWebkitKeyError_(e)}))},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.createSession=function(e){if(shaka.log.debug("PatchedMediaKeysWebkit.MediaKeys.createSession"),"temporary"!=(e=e||"temporary")&&"persistent-license"!=e)throw TypeError("Session type "+e+" is unsupported on this platform.");var t=shaka.polyfill.PatchedMediaKeysWebkit,r=this.media_||document.createElement("video");return r.src||(r.src="about:blank"),e=new t.MediaKeySession(r,this.keySystem_,e),this.newSessions_.push(e),e},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.setServerCertificate=function(e){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeys.setServerCertificate"),Promise.resolve(!1)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.getStatusForPolicy=function(e){return Promise.resolve("usable")},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.onWebkitNeedKey_=function(e){shaka.log.debug("PatchedMediaKeysWebkit.onWebkitNeedKey_",e),goog.asserts.assert(this.media_,"media_ not set in onWebkitNeedKey_");var t=new CustomEvent("encrypted");t.initDataType="cenc",t.initData=shaka.util.BufferUtils.toArrayBuffer(e.initData),this.media_.dispatchEvent(t)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.onWebkitKeyMessage_=function(e){shaka.log.debug("PatchedMediaKeysWebkit.onWebkitKeyMessage_",e);var t=this.findSession_(e.sessionId);if(t){var r=void 0==t.keyStatuses.getStatus();e=(new Map).set("messageType",r?"licenserequest":"licenserenewal").set("message",e.message),e=new shaka.util.FakeEvent("message",e),t.generated(),t.dispatchEvent(e)}else shaka.log.error("Session not found",e.sessionId)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.onWebkitKeyAdded_=function(e){shaka.log.debug("PatchedMediaKeysWebkit.onWebkitKeyAdded_",e),e=this.findSession_(e.sessionId),goog.asserts.assert(e,"unable to find session in onWebkitKeyAdded_"),e&&e.ready()},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.onWebkitKeyError_=function(e){shaka.log.debug("PatchedMediaKeysWebkit.onWebkitKeyError_",e);var t=this.findSession_(e.sessionId);goog.asserts.assert(t,"unable to find session in onWebkitKeyError_"),t&&t.handleError(e)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeys.prototype.findSession_=function(e){var t=this.sessionMap_.get(e);return t?(shaka.log.debug("PatchedMediaKeysWebkit.MediaKeys.findSession_",t),t):(t=this.newSessions_.shift())?(t.sessionId=e,this.sessionMap_.set(e,t),shaka.log.debug("PatchedMediaKeysWebkit.MediaKeys.findSession_",t),t):null},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession=function(e,t,r){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession"),shaka.util.FakeEventTarget.call(this),this.media_=e,this.initialized_=!1,this.updatePromise_=this.generatePromise_=null,this.keySystem_=t,this.type_=r,this.sessionId="",this.expiration=NaN,this.closed=new shaka.util.PublicPromise,this.keyStatuses=new shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap},$jscomp.inherits(shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession,shaka.util.FakeEventTarget),shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.generated=function(){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.generated"),this.generatePromise_&&(this.generatePromise_.resolve(),this.generatePromise_=null)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.ready=function(){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.ready"),this.updateKeyStatus_("usable"),this.updatePromise_&&this.updatePromise_.resolve(),this.updatePromise_=null},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.handleError=function(e){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.handleError",e);var t=Error("EME v0.1b key error"),r=e.errorCode;r.systemCode=e.systemCode,t.errorCode=r,!e.sessionId&&this.generatePromise_?(45==e.systemCode&&(t.message="Unsupported session type."),this.generatePromise_.reject(t),this.generatePromise_=null):e.sessionId&&this.updatePromise_?(this.updatePromise_.reject(t),this.updatePromise_=null):(t=e.systemCode,e.errorCode.code==MediaKeyError.MEDIA_KEYERR_OUTPUT?this.updateKeyStatus_("output-restricted"):1==t?this.updateKeyStatus_("expired"):this.updateKeyStatus_("internal-error"))},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.generate_=function(e,t){var r=this,i=shaka.polyfill.PatchedMediaKeysWebkit;if(this.initialized_)return Promise.reject(Error("The session is already initialized."));this.initialized_=!0;try{if("persistent-license"==this.type_){var n=shaka.util.StringUtils;if(t)var a=shaka.util.BufferUtils.toUint8(n.toUTF8("LOAD_SESSION|"+t));else{goog.asserts.assert(e,"expecting init data");var o=n.toUTF8("PERSISTENT|");a=shaka.util.Uint8ArrayUtils.concat(o,e)}}else goog.asserts.assert("temporary"==this.type_,"expected temporary session"),goog.asserts.assert(!t,"unexpected offline session ID"),goog.asserts.assert(e,"expecting init data"),a=shaka.util.BufferUtils.toUint8(e);goog.asserts.assert(a,"init data not set!")}catch(e){return Promise.reject(e)}goog.asserts.assert(null==this.generatePromise_,"generatePromise_ should be null"),this.generatePromise_=new shaka.util.PublicPromise;var s=i.prefixApi_("generateKeyRequest");try{this.media_[s](this.keySystem_,a)}catch(e){if("InvalidStateError"!=e.name)return this.generatePromise_=null,Promise.reject(e);new shaka.util.Timer(function(){try{r.media_[s](r.keySystem_,a)}catch(e){r.generatePromise_.reject(e),r.generatePromise_=null}}).tickAfter(.01)}return this.generatePromise_},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.update_=function(e,t){var r=this,i=shaka.polyfill.PatchedMediaKeysWebkit;if(this.updatePromise_)this.updatePromise_.then(function(){return r.update_(e,t)}).catch(function(){return r.update_(e,t)});
1else{if(this.updatePromise_=e,"webkit-org.w3.clearkey"==this.keySystem_){var n=shaka.util.Uint8ArrayUtils,a=shaka.util.StringUtils.fromUTF8(t),o=JSON.parse(a);"oct"!=o.keys[0].kty&&(this.updatePromise_.reject(Error("Response is not a valid JSON Web Key Set.")),this.updatePromise_=null),a=n.fromBase64(o.keys[0].k),n=n.fromBase64(o.keys[0].kid)}else a=shaka.util.BufferUtils.toUint8(t),n=null;i=i.prefixApi_("addKey");try{this.media_[i](this.keySystem_,a,n,this.sessionId)}catch(e){this.updatePromise_.reject(e),this.updatePromise_=null}}},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.updateKeyStatus_=function(e){this.keyStatuses.setStatus(e),e=new shaka.util.FakeEvent("keystatuseschange"),this.dispatchEvent(e)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.generateRequest=function(e,t){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.generateRequest"),this.generate_(t,null)},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.load=function(e){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.load"),"persistent-license"==this.type_?this.generate_(null,e):Promise.reject(Error("Not a persistent session."))},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.update=function(e){shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.update",e),goog.asserts.assert(this.sessionId,"update without session ID");var t=new shaka.util.PublicPromise;return this.update_(t,e),t},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.close=function(){var e=shaka.polyfill.PatchedMediaKeysWebkit;if(shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.close"),"persistent-license"!=this.type_){if(!this.sessionId)return this.closed.reject(Error("The session is not callable.")),this.closed;e=e.prefixApi_("cancelKeyRequest");try{this.media_[e](this.keySystem_,this.sessionId)}catch(t){shaka.log.debug(e+" exception",t)}}return this.closed.resolve(),this.closed},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeySession.prototype.remove=function(){return shaka.log.debug("PatchedMediaKeysWebkit.MediaKeySession.remove"),"persistent-license"!=this.type_?Promise.reject(Error("Not a persistent session.")):this.close()},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap=function(){this.size=0,this.status_=void 0},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.setStatus=function(e){this.size=+(void 0!=e),this.status_=e},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.getStatus=function(){return this.status_},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.forEach=function(e){this.status_&&e(this.status_,shaka.drm.DrmUtils.DUMMY_KEY_ID.value())},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.get=function(e){if(this.has(e))return this.status_},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.has=function(e){var t=shaka.drm.DrmUtils.DUMMY_KEY_ID.value();return!!(this.status_&&shaka.util.BufferUtils.equal(e,t))},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.entries=function(){goog.asserts.assert(!1,"Not used!  Provided only for compiler.")},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.keys=function(){goog.asserts.assert(!1,"Not used!  Provided only for compiler.")},shaka.polyfill.PatchedMediaKeysWebkit.MediaKeyStatusMap.prototype.values=function(){goog.asserts.assert(!1,"Not used!  Provided only for compiler.")},shaka.polyfill.PatchedMediaKeysWebkit.prefix_="",shaka.polyfill.PatchedMediaKeysWebkit.apiName_="webkit",shaka.polyfill.register(shaka.polyfill.PatchedMediaKeysWebkit.install),shaka.polyfill.PiPWebkit=function(){},shaka.polyfill.PiPWebkit.install=function(){if(window.HTMLVideoElement){var e=HTMLVideoElement.prototype;if((!e.requestPictureInPicture||!document.exitPictureInPicture)&&e.webkitSupportsPresentationMode){var t=shaka.polyfill.PiPWebkit;shaka.log.debug("PiPWebkit.install"),document.pictureInPictureEnabled=!0,document.pictureInPictureElement=null,e.requestPictureInPicture=t.requestPictureInPicture_,Object.defineProperty(e,"disablePictureInPicture",{get:t.getDisablePictureInPicture_,
1set:t.setDisablePictureInPicture_,enumerable:!0,configurable:!0}),document.exitPictureInPicture=t.exitPictureInPicture_,document.addEventListener("webkitpresentationmodechanged",t.proxyEvent_,!0)}}},shaka.polyfill.PiPWebkit.proxyEvent_=function(e){if((e=e.target).webkitPresentationMode==shaka.polyfill.PiPWebkit.PIP_MODE_){document.pictureInPictureElement=e;var t=new Event("enterpictureinpicture");e.dispatchEvent(t)}else document.pictureInPictureElement==e&&(document.pictureInPictureElement=null),t=new Event("leavepictureinpicture"),e.dispatchEvent(t)},shaka.polyfill.PiPWebkit.requestPictureInPicture_=function(){var e=shaka.polyfill.PiPWebkit;return this.webkitSupportsPresentationMode(e.PIP_MODE_)?(this.webkitSetPresentationMode(e.PIP_MODE_),document.pictureInPictureElement=this,Promise.resolve()):Promise.reject(Error("PiP not allowed by video element"))},shaka.polyfill.PiPWebkit.exitPictureInPicture_=function(){var e=shaka.polyfill.PiPWebkit,t=document.pictureInPictureElement;return t?(t.webkitSetPresentationMode(e.INLINE_MODE_),document.pictureInPictureElement=null,Promise.resolve()):Promise.reject(Error("No picture in picture element found"))},shaka.polyfill.PiPWebkit.getDisablePictureInPicture_=function(){return!!this.hasAttribute("disablePictureInPicture")||!this.webkitSupportsPresentationMode(shaka.polyfill.PiPWebkit.PIP_MODE_)},shaka.polyfill.PiPWebkit.setDisablePictureInPicture_=function(e){e?this.setAttribute("disablePictureInPicture",""):this.removeAttribute("disablePictureInPicture")},goog.exportProperty(shaka.polyfill,"PiPWebkit",shaka.polyfill.PiPWebkit),goog.exportProperty(shaka.polyfill.PiPWebkit,"install",shaka.polyfill.PiPWebkit.install),shaka.polyfill.PiPWebkit.PIP_MODE_="picture-in-picture",shaka.polyfill.PiPWebkit.INLINE_MODE_="inline",shaka.polyfill.register(shaka.polyfill.PiPWebkit.install),shaka.polyfill.RandomUUID=function(){},shaka.polyfill.RandomUUID.install=function(){shaka.log.debug("randomUUID.install"),window.crypto?"randomUUID"in window.crypto?shaka.log.debug("RandomUUID: Native window.crypto.randomUUID() support found."):window.crypto.randomUUID=shaka.polyfill.RandomUUID.randomUUID_:shaka.log.debug("window.crypto must be available to install randomUUID polyfill.")},shaka.polyfill.RandomUUID.randomUUID_=function(){var e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.substr(t.lastIndexOf("/")+1)},goog.exportProperty(shaka.polyfill,"RandomUUID",shaka.polyfill.RandomUUID),goog.exportProperty(shaka.polyfill.RandomUUID,"install",shaka.polyfill.RandomUUID.install),shaka.polyfill.register(shaka.polyfill.RandomUUID.install),shaka.polyfill.Symbol=function(){},shaka.polyfill.Symbol.install=function(){shaka.log.debug("Symbol.install");var e=Symbol.prototype;"description"in e||Object.defineProperty(e,"description",{get:shaka.polyfill.Symbol.getSymbolDescription_})},shaka.polyfill.Symbol.getSymbolDescription_=function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0},goog.exportProperty(shaka.polyfill,"Symbol",shaka.polyfill.Symbol),goog.exportProperty(shaka.polyfill.Symbol,"install",shaka.polyfill.Symbol.install),shaka.polyfill.register(shaka.polyfill.Symbol.install),shaka.polyfill.TypedArray=function(){},shaka.polyfill.TypedArray.install=function(){for(var e=$jscomp.makeIterator([Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,Int8Array,Int16Array,Int32Array,Float32Array,Float64Array]),t=e.next();!t.done;t=e.next())(t=t.value).prototype.indexOf||(t.prototype.indexOf=shaka.polyfill.TypedArray.indexOf_),t.prototype.lastIndexOf||(t.prototype.lastIndexOf=shaka.polyfill.TypedArray.lastIndexOf_),t.prototype.includes||(t.prototype.includes=shaka.polyfill.TypedArray.includes_)},shaka.polyfill.TypedArray.indexOf_=function(e,t){return Array.prototype.indexOf.call(this,e,t)},shaka.polyfill.TypedArray.lastIndexOf_=function(e,t){return Array.prototype.lastIndexOf.call(this,e,t)},shaka.polyfill.TypedArray.includes_=function(e,t){return -1!==this.indexOf(e,t)},goog.exportProperty(shaka.polyfill,"TypedArray",shaka.polyfill.TypedArray),goog.exportProperty(shaka.polyfill.TypedArray,"install",shaka.polyfill.TypedArray.install),shaka.polyfill.register(shaka.polyfill.TypedArray.install),shaka.polyfill.VideoPlayPromise=function(){},shaka.polyfill.VideoPlayPromise.install=function(){if(shaka.log.debug("VideoPlayPromise.install"),window.HTMLMediaElement){var e=HTMLMediaElement.prototype.play;HTMLMediaElement.prototype.play=function(){var t=e.apply(this);return t&&t.catch(function(){}),t}}},goog.exportProperty(shaka.polyfill,"VideoPlayPromise",shaka.polyfill.VideoPlayPromise),goog.exportProperty(shaka.polyfill.VideoPlayPromise,"install",shaka.polyfill.VideoPlayPromise.install),shaka.polyfill.register(shaka.polyfill.VideoPlayPromise.install),shaka.polyfill.VideoPlaybackQuality=function(){},shaka.polyfill.VideoPlaybackQuality.install=function(){if(window.HTMLVideoElement){var e=HTMLVideoElement.prototype;!e.getVideoPlaybackQuality&&("webkitDroppedFrameCount"in e||shaka.util.Platform.isWebOS3())&&(e.getVideoPlaybackQuality=shaka.polyfill.VideoPlaybackQuality.webkit_)}},shaka.polyfill.VideoPlaybackQuality.webkit_=function(){return{droppedVideoFrames:this.webkitDroppedFrameCount,totalVideoFrames:this.webkitDecodedFrameCount,corruptedVideoFrames:0,creationTime:NaN,totalFrameDelay:0}},goog.exportProperty(shaka.polyfill,"VideoPlaybackQuality",shaka.polyfill.VideoPlaybackQuality),goog.exportProperty(shaka.polyfill.VideoPlaybackQuality,"install",shaka.polyfill.VideoPlaybackQuality.install),shaka.polyfill.register(shaka.polyfill.VideoPlaybackQuality.install),shaka.polyfill.VTTCue=function(){},shaka.polyfill.VTTCue.install=function(){if(window.VTTCue)shaka.log.info("Using native VTTCue.");else if(window.TextTrackCue){var e=null,t=TextTrackCue.length;
13==t?(shaka.log.info("Using VTTCue polyfill from 3 argument TextTrackCue."),e=shaka.polyfill.VTTCue.from3ArgsTextTrackCue_):6==t?(shaka.log.info("Using VTTCue polyfill from 6 argument TextTrackCue."),e=shaka.polyfill.VTTCue.from6ArgsTextTrackCue_):shaka.polyfill.VTTCue.canUse3ArgsTextTrackCue_()&&(shaka.log.info("Using VTTCue polyfill from 3 argument TextTrackCue."),e=shaka.polyfill.VTTCue.from3ArgsTextTrackCue_),e?window.VTTCue=function(t,r,i){return e(t,r,i)}:shaka.log.error("No recognized signature for TextTrackCue found!")}else shaka.log.error("VTTCue not available.")},shaka.polyfill.VTTCue.from3ArgsTextTrackCue_=function(e,t,r){return new window.TextTrackCue(e,t,r)},shaka.polyfill.VTTCue.from6ArgsTextTrackCue_=function(e,t,r){return new window.TextTrackCue(e+"-"+t+"-"+r,e,t,r)},shaka.polyfill.VTTCue.canUse3ArgsTextTrackCue_=function(){try{return!!shaka.polyfill.VTTCue.from3ArgsTextTrackCue_(1,2,"")}catch(e){return!1}},goog.exportProperty(shaka.polyfill,"VTTCue",shaka.polyfill.VTTCue),goog.exportProperty(shaka.polyfill.VTTCue,"install",shaka.polyfill.VTTCue.install),shaka.polyfill.register(shaka.polyfill.VTTCue.install),shaka.text.LrcTextParser=function(){},shaka.text.LrcTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"LRC does not have init segments")},shaka.text.LrcTextParser.prototype.setSequenceMode=function(e){},shaka.text.LrcTextParser.prototype.setManifestType=function(e){},shaka.text.LrcTextParser.prototype.parseMedia=function(e,t){var r=shaka.text.LrcTextParser,i=null,n=[];e=shaka.util.StringUtils.fromUTF8(e).split(/\r?\n/),e=$jscomp.makeIterator(e);for(var a=e.next();!a.done;a=e.next()){var o=a.value;o&&!/^\s+$/.test(o)&&((a=r.lyricLine_.exec(o))?(o=r.parseTime_(a[1]),a=new shaka.text.Cue(o,t.segmentEnd?t.segmentEnd:o+2,a[2]),i&&(i.endTime=o,n.push(i)),i=a):shaka.log.warning("LrcTextParser encountered an unknown line.",o))}return i&&n.push(i),n},shaka.text.LrcTextParser.parseTime_=function(e){var t=shaka.text.LrcTextParser.timeFormat_.exec(e);return 60*(e=parseInt(t[1],10))+(t=parseFloat(t[2].replace(",",".")))},goog.exportSymbol("shaka.text.LrcTextParser",shaka.text.LrcTextParser),goog.exportProperty(shaka.text.LrcTextParser.prototype,"parseMedia",shaka.text.LrcTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.LrcTextParser.prototype,"setManifestType",shaka.text.LrcTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.LrcTextParser.prototype,"setSequenceMode",shaka.text.LrcTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.LrcTextParser.prototype,"parseInit",shaka.text.LrcTextParser.prototype.parseInit),shaka.text.LrcTextParser.lyricLine_=/^\[(\d{1,2}:\d{1,2}(?:[.,]\d{1,3})?)\](.*)/,shaka.text.LrcTextParser.timeFormat_=/^(\d+):(\d{1,2}(?:[.,]\d{1,3})?)$/,shaka.text.TextEngine.registerParser("application/x-subtitle-lrc",function(){return new shaka.text.LrcTextParser}),shaka.text.TtmlTextParser=function(){},shaka.text.TtmlTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"TTML does not have init segments")},shaka.text.TtmlTextParser.prototype.setSequenceMode=function(e){},shaka.text.TtmlTextParser.prototype.setManifestType=function(e){},shaka.text.TtmlTextParser.prototype.parseMedia=function(e,t,r,i){var n=shaka.text.TtmlTextParser,a=shaka.util.TXml,o=n.parameterNs_,s=n.styleNs_,l=shaka.util.StringUtils.fromUTF8(e);if(e=[],""==l)return e;var u=a.parseXmlString(l,"tt",!0);if(!u)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_XML,"Failed to parse TTML.");if(!(l=a.getElementsByTagName(u,"body")[0]))return[];var d=a.getAttributeNSList(u,o,"frameRate"),c=a.getAttributeNSList(u,o,"subFrameRate"),p=a.getAttributeNSList(u,o,"frameRateMultiplier"),m=a.getAttributeNSList(u,o,"tickRate"),f=a.getAttributeNSList(u,o,"cellResolution"),g=u.attributes["xml:space"]||"default";if(o=a.getAttributeNSList(u,s,"extent"),"default"!=g&&"preserve"!=g)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_XML,"Invalid xml:space value: "+g);s="default"==g,d=new n.RateInfo_(d,c,p,m),c=n.getCellResolution_(f),p=((p=a.getElementsByTagName(u,"metadata")[0])?p.children:[]).filter(function(e){return"\n"!=e}),m=a.getElementsByTagName(u,"style"),u=a.getElementsByTagName(u,"regi
1on"),f=[],g=$jscomp.makeIterator(u);for(var h=g.next();!h.done;h=g.next())(h=n.parseCueRegion_(h.value,m,o))&&f.push(h);if(a.findChildren(l,"p").length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"<p> can only be inside <div> in TTML");for(g=(o=$jscomp.makeIterator(a.findChildren(l,"div"))).next();!g.done;g=o.next())if(a.findChildren(g.value,"span").length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"<span> can only be inside <p> in TTML");return(t=n.parseCue_(l,t,d,p,m,u,f,s,c,null,!1,r,i))&&(t.backgroundColor||(t.backgroundColor="transparent"),e.push(t)),e},shaka.text.TtmlTextParser.parseCue_=function(e,t,r,i,n,a,o,s,l,u,d,c,p){var m=shaka.util.TXml,f=shaka.util.StringUtils,g=u;if(m.isText(e)){if(!d)return null;var h={tagName:"span",children:[m.getTextContents(e)],attributes:{},parent:null}}else h=e;goog.asserts.assert(h,"cueElement should be non-null!");for(var y=null,_=$jscomp.makeIterator(shaka.text.TtmlTextParser.smpteNsList_),S=_.next();!S.done&&!(y=shaka.text.TtmlTextParser.getElementsFromCollection_(h,"backgroundImage",i,"#",S.value)[0]);S=_.next());_=null;var v=/^(urn:)(mpeg:[a-z0-9][a-z0-9-]{0,31}:)(subs:)([0-9]+)$/;if((S=m.getAttributeNSList(h,shaka.text.TtmlTextParser.smpteNsList_,"backgroundImage"))&&v.test(S)){if((_=parseInt(S.split(":").pop(),10)-1)>=p.length)return null;_=p[_]}else c&&S&&!S.startsWith("#")&&(v=new goog.Uri(c),S=new goog.Uri(S),(S=v.resolve(S).toString())&&(_=S));if(("p"==e.tagName||y||_)&&(d=!0),e=d,S="default"==(h.attributes["xml:space"]||(s?"default":"preserve")),v=h.children.every(m.isText),s=[],!v)for(var T=$jscomp.makeIterator(h.children),E=T.next();!E.done;E=T.next())(E=shaka.text.TtmlTextParser.parseCue_(E.value,t,r,i,n,a,o,S,l,h,d,c,p))&&s.push(E);if(i=null!=u,c=m.getTextContents(h),c=h.children.length&&c&&/\S/.test(c),!((T=h.attributes.begin||h.attributes.end||h.attributes.dur)||c||"br"==h.tagName||0!=s.length||i&&!S))return null;for(c=(p=shaka.text.TtmlTextParser.parseTime_(h,r)).start,p=p.end;g&&m.isNode(g)&&"tt"!=g.tagName;)c=(p=shaka.text.TtmlTextParser.resolveTime_(g,r,c,p)).start,p=p.end,g=g.parent;if(null==c&&(c=0),c+=t.periodStart,p=null==p?1/0:p+t.periodStart,c=Math.max(c,t.segmentStart),p=Math.min(p,t.segmentEnd),!T&&0<s.length)for(c=1/0,p=0,r=(t=$jscomp.makeIterator(s)).next();!r.done;r=t.next())c=Math.min(c,(r=r.value).startTime),p=Math.max(p,r.endTime);if("br"==h.tagName)return(n=new shaka.text.Cue(c,p,"")).lineBreak=!0,n;if(t="",v&&(t=f.htmlUnescape(shaka.util.TXml.getTextContents(h)||""),S&&(t=t.replace(/\s+/g," "))),(f=new shaka.text.Cue(c,p,t)).nestedCues=s,d||(f.isContainer=!0),l&&(f.cellResolution=l),l=shaka.text.TtmlTextParser.getElementsFromCollection_(h,"region",a,"")[0],h.attributes.region&&l&&l.attributes["xml:id"]){var P=l.attributes["xml:id"];f.region=o.filter(function(e){return e.id==P})[0]}return o=l,u&&i&&!h.attributes.region&&!h.attributes.style&&(o=shaka.text.TtmlTextParser.getElementsFromCollection_(u,"region",a,"")[0]),shaka.text.TtmlTextParser.addStyle_(f,h,o,y,_,n,e,0==s.length),f},shaka.text.TtmlTextParser.parseCueRegion_=function(e,t,r){var i=shaka.text.TtmlTextParser,n=new shaka.text.CueRegion,a=e.attributes["xml:id"];if(!a)return shaka.log.warning("TtmlTextParser parser encountered a region with no id. Region will be ignored."),null;n.id=a,a=null,r&&(a=i.percentValues_.exec(r)||i.pixelValues_.exec(r)),r=a?Number(a[1]):null,a=a?Number(a[2]):null;var o,s=i.getStyleAttributeFromRegion_(e,t,"extent");if(s){var l=(o=i.percentValues_.exec(s))||i.pixelValues_.exec(s);null!=l&&(n.width=Number(l[1]),n.height=Number(l[2]),o||(null!=r&&(n.width=100*n.width/r),null!=a&&(n.height=100*n.height/a)),n.widthUnits=o||null!=r?shaka.text.CueRegion.units.PERCENTAGE:shaka.text.CueRegion.units.PX,n.heightUnits=o||null!=a?shaka.text.CueRegion.units.PERCENTAGE:shaka.text.CueRegion.units.PX)}return(e=i.getStyleAttributeFromRegion_(e,t,"origin"))&&null!=(l=(o=i.percentValues_.exec(e))||i.pixelValues_.exec(e))&&(n.viewportAnchorX=Number(l[1]),n.viewportAnchorY=Number(l[2]),o?s||(n.width=100-n.viewportAnchorX,n.widthUnits=shaka.text.CueRegion.units.PERCENTAGE,n.height=100-n.viewportAnchorY,n.heightUnits=shaka.text.CueRegion.units.PERCENTAGE):(null!=a&&(n.viewportAnchorY=100*n.viewportAnchorY/a),null!=r&&(n.viewportAnchorX=100*n.viewportAnchorX/r)),n.viewportAnchorUnits=o||null!=r?shaka.text.CueRegion.units.PERCENTAGE:shaka.text.CueRegion.units.PX),n},shaka.text.TtmlTextParser.convertTTMLrgbaToHTMLrgba_=function(e){var t=e.match(/rgba\(([^)]+)\)/);return t&&4==(t=t[1].split(",")).length?(t[3]=String(Number(t[3])/255),"rgba("+t.join(",")+")"):e},shaka.text.TtmlTextParser.addStyle_=function(e,t,r,i,n,a,o,s){var l=shaka.text.TtmlTextParser,u=shaka.util.TXml,d=shaka.text.Cue;if(o=o||s,"rtl"==l.getStyleAttribute_(t,r,a,"direction",o)&&(e.direction=d.direction.HORIZONTAL_RIGHT_TO_LEFT),"tb"==(s=l.getStyleAttribute_(t,r,a,"writingMode",o))||"tblr"==s?e.writingMode=d.writingMode.VERTICAL_LEFT_TO_RIGHT:"tbrl"==s?e.writingMode=d.writingMode.VERTICAL_RIGHT_TO_LEFT:"rltb"==s||"rl"==s?e.direction=d.direction.HORIZONTAL_RIGHT_TO_LEFT:s&&(e.direction=d.direction.HORIZONTAL_LEFT_TO_RIGHT),(s=l.getStyleAttribute_(t,r,a,"textAlign",!0))?(e.positionAlign=l.textAlignToPositionAlign_.get(s),e.lineAlign=l.textAlignToLineAlign_.get(s),goog.asserts.assert(s.toUpperCase()in d.textAlign,s.toUpperCase()+" Should be in Cue.textAlign values!"),e.textAlign=d.textAlign[s.toUpperCase()]):e.textAlign=d.textAlign.CENTER,(s=l.getStyleAttribute_(t,r,a,"dis
1playAlign",!0))&&(goog.asserts.assert(s.toUpperCase()in d.displayAlign,s.toUpperCase()+" Should be in Cue.displayAlign values!"),e.displayAlign=d.displayAlign[s.toUpperCase()]),(s=l.getStyleAttribute_(t,r,a,"color",o))&&(e.color=l.convertTTMLrgbaToHTMLrgba_(s)),(s=l.getStyleAttribute_(t,r,a,"backgroundColor",o))&&(e.backgroundColor=l.convertTTMLrgbaToHTMLrgba_(s)),(s=l.getStyleAttribute_(t,r,a,"border",o))&&(e.border=s),s=l.getStyleAttribute_(t,r,a,"fontFamily",o))switch(s){case"monospaceSerif":e.fontFamily="Courier New,Liberation Mono,Courier,monospace";break;case"proportionalSansSerif":e.fontFamily="Arial,Helvetica,Liberation Sans,sans-serif";break;case"sansSerif":e.fontFamily="sans-serif";break;case"monospaceSansSerif":e.fontFamily="Consolas,monospace";break;case"proportionalSerif":e.fontFamily="serif";break;default:e.fontFamily=s.split(",").filter(function(e){return"default"!=e}).join(",")}switch((s=l.getStyleAttribute_(t,r,a,"fontWeight",o))&&"bold"==s&&(e.fontWeight=d.fontWeight.BOLD),e.wrapLine=!(s=l.getStyleAttribute_(t,r,a,"wrapOption",o))||"noWrap"!=s,(s=l.getStyleAttribute_(t,r,a,"lineHeight",o))&&s.match(l.unitValues_)&&(e.lineHeight=s),(s=l.getStyleAttribute_(t,r,a,"fontSize",o))&&(s.match(l.unitValues_)||s.match(l.percentValue_))&&(e.fontSize=s),(s=l.getStyleAttribute_(t,r,a,"fontStyle",o))&&(goog.asserts.assert(s.toUpperCase()in d.fontStyle,s.toUpperCase()+" Should be in Cue.fontStyle values!"),e.fontStyle=d.fontStyle[s.toUpperCase()]),i?(n=i.attributes.imageType||i.attributes.imagetype,d=i.attributes.encoding,i=u.getTextContents(i).trim(),"PNG"==n&&"Base64"==d&&i&&(e.backgroundImage="data:image/png;base64,"+i)):n&&(e.backgroundImage=n),(i=l.getStyleAttribute_(t,r,a,"textOutline",o))&&((i=i.split(" "))[0].match(l.unitValues_)?e.textStrokeColor=e.color:(e.textStrokeColor=l.convertTTMLrgbaToHTMLrgba_(i[0]),i.shift()),i[0]&&i[0].match(l.unitValues_)?e.textStrokeWidth=i[0]:e.textStrokeColor=""),(i=l.getStyleAttribute_(t,r,a,"letterSpacing",o))&&i.match(l.unitValues_)&&(e.letterSpacing=i),(i=l.getStyleAttribute_(t,r,a,"linePadding",o))&&i.match(l.unitValues_)&&(e.linePadding=i),(i=l.getStyleAttribute_(t,r,a,"opacity",o))&&(e.opacity=parseFloat(i)),(i=l.getStyleAttributeFromRegion_(r,a,"textDecoration"))&&l.addTextDecoration_(e,i),(i=l.getStyleAttributeFromElement_(t,a,"textDecoration"))&&l.addTextDecoration_(e,i),(i=l.getStyleAttribute_(t,r,a,"textCombine",o))&&(e.textCombineUpright=i),l.getStyleAttribute_(t,r,a,"ruby",o)){case"container":e.rubyTag="ruby";break;case"text":e.rubyTag="rt"}},shaka.text.TtmlTextParser.addTextDecoration_=function(e,t){var r=shaka.text.Cue;t=$jscomp.makeIterator(t.split(" "));for(var i=t.next();!i.done;i=t.next())switch(i.value){case"underline":e.textDecoration.includes(r.textDecoration.UNDERLINE)||e.textDecoration.push(r.textDecoration.UNDERLINE);break;case"noUnderline":e.textDecoration.includes(r.textDecoration.UNDERLINE)&&shaka.util.ArrayUtils.remove(e.textDecoration,r.textDecoration.UNDERLINE);break;case"lineThrough":e.textDecoration.includes(r.textDecoration.LINE_THROUGH)||e.textDecoration.push(r.textDecoration.LINE_THROUGH);break;case"noLineThrough":e.textDecoration.includes(r.textDecoration.LINE_THROUGH)&&shaka.util.ArrayUtils.remove(e.textDecoration,r.textDecoration.LINE_THROUGH);break;case"overline":e.textDecoration.includes(r.textDecoration.OVERLINE)||e.textDecoration.push(r.textDecoration.OVERLINE);break;case"noOverline":e.textDecoration.includes(r.textDecoration.OVERLINE)&&shaka.util.ArrayUtils.remove(e.textDecoration,r.textDecoration.OVERLINE)}},shaka.text.TtmlTextParser.getStyleAttribute_=function(e,t,r,i,n){n=void 0===n||n;var a=shaka.text.TtmlTextParser;return(e=a.getStyleAttributeFromElement_(e,r,i))?e:n?a.getStyleAttributeFromRegion_(t,r,i):null},shaka.text.TtmlTextParser.getStyleAttributeFromRegion_=function(e,t,r){return e?shaka.util.TXml.getAttributeNSList(e,shaka.text.TtmlTextParser.styleNs_,r)||shaka.text.TtmlTextParser.getInheritedStyleAttribute_(e,t,r):null},shaka.text.TtmlTextParser.getStyleAttributeFromElement_=function(e,t,r){return shaka.util.TXml.getAttributeNSList(e,shaka.text.TtmlTextParser.styleNs_,r)||shaka.text.TtmlTextParser.getInheritedStyleAttribute_(e,t,r)},shaka.text.TtmlTextParser.getInheritedStyleAttribute_=function(e,t,r){var i=shaka.util.TXml,n=shaka.text.TtmlTextParser.styleNs_,a=s
1haka.text.TtmlTextParser.styleEbuttsNs_;e=shaka.text.TtmlTextParser.getElementsFromCollection_(e,"style",t,"");for(var o=null,s=0;s<e.length;s++){var l=i.getAttributeNS(e[s],a,r);l||(l=i.getAttributeNSList(e[s],n,r)),l||(l=shaka.text.TtmlTextParser.getStyleAttributeFromElement_(e[s],t,r)),l&&(o=l)}return o},shaka.text.TtmlTextParser.getElementsFromCollection_=function(e,t,r,i,n){var a=[];if(!e||1>r.length)return a;if(e=shaka.text.TtmlTextParser.getInheritedAttribute_(e,t,n))for(e=e.split(" "),t=(e=$jscomp.makeIterator(e)).next();!t.done;t=e.next()){t=t.value,n=$jscomp.makeIterator(r);for(var o=n.next();!o.done;o=n.next())if(i+(o=o.value).attributes["xml:id"]==t){a.push(o);break}}return a},shaka.text.TtmlTextParser.getInheritedAttribute_=function(e,t,r){for(var i=null,n=shaka.util.TXml;!i&&!(i=r?n.getAttributeNS(e,r,t):e.attributes[t])&&(e=e.parent););return i},shaka.text.TtmlTextParser.resolveTime_=function(e,t,r,i){return e=shaka.text.TtmlTextParser.parseTime_(e,t),null==r?r=e.start:null!=e.start&&(r+=e.start),null==i?i=e.end:null!=e.start&&(i+=e.start),{start:r,end:i}},shaka.text.TtmlTextParser.parseTime_=function(e,t){var r=shaka.text.TtmlTextParser.parseTimeAttribute_(e.attributes.begin,t),i=shaka.text.TtmlTextParser.parseTimeAttribute_(e.attributes.end,t);return e=shaka.text.TtmlTextParser.parseTimeAttribute_(e.attributes.dur,t),null==i&&null!=e&&(i=r+e),{start:r,end:i}},shaka.text.TtmlTextParser.parseTimeAttribute_=function(e,t){var r=null,i=shaka.text.TtmlTextParser;if(i.timeColonFormatFrames_.test(e))r=i.parseColonTimeWithFrames_(t,e);else if(i.timeColonFormat_.test(e))r=i.parseTimeFromRegex_(i.timeColonFormat_,e);else if(i.timeColonFormatMilliseconds_.test(e))r=i.parseTimeFromRegex_(i.timeColonFormatMilliseconds_,e);else if(i.timeFramesFormat_.test(e))r=i.parseFramesTime_(t,e);else if(i.timeTickFormat_.test(e))r=i.parseTickTime_(t,e);else if(i.timeHMSFormat_.test(e))r=i.parseTimeFromRegex_(i.timeHMSFormat_,e);else if(e)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"Could not parse cue time range in TTML");return r},shaka.text.TtmlTextParser.parseFramesTime_=function(e,t){return Number((t=shaka.text.TtmlTextParser.timeFramesFormat_.exec(t))[1])/e.frameRate},shaka.text.TtmlTextParser.parseTickTime_=function(e,t){return Number((t=shaka.text.TtmlTextParser.timeTickFormat_.exec(t))[1])/e.tickRate},shaka.text.TtmlTextParser.parseColonTimeWithFrames_=function(e,t){var r=Number((t=shaka.text.TtmlTextParser.timeColonFormatFrames_.exec(t))[1]),i=Number(t[2]),n=Number(t[3]),a=Number(t[4]);return a+=(Number(t[5])||0)/e.subFrameRate,(n+=a/e.frameRate)+60*i+3600*r},shaka.text.TtmlTextParser.parseTimeFromRegex_=function(e,t){return null==(e=e.exec(t))||""==e[0]?null:(Number(e[4])||0)/1e3+(Number(e[3])||0)+60*(Number(e[2])||0)+3600*(Number(e[1])||0)},shaka.text.TtmlTextParser.getCellResolution_=function(e){if(!e)return null;var t=/^(\d+) (\d+)$/.exec(e);return t?{columns:e=parseInt(t[1],10),rows:t=parseInt(t[2],10)}:null},goog.exportSymbol("shaka.text.TtmlTextParser",shaka.text.TtmlTextParser),goog.exportProperty(shaka.text.TtmlTextParser.prototype,"parseMedia",shaka.text.TtmlTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.TtmlTextParser.prototype,"setManifestType",shaka.text.TtmlTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.TtmlTextParser.prototype,"setSequenceMode",shaka.text.TtmlTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.TtmlTextParser.prototype,"parseInit",shaka.text.TtmlTextParser.prototype.parseInit),shaka.text.TtmlTextParser.RateInfo_=function(e,t,r,i){this.frameRate=Number(e)||30,this.subFrameRate=Number(t)||1,this.tickRate=Number(i),0==this.tickRate&&(this.tickRate=e?this.frameRate*this.subFrameRate:1),r&&(e=/^(\d+) (\d+)$/g.exec(r))&&(this.frameRate*=Number(e[1])/Number(e[2]))},shaka.text.TtmlTextParser.percentValues_=/^(\d{1,2}(?:\.\d+)?|100(?:\.0+)?)% (\d{1,2}(?:\.\d+)?|100(?:\.0+)?)%$/,shaka.text.TtmlTextParser.percentValue_=/^(\d{1,4}(?:\.\d+)?|100)%$/,shaka.text.TtmlTextParser.unitValues_=/^(\d+px|\d+em|\d*\.?\d+c)$/,shaka.text.TtmlTextParser.pixelValues_=/^(\d+)px (\d+)px$/,shaka.text.TtmlTextParser.timeColonFormatFrames_=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,shaka.text.TtmlTextParser.timeColonFormat_=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,shaka.text.TtmlTextParser.timeColonFormatMilliseconds_=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d+)$/,shaka.text.TtmlTextParser.timeFramesFormat_=/^(\d*(?:\.\d*)?)f$/,shaka.text.TtmlTextParser.timeTickFormat_=/^(\d*(?:\.\d*)?)t$/,shaka.text.TtmlTextParser.timeHMSFormat_=RegExp("^(?:(\\d*(?:\\.\\d*)?)h)?(?:(\\d*(?:\\.\\d*)?)m)?(?:(\\d*(?:\\.\\d*)?)s)?(?:(\\d*(?:\\.\\d*)?)ms)?$"),shaka.text.TtmlTextParser.textAlignToLineAlign_=(new Map).set("left",shaka.text.Cue.lineAlign.START).set("center",shaka.text.Cue.lineAlign.CENTER).set("right",shaka.text.Cue.lineAlign.END).set("start",shaka.text.Cue.lineAlign.START).set("end",shaka.text.Cue.lineAlign.END),shaka.text.TtmlTextParser.textAlignToPositionAlign_=(new Map).set("left",shaka.text.Cue.positionAlign.LEFT).set("center",shaka.text.Cue.positionAlign.CENTER).set("right",shaka.text.Cue.positionAlign.RIGHT),shaka.text.TtmlTextParser.parameterNs_=["http://www.w3.org/ns/ttml#parameter","http://www.w3.org/2006/10/ttaf1#parameter"],shaka.text.TtmlTextParser.styleNs_=["http://www.w3.org/ns/ttml#styling","http://www.w3.org/2006/10/ttaf1#styling"],shaka.text.TtmlTextParser.styleEbuttsNs_="urn:ebu:tt:style",shaka.text.TtmlTextParser.smpteNsList_=["http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt","http://www.smpte-ra.org/schemas/2052-1/2013/smpte-tt"],shaka.text.TextEngine.registerParser("application/ttml+xml",function(){return new shaka.text.TtmlTextParser}),shaka.text.Mp4TtmlParser=function(){this.parser_=new shaka.text.TtmlTextParser},shaka.text.Mp4TtmlParser.prototype.parseInit=function(e){var t=shaka.util.Mp4Parser,r=!1;if((new t).box("moov",t.children).box("trak",t.children).box("mdia",t.children).box("minf",t.children).box("stbl",t.children).fullBox("stsd",t.sampleDescription).box("stpp",function(e){r=!0,e.parser.stop()}).parse(e),!r)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_TTML)},shaka.text.Mp4TtmlParser.prototype.setSequenceMode=function(e){},shaka.text.Mp4TtmlParser.prototype.setManifestType=function(e){},shaka.text.Mp4TtmlParser.prototype.parseMedia=function(e,t,r){var i=shaka.util.Mp4Parser,n=[],a=null,o=[],s=new Map,l=[];
1if((new i).box("moof",i.children).box("traf",i.children).fullBox("tfhd",function(e){goog.asserts.assert(null!=e.flags,"A TFHD box should have a valid flags value"),a=shaka.util.Mp4BoxParsers.parseTFHD(e.reader,e.flags).defaultSampleSize}).fullBox("trun",function(e){goog.asserts.assert(null!=e.version,"A TRUN box should have a valid version value"),goog.asserts.assert(null!=e.flags,"A TRUN box should have a valid flags value"),e=shaka.util.Mp4BoxParsers.parseTRUN(e.reader,e.version,e.flags),e=$jscomp.makeIterator(e.sampleData);for(var t=e.next();!t.done;t=e.next())l.push(t.value.sampleSize||a||0)}).fullBox("subs",function(e){for(var t=e.reader,r=t.readUint32(),i=-1,n=0;n<r;n++){var a=t.readUint32();i+=a,a=t.readUint16();for(var o=[],l=0;l<a;l++)1==e.version?o.push(t.readUint32()):o.push(t.readUint16()),t.readUint8(),t.readUint8(),t.readUint32();s.set(i,o)}}).box("mdat",i.allData(function(e){o.push(e)})).parse(e,!1),0==o.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_TTML);i=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(o));for(var u=0,d=0;d<l.length;d++){var c=shaka.util.BufferUtils.toUint8(i,u,l[d]);u+=l[d];var p=s.get(d);if(p&&p.length){c=shaka.util.BufferUtils.toUint8(c,0,p[0]);for(var m=[],f=p[0],g=1;g<p.length;g++){var h=shaka.util.BufferUtils.toUint8(e,f,p[g]);h=shaka.util.Uint8ArrayUtils.toStandardBase64(h),m.push("data:image/png;base64,"+h),f+=p[g]}n=n.concat(this.parser_.parseMedia(c,t,r,m))}else n=n.concat(this.parser_.parseMedia(c,t,r,[]))}return n},goog.exportSymbol("shaka.text.Mp4TtmlParser",shaka.text.Mp4TtmlParser),goog.exportProperty(shaka.text.Mp4TtmlParser.prototype,"parseMedia",shaka.text.Mp4TtmlParser.prototype.parseMedia),goog.exportProperty(shaka.text.Mp4TtmlParser.prototype,"setManifestType",shaka.text.Mp4TtmlParser.prototype.setManifestType),goog.exportProperty(shaka.text.Mp4TtmlParser.prototype,"setSequenceMode",shaka.text.Mp4TtmlParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.Mp4TtmlParser.prototype,"parseInit",shaka.text.Mp4TtmlParser.prototype.parseInit),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.im1i"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.im1t"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.im2i"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.im2t"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.etd1"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.etd1|im1t"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.ttml.im1t|etd1"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.TextEngine.registerParser('application/mp4; codecs="stpp.TTML.im1t"',function(){return new shaka.text.Mp4TtmlParser}),shaka.text.VttTextParser=function(){this.sequenceMode_=!1,this.manifestType_=shaka.media.ManifestParser.UNKNOWN},shaka.text.VttTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"VTT does not have init segments")},shaka.text.VttTextParser.prototype.setSequenceMode=function(e){this.sequenceMode_=e},shaka.text.VttTextParser.prototype.setManifestType=function(e){this.manifestType_=e},shaka.text.VttTextParser.prototype.parseMedia=function(e,t){var r=shaka.text.VttTextParser,i=(e=(e=shaka.util.StringUtils.fromUTF8(e)).replace(/\r\n|\r(?=[^\n]|$)/gm,"\n")).split(/\n{2,}/m);if(!/^WEBVTT($|[ \t\n])/m.test(i[0]))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_HEADER);e=t.vttOffset,this.manifestType_==shaka.media.ManifestParser.HLS&&(i[0].includes("X-TIMESTAMP-MAP")?e=this.computeHlsOffset_(i[0],t):t.periodStart&&t.vttOffset==t.periodStart&&(e=0)),t=[];for(var n=$jscomp.makeIterator(i[0].split("\n")),a=n.next();!a.done;a=n.next())a=a.value,/^Region:/.test(a)&&(a=r.parseRegion_(a),t.push(a));n=new Map,shaka.text.Cue.addDefaultTextColor(n),a=[],i=$jscomp.makeIterator(i.slice(1));for(var o=i.next();!o.done;o=i.next())o=o.value.split("\n"),r.parseStyle_(o,n),(o=r.parseCue_(o,e,t,n))&&a.push(o);return a},shaka.text.VttTextParser.prototype.computeHlsOffset_=function(e,t){var r=e.match(/LOCAL:((?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{3}))/m);if(e=e.match(/MPEGTS:(\d+)/m),!r||!e||null==(r=shaka.util.TextParser.parseTime(r[1])))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_HEADER);e=Number(e[1]);for(var i=shaka.text.VttTextParser.MPEG_TIMESCALE_,n=shaka.text.VttTextParser.TS_ROLLOVER_/i,a=t.segmentStart-t.periodStart;a>=n;)a-=n,e+=shaka.text.VttTextParser.TS_ROLLOVER_;return t.periodStart+e/i-r},shaka.text.VttTextParser.parseRegion_=function(e){var t=shaka.text.VttTextParser;e=new shaka.util.TextParser(e);var r=new shaka.text.CueRegion;e.readWord(),e.skipWhitespace();for(var i=e.readWord();i;)t.parseRegionSetting_(r,i)||shaka.log.warning("VTT parser encountered an invali
1d VTTRegion setting: ",i," The setting will be ignored."),e.skipWhitespace(),i=e.readWord();return r},shaka.text.VttTextParser.parseStyle_=function(e,t){if((1!=e.length||e[0])&&!/^NOTE($|[ \t])/.test(e[0])&&"STYLE"==e[0]){for(var r=[],i=-1,n=1;n<e.length;n++)e[n].includes("::cue")&&(r.push([]),i=r.length-1),-1!=i&&(r[i].push(e[n]),e[n].includes("}")&&(i=-1));for(r=(e=$jscomp.makeIterator(r)).next();!r.done;r=e.next()){n=r.value,r="global",(i=n[0].match(/\((.*)\)/))&&(r=i.pop()),i=n.slice(1,-1),n[0].includes("}")&&(n=/\{(.*?)\}/.exec(n[0]))&&(i=n[1].split(";")),(n=t.get(r))||(n=new shaka.text.Cue(0,0,""));for(var a=!1,o=0;o<i.length;o++){var s=/^\s*([^:]+):\s*(.*)/.exec(i[o]);if(s){var l=s[1].trim(),u=s[2].trim().replace(";","");switch(l){case"background-color":case"background":a=!0,n.backgroundColor=u;break;case"color":a=!0,n.color=u;break;case"font-family":a=!0,n.fontFamily=u;break;case"font-size":a=!0,n.fontSize=u;break;case"font-weight":(700<=parseInt(u,10)||"bold"==u)&&(a=!0,n.fontWeight=shaka.text.Cue.fontWeight.BOLD);break;case"font-style":switch(u){case"normal":a=!0,n.fontStyle=shaka.text.Cue.fontStyle.NORMAL;break;case"italic":a=!0,n.fontStyle=shaka.text.Cue.fontStyle.ITALIC;break;case"oblique":a=!0,n.fontStyle=shaka.text.Cue.fontStyle.OBLIQUE}break;case"opacity":a=!0,n.opacity=parseFloat(u);break;case"text-combine-upright":a=!0,n.textCombineUpright=u;break;case"text-shadow":a=!0,n.textShadow=u;break;case"white-space":a=!0,n.wrapLine="noWrap"!=u;break;default:shaka.log.warning("VTT parser encountered an unsupported style: ",s)}}}a&&t.set(r,n)}}},shaka.text.VttTextParser.parseCue_=function(e,t,r,i){var n=shaka.text.VttTextParser;if(1==e.length&&!e[0]||/^NOTE($|[ \t])/.test(e[0])||"STYLE"==e[0]||"REGION"==e[0])return null;var a=null;e[0].includes("--\x3e")||(a=e[0],e.splice(0,1));var o=new shaka.util.TextParser(e[0]),s=o.parseTime(),l=o.readRegex(/[ \t]+--\x3e[ \t]+/g),u=o.parseTime();if(null==s||null==l||null==u)return shaka.log.alwaysWarn("Failed to parse VTT time code. Cue skipped:",a,e),null;for(s+=t,u+=t,t=e.slice(1).join("\n").trim(),i.has("global")?((e=i.get("global").clone()).startTime=s,e.endTime=u,e.payload=t):e=new shaka.text.Cue(s,u,t),o.skipWhitespace(),s=o.readWord();s;)n.parseCueSetting(e,s,r)||shaka.log.warning("VTT parser encountered an invalid VTT setting: ",s," The setting will be ignored."),o.skipWhitespace(),s=o.readWord();return shaka.text.Cue.parseCuePayload(e,i),null!=a&&(e.id=a),e},shaka.text.VttTextParser.parseCueSetting=function(e,t,r){var i,n=shaka.text.VttTextParser;if(i=/^align:(start|middle|center|end|left|right)$/.exec(t))n.setTextAlign_(e,i[1]);else if(i=/^vertical:(lr|rl)$/.exec(t))n.setVerticalWritingMode_(e,i[1]);else if(i=/^size:([\d.]+)%$/.exec(t))e.size=Number(i[1]);else if(i=/^position:([\d.]+)%(?:,(line-left|line-right|middle|center|start|end|auto))?$/.exec(t))e.position=Number(i[1]),i[2]&&n.setPositionAlign_(e,i[2]);else{if(!(i=/^region:(.*)$/.exec(t)))return n.parsedLineValueAndInterpretation_(e,t);(t=n.getRegionById_(r,i[1]))&&(e.region=t)}return!0},shaka.text.VttTextParser.getRegionById_=function(e,t){return(e=e.filter(function(e){return e.id==t})).length?(goog.asserts.assert(1==e.length,"VTTRegion ids should be unique!"),e[0]):(shaka.log.warning("VTT parser could not find a region with id: ",t," The region will be ignored."),null)},shaka.text.VttTextParser.parseRegionSetting_=function(e,t){var r;if(r=/^id=(.*)$/.exec(t))e.id=r[1];else if(r=/^width=(\d{1,2}|100)%$/.exec(t))e.width=Number(r[1]);else if(r=/^lines=(\d+)$/.exec(t))e.height=Number(r[1]),e.heightUnits=shaka.text.CueRegion.units.LINES;else if(r=/^regionanchor=(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(t))e.regionAnchorX=Number(r[1]),e.regionAnchorY=Number(r[2]);else if(r=/^viewportanchor=(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(t))e.viewportAnchorX=Number(r[1]),e.viewportAnchorY=Number(r[2]);else{if(!/^scroll=up$/.exec(t))return!1;e.scroll=shaka.text.CueRegion.scrollMode.UP}return!0},shaka.text.VttTextParser.setTextAlign_=function(e,t){var r=shaka.text.Cue;"middle"==t?e.textAlign=r.textAlign.CENTER:(goog.asserts.assert(t.toUpperCase()in r.textAlign,t.toUpperCase()+" Should be in Cue.textAlign values!"),e.textAlign=r.textAlign[t.toUpperCase()])},shaka.text.VttTextParser.setPositionAlign_=function(e,t){var r=shaka.text.Cue;e.positionAlign="line-left"==t||"start"==t?r.positionAlign.LEFT:"line-right"==t||"end"==t?r.positionAlign.RIGHT:"center"==t||"middle"==t?r.positionAlign.CENTER:r.positionAlign.AUTO},shaka.text.VttTextParser.setVerticalWritingMode_=function(e,t){var r=shaka.text.Cue;e.writingMode="lr"==t?r.writingMode.VERTICAL_LEFT_TO_RIGHT:r.writingMode.VERTICAL_RIGHT_TO_LEFT},shaka.text.VttTextParser.parsedLineValueAndInterpretation_=function(e,t){var r,i=shaka.text.Cue;if(r=/^line:([\d.]+)%(?:,(start|end|center))?$/.exec(t))e.lineInterpretation=i.lineInterpretation.PERCENTAGE,e.line=Number(r[1]),r[2]&&(goog.asserts.assert(r[2].toUpperCase()in i.lineAlign,r[2].toUpperCase()+" Should be in Cue.lineAlign values!"),e.lineAlign=i.lineAlign[r[2].toUpperCase()]);else{if(!(r=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(t)))return!1;e.lineInterpretation=i.lineInterpretation.LINE_NUMBER,e.line=Number(r[1]),r[2]&&(goog.asserts.assert(r[2].toUpperCase()in i.lineAlign,r[2].toUpperCase()+" Should be in Cue.lineAlign values!"),e.lineAlign=i.lineAlign[r[2].toUpperCase()])}return!0},goog.exportSymbol("shaka.text.VttTextParser",shaka.text.VttTextParser),goog.exportProperty(shaka.text.VttTextParser.prototype,"parseMedia",shaka.text.VttTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.VttTextParser.prototype,"setManifestType",shaka.text.VttTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.VttTextParser.prototype,"setSequenceMode",shaka.text.VttTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.VttTextParser.prototype,"parseInit",shaka.text.VttTextParser.prototype.parseInit),shaka.text.VttTextParser.MPEG_TIMESCALE_=9e4,shaka.text.VttTextParser.TS_ROLLOVER_=0x200000000,shaka.text.TextEngine.registerParser("text/vtt",function(){return new shaka.text.VttTextParser}),shaka.text.TextEngine.registerParser('text/vtt; codecs="vtt"',function(){return new shaka.text.VttTextParser}),shaka.text.TextEngine.registerParser('text/vtt; codecs="wvtt"',function(){return new shaka.text.VttTextParser}),shaka.text.Mp4VttParser=function(){this.timescale_=null},shaka.text.Mp4VttParser.prototype.parseInit=function(e){var t=this,r=shaka.util.Mp4Parser,i=!1;if((new r).box("moov",r.children).box("trak",r.children).box("mdia",r.children).fullBox("mdhd",function(e){goog.asserts.assert(0==e.version||
11==e.version,"MDHD version can only be 0 or 1"),t.timescale_=(e=shaka.util.Mp4BoxParsers.parseMDHD(e.reader,e.version)).timescale}).box("minf",r.children).box("stbl",r.children).fullBox("stsd",r.sampleDescription).box("wvtt",function(e){i=!0}).parse(e),!this.timescale_||!i)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_VTT)},shaka.text.Mp4VttParser.prototype.setSequenceMode=function(e){},shaka.text.Mp4VttParser.prototype.setManifestType=function(e){},shaka.text.Mp4VttParser.prototype.parseMedia=function(e,t){if(!e.length)return[];if(!this.timescale_)throw shaka.log.error("No init segment for MP4+VTT!"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_VTT);var r,i=shaka.util.Mp4Parser,n=0,a=[],o=[],s=!1,l=!1,u=!1,d=null;if((new i).box("moof",i.children).box("traf",i.children).fullBox("tfdt",function(e){s=!0,goog.asserts.assert(0==e.version||1==e.version,"TFDT version can only be 0 or 1"),n=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(e.reader,e.version).baseMediaDecodeTime}).fullBox("tfhd",function(e){goog.asserts.assert(null!=e.flags,"A TFHD box should have a valid flags value"),d=shaka.util.Mp4BoxParsers.parseTFHD(e.reader,e.flags).defaultSampleDuration}).fullBox("trun",function(e){l=!0,goog.asserts.assert(null!=e.version,"A TRUN box should have a valid version value"),goog.asserts.assert(null!=e.flags,"A TRUN box should have a valid flags value"),a=shaka.util.Mp4BoxParsers.parseTRUN(e.reader,e.version,e.flags).sampleData}).box("mdat",i.allData(function(e){goog.asserts.assert(!u,"VTT cues in mp4 with multiple MDAT are not currently supported"),u=!0,r=e})).parse(e,!1),!u&&!s&&!l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_VTT);e=n,i=new shaka.util.DataViewReader(r,shaka.util.DataViewReader.Endianness.BIG_ENDIAN);for(var c=$jscomp.makeIterator(a),p=c.next();!p.done;p=c.next()){var m=(p=p.value).sampleDuration||d,f=p.sampleCompositionTimeOffset?n+p.sampleCompositionTimeOffset:e;e=f+(m||0);var g=0;do{var h=i.readUint32();g+=h;var y=i.readUint32();y=shaka.util.Mp4Parser.typeToString(y);var _=null;"vttc"==y?8<h&&(_=i.readBytes(h-8)):("vtte"!=y&&shaka.log.error("Unknown box "+y+"! Skipping!"),i.skip(h-8)),m?_&&(goog.asserts.assert(null!=this.timescale_,"Timescale should not be null!"),h=shaka.text.Mp4VttParser.parseVTTC_(_,t.periodStart+f/this.timescale_,t.periodStart+e/this.timescale_),o.push(h)):shaka.log.error("WVTT sample duration unknown, and no default found!"),goog.asserts.assert(!p.sampleSize||g<=p.sampleSize,"The samples do not fit evenly into the sample sizes given in the TRUN box!")}while(p.sampleSize&&g<p.sampleSize)}return goog.asserts.assert(!i.hasMoreData(),"MDAT which contain VTT cues and non-VTT data are not currently supported!"),o.filter(shaka.util.Functional.isNotNull)},shaka.text.Mp4VttParser.parseVTTC_=function(e,t,r){var i,n,a;return(new shaka.util.Mp4Parser).box("payl",shaka.util.Mp4Parser.allData(function(e){i=shaka.util.StringUtils.fromUTF8(e)})).box("iden",shaka.util.Mp4Parser.allData(function(e){n=shaka.util.StringUtils.fromUTF8(e)})).box("sttg",shaka.util.Mp4Parser.allData(function(e){a=shaka.util.StringUtils.fromUTF8(e)})).parse(e),i?shaka.text.Mp4VttParser.assembleCue_(i,n,a,t,r):null},shaka.text.Mp4VttParser.assembleCue_=function(e,t,r,i,n){if(e=new shaka.text.Cue(i,n,e),shaka.text.Cue.parseCuePayload(e),t&&(e.id=t),r)for(r=(t=new shaka.util.TextParser(r)).readWord();r;)shaka.text.VttTextParser.parseCueSetting(e,r,[])||shaka.log.warning("VTT parser encountered an invalid VTT setting: ",r," The setting will be ignored."),t.skipWhitespace(),r=t.readWord();return e},goog.exportSymbol("shaka.text.Mp4VttParser",shaka.text.Mp4VttParser),goog.exportProperty(shaka.text.Mp4VttParser.prototype,"parseMedia",shaka.text.Mp4VttParser.prototype.parseMedia),goog.exportProperty(shaka.text.Mp4VttParser.prototype,"setManifestType",shaka.text.Mp4VttParser.prototype.setManifestType),goog.exportProperty(shaka.text.Mp4VttParser.prototype,"setSequenceMode",shaka.text.Mp4VttParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.Mp4VttParser.prototype,"parseInit",shaka.text.Mp4VttParser.prototype.parseInit),shaka.text.TextEngine.registerParser('application/mp4; codecs="wvtt"',function(){return new shaka.text.Mp4VttParser}),shaka.text.SbvTextParser=function(){},shaka.text.SbvTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"SubViewer does not have init segments")},shaka.text.SbvTextParser.prototype.setSequenceMode=function(e){},shaka.text.SbvTextParser.prototype.setManifestType=function(e){},shaka.text.SbvTextParser.prototype.parseMedia=function(e,t){if(t=(t=shaka.util.StringUtils.fromUTF8(e).replace(/\r+/g,"")).trim(),e=[],""==t)return e;t=t.split("\n\n"),t=$jscomp.makeIterator(t);for(var r=t.next();!r.done;r=t.next()){var i=r.value.split("\n"),n=new shaka.util.TextParser(i[0]);r=n.parseTime();var a=n.readRegex(/,/g);if(n=n.parseTime(),null==r||null==a||null==n)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_TEXT_CUE,"Could not parse cue time range in SubViewer");
1i=i.slice(1).join("\n").trim(),r=new shaka.text.Cue(r,n,i),e.push(r)}return e},goog.exportSymbol("shaka.text.SbvTextParser",shaka.text.SbvTextParser),goog.exportProperty(shaka.text.SbvTextParser.prototype,"parseMedia",shaka.text.SbvTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.SbvTextParser.prototype,"setManifestType",shaka.text.SbvTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.SbvTextParser.prototype,"setSequenceMode",shaka.text.SbvTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.SbvTextParser.prototype,"parseInit",shaka.text.SbvTextParser.prototype.parseInit),shaka.text.TextEngine.registerParser("text/x-subviewer",function(){return new shaka.text.SbvTextParser}),shaka.text.SrtTextParser=function(){this.parser_=new shaka.text.VttTextParser},shaka.text.SrtTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"SRT does not have init segments")},shaka.text.SrtTextParser.prototype.setSequenceMode=function(e){},shaka.text.SrtTextParser.prototype.setManifestType=function(e){},shaka.text.SrtTextParser.prototype.parseMedia=function(e,t,r){var i=shaka.text.SrtTextParser,n=shaka.util.BufferUtils,a=shaka.util.StringUtils;return e=a.fromUTF8(e),i=i.srt2webvtt(e),n=n.toUint8(a.toUTF8(i)),this.parser_.parseMedia(n,t,r,[])},shaka.text.SrtTextParser.srt2webvtt=function(e){var t=shaka.text.SrtTextParser,r="WEBVTT\n\n";if(""==e)return r;e=(e=(e=e.replace(/\r+/g,"")).trim()).split("\n\n"),e=$jscomp.makeIterator(e);for(var i=e.next();!i.done;i=e.next())r+=t.convertSrtCue_(i.value);return r},shaka.text.SrtTextParser.convertSrtCue_=function(e){return(e=e.split(/\n/))[0].match(/\d+/)&&e.shift(),e[0]=e[0].replace(/,/g,"."),e.join("\n").replace(/{b}/g,"<b>").replace(/{\/b}/g,"</b>").replace(/{i}/g,"<i>").replace(/{\/i}/g,"</i>").replace(/{u}/g,"<u>").replace(/{\/u}/g,"</u>")+"\n\n"},goog.exportSymbol("shaka.text.SrtTextParser",shaka.text.SrtTextParser),goog.exportProperty(shaka.text.SrtTextParser,"srt2webvtt",shaka.text.SrtTextParser.srt2webvtt),goog.exportProperty(shaka.text.SrtTextParser.prototype,"parseMedia",shaka.text.SrtTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.SrtTextParser.prototype,"setManifestType",shaka.text.SrtTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.SrtTextParser.prototype,"setSequenceMode",shaka.text.SrtTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.SrtTextParser.prototype,"parseInit",shaka.text.SrtTextParser.prototype.parseInit),shaka.text.TextEngine.registerParser("text/srt",function(){return new shaka.text.SrtTextParser}),shaka.text.SsaTextParser=function(){},shaka.text.SsaTextParser.prototype.parseInit=function(e){goog.asserts.assert(!1,"SSA does not have init segments")},shaka.text.SsaTextParser.prototype.setSequenceMode=function(e){},shaka.text.SsaTextParser.prototype.setManifestType=function(e){},shaka.text.SsaTextParser.prototype.parseMedia=function(e,t){t=shaka.text.SsaTextParser;var r="",i="",n=null,a=null;for(a=shaka.util.StringUtils.fromUTF8(e).split(/\r?\n\s*\r?\n/),a=(e=$jscomp.makeIterator(a)).next();!a.done;a=e.next()){var o=a.value;a=o,(o=t.ssaContent_.exec(o))&&(n=o[1],a=o[2]),"V4 Styles"==n||"V4+ Styles"==n?(r=a,r=i?r+"\n"+a:a):"Events"==n?i=i?i+"\n"+a:a:"Script Info"!=n&&shaka.log.warning("SsaTextParser parser encountered an unknown part.",a)}for(n=[],a=null,r=r.split(/\r?\n/),e=(r=$jscomp.makeIterator(r)).next();!e.done;e=r.next())if(e=e.value,!/^\s*;/.test(e)&&(o=t.lineParts_.exec(e))){if(e=o[1].trim(),o=o[2].trim(),"Format"==e)a=o.split(t.valuesFormat_);else if("Style"==e){e=o.split(t.valuesFormat_),o={};for(var s=0;s<a.length&&s<e.length;s++)o[a[s]]=e[s];n.push(o)}}for(a=[],r=null,i=i.split(/\r?\n/),o=(i=$jscomp.makeIterator(i)).next(),e={};!o.done;e={styleName:void 0},o=i.next())if(o=o.value,!/^\s*;/.test(o)&&(s=t.lineParts_.exec(o))){if(o=s[1].trim(),s=s[2].trim(),"Format"==o)r=s.split(t.valuesFormat_);else if("Dialogue"==o){s=s.split(t.valuesFormat_),o={};for(var l=0;l<r.length&&l<s.length;l++)o[r[l]]=s[l];l=t.parseTime_(o.Start);var u=t.parseTime_(o.End);s=s.slice(r.length-1).join(",").replace(/\\N/g,"\n").replace(/\{[^}]+\}/g,""),s=new shaka.text.Cue(l,u,s),e.styleName=o.Style,(e=n.find(function(e){return function(t){return t.Name==e.styleName}}(e)))&&t.addStyle_(s,e),a.push(s)}}return a},shaka.text.SsaTextParser.addStyle_=function(e,t){var r=shaka.text.Cue,i=shaka.text.SsaTextParser,n=t.Fontname;if(n&&(e.fontFamily=n),(n=t.Fontsize)&&(e.fontSize=n+"px"),(n=t.PrimaryColour)&&(n=i.parseSsaColor_(n))&&(e.color=n),(n=t.BackColour)&&(i=i.parseSsaColor_(n))&&(e.backgroundColor=i),t.Bold&&(e.fontWeight=r.fontWeight.BOLD),t.Italic&&(e.fontStyle=r.fontStyle.ITALIC),t.Underline&&e.textDecoration.push(r.textDecoration.UNDERLINE),(i=t.Spacing)&&(e.letterSpacing=i+"px"),i=t.Alignment)switch(parseInt(i,10)){case 1:e.displayAlign=r.displayAlign.AFTER,e.textAlign=r.textAlign.START;break;
1case 2:e.displayAlign=r.displayAlign.AFTER,e.textAlign=r.textAlign.CENTER;break;case 3:e.displayAlign=r.displayAlign.AFTER,e.textAlign=r.textAlign.END;break;case 5:e.displayAlign=r.displayAlign.BEFORE,e.textAlign=r.textAlign.START;break;case 6:e.displayAlign=r.displayAlign.BEFORE,e.textAlign=r.textAlign.CENTER;break;case 7:e.displayAlign=r.displayAlign.BEFORE,e.textAlign=r.textAlign.END;break;case 9:e.displayAlign=r.displayAlign.CENTER,e.textAlign=r.textAlign.START;break;case 10:e.displayAlign=r.displayAlign.CENTER,e.textAlign=r.textAlign.CENTER;break;case 11:e.displayAlign=r.displayAlign.CENTER,e.textAlign=r.textAlign.END}(t=t.AlphaLevel)&&(e.opacity=parseFloat(t))},shaka.text.SsaTextParser.parseSsaColor_=function(e){return 0<=(e=parseInt(e.replace("&H",""),16))?"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>24&255^255)/255+")":null},shaka.text.SsaTextParser.parseTime_=function(e){var t=shaka.text.SsaTextParser.timeFormat_.exec(e);return 3600*(e=t[1]?parseInt(t[1].replace(":",""),10):0)+60*parseInt(t[2],10)+(t=parseFloat(t[3]))},goog.exportSymbol("shaka.text.SsaTextParser",shaka.text.SsaTextParser),goog.exportProperty(shaka.text.SsaTextParser.prototype,"parseMedia",shaka.text.SsaTextParser.prototype.parseMedia),goog.exportProperty(shaka.text.SsaTextParser.prototype,"setManifestType",shaka.text.SsaTextParser.prototype.setManifestType),goog.exportProperty(shaka.text.SsaTextParser.prototype,"setSequenceMode",shaka.text.SsaTextParser.prototype.setSequenceMode),goog.exportProperty(shaka.text.SsaTextParser.prototype,"parseInit",shaka.text.SsaTextParser.prototype.parseInit),shaka.text.SsaTextParser.ssaContent_=/^\s*\[([^\]]+)\]\r?\n([\s\S]*)/,shaka.text.SsaTextParser.lineParts_=/^\s*([^:]+):\s*(.*)/,shaka.text.SsaTextParser.valuesFormat_=/\s*,\s*/,shaka.text.SsaTextParser.timeFormat_=/^(\d+:)?(\d{1,2}):(\d{1,2}(?:[.]\d{1,3})?)?$/,shaka.text.TextEngine.registerParser("text/x-ssa",function(){return new shaka.text.SsaTextParser}),shaka.transmuxer.ADTS=function(){},shaka.transmuxer.ADTS.parseHeader=function(e,t){var r=shaka.transmuxer.ADTS,i=r.getHeaderLength(e,t);return t+i<=e.length&&0<(e=r.getFullFrameLength(e,t)-i)?{headerLength:i,frameLength:e}:null},shaka.transmuxer.ADTS.parseInfo=function(e,t){var r=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],i=(60&e[t+2])>>>2;if(i>r.length-1)return null;var n=((192&e[t+2])>>>6)+1,a=(1&e[t+2])<<2;return{sampleRate:r[i],channelCount:a|=(192&e[t+3])>>>6,codec:"mp4a.40."+n}},shaka.transmuxer.ADTS.isHeaderPattern=function(e,t){return 255===e[t]&&240==(246&e[t+1])},shaka.transmuxer.ADTS.getHeaderLength=function(e,t){return 1&e[t+1]?7:9},shaka.transmuxer.ADTS.getFullFrameLength=function(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5},shaka.transmuxer.ADTS.isHeader=function(e,t){var r=shaka.transmuxer.ADTS;return t+1<e.length&&r.isHeaderPattern(e,t)},shaka.transmuxer.ADTS.probe=function(e,t){var r=shaka.transmuxer.ADTS;if(r.isHeader(e,t)){var i=r.getHeaderLength(e,t);if(t+i>=e.length)return!1;var n=r.getFullFrameLength(e,t);return!(n<=i)&&((t+=n)===e.length||r.isHeader(e,t))}return!1},shaka.transmuxer.ADTS.getFrameDuration=function(e){return 9e4*shaka.transmuxer.ADTS.AAC_SAMPLES_PER_FRAME/e},shaka.transmuxer.ADTS.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t||3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},shaka.transmuxer.ADTS.AAC_SAMPLES_PER_FRAME=1024,shaka.transmuxer.AacTransmuxer=function(e){this.originalMimeType_=e,this.frameIndex_=0,this.initSegments=new Map,this.lastInitSegment_=null},shaka.transmuxer.AacTransmuxer.prototype.destroy=function(){this.initSegments.clear()},shaka.transmuxer.AacTransmuxer.prototype.isSupported=function(e,t){return t=shaka.media.Capabilities,!!this.isAacContainer_(e)&&t.isTypeSupp
1orted(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,e))},shaka.transmuxer.AacTransmuxer.prototype.isAacContainer_=function(e){return"audio/aac"==e.toLowerCase().split(";")[0]},shaka.transmuxer.AacTransmuxer.prototype.convertCodecs=function(e,t){return this.isAacContainer_(t)?'audio/mp4; codecs="'+(shaka.util.MimeUtils.getCodecs(t)||"mp4a.40.2")+'"':t},shaka.transmuxer.AacTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.AacTransmuxer.prototype.transmux=function(e,t,r,i){for(var n=shaka.transmuxer.ADTS,a=shaka.util.Uint8ArrayUtils,o=shaka.util.BufferUtils.toUint8(e),s=shaka.util.Id3Utils.getID3Data(o),l=s.length;l<o.length&&!n.probe(o,l);l++);if(e=1e3*r.endTime,(s=shaka.util.Id3Utils.getID3Frames(s)).length&&r&&(s=s.find(function(e){return"com.apple.streaming.transportStreamTimestamp"===e.description}))&&(e=s.data),!(s=n.parseInfo(o,l)))return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));t.audioSamplingRate=s.sampleRate,t.channelsCount=s.channelCount;for(var u=[];l<o.length;){var d=n.parseHeader(o,l);if(!d)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));var c=d.headerLength+d.frameLength;if(l+c<=o.length){var p=o.subarray(l+d.headerLength,l+c);u.push({data:p,size:d.frameLength,duration:n.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}l+=c}return e=Math.floor(e*(n=s.sampleRate)/1e3),i={id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:s.codec,encrypted:t.encrypted&&0<t.drmInfos.length,timescale:n,duration:i,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:u},stream:t},i=new shaka.util.Mp4Generator([i]),r=t.id+"_"+r.discontinuitySequence,this.initSegments.has(r)?t=this.initSegments.get(r):(t=i.initSegment(),this.initSegments.set(r,t)),r=this.lastInitSegment_!==t,i=i.segmentData(),this.lastInitSegment_=t,this.frameIndex_++,r?Promise.resolve(a=a.concat(t,i)):Promise.resolve(i)},goog.exportSymbol("shaka.transmuxer.AacTransmuxer",shaka.transmuxer.AacTransmuxer),goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"transmux",shaka.transmuxer.AacTransmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.AacTransmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"convertCodecs",shaka.transmuxer.AacTransmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"isSupported",shaka.transmuxer.AacTransmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"destroy",shaka.transmuxer.AacTransmuxer.prototype.destroy),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/aac",function(){return new shaka.transmuxer.AacTransmuxer("audio/aac")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.Ac3=function(){},shaka.transmuxer.Ac3.parseFrame=function(e,t){if(t+8>e.length||11!==e[t]||119!==e[t+1])return null;var r=e[t+4]>>6;if(3<=r)return null;var i=63&e[t+4],n=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*i+r];if(t+n>e.length)return null;var a=e[t+6]>>5,o=0;2===a?o+=2:(1&a&&1!==a&&(o+=2),4&a&&(o+=2)),o=(e[t+6]<<8|e[t+7])>>12-o&1;var s=7&e[t+5];return e=new Uint8Array([r<<6|e[t+5]>>
13<<1|s>>2,(3&s)<<6|a<<3|o<<2|i>>4,i<<4&224]),{sampleRate:[48e3,44100,32e3][r],channelCount:[2,1,2,3,3,4,4,5][a]+o,audioConfig:e,frameLength:n}},shaka.transmuxer.Ac3.probe=function(e,t){if(11===e[t]&&119===e[t+1]){var r,i,n=0,a=5;for(t+=5;0<a;){i=e[t];var o=Math.min(a,8),s=8-o;r=(i&(r=0xff000000>>>24+s<<s))>>s,n=n?n<<o|r:r,t+=1,a-=o}if(16>n)return!0}return!1},shaka.transmuxer.Ac3.AC3_SAMPLES_PER_FRAME=1536,shaka.transmuxer.Ac3Transmuxer=function(e){this.originalMimeType_=e,this.frameIndex_=0,this.initSegments=new Map,this.lastInitSegment_=null},shaka.transmuxer.Ac3Transmuxer.prototype.destroy=function(){this.initSegments.clear()},shaka.transmuxer.Ac3Transmuxer.prototype.isSupported=function(e,t){return t=shaka.media.Capabilities,!!this.isAc3Container_(e)&&t.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,e))},shaka.transmuxer.Ac3Transmuxer.prototype.isAc3Container_=function(e){return"audio/ac3"==e.toLowerCase().split(";")[0]},shaka.transmuxer.Ac3Transmuxer.prototype.convertCodecs=function(e,t){return this.isAc3Container_(t)?shaka.util.Platform.requiresEC3InitSegments()?'audio/mp4; codecs="ec-3"':'audio/mp4; codecs="ac-3"':t},shaka.transmuxer.Ac3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.Ac3Transmuxer.prototype.transmux=function(e,t,r,i){var n=shaka.transmuxer.Ac3,a=shaka.util.Uint8ArrayUtils;e=shaka.util.BufferUtils.toUint8(e);for(var o=shaka.util.Id3Utils.getID3Data(e),s=o.length;s<e.length&&!n.probe(e,s);s++);var l=1e3*r.endTime;(o=shaka.util.Id3Utils.getID3Frames(o)).length&&r&&(o=o.find(function(e){return"com.apple.streaming.transportStreamTimestamp"===e.description}))&&(l=o.data),o=0;for(var u=new Uint8Array([]),d=[];s<e.length;){var c=n.parseFrame(e,s);if(!c)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));t.audioSamplingRate=c.sampleRate,t.channelsCount=c.channelCount,o=c.sampleRate,u=c.audioConfig;var p=e.subarray(s,s+c.frameLength);d.push({data:p,size:c.frameLength,duration:n.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),s+=c.frameLength}return n=Math.floor(l*o/1e3),i={id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:o,duration:i,videoNalus:[],audioConfig:u,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:n,samples:d},stream:t},i=new shaka.util.Mp4Generator([i]),r=t.id+"_"+r.discontinuitySequence,this.initSegments.has(r)?t=this.initSegments.get(r):(t=i.initSegment(),this.initSegments.set(r,t)),r=this.lastInitSegment_!==t,i=i.segmentData(),this.lastInitSegment_=t,this.frameIndex_++,r?Promise.resolve(a=a.concat(t,i)):Promise.resolve(i)},goog.exportSymbol("shaka.transmuxer.Ac3Transmuxer",shaka.transmuxer.Ac3Transmuxer),goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"transmux",shaka.transmuxer.Ac3Transmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ac3Transmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ac3Transmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ac3Transmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"destroy",shaka.transmuxer.Ac3Transmuxer.prototype.destroy),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ac3",function(){return new shaka.transmuxer.Ac3Transmuxer("audio/ac3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.Ec3=function(){},shaka.transmuxer.Ec3.parseFrame=function(e,t){if(t+8>e.length||!shaka.transmuxer.Ec3.probe(e,t))return null;var r=new shaka.util.ExpGolomb(e.subarray(t+2));r.skipBits(2),r.skipBits(3);var i=r.readBits(11)+1<<1,n=r.readBits(2);if(3==n){n=[24e3,22060,16e3][n=r.readBits(2)];var a=3}else n=[48e3,44100,32e3][n],a=r.readBits(2);var o=r.readBits(3),s=r.readBits(1);return(r=r.readBits(5),t+i>
1e.byteLength)?null:(e=new Uint8Array([(8160&(e=Math.floor(i*n/(16*[1,2,3,6][a]))))>>5,(31&e)<<3,n<<6|r<<1,s|o<<1,0]),{sampleRate:n,channelCount:[2,1,2,3,3,4,4,5][o]+s,audioConfig:e,frameLength:i})},shaka.transmuxer.Ec3.probe=function(e,t){return 2935==(e[t]<<8|e[t+1])},shaka.transmuxer.Ec3.EC3_SAMPLES_PER_FRAME=1536,shaka.transmuxer.Ec3Transmuxer=function(e){this.originalMimeType_=e,this.frameIndex_=0,this.initSegments=new Map,this.lastInitSegment_=null},shaka.transmuxer.Ec3Transmuxer.prototype.destroy=function(){this.initSegments.clear()},shaka.transmuxer.Ec3Transmuxer.prototype.isSupported=function(e,t){return t=shaka.media.Capabilities,!!this.isEc3Container_(e)&&t.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,e))},shaka.transmuxer.Ec3Transmuxer.prototype.isEc3Container_=function(e){return"audio/ec3"==e.toLowerCase().split(";")[0]},shaka.transmuxer.Ec3Transmuxer.prototype.convertCodecs=function(e,t){return this.isEc3Container_(t)?'audio/mp4; codecs="ec-3"':t},shaka.transmuxer.Ec3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.Ec3Transmuxer.prototype.transmux=function(e,t,r,i){var n=shaka.transmuxer.Ec3,a=shaka.util.Uint8ArrayUtils;e=shaka.util.BufferUtils.toUint8(e);for(var o=shaka.util.Id3Utils.getID3Data(e),s=o.length;s<e.length&&!n.probe(e,s);s++);var l=1e3*r.endTime;(o=shaka.util.Id3Utils.getID3Frames(o)).length&&r&&(o=o.find(function(e){return"com.apple.streaming.transportStreamTimestamp"===e.description}))&&(l=o.data),o=0;for(var u=new Uint8Array([]),d=[];s<e.length;){var c=n.parseFrame(e,s);if(!c)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));t.audioSamplingRate=c.sampleRate,t.channelsCount=c.channelCount,o=c.sampleRate,u=c.audioConfig;var p=e.subarray(s,s+c.frameLength);d.push({data:p,size:c.frameLength,duration:n.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),s+=c.frameLength}return n=Math.floor(l*o/1e3),i={id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:o,duration:i,videoNalus:[],audioConfig:u,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:n,samples:d},stream:t},i=new shaka.util.Mp4Generator([i]),r=t.id+"_"+r.discontinuitySequence,this.initSegments.has(r)?t=this.initSegments.get(r):(t=i.initSegment(),this.initSegments.set(r,t)),r=this.lastInitSegment_!==t,i=i.segmentData(),this.lastInitSegment_=t,this.frameIndex_++,r?Promise.resolve(a=a.concat(t,i)):Promise.resolve(i)},goog.exportSymbol("shaka.transmuxer.Ec3Transmuxer",shaka.transmuxer.Ec3Transmuxer),goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"transmux",shaka.transmuxer.Ec3Transmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ec3Transmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ec3Transmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ec3Transmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"destroy",shaka.transmuxer.Ec3Transmuxer.prototype.destroy),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ec3",function(){return new shaka.transmuxer.Ec3Transmuxer("audio/ec3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.H264=function(){},shaka.transmuxer.H264.parseInfo=function(e){var t=shaka.transmuxer.H264;if(!e.length)return null;var r=e.find(function(e){return e.type==t.NALU_TYPE_SPS_});if(e=e.find(function(e){return e.type==t.NALU_TYPE_PPS_}),!r||!e)return null;var i=new shaka.util.ExpGolomb(r.data),n=i.readUnsignedByte();if(i.readUnsignedByte(),i.readUnsignedByte(),i.skipExpGolomb(),t.PROFILES_WITH_OPTIONAL_SPS_DATA_.includes(n)&&(3===(n=i.readUnsignedExpGolomb())&&i.skipBits(1),i.skipExpGolomb(),i.skipExpGolomb(),i.skipBits(1),i.readBoolean())){n=3!==n?8:12;for(var a=0;a<n;a++)i.readBoolean()&&(6>a?i.skipScalingList(16):i.skipScalingList(64))}if(i.skipExpGolomb(),0===(n=i.readUnsignedExpGolomb()))i.readUnsignedExpGolomb();else if(1===n)for(i.skipBits(1),i.skipExpGolomb(),i.skipExpGolomb(),n=i.readUnsignedExpGolomb(),a=0;a<n;a++)i.skipExpGolomb();i.skipExpGolomb(),i.skipBits(1);var o=i.readUnsignedExpGolomb(),s=i.readUnsignedExpGolomb(),l=i.readBits(1);0===l&&i.skipBits(1),i.skipBits(1);var u=0,d=0,c=0,p=0;if(i.readBoolean()&&(u=i.readUnsignedExpGolomb(),d=i.readUnsignedExpGolomb(),c=i.readUnsignedExpGolomb(),p=i.readUnsignedExpGolomb()),a=n=1,i.readBoolean()&&i.readBoolean()){var m=i.readUnsignedByte(),f=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],g=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];0<m&&16>=m?(n=f[m-1],a=g[m-1]):255===m&&(n=i.readBits(16),a=i.readBits(16))}return i=(2-l)*(s+1)*16-2*c-2*p,o=16*(o+1)-2*u-2*d,u=[],r=r.fullData,u.push(r.byteLength>>>8&255),u.push(255&r.byteLength),u=u.concat.apply(u,$jscomp.arrayFromIterable(r)),r=[],e=e.fullData,r.push(e.byteLength>>>8&255),r.push(255&e.byteLength),r=r.concat.apply(r,$jscomp.arrayFromIterable(e)),{height:i,width:o,videoConfig:e=new Uint8Array([1,u[3],u[4],u[5],255,225].concat(u).
1concat([1]).concat(r)),hSpacing:n,vSpacing:a}},shaka.transmuxer.H264.getVideoSamples=function(e){for(var t=shaka.transmuxer.H264,r=[],i=null,n=!1,a=function(){if(i&&i.nalus.length&&i.frame){for(var e=[],t=$jscomp.makeIterator(i.nalus),n=t.next();!n.done;n=t.next()){var a=(n=n.value).fullData.byteLength,o=new Uint8Array(4);o[0]=a>>24&255,o[1]=a>>16&255,o[2]=a>>8&255,o[3]=255&a,e.push(o),e.push(n.fullData)}i.data=shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(e)),r.push(i)}},o=function(e){i={data:new Uint8Array([]),frame:!1,isKeyframe:!1,pts:e.pts,dts:e.dts,nalus:[]}},s=0;s<e.length;s++){var l=e[s],u=l.nalus,d=!1;i&&u.length&&!n&&(a(),o(l)),u=$jscomp.makeIterator(l.nalus);for(var c=u.next();!c.done;c=u.next()){c=c.value;var p=!1;switch(c.type){case t.NALU_TYPE_NDR_:var m=!1;p=!0;var f=c.data;d&&4<f.length&&(2===(f=new shaka.util.ExpGolomb(f).readSliceType())||4===f||7===f||9===f)&&(m=!0),m&&i&&i.frame&&!i.isKeyframe&&(a(),i=null),i||o(l),i.frame=!0,i.isKeyframe=m;break;case t.NALU_TYPE_IDR_:p=!0,i&&i.frame&&!i.isKeyframe&&(a(),i=null),i||o(l),i.frame=!0,i.isKeyframe=!0;break;case t.NALU_TYPE_SEI_:p=!0;break;case t.NALU_TYPE_SPS_:d=p=!0;break;case t.NALU_TYPE_PPS_:p=!0;break;case t.NALU_TYPE_AUD_:n=p=!0,i&&i.frame&&(a(),i=null),i||o(l);break;case t.NALU_TYPE_FILLER_DATA_:p=!0;break;default:p=!1}i&&p&&i.nalus.push(c)}}return a(),r},shaka.transmuxer.H264.NALU_TYPE_NDR_=1,shaka.transmuxer.H264.NALU_TYPE_IDR_=5,shaka.transmuxer.H264.NALU_TYPE_SEI_=6,shaka.transmuxer.H264.NALU_TYPE_SPS_=7,shaka.transmuxer.H264.NALU_TYPE_PPS_=8,shaka.transmuxer.H264.NALU_TYPE_AUD_=9,shaka.transmuxer.H264.NALU_TYPE_FILLER_DATA_=12,shaka.transmuxer.H264.PROFILES_WITH_OPTIONAL_SPS_DATA_=[100,110,122,244,44,83,86,118,128,138,139,134],shaka.transmuxer.H265=function(){},shaka.transmuxer.H265.parseInfo=function(e){var t=shaka.transmuxer.H265;if(!e.length)return null;var r=e.find(function(e){return e.type==t.NALU_TYPE_VPS_}),i=e.find(function(e){return e.type==t.NALU_TYPE_SPS_}),n=e.find(function(e){return e.type==t.NALU_TYPE_PPS_});if(!r||!i||!n)return null;var a=t.parseVPS_(r.fullData);e=t.parseSPS_(i.fullData);var o=t.parsePPS_(n.fullData);return r=t.getVideoConfiguration_(r.fullData,i.fullData,n.fullData,{numTemporalLayers:a.numTemporalLayers,temporalIdNested:a.temporalIdNested,generalProfileSpace:e.generalProfileSpace,generalTierFlag:e.generalTierFlag,generalLevelIdc:e.generalLevelIdc,generalProfileIdc:e.generalProfileIdc,generalProfileCompatibilityFlags1:e.generalProfileCompatibilityFlags1,generalProfileCompatibilityFlags2:e.generalProfileCompatibilityFlags2,generalProfileCompatibilityFlags3:e.generalProfileCompatibilityFlags3,generalProfileCompatibilityFlags4:e.generalProfileCompatibilityFlags4,generalConstraintIndicatorFlags1:e.generalConstraintIndicatorFlags1,generalConstraintIndicatorFlags2:e.generalConstraintIndicatorFlags2,generalConstraintIndicatorFlags3:e.generalConstraintIndicatorFlags3,generalConstraintIndicatorFlags4:e.generalConstraintIndicatorFlags4,generalConstraintIndicatorFlags5:e.generalConstraintIndicatorFlags5,generalConstraintIndicatorFlags6:e.generalConstraintIndicatorFlags6,constantFrameRate:e.constantFrameRate,minSpatialSegmentationIdc:e.minSpatialSegmentationIdc,chromaFormatIdc:e.chromaFormatIdc,bitDepthLumaMinus8:e.bitDepthLumaMinus8,bitDepthChromaMinus8:e.bitDepthChromaMinus8,parallelismType:o.parallelismType}),{height:e.height,width:e.width,videoConfig:r,hSpacing:e.sarWidth,vSpacing:e.sarHeight}},shaka.transmuxer.H265.parseVPS_=function(e){var t=new shaka.util.ExpGolomb(e,!0);return t.readUnsignedByte(),t.readUnsignedByte(),t.readBits(4),t.readBits(2),t.readBits(6),{numTemporalLayers:(e=t.readBits(3))+1,temporalIdNested:t=t.readBoolean()}},shaka.transmuxer.H265.parseSPS_=function(e){(e=new shaka.util.ExpGolomb(e,!0)).readUnsignedByte(),e.readUnsignedByte();var t=0,r=0,i=0,n=0;e.readBits(4);var a=e.readBits(3);e.readBoolean();for(var o=e.readBits(2),s=e.readBits(1),l=e.readBits(5),u=e.readUnsignedByte(),d=e.readUnsignedByte(),c=e.readUnsignedByte(),p=e.readUnsignedByte(),m=e.readUnsignedByte(),f=e.readUnsignedByte(),g=e.readUnsignedByte(),h=e.readUnsignedByte(),y=e.readUnsignedByte(),_=e.readUnsignedByte(),S=e.readUnsignedByte(),v=[],T=[],E=0;E<a;
1E++)v.push(e.readBoolean()),T.push(e.readBoolean());if(0<a)for(E=a;8>E;E++)e.readBits(2);for(E=0;E<a;E++)v[E]&&e.readBits(88),T[E]&&e.readUnsignedByte();e.readUnsignedExpGolomb(),3==(v=e.readUnsignedExpGolomb())&&e.readBits(1),T=e.readUnsignedExpGolomb(),E=e.readUnsignedExpGolomb(),e.readBoolean()&&(t+=e.readUnsignedExpGolomb(),r+=e.readUnsignedExpGolomb(),i+=e.readUnsignedExpGolomb(),n+=e.readUnsignedExpGolomb());var P=e.readUnsignedExpGolomb(),x=e.readUnsignedExpGolomb(),A=e.readUnsignedExpGolomb();if(e.readBoolean())for(var C=0;C<=a;C++)e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb();else e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb();if(e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readBoolean()&&e.readBoolean())for(C=0;4>C;C++)for(var M=0;M<(3===C?2:6);M++)if(e.readBoolean()){var I=Math.min(64,1<<4+(C<<1));1<C&&e.readExpGolomb();for(var b=0;b<I;b++)e.readExpGolomb()}else e.readUnsignedExpGolomb();for(e.readBoolean(),e.readBoolean(),e.readBoolean()&&(e.readUnsignedByte(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readBoolean()),C=e.readUnsignedExpGolomb(),I=M=0;I<C;I++)if(b=!1,0!==I&&(b=e.readBoolean()),b){I===C&&e.readUnsignedExpGolomb(),e.readBoolean(),e.readUnsignedExpGolomb();for(var D=b=0;D<=M;D++){var R=e.readBoolean(),k=!1;R||(k=e.readBoolean()),(R||k)&&b++}M=b}else{for(M=(D=e.readUnsignedExpGolomb())+(b=e.readUnsignedExpGolomb()),R=0;R<D;R++)e.readUnsignedExpGolomb(),e.readBoolean();for(D=0;D<b;D++)e.readUnsignedExpGolomb(),e.readBoolean()}if(e.readBoolean())for(C=e.readUnsignedExpGolomb(),M=0;M<C;M++){for(I=0;I<A+4;I++)e.readBits(1);e.readBits(1)}if(C=A=1,M=0,e.readBoolean(),e.readBoolean(),e.readBoolean()){if(e.readBoolean()&&(I=e.readUnsignedByte(),b=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],D=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1],0<I&&16>=I?(A=b[I-1],C=D[I-1]):255===I&&(A=e.readBits(16),C=e.readBits(16))),e.readBoolean()&&e.readBoolean(),e.readBoolean()&&(e.readBits(3),e.readBoolean(),e.readBoolean()&&(e.readUnsignedByte(),e.readUnsignedByte(),e.readUnsignedByte())),e.readBoolean()&&(e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb()),e.readBoolean(),e.readBoolean(),e.readBoolean(),(I=e.readBoolean())&&(e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb()),e.readBoolean()&&(e.readBits(32),e.readBits(32),e.readBoolean()&&e.readUnsignedExpGolomb(),e.readBoolean()))for(D=!1,I=e.readBoolean(),b=e.readBoolean(),(I||b)&&((D=e.readBoolean())&&(e.readUnsignedByte(),e.readBits(5),e.readBoolean(),e.readBits(5)),e.readBits(4),e.readBits(4),D&&e.readBits(4),e.readBits(5),e.readBits(5),e.readBits(5)),R=0;R<=a;R++){var w=!0;k=1,e.readBoolean()||(w=e.readBoolean());var U=!1;if(w?e.readUnsignedExpGolomb():U=e.readBoolean(),U||(k=e.readUnsignedExpGolomb()+1),I){for(w=0;w<k;w++)e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),D&&(e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb());e.readBoolean()}if(b){for(w=0;w<k;w++)e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),D&&(e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb());e.readBoolean()}}e.readBoolean()&&(e.readBoolean(),e.readBoolean(),e.readBoolean(),M=e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb(),e.readUnsignedExpGolomb())}return{generalLevelIdc:S,generalProfileSpace:o,generalTierFlag:s,generalProfileIdc:l,generalProfileCompatibilityFlags1:u,generalProfileCompatibilityFlags2:d,generalProfileCompatibilityFlags3:c,generalProfileCompatibilityFlags4:p,generalConstraintIndicatorFlags1:m,generalConstraintIndicatorFlags2:f,generalConstraintIndicatorFlags3:g,generalConstraintIndicatorFlags4:h,generalConstraintIndicatorFlags5:y,generalConstraintIndicatorFlags6:_,minSpatialSegmentationIdc:M,constantFrameRate:0,chromaFormatIdc:v,bitDepthLumaMinus8:P,bitDepthChromaMinus8:x,width:T-(t+r)*(1===v||2===v?2:1),height:E-(i+n)*(1===v?2:1),sarWidth:A,sarHeight:C}},shaka.transmuxer.H265.parsePPS_=function(e){var t=new shaka.util.ExpGolomb(e,!0);t.readUnsignedByte(),t.readUnsignedByte(),t.readUnsignedExpGolomb(),t.readUnsignedExpGolomb(),t.readBoolean(),t.readBoolean(),t.readBits(3),t.readBoolean(),t.readBoolean(),t.readUnsignedExpGolomb(),t.readUnsignedExpGolomb(),t.readExpGolomb(),t.readBoolean(),t.readBoolean(),t.readBoolean()&&t.readUnsignedExpGolomb(),t.readExpGolomb(),t.readExpGolomb(),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean(),e=t.readBoolean();var r=1;return(t=t.readBoolean())&&e?r=0:t?r=3:e&&(r=2),{parallelismType:r}},shaka.transmuxer.H265.getVideoConfiguration_=function(e,t,r,i){var n=shaka.transmuxer.H265,a=new Uint8Array(23+(5+e.byteLength)+(5+t.byteLength)+(5+r.byteLength));return a[0]=1,a[1]=(3&i.generalProfileSpace)<<6|!!i.generalTierFlag<<5|31&i.generalProfileIdc,a[2]=i.generalProfileCompatibilityFlags1,a[3]=i.generalProfileCompatibilityFlags2,a[4]=i.generalProfileCompatibilityFlags3,a[5]=i.generalProfileCompatibilityFlags4,a[6]=i.generalConstraintIndicatorFlags1,a[7]=i.generalConstraintIndicatorFlags2,a[8]=i.generalConstraintIndicatorFlags3,a[9]=i.generalConstraintIndicatorFlags4,a[10]=i.generalConstraintIndicatorFlags5,a[11]=i.generalConstraintIndicatorFlags6,a[12]=i.generalLevelIdc,a[13]=240|(3840&i.minS
1patialSegmentationIdc)>>8,a[14]=255&i.minSpatialSegmentationIdc,a[15]=252|3&i.parallelismType,a[16]=252|3&i.chromaFormatIdc,a[17]=248|7&i.bitDepthLumaMinus8,a[18]=248|7&i.bitDepthChromaMinus8,a[19]=0,a[20]=0,a[21]=(3&i.constantFrameRate)<<6|(7&i.numTemporalLayers)<<3|!!i.temporalIdNested<<2|3,a[22]=3,a[23]=128|n.NALU_TYPE_VPS_,a[24]=0,a[25]=1,a[26]=(65280&e.byteLength)>>8,a[27]=255&e.byteLength,a.set(e,28),a[23+(5+e.byteLength)+0]=128|n.NALU_TYPE_SPS_,a[23+(5+e.byteLength)+1]=0,a[23+(5+e.byteLength)+2]=1,a[23+(5+e.byteLength)+3]=(65280&t.byteLength)>>8,a[23+(5+e.byteLength)+4]=255&t.byteLength,a.set(t,23+(5+e.byteLength)+5),a[23+(5+e.byteLength+5+t.byteLength)+0]=128|n.NALU_TYPE_PPS_,a[23+(5+e.byteLength+5+t.byteLength)+1]=0,a[23+(5+e.byteLength+5+t.byteLength)+2]=1,a[23+(5+e.byteLength+5+t.byteLength)+3]=(65280&r.byteLength)>>8,a[23+(5+e.byteLength+5+t.byteLength)+4]=255&r.byteLength,a.set(r,23+(5+e.byteLength+5+t.byteLength)+5),a},shaka.transmuxer.H265.parseFrame=function(e){var t=shaka.transmuxer.H265,r=!1,i=[],n=!1;e=$jscomp.makeIterator(e);for(var a=e.next();!a.done;a=e.next()){switch((a=a.value).type){case t.NALU_TYPE_TRAIL_N_:case t.NALU_TYPE_TRAIL_R_:var o=n=!0;break;case t.NALU_TYPE_IDR_W_RADL_:case t.NALU_TYPE_IDR_N_LP_:case t.NALU_TYPE_CRA_NUT_:r=o=n=!0;break;case t.NALU_TYPE_VPS_:case t.NALU_TYPE_SPS_:case t.NALU_TYPE_PPS_:o=!0;break;case t.NALU_TYPE_AUD_:n=o=!0;break;case t.NALU_TYPE_SEI_PREFIX_:case t.NALU_TYPE_SEI_SUFFIX_:o=!0;break;default:o=!1}if(n&&o){o=a.fullData.byteLength;var s=new Uint8Array(4);s[0]=o>>24&255,s[1]=o>>16&255,s[2]=o>>8&255,s[3]=255&o,i.push(s),i.push(a.fullData)}}return i.length?{data:shaka.util.Uint8ArrayUtils.concat.apply(shaka.util.Uint8ArrayUtils,$jscomp.arrayFromIterable(i)),isKeyframe:r}:null},shaka.transmuxer.H265.NALU_TYPE_TRAIL_N_=1,shaka.transmuxer.H265.NALU_TYPE_TRAIL_R_=0,shaka.transmuxer.H265.NALU_TYPE_IDR_W_RADL_=19,shaka.transmuxer.H265.NALU_TYPE_IDR_N_LP_=20,shaka.transmuxer.H265.NALU_TYPE_CRA_NUT_=21,shaka.transmuxer.H265.NALU_TYPE_VPS_=32,shaka.transmuxer.H265.NALU_TYPE_SPS_=33,shaka.transmuxer.H265.NALU_TYPE_PPS_=34,shaka.transmuxer.H265.NALU_TYPE_AUD_=35,shaka.transmuxer.H265.NALU_TYPE_SEI_PREFIX_=39,shaka.transmuxer.H265.NALU_TYPE_SEI_SUFFIX_=40,shaka.transmuxer.MpegAudio=function(){},shaka.transmuxer.MpegAudio.parseHeader=function(e,t){var r=shaka.transmuxer.MpegAudio,i=e[t+1]>>3&3,n=e[t+1]>>1&3,a=e[t+2]>>4&15,o=e[t+2]>>2&3;if(1!==i&&0!==a&&15!==a&&3!==o){var s=e[t+3]>>6;a=1e3*r.BITRATES_MAP_[14*(3===i?3-n:3===n?3:4)+a-1],o=r.SAMPLING_RATE_MAP_[3*(3===i?0:2===i?1:2)+o];var l=3===s?1:2;i=r.SAMPLES_COEFFICIENTS_[i][n];var u=r.BYTES_IN_SLOT_[n];return r=8*i*u,i=Math.floor(i*a/o+(e[t+2]>>1&1))*u,(u=(u=(navigator.userAgent||"").match(/Chrome\/(\d+)/i))?parseInt(u[1],10):0)&&87>=u&&2===n&&224e3<=a&&0===s&&(e[t+3]|=128),{sampleRate:o,channelCount:l,frameLength:i,samplesPerFrame:r}}return null},shaka.transmuxer.MpegAudio.isHeaderPattern=function(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])},shaka.transmuxer.MpegAudio.isHeader=function(e,t){return t+1<e.length&&shaka.transmuxer.MpegAudio.isHeaderPattern(e,t)},shaka.transmuxer.MpegAudio.probe=function(e,t){var r=shaka.transmuxer.MpegAudio;if(t+1<e.length&&r.isHeaderPattern(e,t)){var i=r.parseHeader(e,t),n=4;return i&&i.frameLength&&(n=i.frameLength),(t+=n)===e.length||r.isHeader(e,t)}return!1},shaka.transmuxer.MpegAudio.BITRATES_MAP_=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],shaka.transmuxer.MpegAudio.SAMPLING_RATE_MAP_=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],shaka.transmuxer.MpegAudio.SAMPLES_COEFFICIENTS_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],shaka.transmuxer.MpegAudio.BYTES_IN_SLOT_=[0,1,1,4],shaka.transmuxer.MpegAudio.MPEG_AUDIO_SAMPLE_PER_FRAME=1152,shaka.transmuxer.Mp3Transmuxer=function(e){this.originalMimeType_=e,this.frameIndex_=0,this.initSegments=new Map,this.lastInitSegment_=null},shaka.transmuxer.Mp3Transmuxer.prototype.destroy=function(){this.initSegments.clear()},shaka.transmuxer.Mp3Transmuxer.prototype.isSupported=function(e,t){return t=shaka.media.Capabilities,!!this.isMpegContainer_(e)&&t.isTypeSupp
1orted(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,e))},shaka.transmuxer.Mp3Transmuxer.prototype.isMpegContainer_=function(e){return"audio/mpeg"==e.toLowerCase().split(";")[0]},shaka.transmuxer.Mp3Transmuxer.prototype.convertCodecs=function(e,t){return this.isMpegContainer_(t)?'audio/mp4; codecs="mp3"':t},shaka.transmuxer.Mp3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.Mp3Transmuxer.prototype.transmux=function(e,t,r,i){for(var n,a=shaka.transmuxer.MpegAudio,o=shaka.util.Uint8ArrayUtils,s=shaka.util.BufferUtils.toUint8(e),l=shaka.util.Id3Utils.getID3Data(s).length;l<s.length&&!a.probe(s,l);l++);for(e=[];l<s.length;){var u=a.parseHeader(s,l);if(!u)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));n||(n=u),l+u.frameLength<=s.length&&e.push({data:s.subarray(l,l+u.frameLength),size:u.frameLength,duration:a.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),l+=u.frameLength}return n?(a=9e4*n.samplesPerFrame/n.sampleRate*this.frameIndex_,i={id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"mp3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:n.sampleRate,duration:i,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:a,samples:e},stream:t},i=new shaka.util.Mp4Generator([i]),r=t.id+"_"+r.discontinuitySequence,this.initSegments.has(r)?t=this.initSegments.get(r):(t=i.initSegment(),this.initSegments.set(r,t)),r=this.lastInitSegment_!==t,i=i.segmentData(),this.lastInitSegment_=t,this.frameIndex_++,r?Promise.resolve(o=o.concat(t,i)):Promise.resolve(i)):Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null))},goog.exportSymbol("shaka.transmuxer.Mp3Transmuxer",shaka.transmuxer.Mp3Transmuxer),goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"transmux",shaka.transmuxer.Mp3Transmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Mp3Transmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Mp3Transmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"isSupported",shaka.transmuxer.Mp3Transmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"destroy",shaka.transmuxer.Mp3Transmuxer.prototype.destroy),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/mpeg",function(){return new shaka.transmuxer.Mp3Transmuxer("audio/mpeg")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.MpegTsTransmuxer=function(e){this.originalMimeType_=e,this.tsParser_=null},shaka.transmuxer.MpegTsTransmuxer.prototype.destroy=function(){},shaka.transmuxer.MpegTsTransmuxer.prototype.isSupported=function(e,t){if(t=shaka.media.Capabilities,!this.isTsContainer_(e))return!1;var r=shaka.util.ManifestParserUtils.ContentType,i=shaka.util.MimeUtils,n=i.getCodecs(e),a=i.splitCodecs(n);return n=shaka.util.ManifestParserUtils.guessCodecsSafe(r.AUDIO,a),a=shaka.util.ManifestParserUtils.guessCodecsSafe(r.VIDEO,a),!!n&&!a&&"mp3"==i.getNormalizedCodec(n)&&t.isTypeSupported(this.convertCodecs(r.AUDIO,e))},shaka.transmuxer.MpegTsTransmuxer.prototype.isTsContainer_=function(e){return"video/mp2t"==e.toLowerCase().split(";")[0]},shaka.transmuxer.MpegTsTransmuxer.prototype.convertCodecs=function(e,t){return this.isTsContainer_(t)?"audio/mpeg":t},shaka.transmuxer.MpegTsTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.MpegTsTransmuxer.prototype.transmux=function(e,t,r,i,n){t=shaka.transmuxer.MpegAudio;var a=shaka.util.ManifestParserUtils.ContentType;if(i=shaka.util.Uint8ArrayUtils,this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,e=shaka.util.BufferUtils.toUint8(e),"mp3"!=(e=this.tsParser_.parse(e)).getCodecs().audio||n!=a.AUDIO)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));for(r=new Uint8Array([]),e=(n=$jscomp.makeIterator(e.getAudioData())).next();!e.done;e=n.next())if(e=e.value.data)for(a=0;a<e.length;){var o=t.parseHeader(e,a);o?(a+o.frameLength<=e.length&&(r=i.concat(r,e.subarray(a,a+o.frameLength))),a+=o.frameLength):a++}return Promise.resolve(r)},goog.exportSymbol("shaka.transmuxer.MpegTsTransmuxer",shaka.transmuxer.MpegTsTransmuxer),goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"transmux",shaka.transmuxer.MpegTsTransmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.MpegTsTransmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"convertCodecs",shaka.transmuxer.MpegTsTransmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"isSupported",shaka.transmuxer.MpegTsTransmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"destroy",shaka.transmuxer.MpegTsTransmuxer.prototype.destroy),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("video/mp2t",function(){return new shaka.transmuxer.MpegTsTransmuxer("video/mp2t")},shaka.transmuxer.TransmuxerEngine.PluginPriority.PREFERRED_SECONDARY),shaka.transmuxer.MssTransmuxer=function(e){this.originalMimeType_=e,(this.isoBoxer_=shaka.dependencies.isoBoxer())&&this.addSpecificBoxProcessor_()},shaka.transmuxer.MssTransmuxer.prototype.addSpecificBoxProcessor_=function(){this.isoBoxer_.addBoxProcessor("saio",function(){this._procFullBox(),1&this.flags&&(this._procField("aux_info_type","uint",32),this._procField("aux_info_type_parameter","uint",32)),this._procField("entry_count","uint",32),this._procFieldArray("offset",this.entry_count,"uint",1===this.version?64:32)}),this.isoBoxer_.addBoxProcessor("saiz",function(){this._procFullBox(),1&this.flags&&(this._procField("aux_info_type","uint",32),this._procField("aux_info_type_parameter","uint",32)),this._procField("default_sample_info_size","uint",8),this._procField("sample_count","uint",32),0===this.default_sample_info_size&&this._procFieldArray("sample_info_size",this.sample_count,"uint",8)});var e=function(){this._procFullBox(),1&this.flags&&(this._procField("AlgorithmID","uint",24),this._procField("IV_size","uint",8),this._procFieldArray("KID",16,"uint",8)),this._procField("sample_count","uint",32),this._procEntries("entry",this.sample_count,function(e){this._procEntryField(e,"InitializationVector","data",8),2&this.flags&&(this._procEntryField(e,"NumberOfEntries","uint",16),this._procSubEntries(e,"clearAndCryptedData",e.NumberOfEntries,function(e){this._procEntryField(e,"BytesOfClearData","uint",16),this._procEntryField(e,"BytesOfEncryptedData","uint",32)}))})};this.isoBoxer_.addBoxProcessor("senc",e),this.isoBoxer_.addBoxProcessor("uuid",function(){for(var t=shaka.transmuxer.MssTransmuxer,r=!0,i=0;16>i;i++)this.usertype[i]!==t.UUID_SENC_[i]&&(r=!1);
1r&&(this._parsing&&(this.type="sepiff"),e.call(this))})},shaka.transmuxer.MssTransmuxer.prototype.destroy=function(){},shaka.transmuxer.MssTransmuxer.prototype.isSupported=function(e,t){var r=shaka.media.Capabilities,i=e.startsWith("mss/");return!!this.isoBoxer_&&!!i&&(t?r.isTypeSupported(this.convertCodecs(t,e)):(i=shaka.util.ManifestParserUtils.ContentType,t=this.convertCodecs(i.AUDIO,e),e=this.convertCodecs(i.VIDEO,e),r.isTypeSupported(t)||r.isTypeSupported(e)))},shaka.transmuxer.MssTransmuxer.prototype.convertCodecs=function(e,t){return t.replace("mss/","")},shaka.transmuxer.MssTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.MssTransmuxer.prototype.transmux=function(e,t,r){if(!r)return Promise.resolve(shaka.util.BufferUtils.toUint8(e));if(!t.mssPrivateData)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_MISSING_DATA_FOR_TRANSMUXING,r?r.getUris()[0]:null));try{var i=this.processMediaSegment_(e,t,r);return Promise.resolve(i)}catch(e){return e instanceof shaka.util.Error?Promise.reject(e):Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_TRANSMUXING_FAILED,r?r.getUris()[0]:null))}},shaka.transmuxer.MssTransmuxer.prototype.processMediaSegment_=function(e,t,r){var i=(e=this.isoBoxer_.parseBuffer(e)).fetch("tfhd");i.track_ID=t.id+1;var n=e.fetch("tfdt"),a=e.fetch("traf");if(null===n&&((n=this.isoBoxer_.createFullBox("tfdt",a,i)).version=1,n.flags=0,n.baseMediaDecodeTime=Math.floor(r.startTime*t.mssPrivateData.timescale)),t=e.fetch("trun"),(r=e.fetch("tfxd"))&&r._parent.boxes.splice(r._parent.boxes.indexOf(r),1),(r=e.fetch("tfrf"))&&r._parent.boxes.splice(r._parent.boxes.indexOf(r),1),null!==(r=e.fetch("sepiff"))&&(r.type="senc",r.usertype=void 0,null===(n=e.fetch("saio")))){(n=this.isoBoxer_.createFullBox("saio",a)).version=0,n.flags=0,n.entry_count=1,n.offset=[0];var o=this.isoBoxer_.createFullBox("saiz",a);if(o.version=0,o.flags=0,o.sample_count=r.sample_count,o.default_sample_info_size=0,o.sample_info_size=[],2&r.flags)for(n=0;n<r.sample_count;n+=1)o.sample_info_size[n]=10+6*r.entry[n].NumberOfEntries;else o.default_sample_info_size=8}return i.flags&=0xfffffe,i.flags|=131072,t.flags|=1,r=(i=e.fetch("moof")).getLength(),t.data_offset=r+8,null!==(t=e.fetch("saio"))&&(i=this.getBoxOffset_(i,"traf"),a=this.getBoxOffset_(a,"senc"),t.offset[0]=i+a+16),shaka.util.BufferUtils.toUint8(e.write())},shaka.transmuxer.MssTransmuxer.prototype.getBoxOffset_=function(e,t){for(var r=8,i=0;i<e.boxes.length&&e.boxes[i].type!==t;i++)r+=e.boxes[i].size;return r},goog.exportSymbol("shaka.transmuxer.MssTransmuxer",shaka.transmuxer.MssTransmuxer),goog.exportProperty(shaka.transmuxer.MssTransmuxer.prototype,"transmux",shaka.transmuxer.MssTransmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.MssTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.MssTransmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.MssTransmuxer.prototype,"convertCodecs",shaka.transmuxer.MssTransmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.MssTransmuxer.prototype,"isSupported",shaka.transmuxer.MssTransmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.MssTransmuxer.prototype,"destroy",shaka.transmuxer.MssTransmuxer.prototype.destroy),shaka.transmuxer.MssTransmuxer.UUID_SENC_=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("mss/audio/mp4",function(){return new shaka.transmuxer.MssTransmuxer("mss/audio/mp4")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.TransmuxerEngine.registerTransmuxer("mss/video/mp4",function(){return new shaka.transmuxer.MssTransmuxer("mss/video/mp4")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK),shaka.transmuxer.Opus=function(){},shaka.transmuxer.Opus.getAudioConfig=function(e){var t=[];switch(e.channelConfigCode){case 1:case 2:t=[0];break;case 0:t=[255,1,1,0,1];break;case 128:t=[255,2,0,0,1];break;case 3:t=[1,2,1,0,2,1];break;case 4:t=[1,2,2,0,1,2,3];break;case 5:t=[1,3,2,0,4,1,2,3];break;case 6:t=[1,4,2,0,4,1,2,3,5];break;case 7:t=[1,4,2,0,4,1,2,3,5,6];break;case 8:t=[1,5,3,0,6,1,2,3,4,5,7];break;case 130:t=[1,1,2,0,1];break;case 131:t=[1,1,3,0,1,2];break;case 132:t=[1,1,4,0,1,2,3];break;case 133:t=[1,1,5,0,1,2,3,4];break;case 134:t=[1,1,6,0,1,2,3,4,5];break;case 135:t=[1,1,7,0,1,2,3,4,5,6];break;case 136:t=[1,1,8,0,1,2,3,4,5,6,7]}return new Uint8Array([0,e.channelCount,0,0,e.sampleRate>>>24&255,e.sampleRate>>>17&255,e.sampleRate>>>8&255,e.sampleRate>>>0&255,0,0].concat($jscomp.arrayFromIterable(t)))},shaka.transmuxer.Opus.OPUS_AUDIO_SAMPLE_PER_FRAME=960,shaka.transmuxer.TsTransmuxer=function(e){this.originalMimeType_=e,this.frameIndex_=0,this.initSegments=new Map,this.lastInitSegment_=this.aacTransmuxer_=this.tsParser_=null},shaka.transmuxer.TsTransmuxer.prototype.destroy=function(){this.initSegments.clear(),this.aacTransmuxer_&&this.aacTransmuxer_.destroy()},shaka.transmuxer.TsTransmuxer.prototype.isSupported=function(e,t){var r=shaka.media.Capabilities;if(!this.isTsContainer_(e))return!1;var i=shaka.util.ManifestParserUtils.ContentType,n=shaka.util.MimeUtils,a=e;t&&(a=this.convertCodecs(t,e)),a=n.getCodecs(a),a=n.splitCodecs(a);var o=shaka.util.ManifestParserUtils.guessCodecsSafe(i.AUDIO,a),s=shaka.util.ManifestParserUtils.guessCodecsSafe(i.VIDEO,a);return a=shaka.transmuxer.TsTransmuxer,(!o||(o=n.getNormalizedCodec(o),!!a.SUPPORTED_AUDIO_CODECS_.includes(o)))&&
1(!s||(n=n.getNormalizedCodec(s),!!a.SUPPORTED_VIDEO_CODECS_.includes(n)))&&(t?r.isTypeSupported(this.convertCodecs(t,e)):(t=this.convertCodecs(i.AUDIO,e),e=this.convertCodecs(i.VIDEO,e),r.isTypeSupported(t)||r.isTypeSupported(e)))},shaka.transmuxer.TsTransmuxer.prototype.isTsContainer_=function(e){return"video/mp2t"==e.toLowerCase().split(";")[0]},shaka.transmuxer.TsTransmuxer.prototype.convertCodecs=function(e,t){if(this.isTsContainer_(t)){var r=shaka.util.ManifestParserUtils.ContentType,i=shaka.util.StreamUtils;return t=shaka.util.MimeUtils.getCodecs(t).replace("mp4a.40.34","mp3").split(",").map(function(e){return i.getCorrectAudioCodecs(e,"audio/mp4")}).map(i.getCorrectVideoCodecs).join(","),e==r.AUDIO?'audio/mp4; codecs="'+t+'"':'video/mp4; codecs="'+t+'"'}return t},shaka.transmuxer.TsTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_},shaka.transmuxer.TsTransmuxer.prototype.transmux=function(e,t,r,i,n){var a=shaka.util.ManifestParserUtils.ContentType,o=shaka.util.Uint8ArrayUtils,s=shaka.util.BufferUtils.toUint8(e);if(n==a.AUDIO&&!shaka.util.TsParser.probe(s)){for(a=(o=shaka.util.Id3Utils.getID3Data(s)).length;a<s.length;a++)if(shaka.transmuxer.MpegAudio.probe(s,a))return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null));for(a=o.length;a<s.length;a++)if(shaka.transmuxer.ADTS.probe(s,a))return this.aacTransmuxer_||(this.aacTransmuxer_=new shaka.transmuxer.AacTransmuxer("audio/aac")),this.aacTransmuxer_.transmux(e,t,r,i,n);return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null))}this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,e=this.tsParser_.parse(s),s=[];var l=e.getCodecs();try{var u=null;if(n==a.VIDEO){switch(l.video){case"avc":u=this.getAvcStreamInfo_(e,t,i,r);break;case"hvc":u=this.getHvcStreamInfo_(e,t,i,r)}u&&(s.push(u),u=null)}if(n==a.AUDIO){switch(l.audio){case"aac":u=this.getAacStreamInfo_(e,t,i,r);break;case"ac3":u=this.getAc3StreamInfo_(e,t,i,r);break;case"ec3":u=this.getEc3StreamInfo_(e,t,i,r);break;case"mp3":u=this.getMp3StreamInfo_(e,t,i,r);break;case"opus":u=this.getOpusStreamInfo_(e,t,i,r)}u&&s.push(u)}}catch(e){return e&&e.code==shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA?Promise.resolve(new Uint8Array([])):Promise.reject(e)}return s.length?(i=new shaka.util.Mp4Generator(s),r=t.id+"_"+r.discontinuitySequence,this.initSegments.has(r)?t=this.initSegments.get(r):(t=i.initSegment(),this.initSegments.set(r,t)),r=this.lastInitSegment_!==t,i=i.segmentData(),this.lastInitSegment_=t,this.frameIndex_++,r?Promise.resolve(o=o.concat(t,i)):Promise.resolve(i)):Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,r?r.getUris()[0]:null))},shaka.transmuxer.TsTransmuxer.prototype.getAacStreamInfo_=function(e,t,r,i){for(var n,a=shaka.transmuxer.ADTS,o=shaka.util.TsParser.Timescale,s=shaka.util.Uint8ArrayUtils,l=[],u=null,d=null,c=null,p=$jscomp.makeIterator(e.getAudioData()),m=p.next();!m.done;m=p.next()){var f=m.value;if(m=f.data){var g=0;if(-1==d&&c?(m=s.concat(c,f.data),d=null):null!=d&&c&&(g=Math.max(0,d),n=s.concat(c,m.subarray(0,g)),l.push({data:n,size:n.byteLength,duration:a.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),d=c=null),!(n=a.parseInfo(m,g)))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);for(t.audioSamplingRate=n.sampleRate,t.channelsCount=n.channelCount,null==u&&null!==f.pts&&(u=f.pts);g<m.length;){if(!(f=a.parseHeader(m,g))){c=m.subarray(g,m.length),d=-1;break}var h=f.headerLength+f.frameLength;if(0!=(d=Math.max(0,g+h-m.length)))c=m.subarray(g+f.headerLength,g+h);else if(g+h<=m.length){var y=m.subarray(g+f.headerLength,g+h);l.push({data:y,size:f.frameLength,duration:a.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}g+=h}}}if(!n||null==u){if(!e.getVideoData().length||(u=i.startTime*o,n=shaka.util.MimeUtils.splitCodecs(t.codecs),!(e=shaka.util.ManifestParserUtils.guessCodecsSafe(shaka.util.ManifestParserUtils.ContentType.AUDIO,n))||!t.channelsCount||!t.audioSamplingRate)||(n={sampleRate:t.audioSamplingRate,channelCount:t.channelsCount,codec:e},!(e=a.getSilentFrame(e,t.channelsCount))))throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);for(i=u+(i.endTime-i.startTime)*o,s=u;s<i;)l.push({data:e,size:e.byteLength,duration:a.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),s+=a.AAC_SAMPLES_PER_FRAME/n.sampleRate*o}return o=u/o*(a=n.sampleRate),{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:n.co
1dec,encrypted:t.encrypted&&0<t.drmInfos.length,timescale:a,duration:r,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:o,samples:l},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getAc3StreamInfo_=function(e,t,r,i){var n=shaka.transmuxer.Ac3,a=shaka.util.TsParser.Timescale,o=[],s=0,l=new Uint8Array([]),u=null;e=$jscomp.makeIterator(e.getAudioData());for(var d=e.next();!d.done;d=e.next()){var c=d.value;for(d=c.data,null==u&&null!==c.pts&&(u=c.pts),c=0;c<d.length;){var p=n.parseFrame(d,c);if(p){t.audioSamplingRate=p.sampleRate,t.channelsCount=p.channelCount,s=p.sampleRate,l=p.audioConfig;var m=d.subarray(c,c+p.frameLength);o.push({data:m,size:p.frameLength,duration:n.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),c+=p.frameLength}else c++}}if(0==s||0==l.byteLength||null==u)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);return i=u/a*s,{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:s,duration:r,videoNalus:[],audioConfig:l,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:i,samples:o},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getEc3StreamInfo_=function(e,t,r,i){var n=shaka.transmuxer.Ec3,a=shaka.util.TsParser.Timescale,o=[],s=0,l=new Uint8Array([]),u=null;e=$jscomp.makeIterator(e.getAudioData());for(var d=e.next();!d.done;d=e.next()){var c=d.value;for(d=c.data,null==u&&null!==c.pts&&(u=c.pts),c=0;c<d.length;){var p=n.parseFrame(d,c);if(p){t.audioSamplingRate=p.sampleRate,t.channelsCount=p.channelCount,s=p.sampleRate,l=p.audioConfig;var m=d.subarray(c,c+p.frameLength);o.push({data:m,size:p.frameLength,duration:n.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),c+=p.frameLength}else c++}}if(0==s||0==l.byteLength||null==u)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);return i=u/a*s,{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:s,duration:r,videoNalus:[],audioConfig:l,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:i,samples:o},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getMp3StreamInfo_=function(e,t,r,i){var n,a=shaka.transmuxer.MpegAudio,o=shaka.util.TsParser.Timescale,s=[],l=null;e=$jscomp.makeIterator(e.getAudioData());for(var u=e.next();!u.done;u=e.next()){var d=u.value;if(u=d.data)for(null==l&&null!==d.pts&&(l=d.pts),d=0;d<u.length;){var c=a.parseHeader(u,d);c?(n||(n=c),d+c.frameLength<=u.length&&s.push({data:u.subarray(d,d+c.frameLength),size:c.frameLength,duration:a.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),d+=c.frameLength):d++}}if(!n||null==l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);return o=l/o*(i=n.sampleRate),{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"mp3",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:i,duration:r,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:o,samples:s},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getOpusStreamInfo_=function(e,t,r,i){var n=shaka.transmuxer.Opus,a=shaka.util.TsParser.Timescale,o=[],s=null,l=e.getOpusMetadata();if(!l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);var u=n.getAudioConfig(l),d=l.sampleRate;e=$jscomp.makeIterator(e.getAudioData());for(var c=e.next();!c.done;c=e.next()){var p=c.value;c=p.data,null==s&&null!==p.pts&&(s=p.pts);for(var m=0;m<c.length;){p=0!=(16&c[m+1]);var f=0!=(8&c[m+1]);m+=2;for(var g=0;255===c[m];)g+=255,m+=1;g+=c[m],m+=1,m+=2*!!p,m+=2*!!f,p=c.slice(m,m+g),o.push({data:p,size:p.byteLength,duration:n.OPUS_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),m+=g}}if(0==u.byteLength||null==s)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);
1return t.audioSamplingRate=l.sampleRate,t.channelsCount=l.channelCount,i=s/a*d,{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"opus",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:d,duration:r,videoNalus:[],audioConfig:u,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:i,samples:o},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getAvcStreamInfo_=function(e,t,r,i){var n=shaka.transmuxer.H264,a=shaka.util.TsParser.Timescale,o=[],s=null;e=e.getVideoData();var l=n.getVideoSamples(e);if(!l.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA,i?i.getUris()[0]:null);for(var u=0;u<l.length;u++){var d=l[u];null==s&&(s=d.dts),o.push({data:d.data,size:d.data.byteLength,duration:u+1<l.length?(l[u+1].dts||0)-(d.dts||0):1<l.length?(d.dts||0)-(l[u-1].dts||0):(i.endTime-i.startTime)*a,cts:Math.round((d.pts||0)-(d.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:d.isKeyframe?2:1,isNonSync:+!d.isKeyframe}})}for(l=[],u=(e=$jscomp.makeIterator(e)).next();!u.done;u=e.next())l.push.apply(l,$jscomp.arrayFromIterable(u.value.nalus));if(!(n=n.parseInfo(l))||null==s)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);return t.height=n.height,t.width=n.width,{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,codecs:"avc1",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:a,duration:r,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:n.videoConfig,hSpacing:n.hSpacing,vSpacing:n.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:s,samples:o},stream:t}},shaka.transmuxer.TsTransmuxer.prototype.getHvcStreamInfo_=function(e,t,r,i){var n=shaka.transmuxer.H265,a=shaka.util.TsParser.Timescale,o=[],s=null,l=[];if(!(e=e.getVideoData()).length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA,i?i.getUris()[0]:null);for(var u=0;u<e.length;u++){var d=e[u],c=d.nalus;l.push.apply(l,$jscomp.arrayFromIterable(c)),(c=n.parseFrame(c))&&(null==s&&null!=d.dts&&(s=d.dts),o.push({data:c.data,size:c.data.byteLength,duration:u+1<e.length?(e[u+1].dts||0)-(d.dts||0):1<e.length?(d.dts||0)-(e[u-1].dts||0):(i.endTime-i.startTime)*a,cts:Math.round((d.pts||0)-(d.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:c.isKeyframe?2:1,isNonSync:+!c.isKeyframe}}))}if(!(n=n.parseInfo(l))||null==s)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,i?i.getUris()[0]:null);return t.height=n.height,t.width=n.width,{id:t.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,codecs:"hvc1",encrypted:t.encrypted&&0<t.drmInfos.length,timescale:a,duration:r,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:n.videoConfig,hSpacing:n.hSpacing,vSpacing:n.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:s,samples:o},stream:t}},goog.exportSymbol("shaka.transmuxer.TsTransmuxer",shaka.transmuxer.TsTransmuxer),goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"transmux",shaka.transmuxer.TsTransmuxer.prototype.transmux),goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.TsTransmuxer.prototype.getOriginalMimeType),goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"convertCodecs",shaka.transmuxer.TsTransmuxer.prototype.convertCodecs),goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"isSupported",shaka.transmuxer.TsTransmuxer.prototype.isSupported),goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"destroy",shaka.transmuxer.TsTransmuxer.prototype.destroy),shaka.transmuxer.TsTransmuxer.SUPPORTED_AUDIO_CODECS_=["aac","ac-3","ec-3","mp3","opus"],shaka.transmuxer.TsTransmuxer.SUPPORTED_VIDEO_CODECS_=["avc","hevc"],shaka.transmuxer.TransmuxerEngine.registerTransmuxer("video/mp2t",function(){return new shaka.transmuxer.TsTransmuxer("video/mp2t")},shaka.transmuxer.TransmuxerEngine.PluginPriority.PREFERRED);var EmeEncryptionSchemePolyfill=function(){};EmeEncryptionSchemePolyfill.install=function(){EmeEncryptionSchemePolyfill.originalRMKSA_||navigator.emeEncryptionSchemePolyfilled?console.debug("EmeEncryptionSchemePolyfill: Already installed."):navigator.requestMediaKeySystemAccess&&MediaKeySystemAccess.prototype.getConfiguration?(EmeEncryptionSchemePolyfill.originalRMKSA_=navigator.requestMediaKeySystemAccess,console.debug("EmeEncryptionSchemePolyfill: Waiting to detect encryptionScheme support."),navigator.requestMediaKeySystemAccess=EmeEncryptionSchemePolyfill.probeRMKSA_,navigator.emeEncryptionSchemePolyfilled=!0):console.debug("EmeEncryptionSchemePolyfill: EME not found")},EmeEncryptionSchemePolyfill.probeRMKSA_=function(e,t){var r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){return 1==n.nextAddress?(console.assert(i==navigator,'bad "this" for requestMediaKeySystemAccess'),n.yield(EmeEncryptionSchemePolyfill.originalRMKSA_.call(i,e,t),2)):hasEncryptionScheme(r=n.yieldResult)?(console.debug("EmeEncryptionSchemePolyfill: Native encryptionScheme support found."),navigator.requestMediaKeySystemAccess=EmeEncryptionSchemePolyfill.originalRMKSA_,n.return(r)):(console.debug("EmeEncryptionSchemePolyfill: No native encryptionScheme support found. Patching encryptionScheme support."),navigator.requestMediaKeySystemAccess=EmeEncryptionSchemePolyfill.polyfillRMKSA_,n.return(EmeEncryptionSchemePolyfill.polyfillRMKSA_.call(i,e,t)))})},EmeEncryptionSchemePolyfill.polyfillRMKSA_=function(e,t){var r,i,n,a,o,s,l,u,d,c,p,m,f=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress){for(console.assert(f==navigator,'bad "this" for requestMediaKeySystemAccess'),r=guessSupportedScheme(e),i=[],a=(n=$jscomp.makeIterator(t)).next();!a.done;a=n.next())o=a.value,s=EmeEncryptionSchemePolyfill.filterCapabilities_(o.videoCapabilities,r),l=EmeEncryptionSchemePolyfill.filterCapabilities_(o.audioCapabilities,r),o.videoCapabilities&&o.videoCapabilities.length&&!s.length||o.audioCapabilities&&o.audioCapabilities.length&&!l.length||((u=Object.assign({},o)).videoCapabilities=s,u.audioCapabilities=l,i.push(u));if(!i.length)throw(d=Error("Unsupported keySystem or supportedConfigurations.")).name="NotSupportedError",d.code=DOMException.NOT_SUPPORTED_ERR,d;return g.yield(EmeEncryptionSchemePolyfill.originalRMKSA_.call(f,e,i),2)}
1return c=g.yieldResult,m=p=null,i[0]&&(i[0].videoCapabilities&&(p=i[0].videoCapabilities[0].encryptionScheme),i[0].audioCapabilities&&(m=i[0].audioCapabilities[0].encryptionScheme)),g.return(new EmeEncryptionSchemePolyfillMediaKeySystemAccess(c,p,m))})},EmeEncryptionSchemePolyfill.filterCapabilities_=function(e,t){return e?e.filter(function(e){return checkSupportedScheme(e.encryptionScheme,t)}):e},goog.exportSymbol("EmeEncryptionSchemePolyfill",EmeEncryptionSchemePolyfill),goog.exportProperty(EmeEncryptionSchemePolyfill,"install",EmeEncryptionSchemePolyfill.install);var McEncryptionSchemePolyfill=function(){};McEncryptionSchemePolyfill.install=function(){McEncryptionSchemePolyfill.originalDecodingInfo_||navigator.mediaCapabilitiesEncryptionSchemePolyfilled?console.debug("McEncryptionSchemePolyfill: Already installed."):navigator.mediaCapabilities?(McEncryptionSchemePolyfill.originalDecodingInfo_=navigator.mediaCapabilities.decodingInfo,console.debug("McEncryptionSchemePolyfill: Waiting to detect encryptionScheme support."),navigator.mediaCapabilities.decodingInfo=McEncryptionSchemePolyfill.probeDecodingInfo_,navigator.mediaCapabilitiesEncryptionSchemePolyfilled=!0):console.debug("McEncryptionSchemePolyfill: MediaCapabilities not found")},McEncryptionSchemePolyfill.probeDecodingInfo_=function(e){var t,r,i=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:return console.assert(i==navigator.mediaCapabilities,'bad "this" for decodingInfo'),n.yield(McEncryptionSchemePolyfill.originalDecodingInfo_.call(i,e),2);case 2:if(!(t=n.yieldResult).supported||!e.keySystemConfiguration)return n.return(t);if((r=t.keySystemAccess)&&hasEncryptionScheme(r))return console.debug("McEncryptionSchemePolyfill: Native encryptionScheme support found."),navigator.mediaCapabilities.decodingInfo=McEncryptionSchemePolyfill.originalDecodingInfo_,n.return(t);if(console.debug("McEncryptionSchemePolyfill: No native encryptionScheme support found. Patching encryptionScheme support."),navigator.mediaCapabilities.decodingInfo=McEncryptionSchemePolyfill.polyfillDecodingInfo_,r){n.jumpTo(3);break}return n.yield(McEncryptionSchemePolyfill.getMediaKeySystemAccess_(e),4);case 4:return t.keySystemAccess=n.yieldResult,n.return(t);case 3:return n.return(McEncryptionSchemePolyfill.polyfillDecodingInfo_.call(i,e))}})},McEncryptionSchemePolyfill.polyfillDecodingInfo_=function(e){var t,r,i,n,a,o,s,l=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:return console.assert(l==navigator.mediaCapabilities,'bad "this" for decodingInfo'),r=t=null,!e.keySystemConfiguration||(n=(i=e.keySystemConfiguration).keySystem,r=i.audio&&i.audio.encryptionScheme,t=i.video&&i.video.encryptionScheme,a=guessSupportedScheme(n),o={powerEfficient:!1,smooth:!1,supported:!1,keySystemAccess:null,configuration:e},checkSupportedScheme(r,a)&&checkSupportedScheme(t,a))?u.yield(McEncryptionSchemePolyfill.originalDecodingInfo_.call(l,e),2):u.return(o);case 2:if((s=u.yieldResult).keySystemAccess){s.keySystemAccess=new EmeEncryptionSchemePolyfillMediaKeySystemAccess(s.keySystemAccess,t,r),u.jumpTo(3);break}if(!e.keySystemConfiguration){u.jumpTo(3);break}return u.yield(McEncryptionSchemePolyfill.getMediaKeySystemAccess_(e),5);case 5:s.keySystemAccess=u.yieldResult;case 3:return u.return(s)}})},McEncryptionSchemePolyfill.getMediaKeySystemAccess_=function(e){var t,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(i){return 1==i.nextAddress?(t=McEncryptionSchemePolyfill.convertToMediaKeySystemConfig_(e),i.yield(navigator.requestMediaKeySystemAccess(e.keySystemConfiguration.keySystem,[t]),2)):(r=i.yieldResult,i.return(r))})},McEncryptionSchemePolyfill.convertToMediaKeySystemConfig_=function(e){var t=e.keySystemConfiguration,r=[],i=[];return t.audio&&r.push({robustness:t.audio.robustness||"",contentType:e.audio.contentType,encryptionScheme:t.audio.encryptionScheme}),t.video&&i.push({robustness:t.video.robustness||"",contentType:e.video.contentType,encryptionScheme:t.video.encryptionScheme}),e={initDataTypes:t.initDataType?[t.initDataType]:[],distinctiveIdentifier:t.distinctiveIdentifier,persistentState:t.persistentState,sessionTypes:t.sessionTypes},r.length&&(e.audioCapabilities=r),i.length&&(e.videoCapabilities=i),e},goog.exportSymbol("McEncryptionSchemePolyfill",McEncryptionSchemePolyfill),goog.exportProperty(McEncryptionSchemePolyfill,"install",McEncryptionSchemePolyfill.install);var EmeEncryptionSchemePolyfillMediaKeySystemAccess=function(e,t,r){this.mksa_=e,this.videoScheme_=t||null,this.audioScheme_=r||null,this.keySystem=e.keySystem};function guessSupportedScheme(e){return e.startsWith("com.widevine")||e.startsWith("com.microsoft")||e.startsWith("com.chromecast")||e.startsWith("com.adobe")||e.startsWith("org.w3")?"cenc":e.startsWith("com.apple")?"cbcs":e.startsWith("com.huawei")?"cenc":(console.warn("EmeEncryptionSchemePolyfill: Unknown key system:",e,"Please contribute!"),null)}function hasEncryptionScheme(e){var t=(e=e.getConfiguration()).audioCapabilities&&e.audioCapabilities[0];return!!(e=e.videoCapabilities&&e.videoCapabilities[0]||t)&&void 0!==e.encryptionScheme}function checkSupportedScheme(e,t){return!e||e==t||("cbcs"==e||"cbcs-1-9"==e)&&(!!EncryptionSchemePolyfills.isRecentFirefox||!!EncryptionSchemePolyfills.isRecentWebOS||!!EncryptionSchemePolyfills.isChromecast)}EmeEncryptionSchemePolyfillMediaKeySystemAccess.prototype.getConfiguration=function(){var e=this.m
1ksa_.getConfiguration();if(e.videoCapabilities)for(var t=$jscomp.makeIterator(e.videoCapabilities),r=t.next();!r.done;r=t.next())r.value.encryptionScheme=this.videoScheme_;if(e.audioCapabilities)for(r=(t=$jscomp.makeIterator(e.audioCapabilities)).next();!r.done;r=t.next())r.value.encryptionScheme=this.audioScheme_;return e},EmeEncryptionSchemePolyfillMediaKeySystemAccess.prototype.createMediaKeys=function(){return this.mksa_.createMediaKeys()};var EncryptionSchemePolyfills=function(){};EncryptionSchemePolyfills.install=function(){EmeEncryptionSchemePolyfill.install(),McEncryptionSchemePolyfill.install()},goog.exportSymbol("EncryptionSchemePolyfills",EncryptionSchemePolyfills),goog.exportProperty(EncryptionSchemePolyfills,"install",EncryptionSchemePolyfills.install),EncryptionSchemePolyfills.isChromecast=navigator.userAgent.includes("CrKey"),EncryptionSchemePolyfills.isRecentFirefox=100<=parseInt(navigator.userAgent.split("Firefox/").pop(),10),EncryptionSchemePolyfills.isRecentWebOS=function(){var e=navigator.userAgent||"";return!!e.includes("Web0S")&&!!(e=e.match(/Chrome\/(\d+)/))&&79<=parseInt(e[1],10)}(),void 0!==module&&module.exports&&(module.exports=EncryptionSchemePolyfills)}).call(exportTo,innerGlobal,innerGlobal,void 0),exportTo.shaka)exports[k]=exportTo.shaka[k]}()}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.