l(n.handlers||{},o)&&r(e,o)}}}function cs(e,t,i){var n=ns.has(e)?ns.get(e):{},r=e.parentNode||e.ownerDocument
"string"==typeof t?t={type:t,target:e}:t.target||(t.target=e)
t=ss(t)
n.dispatcher&&n.dispatcher.call(e,t,i)
if(r&&!t.isPropagationStopped()&&!0===t.bubbles)cs.call(null,r,t,i)
else if(!r&&!t.defaultPrevented&&t.target&&t.target[t.type]){ns.has(t.target)||ns.set(t.target,{})
var a=ns.get(t.target)
if(t.target[t.type]){a.disabled=!0
"function"==typeof t.target[t.type]&&t.target[t.type]()
a.disabled=!1}}return!t.defaultPrevented}function ds(e,t,i){if(Array.isArray(t))return as(ds,e,t,i)
var n=function n(){ls(e,t,n)
i.apply(this,arguments)}
n.guid=i.guid=i.guid||ts()
us(e,t,n)}function hs(e,t,i){var n=function n(){ls(e,t,n)
i.apply(this,arguments)}
n.guid=i.guid=i.guid||ts()
us(e,t,n)}var ps,fs=Object.freeze({__proto__:null,fixEvent:ss,on:us,off:ls,trigger:cs,one:ds,any:hs}),ms=30,gs=function(e,t,i){t.guid||(t.guid=ts())
var n=t.bind(e)
n.guid=i?i+"_"+t.guid:t.guid
return n},vs=function(e,t){var i=x.performance.now()
return function(){var n=x.performance.now()
if(n-i>=t){e.apply(void 0,arguments)
i=n}}},ys=function(){}
ys.prototype.allowedEvents_={}
ys.prototype.on=function(e,t){var i=this.addEventListener
this.addEventListener=function(){}
us(this,e,t)
this.addEventListener=i}
ys.prototype.addEventListener=ys.prototype.on
ys.prototype.off=function(e,t){ls(this,e,t)}
ys.prototype.removeEventListener=ys.prototype.off
ys.prototype.one=function(e,t){var i=this.addEventListener
this.addEventListener=function(){}
ds(this,e,t)
this.addEventListener=i}
ys.prototype.any=function(e,t){var i=this.addEventListener
this.addEventListener=function(){}
hs(this,e,t)
this.addEventListener=i}
ys.prototype.trigger=function(e){var t=e.type||e
"string"==typeof e&&(e={type:t})
e=ss(e)
this.allowedEvents_[t]&&this["on"+t]&&this["on"+t](e)
cs(this,e)}
ys.prototype.dispatchEvent=ys.prototype.trigger
ys.prototype.queueTrigger=function(e){var t=this
ps||(ps=new Map)
var i=e.type||e,n=ps.get(this)
if(!n){n=new Map
ps.set(this,n)}var r=n.get(i)
n.delete(i)
x.clearTimeout(r)
var a=x.setTimeout((function(){if(0===n.size){n=null
ps.delete(t)}t.trigger(e)}),0)
n.set(i,a)}
var _s=function(e){return"function"==typeof e.name?e.name():"string"==typeof e.name?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e},bs=function(e){return e instanceof ys||!!e.eventBusEl_&&["on","one","off","trigger"].every((function(t){return"function"==typeof e[t]}))},Ts=function(e){return"string"==typeof e&&/\S/.test(e)||Array.isArray(e)&&!!e.length},ks=function(e,t,i){if(!e||!e.nodeName&&!bs(e))throw new Error("Invalid target for "+_s(t)+"#"+i+"; must be a DOM node or evented object.")},Ss=function(e,t,i){if(!Ts(e))throw new Error("Invalid event type for "+_s(t)+"#"+i+"; must be a non-empty string or array.")},Es=function(e,t,i){if("function"!=typeof e)throw new Error("Invalid listener for "+_s(t)+"#"+i+"; must be a function.")},Cs=function(e,t,i){var n,r,a,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_
if(s){n=e.eventBusEl_
t.length>=3&&t.shift()
r=t[0]
a=t[1]}else{n=t[0]
r=t[1]
a=t[2]}ks(n,e,i)
Ss(r,e,i)
Es(a,e,i)
return{isTargetingSelf:s,target:n,type:r,listener:a=gs(e,a)}},ws=function(e,t,i,n){ks(e,e,t)
e.nodeName?fs[t](e,i,n):e[t](i,n)},Is={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n]
var r=Cs(this,i,"on"),a=r.isTargetingSelf,s=r.target,o=r.type,u=r.listener
ws(s,"on",o,u)
if(!a){var l=function(){return e.off(s,o,u)}
l.guid=u.guid
var c=function(){return e.off("dispose",l)}
c.guid=u.guid
ws(this,"on","dispose",l)
ws(s,"on","dispose",c)}},one:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n]
var r=Cs(this,i,"one"),a=r.isTargetingSelf,s=r.target,o=r.type,u=r.listener
if(a)ws(s,"one",o,u)
else{var l=function t(){e.off(s,o,t)
for(var i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r]
u.apply(null,n)}
l.guid=u.guid
ws(s,"one",o,l)}},any:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n]
var r=Cs(this,i,"any"),a=r.isTargetingSelf,s=r.target,o=r.type,u=r.listener
if(a)ws(s,"any",o,u)
else{var l=function t(){e.off(s,o,t)
for(var i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r]
u.apply(null,n)}
l.guid=u.guid
ws(s,"any",o,l)}},off:function(e,t,i){if(!e||Ts(e))ls(this.eventBusEl_,e,t)
else{var n=e,r=t
ks(n,this,"off")
Ss(r,this,"off")
Es(i,this,"off")
i=gs(this,i)
this.off("dispose",i)
if(n.nodeName){ls(n,r,i)
ls(n,"dispose",i)}else if(bs(n)){n.off(r,i)
n.off("dispose",i)}}},trigger:function(e,t){ks(this.eventBusEl_,this,"trigger")
var i=e&&"string"!=typeof e?e.type:e
if(!Ts(i)){var n="Invalid event type for "+_s(this)+"#trigger; must be a non-empty string or object with a type key that has a non-empty value."
if(!e)throw new Error(n);(this.log||Ur).error(n)}return cs(this.eventBusEl_,e,t)}}
function Ps(e,t){void 0===t&&(t={})
var i=t.eventBusKey
if(i){if(!e[i].nodeName)throw new Error('The eventBusKey "'+i+'" does not refer to an element.')
e.eventBusEl_=e[i]}else e.eventBusEl_=ba("span",{className:"vjs-event-bus"})
Hr(e,Is)
e.eventedCallbacks&&e.eventedCallbacks.forEach((function(e){e()}))
e.on("dispose",(function(){e.off();[e,e.el_,e.eventBusEl_].forEach((function(e){e&&ns.has(e)&&ns.delete(e)}))
x.setTimeout((function(){e.eventBusEl_=null}),0)}))
return e}var xs={state:{},setState:function(e){var t,i=this
"function"==typeof e&&(e=e())
Vr(e,(function(e,n){i.state[n]!==e&&((t=t||{})[n]={from:i.state[n],to:e})
i.state[n]=e}))
t&&bs(this)&&this.trigger({changes:t,type:"statechanged"})
return t}}
function As(e,t){Hr(e,xs)
e.state=Hr({},e.state,t)
"function"==typeof e.handleStateChanged&&bs(e)&&e.on("statechanged",e.handleStateChanged)
return e}var Os=function(e){return"string"!=typeof e?e:e.replace(/./,(function(e){return e.toLowerCase()}))},Ls=function(e){return"string"!=typeof e?e:e.replace(/./,(function(e){return e.toUpperCase()}))}
function Ds(){for(var e={},t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n]
i.forEach((function(t){t&&Vr(t,(function(t,i){if(Wr(t)){Wr(e[i])||(e[i]={})
e[i]=Ds(e[i],t)}else e[i]=t}))}))
return e}var Rs=function(){function e(){this.map_={}}var t=e.prototype
t.has=function(e){return e in this.map_}
t.delete=function(e){var t=this.has(e)
delete this.map_[e]
return t}
t.set=function(e,t){this.map_[e]=t
return this}
t.forEach=function(e,t){for(var i in this.map_)e.call(t,this.map_[i],i,this)}
return e}(),Ms=x.Map?x.Map:Rs,Ns=function(){function e(){this.set_={}}var t=e.prototype
t.has=function(e){return e in this.set_}
t.delete=function(e){var t=this.has(e)
delete this.set_[e]
return t}
t.add=function(e){this.set_[e]=1
return this}
t.forEach=function(e,t){for(var i in this.set_)e.call(t,i,i,this)}
return e}(),Us=x.Set?x.Set:Ns,Bs=function(){function e(e,t,i){var n=this
!e&&this.play?this.player_=e=this:this.player_=e
this.isDisposed_=!1
this.parentComponent_=null
this.options_=Ds({},this.options_)
t=this.options_=Ds(this.options_,t)
this.id_=t.id||t.el&&t.el.id
if(!this.id_){var r=e&&e.id&&e.id()||"no_player"
this.id_=r+"_component_"+ts()}this.name_=t.name||null
t.el?this.el_=t.el:!1!==t.createEl&&(this.el_=this.createEl())
t.className&&this.el_&&t.className.split(" ").forEach((function(e){return n.addClass(e)}))
if(!1!==t.evented){Ps(this,{eventBusKey:this.el_?"el_":null})
this.handleLanguagechange=this.handleLanguagechange.bind(this)
this.on(this.player_,"languagechange",this.handleLanguagechange)}As(this,this.constructor.defaultState)
this.children_=[]
this.childIndex_={}
this.childNameIndex_={}
this.setTimeoutIds_=new Us
this.setIntervalIds_=new Us
this.rafIds_=new Us
this.namedRafs_=new Ms
this.clearingTimersOnDispose_=!1
!1!==t.initChildren&&this.initChildren()
this.ready(i)
!1!==t.reportTouchActivity&&this.enableTouchActivity()}var t=e.prototype
t.dispose=function(){if(!this.isDisposed_){this.readyQueue_&&(this.readyQueue_.length=0)
this.trigger({type:"dispose",bubbles:!1})
this.isDisposed_=!0
if(this.children_)for(var e=this.children_.length-1;e>=0;e--)this.children_[e].dispose&&this.children_[e].dispose()
this.children_=null
this.childIndex_=null
this.childNameIndex_=null
this.parentComponent_=null
if(this.el_){this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_)
this.el_=null}this.player_=null}}
t.isDisposed=function(){return Boolean(this.isDisposed_)}
t.player=function(){return this.player_}
t.options=function(e){if(!e)return this.options_
this.options_=Ds(this.options_,e)
return this.options_}
t.el=function(){return this.el_}
t.createEl=function(e,t,i){return ba(e,t,i)}
t.localize=function(e,t,i){void 0===i&&(i=e)
var n=this.player_.language&&this.player_.language(),r=this.player_.languages&&this.player_.languages(),a=r&&r[n],s=n&&n.split("-")[0],o=r&&r[s],u=i
a&&a[e]?u=a[e]:o&&o[e]&&(u=o[e])
t&&(u=u.replace(/\{(\d+)\}/g,(function(e,i){var n=t[i-1],r=n
void 0===n&&(r=e)
return r})))
return u}
t.handleLanguagechange=function(){}
t.contentEl=function(){return this.contentEl_||this.el_}
t.id=function(){return this.id_}
t.name=function(){return this.name_}
t.children=function(){return this.children_}
t.getChildById=function(e){return this.childIndex_[e]}
t.getChild=function(e){if(e)return this.childNameIndex_[e]}
t.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i]
t=t.reduce((function(e,t){return e.concat(t)}),[])
for(var n=this,r=0;r<t.length;r++)if(!(n=n.getChild(t[r]))||!n.getChild)return
return n}
t.addChild=function(t,i,n){void 0===i&&(i={})
void 0===n&&(n=this.children_.length)
var r,a
if("string"==typeof t){a=Ls(t)
var s=i.componentClass||a
i.name=a
var o=e.getComponent(s)
if(!o)throw new Error("Component "+s+" does not exist")
if("function"!=typeof o)return null
r=new o(this.player_||this,i)}else r=t
r.parentComponent_&&r.parentComponent_.removeChild(r)
this.children_.splice(n,0,r)
r.parentComponent_=this
"function"==typeof r.id&&(this.childIndex_[r.id()]=r)
if(a=a||r.name&&Ls(r.name())){this.childNameIndex_[a]=r
this.childNameIndex_[Os(a)]=r}if("function"==typeof r.el&&r.el()){var u=null
this.children_[n+1]&&(this.children_[n+1].el_?u=this.children_[n+1].el_:va(this.children_[n+1])&&(u=this.children_[n+1]))
this.contentEl().insertBefore(r.el(),u)}return r}
t.removeChild=function(e){"string"==typeof e&&(e=this.getChild(e))
if(e&&this.children_){for(var t=!1,i=this.children_.length-1;i>=0;i--)if(this.children_[i]===e){t=!0
this.children_.splice(i,1)
break}if(t){e.parentComponent_=null
this.childIndex_[e.id()]=null
this.childNameIndex_[Ls(e.name())]=null
this.childNameIndex_[Os(e.name())]=null
var n=e.el()
n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}}
t.initChildren=function(){var t=this,i=this.options_.children
if(i){var n,r=this.options_,a=e.getComponent("Tech");(n=Array.isArray(i)?i:Object.keys(i)).concat(Object.keys(this.options_).filter((function(e){return!n.some((function(t){return"string"==typeof t?e===t:e===t.name}))}))).map((function(e){var n,r
if("string"==typeof e)r=i[n=e]||t.options_[n]||{}
else{n=e.name
r=e}return{name:n,opts:r}})).filter((function(t){var i=e.getComponent(t.opts.componentClass||Ls(t.name))
return i&&!a.isTech(i)})).forEach((function(e){var i=e.name,n=e.opts
void 0!==r[i]&&(n=r[i])
if(!1!==n){!0===n&&(n={})
n.playerOptions=t.options_.playerOptions
var a=t.addChild(i,n)
a&&(t[i]=a)}}))}}
t.buildCSSClass=function(){return""}
t.ready=function(e,t){void 0===t&&(t=!1)
if(e)if(this.isReady_)t?e.call(this):this.setTimeout(e,1)
else{this.readyQueue_=this.readyQueue_||[]
this.readyQueue_.push(e)}}
t.triggerReady=function(){this.isReady_=!0
this.setTimeout((function(){var e=this.readyQueue_
this.readyQueue_=[]
e&&e.length>0&&e.forEach((function(e){e.call(this)}),this)
this.trigger("ready")}),1)}
t.$=function(e,t){return Wa(e,t||this.contentEl())}
t.$$=function(e,t){return Ga(e,t||this.contentEl())}
t.hasClass=function(e){return Sa(this.el_,e)}
t.addClass=function(e){Ea(this.el_,e)}
t.removeClass=function(e){Ca(this.el_,e)}
t.toggleClass=function(e,t){wa(this.el_,e,t)}
t.show=function(){this.removeClass("vjs-hidden")}
t.hide=function(){this.addClass("vjs-hidden")}
t.lockShowing=function(){this.addClass("vjs-lock-showing")}
t.unlockShowing=function(){this.removeClass("vjs-lock-showing")}
t.getAttribute=function(e){return xa(this.el_,e)}
t.setAttribute=function(e,t){Aa(this.el_,e,t)}
t.removeAttribute=function(e){Oa(this.el_,e)}
t.width=function(e,t){return this.dimension("width",e,t)}
t.height=function(e,t){return this.dimension("height",e,t)}
t.dimensions=function(e,t){this.width(e,!0)
this.height(t)}
t.dimension=function(e,t,i){if(void 0===t){if(!this.el_)return 0
var n=this.el_.style[e],r=n.indexOf("px")
return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_["offset"+Ls(e)],10)}null!==t&&t==t||(t=0);-1!==(""+t).indexOf("%")||-1!==(""+t).indexOf("px")?this.el_.style[e]=t:this.el_.style[e]="auto"===t?"":t+"px"
i||this.trigger("componentresize")}
t.currentDimension=function(e){var t=0
if("width"!==e&&"height"!==e)throw new Error("currentDimension only accepts width or height value")
t=Gr(this.el_,e)
if(0===(t=parseFloat(t))||isNaN(t)){var i="offset"+Ls(e)
t=this.el_[i]}return t}
t.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}}
t.currentWidth=function(){return this.currentDimension("width")}
t.currentHeight=function(){return this.currentDimension("height")}
t.focus=function(){this.el_.focus()}
t.blur=function(){this.el_.blur()}
t.handleKeyDown=function(e){if(this.player_){M.isEventKey(e,"Tab")||e.stopPropagation()
this.player_.handleKeyDown(e)}}
t.handleKeyPress=function(e){this.handleKeyDown(e)}
t.emitTapEvents=function(){var e,t=0,i=null
this.on("touchstart",(function(n){if(1===n.touches.length){i={pageX:n.touches[0].pageX,pageY:n.touches[0].pageY}
t=x.performance.now()
e=!0}}))
this.on("touchmove",(function(t){if(t.touches.length>1)e=!1
else if(i){var n=t.touches[0].pageX-i.pageX,r=t.touches[0].pageY-i.pageY
Math.sqrt(n*n+r*r)>10&&(e=!1)}}))
var n=function(){e=!1}
this.on("touchleave",n)
this.on("touchcancel",n)
this.on("touchend",(function(n){i=null
if(!0===e){if(x.performance.now()-t<200){n.preventDefault()
this.trigger("tap")}}}))}
t.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var e,t=gs(this.player(),this.player().reportUserActivity)
this.on("touchstart",(function(){t()
this.clearInterval(e)
e=this.setInterval(t,250)}))
var i=function(i){t()
this.clearInterval(e)}
this.on("touchmove",t)
this.on("touchend",i)
this.on("touchcancel",i)}}
t.setTimeout=function(e,t){var i,n=this
e=gs(this,e)
this.clearTimersOnDispose_()
i=x.setTimeout((function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i)
e()}),t)
this.setTimeoutIds_.add(i)
return i}
t.clearTimeout=function(e){if(this.setTimeoutIds_.has(e)){this.setTimeoutIds_.delete(e)
x.clearTimeout(e)}return e}
t.setInterval=function(e,t){e=gs(this,e)
this.clearTimersOnDispose_()
var i=x.setInterval(e,t)
this.setIntervalIds_.add(i)
return i}
t.clearInterval=function(e){if(this.setIntervalIds_.has(e)){this.setIntervalIds_.delete(e)
x.clearInterval(e)}return e}
t.requestAnimationFrame=function(e){var t,i=this
if(!this.supportsRaf_)return this.setTimeout(e,1e3/60)
this.clearTimersOnDispose_()
e=gs(this,e)
t=x.requestAnimationFrame((function(){i.rafIds_.has(t)&&i.rafIds_.delete(t)
e()}))
this.rafIds_.add(t)
return t}
t.requestNamedAnimationFrame=function(e,t){var i=this
if(!this.namedRafs_.has(e)){this.clearTimersOnDispose_()
t=gs(this,t)
var n=this.requestAnimationFrame((function(){t()
i.namedRafs_.has(e)&&i.namedRafs_.delete(e)}))
this.namedRafs_.set(e,n)
return e}}
t.cancelNamedAnimationFrame=function(e){if(this.namedRafs_.has(e)){this.cancelAnimationFrame(this.namedRafs_.get(e))
this.namedRafs_.delete(e)}}
t.cancelAnimationFrame=function(e){if(!this.supportsRaf_)return this.clearTimeout(e)
if(this.rafIds_.has(e)){this.rafIds_.delete(e)
x.cancelAnimationFrame(e)}return e}
t.clearTimersOnDispose_=function(){var e=this
if(!this.clearingTimersOnDispose_){this.clearingTimersOnDispose_=!0
this.one("dispose",(function(){[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach((function(t){var i=t[0],n=t[1]
e[i].forEach((function(t,i){return e[n](i)}))}))
e.clearingTimersOnDispose_=!1}))}}
e.registerComponent=function(t,i){if("string"!=typeof t||!t)throw new Error('Illegal component name, "'+t+'"; must be a non-empty string.')
var n=e.getComponent("Tech"),r=n&&n.isTech(i),a=e===i||e.prototype.isPrototypeOf(i.prototype)
if(r||!a){var s
s=r?"techs must be registered using Tech.registerTech()":"must be a Component subclass"
throw new Error('Illegal component, "'+t+'"; '+s+".")}t=Ls(t)
e.components_||(e.components_={})
var o=e.getComponent("Player")
if("Player"===t&&o&&o.players){var u=o.players,l=Object.keys(u)
if(u&&l.length>0&&l.map((function(e){return u[e]})).every(Boolean))throw new Error("Can not register Player component after player has been created.")}e.components_[t]=i
e.components_[Os(t)]=i
return i}
e.getComponent=function(t){if(t&&e.components_)return e.components_[t]}
return e}()
Bs.prototype.supportsRaf_="function"==typeof x.requestAnimationFrame&&"function"==typeof x.cancelAnimationFrame
Bs.registerComponent("Component",Bs)
function Fs(e,t,i,n){!function(e,t,i){if("number"!=typeof t||t<0||t>i)throw new Error("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is non-numeric or out of bounds (0-"+i+").")}(e,n,i.length-1)
return i[n][t]}function js(e){var t
t=void 0===e||0===e.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:e.length,start:Fs.bind(null,"start",0,e),end:Fs.bind(null,"end",1,e)}
x.Symbol&&x.Symbol.iterator&&(t[x.Symbol.iterator]=function(){return(e||[]).values()})
return t}function Vs(e,t){return Array.isArray(e)?js(e):void 0===e||void 0===t?js():js([[e,t]])}function Hs(e,t){var i,n,r=0
if(!t)return 0
e&&e.length||(e=Vs(0,0))
for(var a=0;a<e.length;a++){i=e.start(a);(n=e.end(a))>t&&(n=t)
r+=n-i}return r/t}function qs(e){if(e instanceof qs)return e
if("number"==typeof e)this.code=e
else if("string"==typeof e)this.message=e
else if(qr(e)){"number"==typeof e.code&&(this.code=e.code)
Hr(this,e)}this.message||(this.message=qs.defaultMessages[this.code]||"")}qs.prototype.code=0
qs.prototype.message=""
qs.prototype.status=null
qs.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"]
qs.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."}
for(var Ws=0;Ws<qs.errorTypes.length;Ws++){qs[qs.errorTypes[Ws]]=Ws
qs.prototype[qs.errorTypes[Ws]]=Ws}function Gs(e){return null!=e&&"function"==typeof e.then}function zs(e){Gs(e)&&e.then(null,(function(e){}))}var Ks=function(e){return["kind","label","language","id","inBandMetadataTrackDispatchType","mode","src"].reduce((function(t,i,n){e[i]&&(t[i]=e[i])
return t}),{cues:e.cues&&Array.prototype.map.call(e.cues,(function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}}))})},Xs=function(e){var t=e.$$("track"),i=Array.prototype.map.call(t,(function(e){return e.track}))
return Array.prototype.map.call(t,(function(e){var t=Ks(e.track)
e.src&&(t.src=e.src)
return t})).concat(Array.prototype.filter.call(e.textTracks(),(function(e){return-1===i.indexOf(e)})).map(Ks))},Ys=function(e,t){e.forEach((function(e){var i=t.addRemoteTextTrack(e).track
!e.src&&e.cues&&e.cues.forEach((function(e){return i.addCue(e)}))}))
return t.textTracks()},Qs="vjs-modal-dialog",$s=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).handleKeyDown_=function(e){return n.handleKeyDown(e)}
n.close_=function(e){return n.close(e)}
n.opened_=n.hasBeenOpened_=n.hasBeenFilled_=!1
n.closeable(!n.options_.uncloseable)
n.content(n.options_.content)
n.contentEl_=ba("div",{className:Qs+"-content"},{role:"document"})
n.descEl_=ba("p",{className:Qs+"-description vjs-control-text",id:n.el().getAttribute("aria-describedby")})
Ta(n.descEl_,n.description())
n.el_.appendChild(n.descEl_)
n.el_.appendChild(n.contentEl_)
return n}var i=t.prototype
i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":this.id()+"_description","aria-hidden":"true","aria-label":this.label(),role:"dialog"})}
i.dispose=function(){this.contentEl_=null
this.descEl_=null
this.previouslyActiveEl_=null
e.prototype.dispose.call(this)}
i.buildCSSClass=function(){return Qs+" vjs-hidden "+e.prototype.buildCSSClass.call(this)}
i.label=function(){return this.localize(this.options_.label||"Modal Window")}
i.description=function(){var e=this.options_.description||this.localize("This is a modal window.")
this.closeable()&&(e+=" "+this.localize("This modal can be closed by pressing the Escape key or activating the close button."))
return e}
i.open=function(){if(!this.opened_){var e=this.player()
this.trigger("beforemodalopen")
this.opened_=!0;(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill()
this.wasPlaying_=!e.paused()
this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause()
this.on("keydown",this.handleKeyDown_)
this.hadControls_=e.controls()
e.controls(!1)
this.show()
this.conditionalFocus_()
this.el().setAttribute("aria-hidden","false")
this.trigger("modalopen")
this.hasBeenOpened_=!0}}
i.opened=function(e){"boolean"==typeof e&&this[e?"open":"close"]()
return this.opened_}
i.close=function(){if(this.opened_){var e=this.player()
this.trigger("beforemodalclose")
this.opened_=!1
this.wasPlaying_&&this.options_.pauseOnOpen&&e.play()
this.off("keydown",this.handleKeyDown_)
this.hadControls_&&e.controls(!0)
this.hide()
this.el().setAttribute("aria-hidden","true")
this.trigger("modalclose")
this.conditionalBlur_()
this.options_.temporary&&this.dispose()}}
i.closeable=function(e){if("boolean"==typeof e){var t=this.closeable_=!!e,i=this.getChild("closeButton")
if(t&&!i){var n=this.contentEl_
this.contentEl_=this.el_
i=this.addChild("closeButton",{controlText:"Close Modal Dialog"})
this.contentEl_=n
this.on(i,"close",this.close_)}if(!t&&i){this.off(i,"close",this.close_)
this.removeChild(i)
i.dispose()}}return this.closeable_}
i.fill=function(){this.fillWith(this.content())}
i.fillWith=function(e){var t=this.contentEl(),i=t.parentNode,n=t.nextSibling
this.trigger("beforemodalfill")
this.hasBeenFilled_=!0
i.removeChild(t)
this.empty()
Va(t,e)
this.trigger("modalfill")
n?i.insertBefore(t,n):i.appendChild(t)
var r=this.getChild("closeButton")
r&&i.appendChild(r.el_)}
i.empty=function(){this.trigger("beforemodalempty")
Ba(this.contentEl())
this.trigger("modalempty")}
i.content=function(e){void 0!==e&&(this.content_=e)
return this.content_}
i.conditionalFocus_=function(){var e=L.activeElement,t=this.player_.el_
this.previouslyActiveEl_=null
if(t.contains(e)||t===e){this.previouslyActiveEl_=e
this.focus()}}
i.conditionalBlur_=function(){if(this.previouslyActiveEl_){this.previouslyActiveEl_.focus()
this.previouslyActiveEl_=null}}
i.handleKeyDown=function(e){e.stopPropagation()
if(M.isEventKey(e,"Escape")&&this.closeable()){e.preventDefault()
this.close()}else if(M.isEventKey(e,"Tab")){for(var t,i=this.focusableEls_(),n=this.el_.querySelector(":focus"),r=0;r<i.length;r++)if(n===i[r]){t=r
break}L.activeElement===this.el_&&(t=0)
if(e.shiftKey&&0===t){i[i.length-1].focus()
e.preventDefault()}else if(!e.shiftKey&&t===i.length-1){i[0].focus()
e.preventDefault()}}}
i.focusableEls_=function(){var e=this.el_.querySelectorAll("*")
return Array.prototype.filter.call(e,(function(e){return(e instanceof x.HTMLAnchorElement||e instanceof x.HTMLAreaElement)&&e.hasAttribute("href")||(e instanceof x.HTMLInputElement||e instanceof x.HTMLSelectElement||e instanceof x.HTMLTextAreaElement||e instanceof x.HTMLButtonElement)&&!e.hasAttribute("disabled")||e instanceof x.HTMLIFrameElement||e instanceof x.HTMLObjectElement||e instanceof x.HTMLEmbedElement||e.hasAttribute("tabindex")&&-1!==e.getAttribute("tabindex")||e.hasAttribute("contenteditable")}))}
return t}(Bs)
$s.prototype.options_={pauseOnOpen:!0,temporary:!0}
Bs.registerComponent("ModalDialog",$s)
var Js=function(e){B(t,e)
function t(t){var i
void 0===t&&(t=[]);(i=e.call(this)||this).tracks_=[]
Object.defineProperty(N(i),"length",{get:function(){return this.tracks_.length}})
for(var n=0;n<t.length;n++)i.addTrack(t[n])
return i}var i=t.prototype
i.addTrack=function(e){var t=this,i=this.tracks_.length
""+i in this||Object.defineProperty(this,i,{get:function(){return this.tracks_[i]}})
if(-1===this.tracks_.indexOf(e)){this.tracks_.push(e)
this.trigger({track:e,type:"addtrack",target:this})}e.labelchange_=function(){t.trigger({track:e,type:"labelchange",target:t})}
bs(e)&&e.addEventListener("labelchange",e.labelchange_)}
i.removeTrack=function(e){for(var t,i=0,n=this.length;i<n;i++)if(this[i]===e){(t=this[i]).off&&t.off()
this.tracks_.splice(i,1)
break}t&&this.trigger({track:t,type:"removetrack",target:this})}
i.getTrackById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i]
if(r.id===e){t=r
break}}return t}
return t}(ys)
Js.prototype.allowedEvents_={change:"change",addtrack:"addtrack",removetrack:"removetrack",labelchange:"labelchange"}
for(var Zs in Js.prototype.allowedEvents_)Js.prototype["on"+Zs]=null
var eo=function(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].enabled=!1)},to=function(e){B(t,e)
function t(t){var i
void 0===t&&(t=[])
for(var n=t.length-1;n>=0;n--)if(t[n].enabled){eo(t,t[n])
break}(i=e.call(this,t)||this).changing_=!1
return i}var i=t.prototype
i.addTrack=function(t){var i=this
t.enabled&&eo(this,t)
e.prototype.addTrack.call(this,t)
if(t.addEventListener){t.enabledChange_=function(){if(!i.changing_){i.changing_=!0
eo(i,t)
i.changing_=!1
i.trigger("change")}}
t.addEventListener("enabledchange",t.enabledChange_)}}
i.removeTrack=function(t){e.prototype.removeTrack.call(this,t)
if(t.removeEventListener&&t.enabledChange_){t.removeEventListener("enabledchange",t.enabledChange_)
t.enabledChange_=null}}
return t}(Js),io=function(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].selected=!1)},no=function(e){B(t,e)
function t(t){var i
void 0===t&&(t=[])
for(var n=t.length-1;n>=0;n--)if(t[n].selected){io(t,t[n])
break}(i=e.call(this,t)||this).changing_=!1
Object.defineProperty(N(i),"selectedIndex",{get:function(){for(var e=0;e<this.length;e++)if(this[e].selected)return e
return-1},set:function(){}})
return i}var i=t.prototype
i.addTrack=function(t){var i=this
t.selected&&io(this,t)
e.prototype.addTrack.call(this,t)
if(t.addEventListener){t.selectedChange_=function(){if(!i.changing_){i.changing_=!0
io(i,t)
i.changing_=!1
i.trigger("change")}}
t.addEventListener("selectedchange",t.selectedChange_)}}
i.removeTrack=function(t){e.prototype.removeTrack.call(this,t)
if(t.removeEventListener&&t.selectedChange_){t.removeEventListener("selectedchange",t.selectedChange_)
t.selectedChange_=null}}
return t}(Js),ro=function(e){B(t,e)
function t(){return e.apply(this,arguments)||this}var i=t.prototype
i.addTrack=function(t){var i=this
e.prototype.addTrack.call(this,t)
this.queueChange_||(this.queueChange_=function(){return i.queueTrigger("change")})
this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=function(){return i.trigger("selectedlanguagechange")})
t.addEventListener("modechange",this.queueChange_);-1===["metadata","chapters"].indexOf(t.kind)&&t.addEventListener("modechange",this.triggerSelectedlanguagechange_)}
i.removeTrack=function(t){e.prototype.removeTrack.call(this,t)
if(t.removeEventListener){this.queueChange_&&t.removeEventListener("modechange",this.queueChange_)
this.selectedlanguagechange_&&t.removeEventListener("modechange",this.triggerSelectedlanguagechange_)}}
return t}(Js),ao=function(){function e(e){void 0===e&&(e=[])
this.trackElements_=[]
Object.defineProperty(this,"length",{get:function(){return this.trackElements_.length}})
for(var t=0,i=e.length;t<i;t++)this.addTrackElement_(e[t])}var t=e.prototype
t.addTrackElement_=function(e){var t=this.trackElements_.length
""+t in this||Object.defineProperty(this,t,{get:function(){return this.trackElements_[t]}});-1===this.trackElements_.indexOf(e)&&this.trackElements_.push(e)}
t.getTrackElementByTrack_=function(e){for(var t,i=0,n=this.trackElements_.length;i<n;i++)if(e===this.trackElements_[i].track){t=this.trackElements_[i]
break}return t}
t.removeTrackElement_=function(e){for(var t=0,i=this.trackElements_.length;t<i;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&"function"==typeof this.trackElements_[t].track.off&&this.trackElements_[t].track.off()
"function"==typeof this.trackElements_[t].off&&this.trackElements_[t].off()
this.trackElements_.splice(t,1)
break}}
return e}(),so=function(){function e(t){e.prototype.setCues_.call(this,t)
Object.defineProperty(this,"length",{get:function(){return this.length_}})}var t=e.prototype
t.setCues_=function(e){var t=this.length||0,i=0,n=e.length
this.cues_=e
this.length_=e.length
var r=function(e){""+e in this||Object.defineProperty(this,""+e,{get:function(){return this.cues_[e]}})}
if(t<n){i=t
for(;i<n;i++)r.call(this,i)}}
t.getCueById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i]
if(r.id===e){t=r
break}}return t}
return e}(),oo={alternative:"alternative",captions:"captions",main:"main",sign:"sign",subtitles:"subtitles",commentary:"commentary"},uo={alternative:"alternative",descriptions:"descriptions",main:"main","main-desc":"main-desc",translation:"translation",commentary:"commentary"},lo={subtitles:"subtitles",captions:"captions",descriptions:"descriptions",chapters:"chapters",metadata:"metadata"},co={disabled:"disabled",hidden:"hidden",showing:"showing"},ho=function(e){B(t,e)
function t(t){var i
void 0===t&&(t={})
i=e.call(this)||this
var n={id:t.id||"vjs_track_"+ts(),kind:t.kind||"",language:t.language||""},r=t.label||"",a=function(e){Object.defineProperty(N(i),e,{get:function(){return n[e]},set:function(){}})}
for(var s in n)a(s)
Object.defineProperty(N(i),"label",{get:function(){return r},set:function(e){if(e!==r){r=e
this.trigger("labelchange")}}})
return i}return t}(ys),po=function(e){var t=["protocol","hostname","port","pathname","search","hash","host"],i=L.createElement("a")
i.href=e
for(var n={},r=0;r<t.length;r++)n[t[r]]=i[t[r]]
"http:"===n.protocol&&(n.host=n.host.replace(/:80$/,""))
"https:"===n.protocol&&(n.host=n.host.replace(/:443$/,""))
n.protocol||(n.protocol=x.location.protocol)
n.host||(n.host=x.location.host)
return n},fo=function(e){if(!e.match(/^https?:\/\//)){var t=L.createElement("a")
t.href=e
e=t.href}return e},mo=function(e){if("string"==typeof e){var t=/^(\/?)([\s\S]*?)((?:\.{1,2}|[^\/]+?)(\.([^\.\/\?]+)))(?:[\/]*|[\?].*)$/.exec(e)
if(t)return t.pop().toLowerCase()}return""},go=function(e,t){void 0===t&&(t=x.location)
var i=po(e)
return(":"===i.protocol?t.protocol:i.protocol)+i.host!==t.protocol+t.host},vo=Object.freeze({__proto__:null,parseUrl:po,getAbsoluteURL:fo,getFileExtension:mo,isCrossOrigin:go}),yo=function(e,t){var i=new x.WebVTT.Parser(x,x.vttjs,x.WebVTT.StringDecoder()),n=[]
i.oncue=function(e){t.addCue(e)}
i.onparsingerror=function(e){n.push(e)}
i.onflush=function(){t.trigger({type:"loadeddata",target:t})}
i.parse(e)
if(n.length>0){x.console&&x.console.groupCollapsed&&x.console.groupCollapsed("Text Track parsing errors for "+t.src)
n.forEach((function(e){return Ur.error(e)}))
x.console&&x.console.groupEnd&&x.console.groupEnd()}i.flush()},_o=function(e,t){var i={uri:e},n=go(e)
n&&(i.cors=n)
var r="use-credentials"===t.tech_.crossOrigin()
r&&(i.withCredentials=r)
W(i,gs(this,(function(e,i,n){if(e)return Ur.error(e,i)
t.loaded_=!0
"function"!=typeof x.WebVTT?t.tech_&&t.tech_.any(["vttjsloaded","vttjserror"],(function(e){if("vttjserror"!==e.type)return yo(n,t)
Ur.error("vttjs failed to load, stopping trying to process "+t.src)})):yo(n,t)})))},bo=function(e){B(t,e)
function t(t){var i
void 0===t&&(t={})
if(!t.tech)throw new Error("A tech was not provided.")
var n=Ds(t,{kind:lo[t.kind]||"subtitles",language:t.language||t.srclang||""}),r=co[n.mode]||"disabled",a=n.default
"metadata"!==n.kind&&"chapters"!==n.kind||(r="hidden");(i=e.call(this,n)||this).tech_=n.tech
i.cues_=[]
i.activeCues_=[]
i.preload_=!1!==i.tech_.preloadTextTracks
var s=new so(i.cues_),o=new so(i.activeCues_),u=!1
i.timeupdateHandler=gs(N(i),(function(){if(!this.tech_.isDisposed())if(this.tech_.isReady_){this.activeCues=this.activeCues
if(u){this.trigger("cuechange")
u=!1}this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)}else this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)}))
i.tech_.one("dispose",(function(){i.stopTracking()}))
"disabled"!==r&&i.startTracking()
Object.defineProperties(N(i),{default:{get:function(){return a},set:function(){}},mode:{get:function(){return r},set:function(e){if(co[e]&&r!==e){r=e
this.preload_||"disabled"===r||0!==this.cues.length||_o(this.src,this)
this.stopTracking()
"disabled"!==r&&this.startTracking()
this.trigger("modechange")}}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null
if(0===this.cues.length)return o
for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i<n;i++){var r=this.cues[i];(r.startTime<=e&&r.endTime>=e||r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e)&&t.push(r)}u=!1
if(t.length!==this.activeCues_.length)u=!0
else for(var a=0;a<t.length;a++)-1===this.activeCues_.indexOf(t[a])&&(u=!0)
this.activeCues_=t
o.setCues_(this.activeCues_)
return o},set:function(){}}})
if(n.src){i.src=n.src
i.preload_||(i.loaded_=!0);(i.preload_||"subtitles"!==n.kind&&"captions"!==n.kind)&&_o(i.src,N(i))}else i.loaded_=!0
return i}var i=t.prototype
i.startTracking=function(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler)}
i.stopTracking=function(){if(this.rvf_){this.tech_.cancelVideoFrameCallback(this.rvf_)
this.rvf_=void 0}}
i.addCue=function(e){var t=e
if(x.vttjs&&!(e instanceof x.vttjs.VTTCue)){t=new x.vttjs.VTTCue(e.startTime,e.endTime,e.text)
for(var i in e)i in t||(t[i]=e[i])
t.id=e.id
t.originalCue_=e}for(var n=this.tech_.textTracks(),r=0;r<n.length;r++)n[r]!==this&&n[r].removeCue(t)
this.cues_.push(t)
this.cues.setCues_(this.cues_)}
i.removeCue=function(e){for(var t=this.cues_.length;t--;){var i=this.cues_[t]
if(i===e||i.originalCue_&&i.originalCue_===e){this.cues_.splice(t,1)
this.cues.setCues_(this.cues_)
break}}}
return t}(ho)
bo.prototype.allowedEvents_={cuechange:"cuechange"}
var To=function(e){B(t,e)
function t(t){var i
void 0===t&&(t={})
var n=Ds(t,{kind:uo[t.kind]||""})
i=e.call(this,n)||this
var r=!1
Object.defineProperty(N(i),"enabled",{get:function(){return r},set:function(e){if("boolean"==typeof e&&e!==r){r=e
this.trigger("enabledchange")}}})
n.enabled&&(i.enabled=n.enabled)
i.loaded_=!0
return i}return t}(ho),ko=function(e){B(t,e)
function t(t){var i
void 0===t&&(t={})
var n=Ds(t,{kind:oo[t.kind]||""})
i=e.call(this,n)||this
var r=!1
Object.defineProperty(N(i),"selected",{get:function(){return r},set:function(e){if("boolean"==typeof e&&e!==r){r=e
this.trigger("selectedchange")}}})
n.selected&&(i.selected=n.selected)
return i}return t}(ho),So=function(e){B(t,e)
function t(t){var i,n
void 0===t&&(t={})
i=e.call(this)||this
var r=new bo(t)
i.kind=r.kind
i.src=r.src
i.srclang=r.language
i.label=r.label
i.default=r.default
Object.defineProperties(N(i),{readyState:{get:function(){return n}},track:{get:function(){return r}}})
n=0
r.addEventListener("loadeddata",(function(){n=2
i.trigger({type:"load",target:N(i)})}))
return i}return t}(ys)
So.prototype.allowedEvents_={load:"load"}
So.NONE=0
So.LOADING=1
So.LOADED=2
So.ERROR=3
var Eo={audio:{ListClass:to,TrackClass:To,capitalName:"Audio"},video:{ListClass:no,TrackClass:ko,capitalName:"Video"},text:{ListClass:ro,TrackClass:bo,capitalName:"Text"}}
Object.keys(Eo).forEach((function(e){Eo[e].getterName=e+"Tracks"
Eo[e].privateName=e+"Tracks_"}))
var Co={remoteText:{ListClass:ro,TrackClass:bo,capitalName:"RemoteText",getterName:"remoteTextTracks",privateName:"remoteTextTracks_"},remoteTextEl:{ListClass:ao,TrackClass:So,capitalName:"RemoteTextTrackEls",getterName:"remoteTextTrackEls",privateName:"remoteTextTrackEls_"}},wo=R({},Eo,Co)
Co.names=Object.keys(Co)
Eo.names=Object.keys(Eo)
wo.names=[].concat(Co.names).concat(Eo.names)
var Io=function(e){B(t,e)
function t(t,i){var n
void 0===t&&(t={})
void 0===i&&(i=function(){})
t.reportTouchActivity=!1;(n=e.call(this,null,t,i)||this).onDurationChange_=function(e){return n.onDurationChange(e)}
n.trackProgress_=function(e){return n.trackProgress(e)}
n.trackCurrentTime_=function(e){return n.trackCurrentTime(e)}
n.stopTrackingCurrentTime_=function(e){return n.stopTrackingCurrentTime(e)}
n.disposeSourceHandler_=function(e){return n.disposeSourceHandler(e)}
n.queuedHanders_=new Set
n.hasStarted_=!1
n.on("playing",(function(){this.hasStarted_=!0}))
n.on("loadstart",(function(){this.hasStarted_=!1}))
wo.names.forEach((function(e){var i=wo[e]
t&&t[i.getterName]&&(n[i.privateName]=t[i.getterName])}))
n.featuresProgressEvents||n.manualProgressOn()
n.featuresTimeupdateEvents||n.manualTimeUpdatesOn();["Text","Audio","Video"].forEach((function(e){!1===t["native"+e+"Tracks"]&&(n["featuresNative"+e+"Tracks"]=!1)}))
!1===t.nativeCaptions||!1===t.nativeTextTracks?n.featuresNativeTextTracks=!1:!0!==t.nativeCaptions&&!0!==t.nativeTextTracks||(n.featuresNativeTextTracks=!0)
n.featuresNativeTextTracks||n.emulateTextTracks()
n.preloadTextTracks=!1!==t.preloadTextTracks
n.autoRemoteTextTracks_=new wo.text.ListClass
n.initTrackListeners()
t.nativeControlsForTouch||n.emitTapEvents()
n.constructor&&(n.name_=n.constructor.name||"Unknown Tech")
return n}var i=t.prototype
i.triggerSourceset=function(e){var t=this
this.isReady_||this.one("ready",(function(){return t.setTimeout((function(){return t.triggerSourceset(e)}),1)}))
this.trigger({src:e,type:"sourceset"})}
i.manualProgressOn=function(){this.on("durationchange",this.onDurationChange_)
this.manualProgress=!0
this.one("ready",this.trackProgress_)}
i.manualProgressOff=function(){this.manualProgress=!1
this.stopTrackingProgress()
this.off("durationchange",this.onDurationChange_)}
i.trackProgress=function(e){this.stopTrackingProgress()
this.progressInterval=this.setInterval(gs(this,(function(){var e=this.bufferedPercent()
this.bufferedPercent_!==e&&this.trigger("progress")
this.bufferedPercent_=e
1===e&&this.stopTrackingProgress()})),500)}
i.onDurationChange=function(e){this.duration_=this.duration()}
i.buffered=function(){return Vs(0,0)}
i.bufferedPercent=function(){return Hs(this.buffered(),this.duration_)}
i.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)}
i.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0
this.on("play",this.trackCurrentTime_)
this.on("pause",this.stopTrackingCurrentTime_)}
i.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1
this.stopTrackingCurrentTime()
this.off("play",this.trackCurrentTime_)
this.off("pause",this.stopTrackingCurrentTime_)}
i.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime()
this.currentTimeInterval=this.setInterval((function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})}),250)}
i.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval)
this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})}
i.dispose=function(){this.clearTracks(Eo.names)
this.manualProgress&&this.manualProgressOff()
this.manualTimeUpdates&&this.manualTimeUpdatesOff()
e.prototype.dispose.call(this)}
i.clearTracks=function(e){var t=this;(e=[].concat(e)).forEach((function(e){for(var i=t[e+"Tracks"]()||[],n=i.length;n--;){var r=i[n]
"text"===e&&t.removeRemoteTextTrack(r)
i.removeTrack(r)}}))}
i.cleanupAutoTextTracks=function(){for(var e=this.autoRemoteTextTracks_||[],t=e.length;t--;){var i=e[t]
this.removeRemoteTextTrack(i)}}
i.reset=function(){}
i.crossOrigin=function(){}
i.setCrossOrigin=function(){}
i.error=function(e){if(void 0!==e){this.error_=new qs(e)
this.trigger("error")}return this.error_}
i.played=function(){return this.hasStarted_?Vs(0,0):Vs()}
i.play=function(){}
i.setScrubbing=function(){}
i.scrubbing=function(){}
i.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})}
i.initTrackListeners=function(){var e=this
Eo.names.forEach((function(t){var i=Eo[t],n=function(){e.trigger(t+"trackchange")},r=e[i.getterName]()
r.addEventListener("removetrack",n)
r.addEventListener("addtrack",n)
e.on("dispose",(function(){r.removeEventListener("removetrack",n)
r.removeEventListener("addtrack",n)}))}))}
i.addWebVttScript_=function(){var e=this
if(!x.WebVTT)if(L.body.contains(this.el())){if(!this.options_["vtt.js"]&&Wr(Ee)&&Object.keys(Ee).length>0){this.trigger("vttjsloaded")
return}var t=L.createElement("script")
t.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js"
t.onload=function(){e.trigger("vttjsloaded")}
t.onerror=function(){e.trigger("vttjserror")}
this.on("dispose",(function(){t.onload=null
t.onerror=null}))
x.WebVTT=!0
this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)}
i.emulateTextTracks=function(){var e=this,t=this.textTracks(),i=this.remoteTextTracks(),n=function(e){return t.addTrack(e.track)},r=function(e){return t.removeTrack(e.track)}
i.on("addtrack",n)
i.on("removetrack",r)
this.addWebVttScript_()
var a=function(){return e.trigger("texttrackchange")},s=function(){a()
for(var e=0;e<t.length;e++){var i=t[e]
i.removeEventListener("cuechange",a)
"showing"===i.mode&&i.addEventListener("cuechange",a)}}
s()
t.addEventListener("change",s)
t.addEventListener("addtrack",s)
t.addEventListener("removetrack",s)
this.on("dispose",(function(){i.off("addtrack",n)
i.off("removetrack",r)
t.removeEventListener("change",s)
t.removeEventListener("addtrack",s)
t.removeEventListener("removetrack",s)
for(var e=0;e<t.length;e++){t[e].removeEventListener("cuechange",a)}}))}
i.addTextTrack=function(e,t,i){if(!e)throw new Error("TextTrack kind is required but was not provided")
return function(e,t,i,n,r){void 0===r&&(r={})
var a=e.textTracks()
r.kind=t
i&&(r.label=i)
n&&(r.language=n)
r.tech=e
var s=new wo.text.TrackClass(r)
a.addTrack(s)
return s}(this,e,t,i)}
i.createRemoteTextTrack=function(e){var t=Ds(e,{tech:this})
return new Co.remoteTextEl.TrackClass(t)}
i.addRemoteTextTrack=function(e,t){var i=this
void 0===e&&(e={})
var n=this.createRemoteTextTrack(e)
if(!0!==t&&!1!==t){Ur.warn('Calling addRemoteTextTrack without explicitly setting the "manualCleanup" parameter to `true` is deprecated and default to `false` in future version of video.js')
t=!0}this.remoteTextTrackEls().addTrackElement_(n)
this.remoteTextTracks().addTrack(n.track)
!0!==t&&this.ready((function(){return i.autoRemoteTextTracks_.addTrack(n.track)}))
return n}
i.removeRemoteTextTrack=function(e){var t=this.remoteTextTrackEls().getTrackElementByTrack_(e)
this.remoteTextTrackEls().removeTrackElement_(t)
this.remoteTextTracks().removeTrack(e)
this.autoRemoteTextTracks_.removeTrack(e)}
i.getVideoPlaybackQuality=function(){return{}}
i.requestPictureInPicture=function(){var e=this.options_.Promise||x.Promise
if(e)return e.reject()}
i.disablePictureInPicture=function(){return!0}
i.setDisablePictureInPicture=function(){}
i.requestVideoFrameCallback=function(e){var t=this,i=ts()
if(this.paused()){this.queuedHanders_.add(i)
this.one("playing",(function(){if(t.queuedHanders_.has(i)){t.queuedHanders_.delete(i)
e()}}))}else this.requestNamedAnimationFrame(i,e)
return i}
i.cancelVideoFrameCallback=function(e){this.queuedHanders_.has(e)?this.queuedHanders_.delete(e):this.cancelNamedAnimationFrame(e)}
i.setPoster=function(){}
i.playsinline=function(){}
i.setPlaysinline=function(){}
i.overrideNativeAudioTracks=function(){}
i.overrideNativeVideoTracks=function(){}
i.canPlayType=function(){return""}
t.canPlayType=function(){return""}
t.canPlaySource=function(e,i){return t.canPlayType(e.type)}
t.isTech=function(e){return e.prototype instanceof t||e instanceof t||e===t}
t.registerTech=function(e,i){t.techs_||(t.techs_={})
if(!t.isTech(i))throw new Error("Tech "+e+" must be a Tech")
if(!t.canPlayType)throw new Error("Techs must have a static canPlayType method on them")
if(!t.canPlaySource)throw new Error("Techs must have a static canPlaySource method on them")
e=Ls(e)
t.techs_[e]=i
t.techs_[Os(e)]=i
"Tech"!==e&&t.defaultTechOrder_.push(e)
return i}
t.getTech=function(e){if(e){if(t.techs_&&t.techs_[e])return t.techs_[e]
e=Ls(e)
if(x&&x.videojs&&x.videojs[e]){Ur.warn("The "+e+" tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)")
return x.videojs[e]}}}
return t}(Bs)
wo.names.forEach((function(e){var t=wo[e]
Io.prototype[t.getterName]=function(){this[t.privateName]=this[t.privateName]||new t.ListClass
return this[t.privateName]}}))
Io.prototype.featuresVolumeControl=!0
Io.prototype.featuresMuteControl=!0
Io.prototype.featuresFullscreenResize=!1
Io.prototype.featuresPlaybackRate=!1
Io.prototype.featuresProgressEvents=!1
Io.prototype.featuresSourceset=!1
Io.prototype.featuresTimeupdateEvents=!1
Io.prototype.featuresNativeTextTracks=!1
Io.prototype.featuresVideoFrameCallback=!1
Io.withSourceHandlers=function(e){e.registerSourceHandler=function(t,i){var n=e.sourceHandlers
n||(n=e.sourceHandlers=[])
void 0===i&&(i=n.length)
n.splice(i,0,t)}
e.canPlayType=function(t){for(var i,n=e.sourceHandlers||[],r=0;r<n.length;r++)if(i=n[r].canPlayType(t))return i
return""}
e.selectSourceHandler=function(t,i){for(var n=e.sourceHandlers||[],r=0;r<n.length;r++)if(n[r].canHandleSource(t,i))return n[r]
return null}
e.canPlaySource=function(t,i){var n=e.selectSourceHandler(t,i)
return n?n.canHandleSource(t,i):""};["seekable","seeking","duration"].forEach((function(e){var t=this[e]
"function"==typeof t&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})}),e.prototype)
e.prototype.setSource=function(t){var i=e.selectSourceHandler(t,this.options_)
i||(e.nativeSourceHandler?i=e.nativeSourceHandler:Ur.error("No source handler found for the current source."))
this.disposeSourceHandler()
this.off("dispose",this.disposeSourceHandler_)
i!==e.nativeSourceHandler&&(this.currentSource_=t)
this.sourceHandler_=i.handleSource(t,this,this.options_)
this.one("dispose",this.disposeSourceHandler_)}
e.prototype.disposeSourceHandler=function(){if(this.currentSource_){this.clearTracks(["audio","video"])
this.currentSource_=null}this.cleanupAutoTextTracks()
if(this.sourceHandler_){this.sourceHandler_.dispose&&this.sourceHandler_.dispose()
this.sourceHandler_=null}}}
Bs.registerComponent("Tech",Io)
Io.registerTech("Tech",Io)
Io.defaultTechOrder_=[]
var Po={},xo={},Ao={}
function Oo(e,t,i){e.setTimeout((function(){return Uo(t,Po[t.type],i,e)}),1)}function Lo(e,t,i,n){void 0===n&&(n=null)
var r="call"+Ls(i),a=e.reduce(No(r),n),s=a===Ao,o=s?null:t[i](a)
!function(e,t,i,n){for(var r=e.length-1;r>=0;r--){var a=e[r]
a[t]&&a[t](n,i)}}(e,i,o,s)
return o}var Do={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Ro={setCurrentTime:1,setMuted:1,setVolume:1},Mo={play:1,pause:1}
function No(e){return function(t,i){return t===Ao?Ao:i[e]?i[e](t):t}}function Uo(e,t,i,n,r,a){void 0===e&&(e={})
void 0===t&&(t=[])
void 0===r&&(r=[])
void 0===a&&(a=!1)
var s=t,o=s[0],u=s.slice(1)
if("string"==typeof o)Uo(e,Po[o],i,n,r,a)
else if(o){var l=function(e,t){var i=xo[e.id()],n=null
if(null==i){n=t(e)
xo[e.id()]=[[t,n]]
return n}for(var r=0;r<i.length;r++){var a=i[r],s=a[0],o=a[1]
s===t&&(n=o)}if(null===n){n=t(e)
i.push([t,n])}return n}(n,o)
if(!l.setSource){r.push(l)
return Uo(e,u,i,n,r,a)}l.setSource(Hr({},e),(function(t,s){if(t)return Uo(e,u,i,n,r,a)
r.push(l)
Uo(s,e.type===s.type?u:Po[s.type],i,n,r,a)}))}else u.length?Uo(e,u,i,n,r,a):a?i(e,r):Uo(e,Po["*"],i,n,r,!0)}var Bo={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",mpd:"application/dash+xml",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},Fo=function(e){void 0===e&&(e="")
var t=mo(e)
return Bo[t.toLowerCase()]||""},jo=function e(t){if(Array.isArray(t)){var i=[]
t.forEach((function(t){t=e(t)
Array.isArray(t)?i=i.concat(t):qr(t)&&i.push(t)}))
t=i}else t="string"==typeof t&&t.trim()?[Vo({src:t})]:qr(t)&&"string"==typeof t.src&&t.src&&t.src.trim()?[Vo(t)]:[]
return t}
function Vo(e){if(!e.type){var t=Fo(e.src)
t&&(e.type=t)}return e}var Ho=function(e){B(t,e)
function t(t,i,n){var r,a=Ds({createEl:!1},i)
r=e.call(this,t,a,n)||this
if(i.playerOptions.sources&&0!==i.playerOptions.sources.length)t.src(i.playerOptions.sources)
else for(var s=0,o=i.playerOptions.techOrder;s<o.length;s++){var u=Ls(o[s]),l=Io.getTech(u)
u||(l=Bs.getComponent(u))
if(l&&l.isSupported()){t.loadTech_(u)
break}}return r}return t}(Bs)
Bs.registerComponent("MediaLoader",Ho)
var qo=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).options_.controlText&&n.controlText(n.options_.controlText)
n.handleMouseOver_=function(e){return n.handleMouseOver(e)}
n.handleMouseOut_=function(e){return n.handleMouseOut(e)}
n.handleClick_=function(e){return n.handleClick(e)}
n.handleKeyDown_=function(e){return n.handleKeyDown(e)}
n.emitTapEvents()
n.enable()
return n}var i=t.prototype
i.createEl=function(e,t,i){void 0===e&&(e="div")
void 0===t&&(t={})
void 0===i&&(i={})
t=Hr({className:this.buildCSSClass(),tabIndex:0},t)
"button"===e&&Ur.error("Creating a ClickableComponent with an HTML element of "+e+" is not supported; use a Button instead.")
i=Hr({role:"button"},i)
this.tabIndex_=t.tabIndex
var n=ba(e,t,i)
n.appendChild(ba("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0}))
this.createControlTextEl(n)
return n}
i.dispose=function(){this.controlTextEl_=null
e.prototype.dispose.call(this)}
i.createControlTextEl=function(e){this.controlTextEl_=ba("span",{className:"vjs-control-text"},{"aria-live":"polite"})
e&&e.appendChild(this.controlTextEl_)
this.controlText(this.controlText_,e)
return this.controlTextEl_}
i.controlText=function(e,t){void 0===t&&(t=this.el())
if(void 0===e)return this.controlText_||"Need Text"
var i=this.localize(e)
this.controlText_=e
Ta(this.controlTextEl_,i)
this.nonIconControl||this.player_.options_.noUITitleAttributes||t.setAttribute("title",i)}
i.buildCSSClass=function(){return"vjs-control vjs-button "+e.prototype.buildCSSClass.call(this)}
i.enable=function(){if(!this.enabled_){this.enabled_=!0
this.removeClass("vjs-disabled")
this.el_.setAttribute("aria-disabled","false")
void 0!==this.tabIndex_&&this.el_.setAttribute("tabIndex",this.tabIndex_)
this.on(["tap","click"],this.handleClick_)
this.on("keydown",this.handleKeyDown_)}}
i.disable=function(){this.enabled_=!1
this.addClass("vjs-disabled")
this.el_.setAttribute("aria-disabled","true")
void 0!==this.tabIndex_&&this.el_.removeAttribute("tabIndex")
this.off("mouseover",this.handleMouseOver_)
this.off("mouseout",this.handleMouseOut_)
this.off(["tap","click"],this.handleClick_)
this.off("keydown",this.handleKeyDown_)}
i.handleLanguagechange=function(){this.controlText(this.controlText_)}
i.handleClick=function(e){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments)}
i.handleKeyDown=function(t){if(M.isEventKey(t,"Space")||M.isEventKey(t,"Enter")){t.preventDefault()
t.stopPropagation()
this.trigger("click")}else e.prototype.handleKeyDown.call(this,t)}
return t}(Bs)
Bs.registerComponent("ClickableComponent",qo)
var Wo=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).update()
n.update_=function(e){return n.update(e)}
t.on("posterchange",n.update_)
return n}var i=t.prototype
i.dispose=function(){this.player().off("posterchange",this.update_)
e.prototype.dispose.call(this)}
i.createEl=function(){return ba("div",{className:"vjs-poster",tabIndex:-1})}
i.update=function(e){var t=this.player().poster()
this.setSrc(t)
t?this.show():this.hide()}
i.setSrc=function(e){var t=""
e&&(t='url("'+e+'")')
this.el_.style.backgroundImage=t}
i.handleClick=function(e){if(this.player_.controls()){var t=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0
!this.player_.tech(!0)||(aa||ia)&&t||this.player_.tech(!0).focus()
this.player_.paused()?zs(this.player_.play()):this.player_.pause()}}
return t}(qo)
Bs.registerComponent("PosterImage",Wo)
var Go="#222",zo={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'}
function Ko(e,t){var i
if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3]
else{if(7!==e.length)throw new Error("Invalid color code provided, "+e+"; must be formatted as e.g. #f0e or #f604e2.")
i=e.slice(1)}return"rgba("+parseInt(i.slice(0,2),16)+","+parseInt(i.slice(2,4),16)+","+parseInt(i.slice(4,6),16)+","+t+")"}function Xo(e,t,i){try{e.style[t]=i}catch(e){return}}var Yo=function(e){B(t,e)
function t(t,i,n){var r
r=e.call(this,t,i,n)||this
var a=function(e){return r.updateDisplay(e)}
t.on("loadstart",(function(e){return r.toggleDisplay(e)}))
t.on("texttrackchange",a)
t.on("loadedmetadata",(function(e){return r.preselectTrack(e)}))
t.ready(gs(N(r),(function(){if(t.tech_&&t.tech_.featuresNativeTextTracks)this.hide()
else{t.on("fullscreenchange",a)
t.on("playerresize",a)
x.addEventListener("orientationchange",a)
t.on("dispose",(function(){return x.removeEventListener("orientationchange",a)}))
for(var e=this.options_.playerOptions.tracks||[],i=0;i<e.length;i++)this.player_.addRemoteTextTrack(e[i],!0)
this.preselectTrack()}})))
return r}var i=t.prototype
i.preselectTrack=function(){for(var e,t,i,n={captions:1,subtitles:1},r=this.player_.textTracks(),a=this.player_.cache_.selectedLanguage,s=0;s<r.length;s++){var o=r[s]
if(a&&a.enabled&&a.language&&a.language===o.language&&o.kind in n)o.kind===a.kind?i=o:i||(i=o)
else if(a&&!a.enabled){i=null
e=null
t=null}else o.default&&("descriptions"!==o.kind||e?o.kind in n&&!t&&(t=o):e=o)}i?i.mode="showing":t?t.mode="showing":e&&(e.mode="showing")}
i.toggleDisplay=function(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show()}
i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-text-track-display"},{translate:"yes","aria-live":"off","aria-atomic":"true"})}
i.clearDisplay=function(){"function"==typeof x.WebVTT&&x.WebVTT.processCues(x,[],this.el_)}
i.updateDisplay=function(){var e=this.player_.textTracks(),t=this.options_.allowMultipleShowingTracks
this.clearDisplay()
if(t){for(var i=[],n=0;n<e.length;++n){var r=e[n]
"showing"===r.mode&&i.push(r)}this.updateForTrack(i)}else{for(var a=null,s=null,o=e.length;o--;){var u=e[o]
"showing"===u.mode&&("descriptions"===u.kind?a=u:s=u)}if(s){"off"!==this.getAttribute("aria-live")&&this.setAttribute("aria-live","off")
this.updateForTrack(s)}else if(a){"assertive"!==this.getAttribute("aria-live")&&this.setAttribute("aria-live","assertive")
this.updateForTrack(a)}}}
i.updateDisplayState=function(e){for(var t=this.player_.textTrackSettings.getValues(),i=e.activeCues,n=i.length;n--;){var r=i[n]
if(r){var a=r.displayState
t.color&&(a.firstChild.style.color=t.color)
t.textOpacity&&Xo(a.firstChild,"color",Ko(t.color||"#fff",t.textOpacity))
t.backgroundColor&&(a.firstChild.style.backgroundColor=t.backgroundColor)
t.backgroundOpacity&&Xo(a.firstChild,"backgroundColor",Ko(t.backgroundColor||"#000",t.backgroundOpacity))
t.windowColor&&(t.windowOpacity?Xo(a,"backgroundColor",Ko(t.windowColor,t.windowOpacity)):a.style.backgroundColor=t.windowColor)
t.edgeStyle&&("dropshadow"===t.edgeStyle?a.firstChild.style.textShadow="2px 2px 3px #222, 2px 2px 4px #222, 2px 2px 5px "+Go:"raised"===t.edgeStyle?a.firstChild.style.textShadow="1px 1px #222, 2px 2px #222, 3px 3px "+Go:"depressed"===t.edgeStyle?a.firstChild.style.textShadow="1px 1px #ccc, 0 1px #ccc, -1px -1px #222, 0 -1px "+Go:"uniform"===t.edgeStyle&&(a.firstChild.style.textShadow="0 0 4px #222, 0 0 4px #222, 0 0 4px #222, 0 0 4px "+Go))
if(t.fontPercent&&1!==t.fontPercent){var s=x.parseFloat(a.style.fontSize)
a.style.fontSize=s*t.fontPercent+"px"
a.style.height="auto"
a.style.top="auto"}t.fontFamily&&"default"!==t.fontFamily&&("small-caps"===t.fontFamily?a.firstChild.style.fontVariant="small-caps":a.firstChild.style.fontFamily=zo[t.fontFamily])}}}
i.updateForTrack=function(e){Array.isArray(e)||(e=[e])
if("function"==typeof x.WebVTT&&!e.every((function(e){return!e.activeCues}))){for(var t=[],i=0;i<e.length;++i)for(var n=e[i],r=0;r<n.activeCues.length;++r)t.push(n.activeCues[r])
x.WebVTT.processCues(x,t,this.el_)
for(var a=0;a<e.length;++a){for(var s=e[a],o=0;o<s.activeCues.length;++o){var u=s.activeCues[o].displayState
Ea(u,"vjs-text-track-cue")
Ea(u,"vjs-text-track-cue-"+(s.language?s.language:a))
s.language&&Aa(u,"lang",s.language)}this.player_.textTrackSettings&&this.updateDisplayState(s)}}}
return t}(Bs)
Bs.registerComponent("TextTrackDisplay",Yo)
var Qo=function(e){B(t,e)
function t(){return e.apply(this,arguments)||this}t.prototype.createEl=function(){var t=this.player_.isAudio(),i=this.localize(t?"Audio Player":"Video Player"),n=ba("span",{className:"vjs-control-text",textContent:this.localize("{1} is loading.",[i])}),r=e.prototype.createEl.call(this,"div",{className:"vjs-loading-spinner",dir:"ltr"})
r.appendChild(n)
return r}
return t}(Bs)
Bs.registerComponent("LoadingSpinner",Qo)
var $o=function(e){B(t,e)
function t(){return e.apply(this,arguments)||this}var i=t.prototype
i.createEl=function(e,t,i){void 0===t&&(t={})
void 0===i&&(i={})
0
var n=ba("button",t=Hr({className:this.buildCSSClass()},t),i=Hr({type:"button"},i))
n.appendChild(ba("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0}))
this.createControlTextEl(n)
return n}
i.addChild=function(e,t){void 0===t&&(t={})
var i=this.constructor.name
Ur.warn("Adding an actionable (user controllable) child to a Button ("+i+") is not supported; use a ClickableComponent instead.")
return Bs.prototype.addChild.call(this,e,t)}
i.enable=function(){e.prototype.enable.call(this)
this.el_.removeAttribute("disabled")}
i.disable=function(){e.prototype.disable.call(this)
this.el_.setAttribute("disabled","disabled")}
i.handleKeyDown=function(t){M.isEventKey(t,"Space")||M.isEventKey(t,"Enter")?t.stopPropagation():e.prototype.handleKeyDown.call(this,t)}
return t}(qo)
Bs.registerComponent("Button",$o)
var Jo=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).mouseused_=!1
n.on("mousedown",(function(e){return n.handleMouseDown(e)}))
return n}var i=t.prototype
i.buildCSSClass=function(){return"vjs-big-play-button"}
i.handleClick=function(e){var t=this.player_.play()
if(this.mouseused_&&e.clientX&&e.clientY){var i=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0
zs(t)
!this.player_.tech(!0)||(aa||ia)&&i||this.player_.tech(!0).focus()}else{var n=this.player_.getChild("controlBar"),r=n&&n.getChild("playToggle")
if(r){var a=function(){return r.focus()}
Gs(t)?t.then(a,(function(){})):this.setTimeout(a,1)}else this.player_.tech(!0).focus()}}
i.handleKeyDown=function(t){this.mouseused_=!1
e.prototype.handleKeyDown.call(this,t)}
i.handleMouseDown=function(e){this.mouseused_=!0}
return t}($o)
Jo.prototype.controlText_="Play Video"
Bs.registerComponent("BigPlayButton",Jo)
var Zo=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).controlText(i&&i.controlText||n.localize("Close"))
return n}var i=t.prototype
i.buildCSSClass=function(){return"vjs-close-button "+e.prototype.buildCSSClass.call(this)}
i.handleClick=function(e){this.trigger({type:"close",bubbles:!1})}
i.handleKeyDown=function(t){if(M.isEventKey(t,"Esc")){t.preventDefault()
t.stopPropagation()
this.trigger("click")}else e.prototype.handleKeyDown.call(this,t)}
return t}($o)
Bs.registerComponent("CloseButton",Zo)
var eu=function(e){B(t,e)
function t(t,i){var n
void 0===i&&(i={})
n=e.call(this,t,i)||this
i.replay=void 0===i.replay||i.replay
n.on(t,"play",(function(e){return n.handlePlay(e)}))
n.on(t,"pause",(function(e){return n.handlePause(e)}))
i.replay&&n.on(t,"ended",(function(e){return n.handleEnded(e)}))
return n}var i=t.prototype
i.buildCSSClass=function(){return"vjs-play-control "+e.prototype.buildCSSClass.call(this)}
i.handleClick=function(e){this.player_.paused()?zs(this.player_.play()):this.player_.pause()}
i.handleSeeked=function(e){this.removeClass("vjs-ended")
this.player_.paused()?this.handlePause(e):this.handlePlay(e)}
i.handlePlay=function(e){this.removeClass("vjs-ended")
this.removeClass("vjs-paused")
this.addClass("vjs-playing")
this.controlText("Pause")}
i.handlePause=function(e){this.removeClass("vjs-playing")
this.addClass("vjs-paused")
this.controlText("Play")}
i.handleEnded=function(e){var t=this
this.removeClass("vjs-playing")
this.addClass("vjs-ended")
this.controlText("Replay")
this.one(this.player_,"seeked",(function(e){return t.handleSeeked(e)}))}
return t}($o)
eu.prototype.controlText_="Play"
Bs.registerComponent("PlayToggle",eu)
var tu=function(e,t){e=e<0?0:e
var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),a=Math.floor(t/60%60),s=Math.floor(t/3600);(isNaN(e)||e===1/0)&&(r=n=i="-")
return(r=r>0||s>0?r+":":"")+(n=((r||a>=10)&&n<10?"0"+n:n)+":")+(i=i<10?"0"+i:i)},iu=tu
function nu(e,t){void 0===t&&(t=e)
return iu(e,t)}var ru=function(e){B(t,e)
function t(t,i){var n;(n=e.call(this,t,i)||this).on(t,["timeupdate","ended"],(function(e){return n.updateContent(e)}))
n.updateTextNode_()
return n}var i=t.prototype
i.createEl=function(){var t=this.buildCSSClass(),i=e.prototype.createEl.call(this,"div",{className:t+" vjs-time-control vjs-control"}),n=ba("span",{className:"vjs-control-text",textContent:this.localize(this.labelText_)+" "},{role:"presentation"})
i.appen