rx-player 4.2.0-dev.2024080900 → 4.2.0-dev.2024081300

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rx-player.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";(()=>{var ep=Object.defineProperty,tp=Object.defineProperties;var np=Object.getOwnPropertyDescriptors;var Ml=Object.getOwnPropertySymbols;var rp=Object.prototype.hasOwnProperty,ip=Object.prototype.propertyIsEnumerable;var Al=(n,e,t)=>e in n?ep(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ae=(n,e)=>{for(var t in e||(e={}))rp.call(e,t)&&Al(n,t,e[t]);if(Ml)for(var t of Ml(e))ip.call(e,t)&&Al(n,t,e[t]);return n},le=(n,e)=>tp(n,np(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var S={CURRENT_LEVEL:"NONE"};function xn(){return typeof __RX_PLAYER_DEBUG_MODE__=="boolean"&&__RX_PLAYER_DEBUG_MODE__}function _(n){return n==null}var ie=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=this._listeners[e];Array.isArray(i)?i.push(t):this._listeners[e]=[t],r!==void 0&&r.register(()=>{this.removeEventListener(e,t)})}removeEventListener(e,t){if(_(e)){this._listeners={};return}let r=this._listeners[e];if(!Array.isArray(r))return;if(_(t)){delete this._listeners[e];return}let i=r.indexOf(t);i!==-1&&r.splice(i,1),r.length===0&&delete this._listeners[e]}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i(t)}catch(o){if(I.CURRENT_ENV===I.DEV)throw o instanceof Error?o:new Error("EventEmitter: listener error");console.error("RxPlayer: EventEmitter error",o instanceof Error?o:null)}})}};var Ft=typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope;var sp=typeof window=="undefined"&&!Ft,Kt=sp;var uo;Ft?uo=self:Kt?uo=global:uo=window;var ee=uo;var _t=typeof queueMicrotask=="function"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};function wa(){if(!Kt&&!_(ee.WebKitSourceBuffer)&&ee.WebKitSourceBuffer.prototype.addEventListener===void 0){let e=ee.WebKitSourceBuffer.prototype;for(let t in ie.prototype)ie.prototype.hasOwnProperty(t)&&(e[t]=ie.prototype[t]);e._listeners=[],e._emitUpdate=function(t,r){_t(()=>{this.trigger(t,r),this.updating=!1,this.trigger("updateend")})},e.appendBuffer=function(t){if(this.updating)throw new Error("updating");this.trigger("updatestart"),this.updating=!0;try{this.append(t)}catch(r){this._emitUpdate("error",r);return}this._emitUpdate("update")}}}function ye(n,e,t){if(typeof Array.prototype.findIndex=="function")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function Z(){}var lo=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error("Finished shared references cannot be updated");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if((t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let o=this._listeners.indexOf(i);o>=0&&this._listeners.splice(o,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),(t==null?void 0:t.emitCurrentValue)===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}(t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return Z;let r=()=>{let a=ye(this._onFinishCbs,s=>s.trigger===i);a>=0&&(this._onFinishCbs[a].hasBeenCleared=!0,this._onFinishCbs.splice(a,1))},i=()=>{r(),e()},o=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),o}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function on(n,e,t){let r=new lo(e(n.getValue()),t);return n.onUpdate(function(o){r.setValue(e(o))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var G=lo;var xl=new G(0);var dp=typeof performance!="undefined"?()=>performance.now()+xl.getValue():()=>Date.now()+xl.getValue(),K=dp;var up="NONE",or=class extends ie{constructor(){super(),this.error=Z,this.warn=Z,this.info=Z,this.debug=Z,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat="standard",this._currentLevel=up}setLevel(e,t,r){let i,o=this._levels[e];typeof o=="number"?(i=o,this._currentLevel=e):(i=0,this._currentLevel="NONE");let a;if(t==="standard"||t==="full"?a=t:a="standard",a==="full"&&a!==this._currentFormat){let d=K();console.log(String(d.toFixed(2)),"[Init]",`Local-Date: ${Date.now()}`)}this._currentFormat=a;let s=this._currentFormat==="full"?(d,u)=>(...c)=>{let l=K();return u(String(l.toFixed(2)),`[${d}]`,...c)}:(d,u)=>u;if(r===void 0)this.error=i>=this._levels.ERROR?s("error",console.error.bind(console)):Z,this.warn=i>=this._levels.WARNING?s("warn",console.warn.bind(console)):Z,this.info=i>=this._levels.INFO?s("info",console.info.bind(console)):Z,this.debug=i>=this._levels.DEBUG?s("log",console.log.bind(console)):Z;else{let d=(u,c)=>i>=this._levels[u]?(...l)=>{let f=K();return r(u,[f,c,...l])}:Z;this.error=d("ERROR","error"),this.warn=d("WARNING","warn"),this.info=d("INFO","info"),this.debug=d("DEBUG","log")}this.trigger("onLogLevelChange",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};var lp=new or,m=lp;var Vt=ee,an=Vt===void 0?void 0:_(Vt.MediaSource)?_(Vt.MozMediaSource)?_(Vt.WebKitMediaSource)?Vt.MSMediaSource:Vt.WebKitMediaSource:Vt.MozMediaSource:Vt.MediaSource;var cp=200,co=new Map;function Oa(n){if(_(an))return Ft&&m.error("Compat: Cannot request codec support in a worker without MSE."),!1;if(typeof an.isTypeSupported=="function"){let e=co.get(n);if(e!==void 0)return e;{let t=an.isTypeSupported(n);return co.size>=cp&&co.clear(),co.set(n,t),t}}return!0}var ar=!1,sn=!1,zt=!1,dn=!1,Da=!1,un=!1,La=!1,sr=!1,dr=!1,fp=!1,mp=!1,Na=!1,Ua=!1,ln=!1,pp=!1;(function(){var e,t,r;Kt||(typeof ee.MSInputMethodContext!="undefined"&&typeof document.documentMode!="undefined"?(sn=!0,zt=!0):navigator.appName==="Microsoft Internet Explorer"||navigator.appName==="Netscape"&&/(Trident|Edge)\//.test(navigator.userAgent)?zt=!0:navigator.userAgent.toLowerCase().indexOf("edg/")!==-1?ar=!0:navigator.userAgent.toLowerCase().indexOf("firefox")!==-1?dn=!0:typeof navigator.platform=="string"&&/iPad|iPhone|iPod/.test(navigator.platform)?un=!0:(Object.prototype.toString.call(ee.HTMLElement).indexOf("Constructor")>=0||((t=(e=ee.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())==="[object SafariRemoteNotification]"||/Safari\/(\d+)/.test(navigator.userAgent)&&/Version\/(\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf("Apple"))!==-1&&!/Chrome\/(\d+)/.test(navigator.userAgent)&&!/Chromium\/(\d+)/.test(navigator.userAgent))&&(Da=!0),/SamsungBrowser/.test(navigator.userAgent)&&(La=!0),navigator.userAgent.indexOf("PlayStation 4")!==-1?Ua=!0:navigator.userAgent.indexOf("PlayStation 5")!==-1?ln=!0:/Tizen/.test(navigator.userAgent)?sr=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(dr=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\/87/.test(navigator.userAgent)?mp=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\/79/.test(navigator.userAgent))&&(fp=!0)):/[Pp]anasonic/.test(navigator.userAgent)?Na=!0:navigator.userAgent.indexOf("Xbox")!==-1&&(pp=!0))})();var gp=ln,wl=gp;function Ba(n){return n===void 0||n.indexOf("widevine")<0}var hp={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:"native",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:"continue",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:"none",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs="avc1.4d401e"','video/mp4;codecs="avc1.42e01e"','video/mp4;codecs="hvc1.1.6.L93.B0"','video/webm;codecs="vp8"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs="mp4a.40.2"',"audio/webm;codecs=opus"],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:["HW_SECURE_ALL","HW_SECURE_DECODE","HW_SECURE_CRYPTO","SW_SECURE_DECODE","SW_SECURE_CRYPTO"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:["3000","2000"],EME_KEY_SYSTEMS:{clearkey:["webkit-org.w3.clearkey","org.w3.clearkey"],widevine:["com.widevine.alpha"],playready:["com.microsoft.playready.recommendation","com.microsoft.playready","com.chromecast.playready","com.youtube.playready"],fairplay:["com.apple.fps.1_0"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:"seamless",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:"seamless",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:"reload",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:"seamless"},Ol=hp;function yp(n,...e){if(n==null)throw new TypeError("Cannot convert undefined or null to object");let t=Object(n);for(let r=0;r<e.length;r++){let i=e[r];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}var j=typeof Object.assign=="function"?Object.assign:yp;function Fa(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function ur(n,...e){if(e.length===0)return n;let t=e.shift();if(Fa(n)&&Fa(t))for(let r in t)if(Fa(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),ur(i,t[r])}else j(n,{[r]:t[r]});return ur(n,...e)}var Ka=class{constructor(){this._config=Ol}update(e){let t=ur(this._config,e);this._config=t}getCurrent(){return this._config}},Ip=new Ka,U=Ip;var bp=.016666666666666666;function Dl(n,e){return Math.abs(n-e)<bp}function Nl(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function Sp(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Tp(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Bl(t,r)){let i=Nl(t,r);n.splice(--e,2,i)}}return n}function Va(n,e){return n.end<=e.start}function Ll({start:n,end:e},t){return n<=t&&t<e}function Ul(n,e){return Ll(n,e.start)||n.start<e.end&&e.end<n.end||Ll(e,n.start)}function Bl(n,e){return Dl(e.start,n.end)||Dl(e.end,n.start)}function Pe(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function za(n,e){for(let t=n.length-1;t>=0;t--){let r=n.start(t);if(e>=r){let i=n.end(t);if(e<i)return{start:r,end:i}}}return null}function _p(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Fl(n,e){let t=n.length;for(let r=0;r<t;r++){let i=n.start(r);if(e<i)return i-e}return 1/0}function Kl(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let o=n[i].start,a=n[i].end;e<o||e>=a?r.push({start:o,end:a}):t={start:o,end:a}}return{outerRanges:r,innerRange:t}}function Vl(n,e){let t=za(n,e);return t!==null?t.end-e:1/0}function fo(n,e){let t=_p(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],o=Ul(t,i),a=Bl(t,i);if(o||a)t=Nl(t,i),n.splice(r--,1);else if(r===0){if(Va(t,n[0]))break}else if(Va(n[r-1],t)&&Va(t,i))break}return n.splice(r,0,t),Tp(Sp(n))}function zl(n,e){let t=[];for(let r=0;r<e.length;r++)Ul(n,e[r])&&t.push(e[r]);return t}function Hl(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],o=zl(i,e);if(o.length>0)for(let a=0;a<o.length;a++){let s=o[a];t.push({start:Math.max(i.start,s.start),end:Math.min(i.end,s.end)})}}return t}function mo(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],o=[],a=zl(i,e);if(a.length>0)for(let s=0;s<a.length;s++){let d=a[s];o.push({start:Math.max(i.start,d.start),end:Math.min(i.end,d.end)})}if(o.length===0)t.push(i);else{let s=i.start;for(let d=0;d<o.length;d++)o[d].start>s&&t.push({start:s,end:o[d].start}),s=o[d].end;s<i.end&&t.push({start:s,end:i.end})}}return t}var po=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name="AssertionError"}};function te(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new po(e===void 0?"invalid assertion":e)}function Wl(n,e,t="object"){te(!_(n),`${t} should be an object`);for(let r in e)e.hasOwnProperty(r)&&te(typeof n[r]===e[r],`${t} should have property ${r} as a ${e[r]}`)}function Qe(n){throw new po("Unreachable path taken")}var B=class{constructor(){let[e,t]=Ep();this._isUsed=!1,this._trigger=e,this.signal=new lr(t)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(()=>{this.cancel()});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=e!=null?e:new Me;this._trigger(t)}static isCancellationError(e){return e instanceof Me}},lr=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){m.error("Error while calling clean up listener",r instanceof Error?r.toString():"Unknown error")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(te(this.cancellationError!==null),e(this.cancellationError),Z):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},Me=class n extends Error{constructor(){super("This task was cancelled."),Object.setPrototypeOf(this,n.prototype),this.name="CancellationError"}};function Ep(){let n=Z;return[function(t){n(t)},function(t){n=t}]}function Ha(n){let e=n.map(a=>Math.log(a/n[0])),t=e.map(a=>a-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((a,s)=>o(s));function o(a){if(a===0)return 0;let s=Math.min(Math.max(1,a),n.length-1);return n[s]===n[s-1]?o(a-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var tt=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var cr=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,o=this._currentRepresentationData,a;o!==null&&o.representation.id===e.id?(a=o.ewma,o.ewma.addSample(t,i),o.loadedDuration+=r,o.loadedSegments++):(a=new tt(5),a.addSample(t,i),this._currentRepresentationData={representation:e,ewma:a,loadedDuration:r,loadedSegments:0}),a.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug("ABR: New last stable representation",e.bitrate),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,o=t.getEstimate(),a=r>=5&&i>=10?1:0;return{score:o,confidenceLevel:a}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var Gl=6e3,vp=15e3,Rp=3e3,kp=1e3,Cp=9e3,fr=class{constructor(e){this._levelsMap=Ha(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Gl,m.debug("ABR: Steps for buffer based chooser.",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(" ,"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:o,currentScore:a,speed:s}=e;if(_(o)){this._currentEstimate=r[0];return}let d=-1;for(let p=0;p<r.length;p++){let y=r[p];if(y===o)d=p;else if(y>o)break}if(d<0||r.length!==t.length){m.info("ABR: Current Bitrate not found in the calculated levels"),this._currentEstimate=r[0];return}let u;a!==void 0&&(u=s===0?a.score:a.score/s);let c=isFinite(i)?i:0,l=K();if(c<t[d]||u!==void 0&&u<1&&(a==null?void 0:a.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+Cp){let h=this._blockRaiseDelay+Rp;this._blockRaiseDelay=Math.min(h,vp),m.debug("ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality",this._blockRaiseDelay)}else{let h=this._blockRaiseDelay-kp;this._blockRaiseDelay=Math.max(Gl,h),m.debug("ABR: Lowering quality in BufferBasedChooser",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let y=ye(r,h=>h===o);for(let h=y-1;h>=0;h--)if(c>=t[h]){this._currentEstimate=r[h];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||u===void 0||u<1.15||(a==null?void 0:a.confidenceLevel)!==1){this._currentEstimate=o;return}let f=t[d],g=(()=>{for(let p=d+1;p<t.length;p++)if(t[p]>f)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug("ABR: Raising quality in BufferBasedChooser",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=o}getLastEstimate(){return this._currentEstimate}};function X(n,e,t){if(typeof Array.prototype.find=="function")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let o=n[i];if(e.call(t,o,i,n))return o}}function Pp(n,e){let t=-1;for(let a=0;a<n.length;a++){let{segment:s}=n[a].content;if(s.duration<=0)continue;let d=s.time+s.duration;if(!s.complete&&a===n.length-1&&e-s.time>-1.2){t=a;break}if(d>e&&e-s.time>-1.2){t=a;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,o=[r];for(let a=t+1;a<n.length&&n[a].content.segment.time===i;a++)o.push(n[a]);return o}function go(n){if(n.progress.length<5)return;let e=new tt(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,o=t[r].timestamp-t[r-1].timestamp,a=i*8/(o/1e3);e.addSample(o/1e3,a)}return e.getEstimate()}function ql(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function Mp(n,e,t,r,i){if(r)return;let{bufferGap:o,speed:a,position:s}=e,d=isFinite(o)?o:0,u=s.getWanted()+d,c=Pp(n,u);if(c.length!==1)return;let l=c[0],f=K(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),f-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,y=go(l);if(p!==void 0&&y!==void 0){let R=ql(p,y);if((f-p.timestamp)/1e3<=R&&R-d/a>2500)return y}if(!l.content.segment.complete)return;let h=l.content.segment.duration,b=(f-l.requestTimestamp)/1e3,T=b<=(h*1.5+2)/a;if(_(t)||T)return;let v=h/b,E=t.bitrate*Math.min(.7,v);if(i===void 0||E<i)return E}function Ap(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,o=X(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(o===void 0)return!0;let a=K(),s=o.progress.length>0?o.progress[o.progress.length-1]:void 0,d=go(o);if(s===void 0||d===void 0)return!0;let u=ql(s,d);return(a-s.timestamp)/1e3>u*1.2?!0:u-r/n.speed>-1.5}var mr=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:o,ABR_REGULAR_FACTOR:a}=U.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:o.LOW_LATENCY,regularBitrateFactor:a.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:o.DEFAULT,regularBitrateFactor:a.DEFAULT}}getBandwidthEstimate(e,t,r,i,o){let a,s,d=this._config,{bufferGap:u,position:c,duration:l}=e,f=isFinite(u)?u:0,{ABR_STARVATION_DURATION_DELTA:g}=U.getCurrent();return isNaN(l)||f+c.getWanted()<l-g?!this._inStarvationMode&&f<=d.starvationGap?(m.info("ABR: enter starvation mode."),this._inStarvationMode=!0):this._inStarvationMode&&f>=d.outOfStarvationGap&&(m.info("ABR: exit starvation mode."),this._inStarvationMode=!1):this._inStarvationMode&&(m.info("ABR: exit starvation mode."),this._inStarvationMode=!1),this._inStarvationMode&&(s=Mp(i,e,r,this._lowLatencyMode,o),s!==void 0&&(m.info("ABR: starvation mode emergency estimate:",s),t.reset(),a=_(r)?s:Math.min(s,r.bitrate))),_(a)&&(s=t.getEstimate(),s!==void 0?a=s*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):o!==void 0?a=o*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):a=this._initialBitrate),e.speed>1&&(a/=e.speed),{bandwidthEstimate:s,bitrateChosen:a}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:Ap(i,r,this._lowLatencyMode)}};var pr=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var gr=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,o){let{bufferGap:a,speed:s}=t,d=this._lastAbrEstimate.representation;if(d===null)return null;if(i>d.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let u=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(u===void 0)return null;if(this._canGuessHigher(a,s,u)){let l=jl(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(d,i,u)&&(m.debug("ABR: Guessed Representation validated",d.bitrate),this._lastMaintanableBitrate=d.bitrate,this._consecutiveWrongGuesses=0),r.id!==d.id)return d;if(this._shouldStopGuess(r,u,a,o))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=K()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),xp(e,r);if(u===void 0)return r;if(this._canGuessHigher(a,s,u)){let l=jl(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&K()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let o=i.filter(s=>s.content.representation.id===e.id),a=K();for(let s of o){let d=a-s.requestTimestamp;if(s.content.segment.isInit){if(d>1e3)return!0}else{if(d>s.content.segment.duration*1e3+200)return!0;{let u=go(s);if(u!==void 0&&u<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function jl(n,e){let t=n.length,r=ye(n,({id:i})=>i===e.id);if(r<0)return m.error("ABR: Current Representation not found."),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function xp(n,e){let t=ye(n,({id:r})=>r===e.id);if(t<0)return m.error("ABR: Current Representation not found."),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var hr=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new tt(e),this._slowEWMA=new tt(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=U.getCurrent();if(t<r)return;let i=t*8e3/e,o=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(o,i),this._slowEWMA.addSample(o,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=U.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new tt(e),this._slowEWMA=new tt(t),this._bytesSampled=0}};function Wa(n,e){if(n.length===0)return[];n.sort((o,a)=>o.bitrate-a.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=ye(n,o=>o.bitrate>r);return i===-1?n:n.slice(0,i)}function Ga(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,d)=>{var u,c;return((u=s.width)!=null?u:0)-((c=d.width)!=null?c:0)}),o=X(i,s=>typeof s.width=="number"&&s.width>=t&&typeof s.height=="number"&&s.height>=r);if(o===void 0)return n;let a=typeof o.width=="number"?o.width:0;return n.filter(s=>typeof s.width=="number"?s.width<=a:!0)}function yr(n){return Object.keys(n).map(e=>n[e])}var wn=typeof Object.values=="function"?Object.values:yr;var Ir=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(_(t)){if(I.CURRENT_ENV===I.DEV)throw new Error("ABR: progress for a request not added");m.warn("ABR: progress for a request not added");return}t.progress.push(e)}remove(e){if(_(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error("ABR: can't remove unknown request");m.warn("ABR: can't remove unknown request")}delete this._currentRequests[e]}getRequests(){return wn(this._currentRequests).filter(e=>!_(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function ho(n,e){let t=ye(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Yl=new G(void 0);Yl.finish();var $l=new G(1/0);$l.finish();function qa(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,d,u,c,l){var h,b,T;let{type:f}=s.adaptation,g=o(f),p=(h=t[f])!=null?h:0,y={limitResolution:(b=r.limitResolution[f])!=null?b:Yl,throttleBitrate:(T=r.throttleBitrate[f])!=null?T:$l};return wp({bandwidthEstimator:g,context:s,currentRepresentation:d,filters:y,initialBitrate:p,playbackObserver:c,representations:u,lowLatencyMode:i},l)};function o(a){let s=e[a];if(_(s)){m.debug("ABR: Creating new BandwidthEstimator for ",a);let d=new hr;return e[a]=d,d}return s}}function wp({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:o,playbackObserver:a,representations:s},d){let u=new cr,c=new mr(i!=null?i:0,o),l=new Ir,f=Z,g={metrics:T,requestBegin:v,requestProgress:E,requestEnd:R,addedSegment(k){f(k)}},p=new B;p.linkToSignal(d);let y=h(s.getValue(),p.signal);return s.onUpdate(b,{clearSignal:d}),{estimates:y,callbacks:g};function h(k,A){if(k.length<=1)return new G({bitrate:void 0,representation:k[0],urgent:!0,knownStableBitrate:void 0});let M=!1,x=k.sort((V,$)=>V.bitrate-$.bitrate),L=new fr(x.map(V=>V.bitrate)),O=new pr,N=new gr(u,O),C=a.getReference().getValue(),P=new G(F());return a.listen(V=>{C=V,D()},{includeLastObservation:!1,clearSignal:A}),f=function(V){if(C===null)return;let{position:$,speed:q}=C,W=V.buffered,z=fo(W,$.getWanted()),{representation:H}=V.content,se=u.getEstimate(H),oe=H.bitrate,ue={bufferGap:z,currentBitrate:oe,currentScore:se,speed:q};L.onAddedSegment(ue),D()},A.register(()=>{f=Z}),r.throttleBitrate.onUpdate(D,{clearSignal:A}),r.limitResolution.onUpdate(D,{clearSignal:A}),P;function D(){P.setValue(F())}function F(){let{bufferGap:V,position:$,maximumPosition:q}=C,W=r.limitResolution.getValue(),z=r.throttleBitrate.getValue(),H=t.getValue(),se=Op(x,W,z),oe=l.getRequests(),{bandwidthEstimate:ue,bitrateChosen:he}=c.getBandwidthEstimate(C,n,H,oe,O.bandwidth),Y=u.getLastStableRepresentation(),ce=Y===null?void 0:Y.bitrate/(C.speed>0?C.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:Ie,ABR_EXIT_BUFFER_BASED_ALGO:Bt}=U.getCurrent();M&&V<=Bt?M=!1:!M&&isFinite(V)&&V>=Ie&&(M=!0);let $e=ho(se,he),Ue=L.getLastEstimate(),Tt=$e.bitrate,ht=null;M&&Ue!==void 0&&Ue>Tt&&(ht=ho(se,Ue),Tt=ht.bitrate);let Oe=null;return o&&H!==null&&e.manifest.isDynamic&&q-$.getWanted()<40&&(Oe=N.getGuess(x,C,H,Tt,oe)),Oe!==null&&Oe.bitrate>Tt?(m.debug("ABR: Choosing representation with guess-based estimation.",Oe.bitrate,Oe.id),O.update(Oe,ue,2),{bitrate:ue,representation:Oe,urgent:H===null||Oe.bitrate<H.bitrate,knownStableBitrate:ce}):ht!==null?(m.debug("ABR: Choosing representation with buffer-based estimation.",ht.bitrate,ht.id),O.update(ht,ue,0),{bitrate:ue,representation:ht,urgent:c.isUrgent(ht.bitrate,H,oe,C),knownStableBitrate:ce}):(m.debug("ABR: Choosing representation with bandwidth estimation.",$e.bitrate,$e.id),O.update($e,ue,1),{bitrate:ue,representation:$e,urgent:c.isUrgent($e.bitrate,H,oe,C),knownStableBitrate:ce})}}function b(){let k=s.getValue();p.cancel(),p=new B,p.linkToSignal(d),h(k,p.signal).onUpdate(function(x){y.setValue(x)},{clearSignal:p.signal,emitCurrentValue:!0})}function T(k){let{requestDuration:A,segmentDuration:M,size:x,content:L}=k;if(n.addSample(A,x),!L.segment.isInit){let{segment:O,representation:N}=L;if(M===void 0&&!O.complete)return;let C=M!=null?M:O.duration;u.addSample(N,A/1e3,C)}}function v(k){l.add(k)}function E(k){l.addProgress(k)}function R(k){l.remove(k.id)}}function Op(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Wa(r,t)),e!==void 0&&(r=Ga(r,e)),r}var Ql=qa;function yo(){var t;if(typeof((t=ee.crypto)==null?void 0:t.randomUUID)=="function")return ee.crypto.randomUUID();let n=new Date().getTime(),e=K();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r==="x"?i:i&3|8).toString(16)})}var Dp=4,br=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:yo(),this._contentId=(r=e.contentId)!=null?r:yo(),this._typePreference=e.communicationType==="headers"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(),this._canceller=new B,this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot="m",e){case"dash":t.sf="d";break;case"smooth":t.sf="s";break;default:t.sf="o";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var a,s,d,u;let t=(a=this._playbackObserver)==null?void 0:a.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case"video":r.ot="v";break;case"audio":r.ot="a";break;case"text":r.ot="c";break}e.segment.isInit&&(r.ot="i");let i;if(t!==void 0&&(r.ot==="v"||r.ot==="a"||r.ot==="av")){let c=t.buffered[e.adaptation.type];if(!_(c)){let l=(u=(d=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?d:t.position.getWanted())!=null?u:t.position.getPolled();for(let f of c)if(l>=f.start&&l<f.end){i=(f.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let o=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=o===void 0?void 0:Math.floor(Math.round(o/100)*100),o!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(o/1e3);r.rtp=Math.floor(Math.round(l*Dp/100)*100)}switch(e.manifest.transport){case"dash":r.sf="d";break;case"smooth":r.sf="s";break;default:r.sf="o";break}return r.st=e.manifest.isDynamic?"l":"v",r.tb=e.adaptation.representations.reduce((c,l)=>l.isSupported!==!0||l.decipherable===!1?c:c===void 0?Math.round(l.bitrate/1e3):Math.max(c,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:"",request:"",session:"",status:""},r="",i=(u,c)=>{this._typePreference===0?t[c]+=u:r+=u},o=(u,c)=>{let l=e[u];if(l!==void 0){let f=`${u}=${String(l)},`;i(f,c)}},a=(u,c)=>{if(e[u]===!0){let l=`${u},`;i(l,c)}},s=(u,c)=>{let l=e[u];if(l!==void 0){let g=`prop=${`"${l.replace("\\","\\\\").replace('"','\\"')}"`},`;i(g,c)}},d=(u,c)=>{let l=e[u];if(l!==void 0){let f=`prop=${l},`;i(f,c)}};return o("br","object"),o("bl","request"),a("bs","status"),s("cid","session"),o("d","object"),o("dl","request"),o("mtp","request"),d("ot","object"),o("pr","session"),o("rtp","status"),d("sf","session"),s("sid","session"),d("st","session"),a("su","request"),o("tb","object"),this._typePreference===0?(t.object[t.object.length-1]===","&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===","&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===","&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===","&&(t.status=t.status.substring(0,t.status.length-1)),m.debug("CMCD: proposing headers payload"),{type:"headers",value:{"CMCD-Object":t.object,"CMCD-Request":t.request,"CMCD-Session":t.session,"CMCD-Status":t.status}}):(r[r.length-1]===","&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),m.debug("CMCD: proposing query string payload",r),{type:"query",value:[["CMCD",r]]})}};var Xl=br;var nt=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name="CustomLoaderError",this.canRetry=t,this.xhr=r}};var Ee=class n extends Error{constructor(e,t,r){let i;switch(r){case"TIMEOUT":i="The request timed out";break;case"ERROR_EVENT":i="An error prevented the request to be performed successfully";break;case"PARSE_ERROR":i="An error happened while formatting the response data";break;case"ERROR_HTTP_CODE":i="An HTTP status code indicating failure was received: "+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name="RequestError",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Be={TIMEOUT:"TIMEOUT",ERROR_EVENT:"ERROR_EVENT",ERROR_HTTP_CODE:"ERROR_HTTP_CODE",PARSE_ERROR:"PARSE_ERROR"};var ja=typeof Headers=="function"?Headers:null,Ya=typeof AbortController=="function"?AbortController:null;function Io(n){var f,g;let e;if(!_(n.headers))if(_(ja))e=n.headers;else{e=new ja;let p=Object.keys(n.headers);for(let y=0;y<p.length;y++){let h=p[y];e.append(h,n.headers[h])}}m.debug("Fetch: Called with URL",n.url);let t=null,r=!1,i=!1,o=K(),a=_(Ya)?null:new Ya;function s(){if(_(a)){m.warn("Fetch: AbortController API not available.");return}a.abort()}let d;n.timeout!==void 0&&(d=setTimeout(()=>{r=!0,u!==void 0&&clearTimeout(u),s()},n.timeout));let u;n.connectionTimeout!==void 0&&(u=setTimeout(()=>{i=!0,d!==void 0&&clearTimeout(d),s()},n.connectionTimeout));let c=n.cancelSignal.register(function(y){t=y,s()}),l={method:"GET"};if(e!==void 0&&(l.headers=e),l.signal=_(a)?null:a.signal,m.hasLevel("DEBUG")){let p="FETCH: Sending GET "+n.url;n.timeout!==void 0&&(p+=" to="+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=" cto="+String(n.connectionTimeout/1e3)),((f=n.headers)==null?void 0:f.Range)!==void 0&&(p+=" Range="+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(u!==void 0&&clearTimeout(u),p.status>=300)throw m.warn("Fetch: Request HTTP Error",p.status,p.url),new Ee(p.url,p.status,Be.ERROR_HTTP_CODE);if(_(p.body))throw new Ee(p.url,p.status,Be.PARSE_ERROR);let y=p.headers.get("Content-Length"),h=!_(y)&&!isNaN(+y)?+y:void 0,b=p.body.getReader(),T=0;return v();async function v(){let E=await b.read();if(!E.done&&!_(E.value)){T+=E.value.byteLength;let R=K(),k={url:p.url,currentTime:R,duration:R-o,sendingTime:o,chunkSize:E.value.byteLength,chunk:E.value.buffer,size:T,totalSize:h};return n.onData(k),v()}else if(E.done){d!==void 0&&clearTimeout(d),c();let R=K();return{requestDuration:R-o,receivedTime:R,sendingTime:o,size:T,status:p.status,url:p.url}}return v()}}).catch(p=>{throw t!==null?t:(c(),r?(m.warn("Fetch: Request timed out."),new Ee(n.url,0,Be.TIMEOUT)):i?(m.warn("Fetch: Request connection timed out."),new Ee(n.url,0,Be.TIMEOUT)):p instanceof Ee?p:(m.warn("Fetch: Request Error",p instanceof Error?p.toString():""),new Ee(n.url,0,Be.ERROR_EVENT)))})}function Sr(){return typeof ee.fetch=="function"&&!_(Ya)&&!_(ja)}function w(n){return typeof n=="string"&&n.length>0}var Lp="json";function $a(n){let e={url:n.url,headers:n.headers,responseType:_(n.responseType)?Lp:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:o}=n,{url:a,headers:s,responseType:d,timeout:u,connectionTimeout:c}=e,l=new XMLHttpRequest;l.open("GET",a,!0);let f;u!==void 0&&(l.timeout=u,f=setTimeout(()=>{h(),r(new Ee(a,l.status,Be.TIMEOUT))},u+3e3));let g;if(c!==void 0&&(g=setTimeout(()=>{h(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new Ee(a,l.status,Be.TIMEOUT))},c)),l.responseType=d,l.responseType==="document"&&l.overrideMimeType("text/xml"),!_(s)){let b=s;for(let T in b)b.hasOwnProperty(T)&&l.setRequestHeader(T,b[T])}let p=K(),y=null;if(o!==void 0&&(y=o.register(function(T){h(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(T)}),o.isCancelled()))return;if(l.onerror=function(){h(),r(new Ee(a,l.status,Be.ERROR_EVENT))},l.ontimeout=function(){h(),r(new Ee(a,l.status,Be.TIMEOUT))},c!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(T){let v=K();i({url:a,duration:v-p,sendingTime:p,currentTime:v,size:T.loaded,totalSize:T.total})}),l.onload=function(T){if(l.readyState===XMLHttpRequest.DONE)if(h(),l.status>=200&&l.status<300){let v=K(),E=l.response instanceof ArrayBuffer?l.response.byteLength:T.total,R=l.status,k=l.responseType,A=w(l.responseURL)?l.responseURL:a,M;if(k==="json"?M=typeof l.response=="object"?l.response:Np(l.responseText):M=l.response,_(M)){r(new Ee(a,l.status,Be.PARSE_ERROR));return}t({status:R,url:A,responseType:k,sendingTime:p,receivedTime:v,requestDuration:v-p,size:E,responseData:M})}else r(new Ee(a,l.status,Be.ERROR_HTTP_CODE))},m.hasLevel("DEBUG")){let b="XHR: Sending GET "+a;n.responseType!==void 0&&(b+=" type="+n.responseType),u!==void 0&&(b+=" to="+String(u/1e3)),c!==void 0&&(b+=" cto="+String(c/1e3)),(s==null?void 0:s.Range)!==void 0&&(b+=" Range="+(s==null?void 0:s.Range)),m.debug(b)}l.send();function h(){f!==void 0&&clearTimeout(f),g!==void 0&&clearTimeout(g),y!==null&&y()}})}function Np(n){try{return JSON.parse(n)}catch(e){return null}}var Te=$a;var cn=Be,Xe={NETWORK_ERROR:"NETWORK_ERROR",MEDIA_ERROR:"MEDIA_ERROR",ENCRYPTED_MEDIA_ERROR:"ENCRYPTED_MEDIA_ERROR",OTHER_ERROR:"OTHER_ERROR"},Qa={PIPELINE_LOAD_ERROR:"PIPELINE_LOAD_ERROR",PIPELINE_PARSE_ERROR:"PIPELINE_PARSE_ERROR",INTEGRITY_ERROR:"INTEGRITY_ERROR",MANIFEST_PARSE_ERROR:"MANIFEST_PARSE_ERROR",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"MANIFEST_INCOMPATIBLE_CODECS_ERROR",MANIFEST_UPDATE_ERROR:"MANIFEST_UPDATE_ERROR",MANIFEST_UNSUPPORTED_ADAPTATION_TYPE:"MANIFEST_UNSUPPORTED_ADAPTATION_TYPE",MEDIA_STARTING_TIME_NOT_FOUND:"MEDIA_STARTING_TIME_NOT_FOUND",MEDIA_TIME_BEFORE_MANIFEST:"MEDIA_TIME_BEFORE_MANIFEST",MEDIA_TIME_AFTER_MANIFEST:"MEDIA_TIME_AFTER_MANIFEST",MEDIA_TIME_NOT_FOUND:"MEDIA_TIME_NOT_FOUND",NO_PLAYABLE_REPRESENTATION:"NO_PLAYABLE_REPRESENTATION",MEDIA_IS_ENCRYPTED_ERROR:"MEDIA_IS_ENCRYPTED_ERROR",CREATE_MEDIA_KEYS_ERROR:"CREATE_MEDIA_KEYS_ERROR",MEDIA_KEYS_ATTACHMENT_ERROR:"MEDIA_KEYS_ATTACHMENT_ERROR",KEY_ERROR:"KEY_ERROR",KEY_STATUS_CHANGE_ERROR:"KEY_STATUS_CHANGE_ERROR",KEY_UPDATE_ERROR:"KEY_UPDATE_ERROR",KEY_LOAD_ERROR:"KEY_LOAD_ERROR",KEY_LOAD_TIMEOUT:"KEY_LOAD_TIMEOUT",KEY_GENERATE_REQUEST_ERROR:"KEY_GENERATE_REQUEST_ERROR",INCOMPATIBLE_KEYSYSTEMS:"INCOMPATIBLE_KEYSYSTEMS",INVALID_ENCRYPTED_EVENT:"INVALID_ENCRYPTED_EVENT",INVALID_KEY_SYSTEM:"INVALID_KEY_SYSTEM",LICENSE_SERVER_CERTIFICATE_ERROR:"LICENSE_SERVER_CERTIFICATE_ERROR",MULTIPLE_SESSIONS_SAME_INIT_DATA:"MULTIPLE_SESSIONS_SAME_INIT_DATA",BUFFER_APPEND_ERROR:"BUFFER_APPEND_ERROR",BUFFER_FULL_ERROR:"BUFFER_FULL_ERROR",BUFFER_TYPE_UNKNOWN:"BUFFER_TYPE_UNKNOWN",MEDIA_ERR_BLOCKED_AUTOPLAY:"MEDIA_ERR_BLOCKED_AUTOPLAY",MEDIA_ERR_PLAY_NOT_ALLOWED:"MEDIA_ERR_PLAY_NOT_ALLOWED",MEDIA_ERR_NOT_LOADED_METADATA:"MEDIA_ERR_NOT_LOADED_METADATA",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_UNKNOWN:"MEDIA_ERR_UNKNOWN",MEDIA_SOURCE_NOT_SUPPORTED:"MEDIA_SOURCE_NOT_SUPPORTED",MEDIA_KEYS_NOT_SUPPORTED:"MEDIA_KEYS_NOT_SUPPORTED",DISCONTINUITY_ENCOUNTERED:"DISCONTINUITY_ENCOUNTERED",NONE:"NONE"};function lt(n,e){return`${n}: ${e}`}var pe=class n extends Error{constructor(e,t,r){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="EncryptedMediaError",this.type=Xe.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)=="string"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var J=class n extends Error{constructor(e,t,r){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="MediaError",this.type=Xe.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var rt=class n extends Error{constructor(e,t){super(lt(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name="NetworkError",this.type=Xe.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===cn.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var De=class n extends Error{constructor(e,t){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="OtherError",this.type=Xe.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Wt(n){return(n instanceof pe||n instanceof J||n instanceof De||n instanceof rt)&&Object.keys(Xe).indexOf(n.type)>=0}function we(n,{defaultCode:e,defaultReason:t}){if(Wt(n))return n;let r=n instanceof Error?n.toString():t;return new De(e,r)}var it=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name="SourceBufferError",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var Up={aa:"aar",ab:"abk",ae:"ave",af:"afr",ak:"aka",am:"amh",an:"arg",ar:"ara",as:"asm",av:"ava",ay:"aym",az:"aze",ba:"bak",be:"bel",bg:"bul",bi:"bis",bm:"bam",bn:"ben",bo:"bod",br:"bre",bs:"bos",ca:"cat",ce:"che",ch:"cha",co:"cos",cr:"cre",cs:"ces",cu:"chu",cv:"chv",cy:"cym",da:"dan",de:"deu",dv:"div",dz:"dzo",ee:"ewe",el:"ell",en:"eng",eo:"epo",es:"spa",et:"est",eu:"eus",fa:"fas",ff:"ful",fi:"fin",fj:"fij",fo:"fao",fr:"fra",fy:"fry",ga:"gle",gd:"gla",gl:"glg",gn:"grn",gu:"guj",gv:"glv",ha:"hau",he:"heb",hi:"hin",ho:"hmo",hr:"hrv",ht:"hat",hu:"hun",hy:"hye",hz:"her",ia:"ina",id:"ind",ie:"ile",ig:"ibo",ii:"iii",ik:"ipk",io:"ido",is:"isl",it:"ita",iu:"iku",ja:"jpn",jv:"jav",ka:"kat",kg:"kon",ki:"kik",kj:"kua",kk:"kaz",kl:"kal",km:"khm",kn:"kan",ko:"kor",kr:"kau",ks:"kas",ku:"kur",kv:"kom",kw:"cor",ky:"kir",la:"lat",lb:"ltz",lg:"lug",li:"lim",ln:"lin",lo:"lao",lt:"lit",lu:"lub",lv:"lav",mg:"mlg",mh:"mah",mi:"mri",mk:"mkd",ml:"mal",mn:"mon",mr:"mar",ms:"msa",mt:"mlt",my:"mya",na:"nau",nb:"nob",nd:"nde",ne:"nep",ng:"ndo",nl:"nld",nn:"nno",no:"nor",nr:"nbl",nv:"nav",ny:"nya",oc:"oci",oj:"oji",om:"orm",or:"ori",os:"oss",pa:"pan",pi:"pli",pl:"pol",ps:"pus",pt:"por",qu:"que",rm:"roh",rn:"run",ro:"ron",ru:"rus",rw:"kin",sa:"san",sc:"srd",sd:"snd",se:"sme",sg:"sag",si:"sin",sk:"slk",sl:"slv",sm:"smo",sn:"sna",so:"som",sq:"sqi",sr:"srp",ss:"ssw",st:"sot",su:"sun",sv:"swe",sw:"swa",ta:"tam",te:"tel",tg:"tgk",th:"tha",ti:"tir",tk:"tuk",tl:"tgl",tn:"tsn",to:"ton",tr:"tur",ts:"tso",tt:"tat",tw:"twi",ty:"tah",ug:"uig",uk:"ukr",ur:"urd",uz:"uzb",ve:"ven",vi:"vie",vo:"vol",wa:"wln",wo:"wol",xh:"xho",yi:"yid",yo:"yor",za:"zha",zh:"zho",zu:"zul"},Zl=Up;var Bp={alb:"sqi",arm:"hye",baq:"eus",bur:"mya",chi:"zho",cze:"ces",dut:"nld",fre:"fra",geo:"kat",ger:"deu",gre:"ell",ice:"isl",mac:"mkd",mao:"mri",may:"msa",per:"fas",slo:"slk",rum:"ron",tib:"bod",wel:"cym"},Jl=Bp;function Fp(n){if(_(n)||n==="")return"und";let t=(""+n).toLowerCase().split("-")[0],r=Kp(t);return w(r)?r:n}function Kp(n){let e;switch(n.length){case 2:e=Zl[n];break;case 3:e=Jl[n];break}return e}var ec=Fp;var Tr=ec;function ge(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Ze(){let n="",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+="0",e=0),n+String(e)}}var Vp=Ze(),Xa=class{constructor(e,t,r){var o,a,s,d,u;this.id=e.id,this.uniqueId=Vp(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t==="audio"||t==="video"){if(e.supplementalCodecs!==void 0){let c=r.isSupported((o=this.mimeType)!=null?o:"",(a=e.supplementalCodecs)!=null?a:"",i);c!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=c)}this.isSupported!==!0&&(this.codecs.length>0?this.codecs.push((s=e.codecs)!=null?s:""):(this.codecs=e.codecs===void 0?[]:[e.codecs],this.isSupported=r.isSupported((d=this.mimeType)!=null?d:"",(u=e.codecs)!=null?u:"",i)))}else e.codecs!==void 0&&this.codecs.push(e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,d;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:"",o=(d=this.codecs)!=null?d:[];o.length===0&&(o=[""]);let a=!1;for(let u of o){if(r=e.isSupported(i,u,t),r===!0){this.codecs=[u];break}r===void 0&&(a=!0)}r===!0?this.isSupported=!0:a?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var e,t,r;return`${(e=this.mimeType)!=null?e:""};codecs="${(r=(t=this.codecs)==null?void 0:t[0])!=null?r:""}"`}getEncryptionData(e){var i,o;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let s=!1,d=t[a];for(let u=0;u<d.values.length;u++)if(d.values[u].systemId.toLowerCase()===e.toLowerCase())if(s)r[r.length-1].values.push(d.values[u]);else{let c=(o=(i=this.contentProtections)==null?void 0:i.keyIds)==null?void 0:o.map(l=>l.keyId);r.push({type:d.type,keyIds:c,values:[d.values[u]]}),s=!0}}return r}getAllEncryptionData(){var t,r;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(r=(t=this.contentProtections)==null?void 0:t.keyIds)==null?void 0:r.map(i=>i.keyId);return this.contentProtections.initData.map(i=>({type:i.type,keyIds:e,values:i.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[{keyId:t}]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let a=this.contentProtections.keyIds;if(a===void 0)this.contentProtections.keyIds=[{keyId:t}];else{let s=!1;for(let d of a)ge(d.keyId,t)&&(s=!0);s||(m.warn("Manifest: found unanounced key id."),a.push({keyId:t}))}}let o=this.contentProtections.initData;for(let a=0;a<o.length;a++)if(o[a].type===e){let s=o[a].values;for(let d=0;d<r.length;d++){let u=r[d],c;for(c=0;c<s.length;c++)if(u.systemId===s[c].systemId){if(ge(u.data,s[c].data))break;m.warn("Manifest: different init data for the same system ID")}c===s.length&&(s.push(u),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},tc=Xa;var _r=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:o,isManuallyAdded:a}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=Tr(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(u=>new n(u,t)));let s=e.representations,d=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let u=0;u<s.length;u++){let c=new tc(s[u],this.type,t),l=!0;if(!_(o)){let f={id:c.id,bitrate:c.bitrate,codecs:c.codecs,height:c.height,width:c.width,frameRate:c.frameRate,hdrInfo:c.hdrInfo};if(c.contentProtections!==void 0&&(f.contentProtections={},c.contentProtections.keyIds!==void 0)){let g=c.contentProtections.keyIds.map(({keyId:p})=>p);f.contentProtections.keyIds=g}l=o(f,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(d.push(c),c.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):c.isSupported&&(this.supportStatus.hasSupportedCodec=!0),c.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):c.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug("Filtering Representation due to representationFilter",this.type,`Adaptation: ${this.id}`,`Representation: ${c.id}`,`(${c.bitrate})`)}d.sort((u,c)=>u.bitrate-c.bitrate),this.representations=d,this.manuallyAdded=a===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return X(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};function Za(){return sn}function fn(n){return new Promise(e=>{setTimeout(e,n)})}function Ja(){return dr}function Er(n,e,t){let r=n.setMediaKeys(e,t).then(()=>{m.info("Compat: MediaKeys updated with success")}).catch(i=>{if(t===null){m.error("Compat: Could not reset MediaKeys",i instanceof Error?i:"Unknown Error");return}throw m.error("Compat: Could not update MediaKeys",i instanceof Error?i:"Unknown Error"),i});return Ja()?r:Promise.race([r,fn(1e3)])}var es=new WeakMap,Fe={setState(n,e){es.set(n,e)},getState(n){let e=es.get(n);return e===void 0?null:e},clearState(n){es.set(n,null)}};async function On(n){let e=Fe.getState(n);if(e===null)return;m.info("DRM: Disposing of the current MediaKeys");let{loadedSessionsStore:t}=e;return Fe.clearState(n),await t.closeAllSessions(),Er(e.emeImplementation,n,null)}function bo(n){if(m.info("DRM: Clearing-up DRM session."),Za())return m.info("DRM: disposing current MediaKeys."),On(n);let e=Fe.getState(n);return e!==null&&e.keySystemOptions.closeSessionsOnStop===!0?(m.info("DRM: closing all current sessions."),e.loadedSessionsStore.closeAllSessions()):(m.info("DRM: Nothing to clear. Returning right away. No state =",e===null),Promise.resolve())}function ot(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let o=!1;t=e(function(d){n.deregister(a),o=!0,r(d)},function(d){n.deregister(a),o=!0,i(d)}),o||n.register(a);function a(s){t!==void 0&&t(),i(s)}})}function Gt(n,e){return ot(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}function So(n){let e=new B;return Promise.race([n.close().then(()=>{e.cancel()}),n.closed.then(()=>{e.cancel()}),t()]);async function t(){try{await Gt(1e3,e.signal),await r()}catch(i){if(i instanceof Me)return;let o=i instanceof Error?i.message:"Unknown error made it impossible to close the session";m.error(`DRM: ${o}`)}}async function r(){try{await n.update(new Uint8Array(1))}catch(i){if(e.isUsed()||i instanceof Error&&i.message==="The session is already closed.")return;await Gt(1e3,e.signal)}if(!e.isUsed())throw new Error("Compat: Couldn't know if session is closed")}}var zp=["","webkit","moz","ms"];function Hp(n,e){let t=document.createElement(n.tagName),r="on"+e;return r in t?!0:(t.setAttribute(r,"return;"),typeof t[r]=="function")}function Wp(n,e){return e.filter(t=>Hp(n,t))[0]}function Gp(n,e){return n.reduce((t,r)=>t.concat((e===void 0?zp:e).map(i=>i+r)),[])}function _e(n,e){let t,r=Gp(n,e);return(i,o,a)=>{if(!a.isCancelled()){if(typeof HTMLElement!="undefined"&&i instanceof HTMLElement)if(typeof t=="undefined"&&(t=Wp(i,r)),w(t))i.addEventListener(t,o),a.register(()=>{t!==void 0&&i.removeEventListener(t,o)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: element ${i.tagName} does not support any of these events: `+r.join(", "));return}r.forEach(s=>{let d=!1;typeof i.addEventListener=="function"?i.addEventListener(s,o):(d=!0,i["on"+s]=o),a.register(()=>{typeof i.removeEventListener=="function"&&i.removeEventListener(s,o),d&&delete i["on"+s]})})}}}function qp(n){let e,t=document;_(t.hidden)?_(t.mozHidden)?_(t.msHidden)?_(t.webkitHidden)||(e="webkit"):e="ms":e="moz":e="";let r=w(e)?e+"Hidden":"hidden",i=w(e)?e+"visibilitychange":"visibilitychange",o=document[r],a=new G(!o,n);return mn(document,i,()=>{let s=!document[r];a.setValueIfChanged(s)},n),a}function nc(n,e){if(n.webkitSupportsPresentationMode===!0&&typeof n.webkitSetPresentationMode=="function"){let i=n.webkitPresentationMode==="picture-in-picture",o=new G({isEnabled:i,pipWindow:null},e);return mn(n,"webkitpresentationmodechanged",()=>{let a=n.webkitPresentationMode==="picture-in-picture";o.setValue({isEnabled:a,pipWindow:null})},e),o}let t=document.pictureInPictureElement===n,r=new G({isEnabled:t,pipWindow:null},e);return mn(n,"enterpictureinpicture",i=>{var o;r.setValue({isEnabled:!0,pipWindow:(o=i.pictureInPictureWindow)!=null?o:null})},e),mn(n,"leavepictureinpicture",()=>{r.setValue({isEnabled:!1,pipWindow:null})},e),r}function rc(n,e){let t=qp(e),r,i=new G(!0,e);return e.register(()=>{clearTimeout(r),r=void 0}),t.onUpdate(o,{clearSignal:e}),n.onUpdate(o,{clearSignal:e}),o(),i;function o(){if(clearTimeout(r),r=void 0,n.getValue().isEnabled||t.getValue())i.setValueIfChanged(!0);else{let{INACTIVITY_DELAY:a}=U.getCurrent();r=setTimeout(()=>{i.setValueIfChanged(!1)},a)}}}function ic(n){var o,a;let e=_(ee.devicePixelRatio)||ee.devicePixelRatio===0?1:ee.devicePixelRatio,t=new G({width:(o=ee.screen)==null?void 0:o.width,height:(a=ee.screen)==null?void 0:a.height,pixelRatio:e},n),r=setInterval(i,2e4);return n.register(function(){clearInterval(r)}),t;function i(){let s=t.getValue();(s.width!==screen.width||s.height!==screen.height||s.pixelRatio!==e)&&t.setValue({width:screen.width,height:screen.height,pixelRatio:e})}}function oc(n,e,t){let r=_(ee.devicePixelRatio)||ee.devicePixelRatio===0?1:ee.devicePixelRatio,i=new G({width:n.clientWidth,height:n.clientHeight,pixelRatio:r},t),o=Z;e.onUpdate(s,{clearSignal:t}),mn(ee,"resize",s,t),mn(n,"enterpictureinpicture",s,t),mn(n,"leavepictureinpicture",s,t);let a=setInterval(s,2e4);return s(),t.register(function(){o(),clearInterval(a)}),i;function s(){o();let d=e.getValue(),{pipWindow:u}=d;if(d.isEnabled)if(_(u)){let l=i.getValue();(l.width!==void 0||l.height!==void 0||l.pixelRatio!==r)&&i.setValue({width:void 0,height:void 0,pixelRatio:r})}else{let l=()=>{c()};u.addEventListener("resize",l),o=()=>{u.removeEventListener("resize",l),o=Z},c()}else{let l=i.getValue();(l.width!==n.clientWidth||l.height!==n.clientHeight||l.pixelRatio!==r)&&i.setValue({width:n.clientWidth,height:n.clientHeight,pixelRatio:r})}function c(){let l=i.getValue();(l.width!==(u==null?void 0:u.width)||l.height!==(u==null?void 0:u.height)||l.pixelRatio!==r)&&i.setValue({width:u==null?void 0:u.width,height:u==null?void 0:u.height,pixelRatio:r})}}}var xk=_e(["loadedmetadata"]),wk=_e(["timeupdate"]),Ok=_e(["addtrack"]),Dk=_e(["removetrack"]),Dn=_e(["sourceopen","webkitsourceopen"]),To=_e(["sourceclose","webkitsourceclose"]),_o=_e(["sourceended","webkitsourceended"]),ac=_e(["update"]),sc=_e(["removesourcebuffer"]),Eo=_e(["keymessage","message"]),dc=_e(["keyadded","ready"]),vo=_e(["keyerror","error"]),uc=_e(["keystatuseschange"]),lc=_e(["seeking"]),cc=_e(["seeked"]),fc=_e(["ended"]);function mn(n,e,t,r){n.addEventListener(e,t),r.register(()=>{n.removeEventListener(e,t)})}var ct,{WebKitMediaKeys:Ro}=ee;Ro!==void 0&&typeof Ro.isTypeSupported=="function"&&typeof Ro.prototype.createSession=="function"&&typeof HTMLMediaElement.prototype.webkitSetMediaKeys=="function"&&(ct=Ro);function ts(){return(Da||un)&&ct!==void 0}var vr=class{constructor(e,t,r){this._keyType=e;this._mediaKeys=t;this._configuration=r}get keySystem(){return this._keyType}createMediaKeys(){return new Promise(e=>e(this._mediaKeys))}getConfiguration(){return this._configuration}};function Et(n){try{let e=n();return typeof e=="object"&&e!==null&&typeof e.then=="function"?e:Promise.resolve(e)}catch(e){return Promise.reject(e)}}var vt,{MSMediaKeys:Rr}=ee;Rr!==void 0&&Rr.prototype!==void 0&&typeof Rr.isTypeSupported=="function"&&typeof Rr.prototype.createSession=="function"&&(vt=Rr);var ns=class extends ie{constructor(e){super(),this.expiration=NaN,this.keyStatuses=new Map,this._mk=e,this._sessionClosingCanceller=new B,this.closed=new Promise(t=>{this._sessionClosingCanceller.signal.register(()=>t())}),this.update=t=>new Promise((r,i)=>{if(this._ss===void 0)return i("MediaKeySession not set.");try{r(this._ss.update(t,""))}catch(o){i(o)}})}generateRequest(e,t){return new Promise(r=>{let i;t instanceof Uint8Array?i=t:t instanceof ArrayBuffer?i=new Uint8Array(t):i=new Uint8Array(t.buffer),this._ss=this._mk.createSession("video/mp4",i),Eo(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"message",o)},this._sessionClosingCanceller.signal),dc(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"keyadded",o)},this._sessionClosingCanceller.signal),vo(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"keyerror",o)},this._sessionClosingCanceller.signal),r()})}close(){return new Promise(e=>{_(this._ss)||(this._ss.close(),this._ss=void 0),this._sessionClosingCanceller.cancel(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}get sessionId(){var e,t;return(t=(e=this._ss)==null?void 0:e.sessionId)!=null?t:""}},ko=class{constructor(e){if(vt===void 0)throw new Error("No MSMediaKeys API.");this._mediaKeys=new vt(e)}_setVideo(e){return Et(()=>{this._videoElement=e,this._videoElement.msSetMediaKeys!==void 0&&this._videoElement.msSetMediaKeys(this._mediaKeys)})}createSession(){if(this._videoElement===void 0||this._mediaKeys===void 0)throw new Error("Video not attached to the MediaKeys");return new ns(this._mediaKeys)}setServerCertificate(){throw new Error("Server certificate is not implemented in your browser")}};function rs(){return{isTypeSupported:(r,i)=>{if(vt===void 0)throw new Error("No MSMediaKeys API.");return i!==void 0?vt.isTypeSupported(r,i):vt.isTypeSupported(r)},createCustomMediaKeys:r=>new ko(r),setMediaKeys:(r,i)=>{if(i===null)return Promise.resolve(void 0);if(!(i instanceof ko))throw new Error("Custom setMediaKeys is supposed to be called with IE11 custom MediaKeys.");return i._setVideo(r)}}}var qt,{MozMediaKeys:kr}=ee;kr!==void 0&&kr.prototype!==void 0&&typeof kr.isTypeSupported=="function"&&typeof kr.prototype.createSession=="function"&&(qt=kr);function is(){return{isTypeSupported:(r,i)=>{if(qt===void 0)throw new Error("No MozMediaKeys API.");return i!==void 0?qt.isTypeSupported(r,i):qt.isTypeSupported(r)},createCustomMediaKeys:r=>{if(qt===void 0)throw new Error("No MozMediaKeys API.");return new qt(r)},setMediaKeys:(r,i)=>Et(()=>{if(r.mozSetMediaKeys===void 0||typeof r.mozSetMediaKeys!="function")throw new Error("Can't set video on MozMediaKeys.");return r.mozSetMediaKeys(i)})}}var Rt=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],mc=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function Co(n){if(n>=mc.length)throw new Error("Unable to parse base64 string.");let e=mc[n];if(e===255)throw new Error("Unable to parse base64 string.");return e}function Po(n){let e="",t,r=n.length;for(t=2;t<r;t+=3)e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4|n[t-1]>>4],e+=Rt[(n[t-1]&15)<<2|n[t]>>6],e+=Rt[n[t]&63];return t===r+1&&(e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4],e+="=="),t===r&&(e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4|n[t-1]>>4],e+=Rt[(n[t-1]&15)<<2],e+="="),e}function ft(n){let e=n.length%4,t=n;e!==0&&(m.warn("base64ToBytes: base64 given miss padding"),t+=e===3?"=":e===2?"==":"===");let r=t.indexOf("=");if(r!==-1&&r<t.length-2)throw new Error("Unable to parse base64 string.");let i=t.endsWith("==")?2:t.endsWith("=")?1:0,o=t.length,a=new Uint8Array(o/4*3),s;for(let d=0,u=0;d<o;d+=4,u+=3)s=Co(t.charCodeAt(d))<<18|Co(t.charCodeAt(d+1))<<12|Co(t.charCodeAt(d+2))<<6|Co(t.charCodeAt(d+3)),a[u]=s>>16,a[u+1]=s>>8&255,a[u+2]=s&255;return a.subarray(0,a.length-i)}var gc=typeof ee=="object"&&typeof ee.TextDecoder=="function",Yp=typeof ee=="object"&&typeof ee.TextEncoder=="function";function Mo(n){let e=new ArrayBuffer(n.length*2),t=new Uint8Array(e);for(let r=0;r<t.length;r+=2){let i=n.charCodeAt(r/2);t[r]=i&255,t[r+1]=i>>8&255}return t}function Ao(n){if(gc)try{return new TextDecoder("utf-16le").decode(n)}catch(t){let r=t instanceof Error?t:"";m.warn("Utils: could not use TextDecoder to parse UTF-16LE, fallbacking to another implementation",r)}let e="";for(let t=0;t<n.length;t+=2)e+=String.fromCharCode((n[t+1]<<8)+n[t]);return e}function ve(n){if(Yp)try{return new TextEncoder().encode(n)}catch(i){let o=i instanceof Error?i:"";m.warn("Utils: could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation",o)}let e,t=encodeURIComponent(n);if(typeof unescape=="function")e=unescape(t);else{let i=/[0-9a-fA-F]/,o=t.length;e="";for(let a=0;a<t.length;a++){let s=!1;if(t[a]==="%"){if(a<=o-6&&t[a+1]==="u"&&i.test(t[a+2])&&i.test(t[a+3])&&i.test(t[a+4])&&i.test(t[a+5])){let d=parseInt(t.substring(a+1,a+6),16);e+=String.fromCharCode(d),s=!0,a+=5}else if(a<=o-3&&i.test(t[a+1])&&i.test(t[a+2])){let d=parseInt(t.substring(a+1,a+3),16);e+=String.fromCharCode(d),s=!0,a+=2}}s||(e+=t[a])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function $p(n){let t="";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function pc(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join("0")+t}function Le(n){if(gc)try{return new TextDecoder().decode(n)}catch(i){let o=i instanceof Error?i:"";m.warn("Utils: could not use TextDecoder to parse UTF-8, fallbacking to another implementation",o)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=$p(e),r;if(typeof escape=="function")r=escape(t);else{let i=/[A-Za-z0-9*_\+-\.\/]/;r="";for(let o=0;o<t.length;o++)if(i.test(t[o]))r+=t[o];else{let a=t.charCodeAt(o);r+=a>=256?"%u"+pc(a,4):"%"+pc(a,2)}}return decodeURIComponent(r)}function qe(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function Ne(n,e=""){let t="";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function xo(n){te(n.length===16,"GUID length should be 16");let e=n[0],t=n[1],r=n[2],i=n[3],o=n[4],a=n[5],s=n[6],d=n[7],u=new Uint8Array(16);return u[0]=i,u[1]=r,u[2]=t,u[3]=e,u[4]=a,u[5]=o,u[6]=d,u[7]=s,u.set(n.subarray(8,16),8),u}function os(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Le(r)}}function ss(n){return typeof(n==null?void 0:n.webkitGenerateKeyRequest)=="function"}var as=class extends ie{constructor(e,t){super(),this._vid=e,this._key=t,this.sessionId="",this._closeSession=Z,this.keyStatuses=new Map,this.expiration=NaN;let r=i=>{this.trigger(i.type,i)};this.closed=new Promise(i=>{this._closeSession=()=>{["keymessage","message","keyadded","ready","keyerror","error"].forEach(o=>{e.removeEventListener(o,r),e.removeEventListener(`webkit${o}`,r)}),i()}}),["keymessage","message","keyadded","ready","keyerror","error"].forEach(i=>{e.addEventListener(i,r),e.addEventListener(`webkit${i}`,r)})}update(e){return new Promise((t,r)=>{try{if(this._key.indexOf("clearkey")>=0){let i=e instanceof ArrayBuffer?new Uint8Array(e):e,o=JSON.parse(Le(i)),a=ft(o.keys[0].k),s=ft(o.keys[0].kid);t(this._vid.webkitAddKey(this._key,a,s,""))}else t(this._vid.webkitAddKey(this._key,e,null,""))}catch(i){r(i)}})}generateRequest(e,t){return new Promise(r=>{this._vid.webkitGenerateKeyRequest(this._key,t),r()})}close(){return new Promise(e=>{this._closeSession(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}},wo=class{constructor(e){this._keySystem=e}_setVideo(e){return Et(()=>{if(!ss(e))throw new Error("Video not attached to the MediaKeys");this._videoElement=e})}createSession(){if(_(this._videoElement))throw new Error("Video not attached to the MediaKeys");return new as(this._videoElement,this._keySystem)}setServerCertificate(){throw new Error("Server certificate is not implemented in your browser")}};function ds(){return{isTypeSupported:function(r){let i=document.querySelector("video");return _(i)&&(i=document.createElement("video")),!_(i)&&typeof i.canPlayType=="function"?!!i.canPlayType("video/mp4",r):!1},createCustomMediaKeys:r=>new wo(r),setMediaKeys:(r,i)=>{if(i===null)return Promise.resolve(void 0);if(!(i instanceof wo))throw new Error("Custom setMediaKeys is supposed to be called with old webkit custom MediaKeys.");return i._setVideo(r)}}}function Je(n,e,t){if(typeof String.prototype.startsWith=="function")return n.startsWith(e,t);let r=typeof t=="number"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function re(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i=="number"?i:i.length;let o=new Uint8Array(r),a=0;for(t=-1;++t<e;)i=n[t],typeof i=="number"?a+=i:i.length>0&&(o.set(i,a),a+=i.length);return o}function Oo(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function us(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function ne(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function Ke(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function fe(n){return new Uint8Array([n>>>8&255,n&255])}function be(n){return new Uint8Array([n>>>24&255,n>>>16&255,n>>>8&255,n&255])}function jt(n){let e=n%4294967296,t=(n-e)/4294967296;return new Uint8Array([t>>>24&255,t>>>16&255,t>>>8&255,t&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255])}function hc(n,e){return(n[e+0]<<0)+(n[e+1]<<8)}function yc(n,e){return n[e+0]+n[e+1]*256+n[e+2]*65536+n[e+3]*16777216}function Ic(n){return new Uint8Array([n&255,n>>>8&255])}function Cr(n){return new Uint8Array([n&255,n>>>8&255,n>>>16&255,n>>>24&255])}function ls(n,e){let t=n instanceof Uint8Array?n:new Uint8Array(n),r=e instanceof Uint8Array?e:new Uint8Array(e);if(yc(t,0)+4!==t.length)throw new Error("Unsupported WebKit initData.");let o=Ao(t),a=o.indexOf("skd://"),s=a>-1?o.substring(a+6):o,d=Mo(s),u=0,c=new Uint8Array(t.byteLength+4+d.byteLength+4+r.byteLength);return c.set(t),u+=t.length,c.set(Cr(d.byteLength),u),u+=4,c.set(d,u),u+=d.byteLength,c.set(Cr(r.byteLength),u),u+=4,c.set(r,u),c}function Qp(n){return Je(n,"com.apple.fps")}function bc(n,e){return Et(()=>{if(n.webkitSetMediaKeys===void 0)throw new Error("No webKitMediaKeys API.");n.webkitSetMediaKeys(e)})}var cs=class extends ie{constructor(e,t,r){super(),this._serverCertificate=r,this._videoElement=e,this._keyType=t,this._unbindSession=Z,this._closeSession=Z,this.closed=new Promise(i=>{this._closeSession=i}),this.keyStatuses=new Map,this.expiration=NaN}update(e){return new Promise((t,r)=>{if(this._nativeSession===void 0||this._nativeSession.update===void 0||typeof this._nativeSession.update!="function")return r("Unavailable WebKit key session.");try{let i;e instanceof ArrayBuffer?i=new Uint8Array(e):e instanceof Uint8Array?i=e:i=new Uint8Array(e.buffer),t(this._nativeSession.update(i))}catch(i){r(i)}})}generateRequest(e,t){return new Promise(r=>{var s;let i=this._videoElement;if(((s=i.webkitKeys)==null?void 0:s.createSession)===void 0)throw new Error("No WebKitMediaKeys API.");let o;if(Qp(this._keyType)){if(this._serverCertificate===void 0)throw new Error("A server certificate is needed for creating fairplay session.");o=ls(t,this._serverCertificate)}else o=t;let a=i.webkitKeys.createSession("video/mp4",o);if(a==null)throw new Error("Impossible to get the key sessions");this._listenEvent(a),this._nativeSession=a,r()})}close(){return new Promise((e,t)=>{if(this._unbindSession(),this._closeSession(),this._nativeSession===void 0){t("No session to close.");return}this._nativeSession.close(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}get sessionId(){var e,t;return(t=(e=this._nativeSession)==null?void 0:e.sessionId)!=null?t:""}_listenEvent(e){this._unbindSession();let t=r=>{this.trigger(r.type,r)};["keymessage","message","keyadded","ready","keyerror","error"].forEach(r=>{e.addEventListener(r,t),e.addEventListener(`webkit${r}`,t)}),this._unbindSession=()=>{["keymessage","message","keyadded","ready","keyerror","error"].forEach(r=>{e.removeEventListener(r,t),e.removeEventListener(`webkit${r}`,t)})}}},Do=class{constructor(e){if(ct===void 0)throw new Error("No WebKitMediaKeys API.");this._keyType=e,this._mediaKeys=new ct(e)}_setVideo(e){if(this._videoElement=e,this._videoElement===void 0)throw new Error("Video not attached to the MediaKeys");return bc(this._videoElement,this._mediaKeys)}createSession(){if(this._videoElement===void 0||this._mediaKeys===void 0)throw new Error("Video not attached to the MediaKeys");return new cs(this._videoElement,this._keyType,this._serverCertificate)}setServerCertificate(e){return this._serverCertificate=e,Promise.resolve()}};function Lo(){if(ct===void 0)throw new Error("No WebKitMediaKeys API.");return{isTypeSupported:ct.isTypeSupported,createCustomMediaKeys:r=>new Do(r),setMediaKeys:(r,i)=>{if(i===null)return bc(r,i);if(!(i instanceof Do))throw new Error("Custom setMediaKeys is supposed to be called with webkit custom MediaKeys.");return i._setVideo(r)}}}var Xp=Zp("auto"),Tc=Xp;function Zp(n){var o;let e,t,r=Jp,i;if((n==="standard"||n==="auto"&&!ts())&&(Kt||!_(navigator.requestMediaKeySystemAccess)))e=(...a)=>navigator.requestMediaKeySystemAccess(...a),t=_e(["encrypted"]),i="standard";else{let a,s;if(n==="webkit"&&ct!==void 0){let d=Lo();t=Sc(),a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="webkit"}else if(ss((o=ee.HTMLVideoElement)==null?void 0:o.prototype)){t=_e(["needkey"]);let d=ds();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="older-webkit"}else if(ct!==void 0){t=Sc();let d=Lo();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="webkit"}else if(sn&&vt!==void 0){t=_e(["encrypted","needkey"]);let d=rs();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="ms"}else if(qt!==void 0){t=_e(["encrypted","needkey"]);let d=is();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="moz"}else{t=_e(["encrypted","needkey"]);let d=ee.MediaKeys,u=()=>{if(d===void 0)throw new J("MEDIA_KEYS_NOT_SUPPORTED","No `MediaKeys` implementation found in the current browser.");if(typeof d.isTypeSupported=="undefined"){let c="This browser seems to be unable to play encrypted contents currently.Note: Some browsers do not allow decryption in some situations, like when not using HTTPS.";throw new Error(c)}};a=c=>(u(),te(typeof d.isTypeSupported=="function"),d.isTypeSupported(c)),s=c=>(u(),new d(c)),i="unknown"}e=function(d,u){if(!a(d))return Promise.reject(new Error("Unsupported key type"));for(let c=0;c<u.length;c++){let l=u[c],{videoCapabilities:f,audioCapabilities:g,initDataTypes:p,distinctiveIdentifier:y}=l,h=!0;if(h=h&&(_(p)||p.some(b=>b==="cenc")),h=h&&y!=="required",h){let b={initDataTypes:["cenc"],distinctiveIdentifier:"not-allowed",persistentState:"required",sessionTypes:["temporary","persistent-license"]};f!==void 0&&(b.videoCapabilities=f),g!==void 0&&(b.audioCapabilities=g);let T=s(d);return Promise.resolve(new vr(d,T,b))}}return Promise.reject(new Error("Unsupported configuration"))}}return{requestMediaKeySystemAccess:e,onEncrypted:t,setMediaKeys:r,implementation:i}}function Sc(){let n=_e(["needkey"],void 0);return(t,r,i)=>{n(t,o=>{let a=j({forceSessionRecreation:!0},o);r(a)},i)}}function Jp(n,e){try{let t;return typeof n.setMediaKeys=="function"?t=n.setMediaKeys(e):typeof n.webkitSetMediaKeys=="function"?t=n.webkitSetMediaKeys(e):typeof n.mozSetMediaKeys=="function"?t=n.mozSetMediaKeys(e):typeof n.msSetMediaKeys=="function"&&e!==null&&(t=n.msSetMediaKeys(e)),typeof t=="object"&&t!==null&&typeof t.then=="function"?t:Promise.resolve(t)}catch(t){return Promise.reject(t)}}function yt(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=ne(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=Ke(n,r+8)}if(isNaN(i)||i<=0)return-1;if(ne(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function No(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=yt(r,1836019558);if(i<0)break;let o=ne(n,i+e),a=e+i+o;if(a>n.length)break;let s=yt(r,1835295092);if(s<0)break;let d=ne(n,s+e),u=e+s+d;if(u>n.length)break;let c=Math.max(a,u),l=n.subarray(e,c);t.push(l),e=c}return t.length===0?[null,r]:[t,r]}function eg(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function tg(n,e,t){return n.slice(e,t)}var fs=typeof Uint8Array.prototype.slice=="function"?tg:eg;function ms(n,e){let t=n;for(let r of e){let i=Re(t,r);if(i===null)return null;t=i}return t}function Re(n,e){let t=Ve(n,e);return t!==null?n.subarray(t[1],t[2]):null}function _c(n,e){let t=[],r=n;for(;;){let i=Ve(r,e);if(i===null)return t;te(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function ps(n,e){let t=Ve(n,e);return t!==null?n.subarray(t[0],t[2]):null}function Ve(n,e){let t=n.length,r=0,i,o=0,a;for(;r+8<=t;){if(a=r,o=ne(n,a),a+=4,i=ne(n,a),a+=4,o===0)o=t-r;else if(o===1){if(a+8>t)return null;o=Ke(n,a),a+=8}if(o<0)throw new Error("ISOBMFF: Size out of range");if(i===e)return e===1970628964&&(a+=16),[r,a,r+o];r+=o}return null}function pn(n,e,t,r,i){let o=n.length,a;for(let s=0;s<o;s+=a){let d=s;a=ne(n,d),d+=4;let u=ne(n,d);if(d+=4,a===0)a=o-s;else if(a===1){if(d+8>o)return;a=Ke(n,d),d+=8}if(u===1970628964&&d+16<=o&&ne(n,d)===e&&ne(n,d+4)===t&&ne(n,d+8)===r&&ne(n,d+12)===i)return d+=16,n.subarray(d,s+a)}}function gs(n){let e=n.length;if(e<8)return m.warn("ISOBMFF: box inferior to 8 bytes, cannot find offsets"),null;let t=0,r=ne(n,t);t+=4;let i=ne(n,t);if(t+=4,r===0)r=e;else if(r===1){if(t+8>e)return m.warn("ISOBMFF: box too short, cannot find offsets"),null;r=Ke(n,t),t+=8}if(r<0)throw new Error("ISOBMFF: Size out of range");return i===1970628964&&(t+=16),[0,t,r]}function Uo(n){let e=0,t=Re(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Ve(t,1886614376)}catch(s){let d=s instanceof Error?s:"";return m.warn("Error while removing PSSH from ISOBMFF",d),r}if(i===null)return r;let o=fs(t,i[0],i[2]),a=Bo(o,i[1]-i[0]);a!==void 0&&r.push({systemId:a,data:o}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function Bo(n,e){if(n[e]>1){m.warn("ISOBMFF: un-handled PSSH version");return}let t=e+4;if(t+16>n.length)return;let r=fs(n,t,t+16);return Ne(r)}var Pr=Math.pow(2,32)-1;var hs={};function Ec(n){if(hs[n]!==void 0)return hs[n];let e=ve(n);return hs[n]=e,e}function de(n,e){let t=e.length+8;return t<=Pr?re(be(t),Ec(n),e):re(be(1),Ec(n),jt(t+8),e)}function Ae(n,e){return de(n,re(...e))}function Mr(n){let e=Re(n,1836019558);return e===null?null:Re(e,1953653094)}function vc(n){return _c(n,1836019558).reduce((t,r)=>{let i=Re(r,1953653094);return i!==null&&t.push(i),t},[])}function Ar(n){return Re(n,1835295092)}function ys(n){let e=Re(n,1836019574);if(e===null)return null;let t=Re(e,1953653099);return t===null?null:Re(t,1835297121)}function Rc(n,e=0){return Re(n.subarray(e),1701671783)}function xr(n){let e=hc(n,8),t=Ao(n.subarray(10,e+10)),i=new DOMParser().parseFromString(t,"application/xml").querySelector("KID");if(i===null)throw new Error("Cannot parse PlayReady private data: invalid XML");let o=i.textContent===null?"":i.textContent,a=xo(ft(o));return Ne(a).toLowerCase()}function wr(n,e){let t=Ve(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],o=t[1],a=n[o];o+=8;let s=ne(n,o);o+=4;let d;if(a===0)d=ne(n,o),o+=4,r+=ne(n,o)+i,o+=4;else if(a===1)d=Ke(n,o),o+=8,r+=Ke(n,o)+i,o+=8;else return null;let u=[];o+=2;let c=Oo(n,o);for(o+=2;--c>=0;){let l=ne(n,o);o+=4;let f=(l&2147483648)>>>31,g=l&2147483647;if(f===1)throw new Error("sidx with reference_type `1` not yet implemented");let p=ne(n,o);o+=4,o+=4,u.push({time:d,duration:p,timescale:s,range:[r,r+g-1]}),d+=p,r+=g}return u}function Is(n){let e=Mr(n);if(e===null)return;let t=Re(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return Ke(t,4);if(r===0)return ne(t,4)}function ng(n){let e=Re(n,1952868452);if(e===null)return;let t=1,r=us(e,t);t+=3;let i=(r&1)>0,o=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),o&&(t+=4),ne(e,t)):void 0}function Or(n){let e=vc(n);if(e.length===0)return;let t=0;for(let r of e){let i=Re(r,1953658222);if(i===null)return;let o=0,a=i[o];if(o+=1,a>1)return;let s=us(i,o);o+=3;let d=(s&256)>0,u=0;if(!d&&(u=ng(r),u===void 0))return;let c=(s&1)>0,l=(s&4)>0,f=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,y=ne(i,o);o+=4,c&&(o+=4),l&&(o+=4);let h=y,b=0;for(;h-- >0;)d?(b+=ne(i,o),o+=4):b+=u,f&&(o+=4),g&&(o+=4),p&&(o+=4);t+=b}return t}function Dr(n){let e=ys(n);if(e===null)return;let t=Re(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return ne(t,r+16);if(i===0)return ne(t,r+8)}function bs(n){let e=n.length;if(e<4)throw new Error("Cannot update box length: box too short");let t=ne(n,0);if(t===0)if(e>Pr){let r=new Uint8Array(e+8);return r.set(be(1),0),r.set(n.subarray(4,8),4),r.set(jt(e+8),8),r.set(n.subarray(8,e),16),r}else return n.set(be(e),0),n;else if(t===1){if(e<16)throw new Error("Cannot update box length: box too short");return n.set(jt(e),8),n}else{if(e<=Pr)return n.set(be(e),0),n;{let r=new Uint8Array(e+8);return r.set(be(1),0),r.set(n.subarray(4,8),4),r.set(jt(e+8),8),r.set(n.subarray(8,e),16),r}}}function kc(n){let e=[],t=0;for(;t<n.length;){let r=Rc(n,t);if(r===null)break;let i=r.length;t+=i;let o=r[0];if(o!==0)m.warn("ISOBMFF: EMSG version "+o.toString()+" not supported.");else{let a=4,{end:s,string:d}=os(r,a);a=s;let{end:u,string:c}=os(r,a);a=u;let l=ne(r,a);a+=4;let f=ne(r,a);a+=4;let g=ne(r,a);a+=4;let p=ne(r,a);a+=4;let y=r.subarray(a,i),h={schemeIdUri:d,value:c,timescale:l,presentationTimeDelta:f,eventDuration:g,id:p,messageData:y};e.push(h)}}if(e.length!==0)return e}function Cc(n){let e=ms(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=Re(t,1701733238),i=0;if(r===null?(i=28,r=Re(t,1701733217)):i=78,r===null)return null;let o=ms(r.subarray(i),[1936289382,1935894633,1952804451]);if(o===null||o.byteLength<24)return null;let a=o.subarray(8,24);return a.every(s=>s===0)?null:a}var Fo=ne(ve("pssh"),0);function rg(n){m.info("Compat: Trying to move CENC PSSH from init data at the end of it.");let e=!1,t=new Uint8Array,r=new Uint8Array,i=0;for(;i<n.length;){if(n.length<i+8||ne(n,i+4)!==Fo)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");let o=ne(new Uint8Array(n),i);if(i+o>n.length)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");let a=n.subarray(i,i+o);if(n[i+12]===16&&n[i+13]===119&&n[i+14]===239&&n[i+15]===236&&n[i+16]===192&&n[i+17]===178&&n[i+18]===77&&n[i+19]===2&&n[i+20]===172&&n[i+21]===227&&n[i+22]===60&&n[i+23]===30&&n[i+24]===82&&n[i+25]===226&&n[i+26]===251&&n[i+27]===75){let s=gs(a),d=s===null?void 0:a[s[1]];m.info("Compat: CENC PSSH found with version",d),d===void 0?m.warn("Compat: could not read version of CENC PSSH"):e===(d===1)?t=re(t,a):d===1?(m.warn("Compat: cenc version 1 encountered, removing every other cenc pssh box."),t=a,e=!0):m.warn("Compat: filtering out cenc pssh box with wrong version",d)}else r=re(r,a);i+=o}if(i!==n.length)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");return re(r,t)}function Lr(n,e,t){m.debug("Compat: Calling generateRequest on the MediaKeySession");let r;try{r=rg(t)}catch(o){r=t}let i=e!=null?e:"";return n.generateRequest(i,r).catch(o=>{if(i!==""||!(o instanceof TypeError))throw o;return m.warn('Compat: error while calling `generateRequest` with an empty initialization data type. Retrying with a default "cenc" value.',o),n.generateRequest("cenc",r)})}function ig(n){let e=[],t=0;for(;t<n.length;){if(n.length<t+8||ne(n,t+4)!==Fo)return m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}];let r=ne(new Uint8Array(n),t);if(t+r>n.length)return m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}];let i=n.subarray(t,t+r),a={systemId:Bo(i,8),data:i};og(e,a)?m.warn("Compat: Duplicated PSSH found in initialization data, removing it."):e.push(a),t+=r}return t!==n.length?(m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}]):e}function og(n,e){for(let t=0;t<n.length;t++){let r=n[t];if((e.systemId===void 0||r.systemId===void 0||e.systemId===r.systemId)&&ge(e.data,r.data))return!0}return!1}function Ko(n){let{initData:e,initDataType:t,forceSessionRecreation:r}=n;if(_(e))return m.warn("Compat: No init data found on media encrypted event."),null;let i=new Uint8Array(e),o=ig(i);return{type:t,values:o,forceSessionRecreation:r}}var ag=100;async function Nr(n,e){m.info("DRM: Load persisted session",e);let t=await n.load(e);return!t||n.keyStatuses.size>0?t:new Promise(r=>{n.addEventListener("keystatuseschange",o);let i=setTimeout(o,ag);function o(){a(),r(t)}function a(){clearTimeout(i),n.removeEventListener("keystatuseschange",o)}})}var It=Tc;function Q(n,e,t){if(typeof Array.prototype.includes=="function")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,o=i>=0?Math.min(i,r-1):Math.max(r+i,0),a=(s,d)=>s===d||typeof s=="number"&&typeof d=="number"&&isNaN(s)&&isNaN(d);for(;o<r;){if(a(n[o],e))return!0;o++}return!1}function Pc(n){var t;let e=Fe.getState(n);return Fe.setState(n,null),Er((t=e==null?void 0:e.emeImplementation)!=null?t:It,n,null)}async function Ss(n,{emeImplementation:e,keySystemOptions:t,askedConfiguration:r,loadedSessionsStore:i,mediaKeySystemAccess:o,mediaKeys:a},s){let d=Fe.getState(n);if(await(d!==null&&d.loadedSessionsStore!==i?d.loadedSessionsStore.closeAllSessions():Promise.resolve()),s.isCancelled())throw s.cancellationError;if(Fe.setState(n,{emeImplementation:e,keySystemOptions:t,mediaKeySystemAccess:o,mediaKeys:a,loadedSessionsStore:i,askedConfiguration:r}),n.mediaKeys!==a)return m.info("DRM: Attaching MediaKeys to the media element"),Er(e,n,a).then(()=>{m.info("DRM: MediaKeys attached with success")}).catch(c=>{let l=c instanceof Error?c.toString():"Unknown Error";throw new pe("MEDIA_KEYS_ATTACHMENT_ERROR","Could not attach the MediaKeys to the media element: "+l)})}function Ur(n){if(n.sessionId==="")return!1;let e=n.keyStatuses,t=[];return e.forEach(r=>{t.push(r)}),t.length<=0?(m.debug("DRM: isSessionUsable: MediaKeySession given has an empty keyStatuses",n.sessionId),!1):Q(t,"expired")?(m.debug("DRM: isSessionUsable: MediaKeySession given has an expired key",n.sessionId),!1):Q(t,"internal-error")?(m.debug("DRM: isSessionUsable: MediaKeySession given has a key with an internal-error",n.sessionId),!1):(m.debug("DRM: isSessionUsable: MediaKeySession is usable",n.sessionId),!0)}function Ts(n,e,t,r){let{loadedSessionsStore:i,persistentSessionsStore:o}=n;return t==="temporary"?Mc(i,e):o===null?(m.warn("DRM: Cannot create persistent MediaKeySession, PersistentSessionsStore not created."),Mc(i,e)):sg(i,o,e,r)}function Mc(n,e){m.info("DRM: Creating a new temporary session");let t=n.createSession(e,"temporary");return Promise.resolve({type:"created-session",value:t})}async function sg(n,e,t,r){if(r.cancellationError!==null)throw r.cancellationError;m.info("DRM: Creating persistent MediaKeySession");let i=n.createSession(t,"persistent-license"),o=e.getAndReuse(t);if(o===null)return{type:"created-session",value:i};try{let s=await n.loadPersistentSession(i.mediaKeySession,o.sessionId);if(!s){m.warn("DRM: No data stored for the loaded session"),e.delete(o.sessionId),n.removeSessionWithoutClosingIt(i.mediaKeySession);let d=n.createSession(t,"persistent-license");return{type:"created-session",value:d}}return s&&Ur(i.mediaKeySession)?(e.add(t,t.keyIds,i.mediaKeySession),m.info("DRM: Succeeded to load persistent session."),{type:"loaded-persistent-session",value:i}):(m.warn("DRM: Previous persistent session not usable anymore."),a())}catch(s){return m.warn("DRM: Unable to load persistent session: "+(s instanceof Error?s.toString():"Unknown Error")),a()}async function a(){if(r.cancellationError!==null)throw r.cancellationError;m.info("DRM: Removing previous persistent session.");let s=e.get(t);s!==null&&e.delete(s.sessionId);try{await n.closeSession(i.mediaKeySession)}catch(u){if(i.mediaKeySession.sessionId!=="")throw u;n.removeSessionWithoutClosingIt(i.mediaKeySession)}if(r.cancellationError!==null)throw r.cancellationError;let d=n.createSession(t,"persistent-license");return{type:"created-session",value:d}}}async function _s(n,e){if(e<0||e>=n.getLength())return;m.info("DRM: LSS cache limit exceeded",e,n.getLength());let t=[],r=n.getAll().slice(),i=r.length-e;for(let o=0;o<i;o++){let a=r[o];t.push(n.closeSession(a.mediaKeySession))}await Promise.all(t)}async function Es(n,e,t,r,i){let o=null,{loadedSessionsStore:a,persistentSessionsStore:s}=e,d=a.reuse(n);if(d!==null){if(o=d.mediaKeySession,Ur(o))return m.info("DRM: Reuse loaded session",o.sessionId),{type:"loaded-open-session",value:{mediaKeySession:o,sessionType:d.sessionType,keySessionRecord:d.keySessionRecord}};s!==null&&d.mediaKeySession.sessionId!==""&&s.delete(d.mediaKeySession.sessionId)}if(o!==null&&(await a.closeSession(o),i.cancellationError!==null)||(await _s(a,r),i.cancellationError!==null))throw i.cancellationError;let u=await Ts(e,n,t,i);return{type:u.type,value:{mediaKeySession:u.value.mediaKeySession,sessionType:u.value.sessionType,keySessionRecord:u.value.keySessionRecord}}}function vs(){return!dr&&!Na}function Ac(n){return!(ar&&n.indexOf("playready")!==-1)}var xc='<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>ckB07BNLskeUq0qd83fTbA==</KID><DS_ID>yYIPDBca1kmMfL60IsfgAQ==</DS_ID><CUSTOMATTRIBUTES xmlns=""><encryptionref>312_4024_2018127108</encryptionref></CUSTOMATTRIBUTES><CHECKSUM>U/tsUYRgMzw=</CHECKSUM></DATA></WRMHEADER>';function wc(n){let e=Mo(n),t=Ic(e.length),r=new Uint8Array([1,0]),i=new Uint8Array([1,0]),o=Cr(e.length+6),a=re(o,i,r,t,e),s=qe("9a04f07998404286ab92e65be0885f95");return dg(a,s)}function dg(n,e){let t=ve("pssh"),r=new Uint8Array([0,0,0,0]),i=be(n.length),o=be(32+n.length);return re(o,t,r,e,i,n)}function Rs(){return sn}function ug(n,e){let{mimeType:t,codecs:r}=Vo(n),{mimeType:i,codecs:o}=Vo(e);return!(t!==i||r===""||o===""||r.split(".")[0]!==o.split(".")[0])}var lg=7;function Vo(n){var i;let[e,...t]=n.split(";"),r=(i=X(t,o=>Je(o,"codecs=")))!=null?i:"";return r=r.substring(lg),r[0]==='"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var zo=ug;function Ln(n,e){return typeof Array.prototype.flatMap=="function"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function cg(n,e,t,r){let i=t.getConfiguration();if(Rs()||_(i))return null;let o=n.filter(a=>!(a.type!==r.type||(!_(a.persistentLicenseConfig)||a.persistentState==="required")&&i.persistentState!=="required"||a.distinctiveIdentifier==="required"&&i.distinctiveIdentifier!=="required"))[0];return o!==void 0?{keySystemOptions:o,keySystemAccess:t,askedConfiguration:e}:null}function fg(n){let{EME_KEY_SYSTEMS:e}=U.getCurrent();for(let t of Object.keys(e))if(Q(e[t],n))return t}function mg(n){let{keyName:e,keyType:t,keySystemOptions:r}=n,i=["temporary"],o="optional",a="optional";_(r.persistentLicenseConfig)||(o="required",i.push("persistent-license")),_(r.persistentState)||(o=r.persistentState),_(r.distinctiveIdentifier)||(a=r.distinctiveIdentifier);let{EME_DEFAULT_AUDIO_CODECS:s,EME_DEFAULT_VIDEO_CODECS:d,EME_DEFAULT_WIDEVINE_ROBUSTNESSES:u,EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:c}=U.getCurrent(),l,f,{audioCapabilitiesConfig:g,videoCapabilitiesConfig:p}=r;if((g==null?void 0:g.type)==="full")l=g.value;else{let h;(g==null?void 0:g.type)==="robustness"?h=g.value:e==="widevine"?h=u:t==="com.microsoft.playready.recommendation"?h=c:h=[],h.length===0&&h.push(void 0);let b=(g==null?void 0:g.type)==="contentType"?g.value:s;l=Ln(h,T=>b.map(v=>T!==void 0?{contentType:v,robustness:T}:{contentType:v}))}if((p==null?void 0:p.type)==="full")f=p.value;else{let h;(p==null?void 0:p.type)==="robustness"?h=p.value:e==="widevine"?h=u:t==="com.microsoft.playready.recommendation"?h=c:h=[],h.length===0&&h.push(void 0);let b=(p==null?void 0:p.type)==="contentType"?p.value:d;f=Ln(h,T=>b.map(v=>T!==void 0?{contentType:v,robustness:T}:{contentType:v}))}let y={initDataTypes:["cenc"],videoCapabilities:f,audioCapabilities:l,distinctiveIdentifier:a,persistentState:o,sessionTypes:i};return[y,le(ae({},y),{audioCapabilities:void 0,videoCapabilities:void 0})]}function Oc(n,e){var u,c,l,f,g,p;let t=(c=(u=n.audioCapabilities)==null?void 0:u.map(y=>y.contentType))!=null?c:[],r=(f=(l=n.videoCapabilities)==null?void 0:l.map(y=>y.contentType))!=null?f:[],i=t.concat(r).filter(y=>y!==void 0),o=(g=e.videoCapabilities)==null?void 0:g.map(y=>y.contentType),a=(p=e.audioCapabilities)==null?void 0:p.map(y=>y.contentType),s=[...o!=null?o:[],...a!=null?a:[]].filter(y=>y!==void 0);return s.length===0?[]:i.map(y=>{let{codecs:h,mimeType:b}=Vo(y),T=Q(s,y);return{codec:h,mimeType:b,result:T}})}function ks(n,e,t){m.info("DRM: Searching for compatible MediaKeySystemAccess");let r=Fe.getState(n);if(r!==null&&It.implementation===r.emeImplementation.implementation){let a=cg(e,r.askedConfiguration,r.mediaKeySystemAccess,r.keySystemOptions);if(a!==null)return m.info("DRM: Found cached compatible keySystem"),Promise.resolve({type:"reuse-media-key-system-access",value:{mediaKeySystemAccess:a.keySystemAccess,askedConfiguration:a.askedConfiguration,options:a.keySystemOptions,codecSupport:Oc(a.askedConfiguration,a.keySystemAccess.getConfiguration())}})}let i=e.reduce((a,s)=>{let{EME_KEY_SYSTEMS:d}=U.getCurrent(),u=d[s.type],c;if(!_(u))c=u.map(l=>({keyName:s.type,keyType:l,keySystemOptions:s}));else{let l=fg(s.type),f=s.type;c=[{keyName:l,keyType:f,keySystemOptions:s}]}return a.concat(c)},[]);return o(0);async function o(a){if(a>=i.length)throw new pe("INCOMPATIBLE_KEYSYSTEMS","No key system compatible with your wanted configuration has been found in the current browser.");if(_(It.requestMediaKeySystemAccess))throw new Error("requestMediaKeySystemAccess is not implemented in your browser.");let s=i[a],{keyType:d,keySystemOptions:u}=s,c=mg(s);m.debug(`DRM: Request keysystem access ${d},${a+1} of ${i.length}`);let l;for(let f=0;f<c.length;f++){let g=c[f];try{return l=await pg(d,[g]),m.info("DRM: Found compatible keysystem",d,a+1),{type:"create-media-key-system-access",value:{options:u,mediaKeySystemAccess:l,askedConfiguration:g,codecSupport:Oc(g,l.getConfiguration())}}}catch(p){if(m.debug("DRM: Rejected access to keysystem",d,a+1,f),t.cancellationError!==null)throw t.cancellationError}}return o(a+1)}}async function pg(n,e){let t=await It.requestMediaKeySystemAccess(n,e);if(!Ac(n))try{let i=(await t.createMediaKeys()).createSession(),o=wc(xc);await i.generateRequest("cenc",o)}catch(r){throw m.debug("DRM: KeySystemAccess was granted but it is not usable"),r}return t}function Nn(n,e){for(let t of n)if(!e.some(i=>ge(i,t)))return!1;return!0}function Dc(n,e){for(let t of n)if(e.some(i=>ge(i,t)))return!0;return!1}var Br=class{constructor(e){this._initializationData=e,this._keyIds=null}associateKeyIds(e){this._keyIds===null&&(this._keyIds=[]);let t=Array.from(e);for(let r of t)this.isAssociatedWithKeyId(r)||this._keyIds.push(r)}isAssociatedWithKeyId(e){if(this._keyIds===null)return!1;for(let t of this._keyIds)if(ge(t,e))return!0;return!1}getAssociatedKeyIds(){return this._keyIds===null?[]:this._keyIds}isCompatibleWith(e){let{keyIds:t}=e;if(t!==void 0&&t.length>0){if(this._keyIds!==null&&Nn(t,this._keyIds))return!0;if(this._initializationData.keyIds!==void 0)return Nn(t,this._initializationData.keyIds)}return this._checkInitializationDataCompatibility(e)}_checkInitializationDataCompatibility(e){return e.keyIds!==void 0&&e.keyIds.length>0&&this._initializationData.keyIds!==void 0?Nn(e.keyIds,this._initializationData.keyIds):this._initializationData.type!==e.type?!1:this._initializationData.values.isCompatibleWith(e.values)}};var Fr=class{constructor(e){this._mediaKeys=e,this._storage=[]}createSession(e,t){let r=new Br(e);m.debug("DRM-LSS: calling `createSession`",t);let i=this._mediaKeys.createSession(t),o={mediaKeySession:i,sessionType:t,keySessionRecord:r,isGeneratingRequest:!1,isLoadingPersistentSession:!1,closingStatus:{type:"none"}};return _(i.closed)||i.closed.then(()=>{m.info("DRM-LSS: session was closed, removing it.",i.sessionId);let a=this.getIndex(r);a>=0&&this._storage[a].mediaKeySession===i&&this._storage.splice(a,1)}).catch(a=>{m.warn(`DRM-LSS: MediaKeySession.closed rejected: ${a}`)}),this._storage.push(ae({},o)),m.debug("DRM-LSS: MediaKeySession added",o.sessionType,this._storage.length),o}reuse(e){for(let t=this._storage.length-1;t>=0;t--){let r=this._storage[t];if(r.keySessionRecord.isCompatibleWith(e))return this._storage.splice(t,1),this._storage.push(r),m.debug("DRM-LSS: Reusing session:",r.mediaKeySession.sessionId,r.sessionType),ae({},r)}return null}getEntryForSession(e){for(let t=this._storage.length-1;t>=0;t--){let r=this._storage[t];if(r.mediaKeySession===e)return ae({},r)}return null}async generateLicenseRequest(e,t,r){let i;for(let o of this._storage)if(o.mediaKeySession===e){i=o;break}if(i===void 0)return m.error("DRM-LSS: generateRequest error. No MediaKeySession found with the given initData and initDataType"),Lr(e,t,r);if(i.isGeneratingRequest=!0,i.closingStatus.type!=="none")throw new Error("The `MediaKeySession` is being closed.");try{await Lr(e,t,r)}catch(o){throw i===void 0||(i.isGeneratingRequest=!1,i.closingStatus.type==="awaiting"&&i.closingStatus.start()),o}i!==void 0&&(i.isGeneratingRequest=!1,i.closingStatus.type==="awaiting"&&i.closingStatus.start())}async loadPersistentSession(e,t){let r;for(let o of this._storage)if(o.mediaKeySession===e){r=o;break}if(r===void 0)return m.error("DRM-LSS: loadPersistentSession error. No MediaKeySession found with the given initData and initDataType"),Nr(e,t);if(r.isLoadingPersistentSession=!0,r.closingStatus.type!=="none")throw new Error("The `MediaKeySession` is being closed.");let i;try{i=await Nr(e,t)}catch(o){throw r===void 0||(r.isLoadingPersistentSession=!1,r.closingStatus.type==="awaiting"&&r.closingStatus.start()),o}return r===void 0||(r.isLoadingPersistentSession=!1,r.closingStatus.type==="awaiting"&&r.closingStatus.start()),i}async closeSession(e){let t;for(let r of this._storage)if(r.mediaKeySession===e){t=r;break}return t===void 0?(m.warn("DRM-LSS: No MediaKeySession found with the given initData and initDataType"),Promise.resolve(!1)):this._closeEntry(t)}getLength(){return this._storage.length}getAll(){return this._storage}async closeAllSessions(){let e=this._storage;m.debug("DRM-LSS: Closing all current MediaKeySessions",e.length),this._storage=[];let t=e.map(r=>this._closeEntry(r));await Promise.all(t)}removeSessionWithoutClosingIt(e){te(e.sessionId==="","Initialized `MediaKeySession`s should always be properly closed");for(let t=this._storage.length-1;t>=0;t--)if(this._storage[t].mediaKeySession===e)return m.debug("DRM-LSS: Removing session without closing it",e.sessionId),this._storage.splice(t,1),!0;return!1}getIndex(e){for(let t=0;t<this._storage.length;t++)if(this._storage[t].keySessionRecord===e)return t;return-1}async _closeEntry(e){let{mediaKeySession:t}=e;return new Promise((r,i)=>{e!==void 0&&(e.isLoadingPersistentSession||e.isGeneratingRequest)?e.closingStatus={type:"awaiting",start:o}:o();function o(){e!==void 0&&(e.closingStatus={type:"pending"}),gg(t).then(()=>{e!==void 0&&(e.closingStatus={type:"done"}),r(!0)}).catch(a=>{e!==void 0&&(e.closingStatus={type:"failed"}),i(a)})}})}};async function gg(n){m.debug("DRM: Trying to close a MediaKeySession",n.sessionId);try{await So(n),m.debug("DRM: Succeeded to close MediaKeySession");return}catch(e){m.error("DRM: Could not close MediaKeySession: "+(e instanceof Error?e.toString():"Unknown error"));return}}function Yt(n){let e=0,t;for(let r=0;r<n.length;r++)t=n[r],e=(e<<5)-e+t,e=e&e;return e}var at=class{constructor(e){this.initData=e}toJSON(){return Po(this.initData)}static decode(e){return ft(e)}};function Un(n,e){var t,r;return(r=(t=Lc(n,e))!=null?t:Lc(e,n))!=null?r:!1}function Lc(n,e){if(n.length===0)return!1;if(e.length<n.length)return null;let t=n[0],r=0,i=0;for(;i<e.length;i++){let o=e[i];if(o.systemId!==t.systemId)continue;if(o.hash!==t.hash)return!1;let a;t.data instanceof Uint8Array?a=t.data:typeof t.data=="string"?a=at.decode(t.data):a=t.data.initData;let s;if(o.data instanceof Uint8Array?s=o.data:typeof o.data=="string"?s=at.decode(o.data):s=o.data.initData,!ge(a,s))return!1;if(e.length-i<n.length)return null;for(r=1;r<n.length;r++){let d=n[r];for(i+=1;i<e.length;i++){let u=e[i];if(d.systemId!==u.systemId)continue;if(d.hash!==u.hash)return!1;let c;d.data instanceof Uint8Array?c=d.data:typeof d.data=="string"?c=at.decode(d.data):c=d.data.initData;let l;if(u.data instanceof Uint8Array?l=u.data:typeof u.data=="string"?l=at.decode(u.data):l=u.data.initData,!ge(c,l))return!1;break}if(r===e.length)return null}return!0}return null}function hg(n){Wl(n,{save:"function",load:"function"},"persistentLicenseConfig")}var Kr=class{constructor(e){hg(e),this._entries=[],this._storage=e;try{let t=this._storage.load();Array.isArray(t)||(t=[]),this._entries=t}catch(t){m.warn("DRM-PSS: Could not get entries from license storage",t instanceof Error?t:""),this.dispose()}}getLength(){return this._entries.length}getAll(){return this._entries}get(e){let t=this._getIndex(e);return t===-1?null:this._entries[t]}getAndReuse(e){let t=this._getIndex(e);if(t===-1)return null;let r=this._entries.splice(t,1)[0];return this._entries.push(r),r}add(e,t,r){var s;if(_(r)||!w(r.sessionId)){m.warn("DRM-PSS: Invalid Persisten Session given.");return}let{sessionId:i}=r,o=this._getIndex(e);if(o>=0){let d=t===void 0?3:4,u=this._entries[o];if(((s=u.version)!=null?s:-1)>=d&&i===u.sessionId)return;m.info("DRM-PSS: Updating session info.",i),this._entries.splice(o,1)}else m.info("DRM-PSS: Add new session",i);let a=yg(e.values.getFormattedValues());t===void 0?this._entries.push({version:3,sessionId:i,values:a,initDataType:e.type}):this._entries.push({version:4,sessionId:i,keyIds:t.map(d=>new at(d)),values:a,initDataType:e.type}),this._save()}delete(e){let t=-1;for(let i=0;i<this._entries.length;i++)if(this._entries[i].sessionId===e){t=i;break}if(t===-1){m.warn("DRM-PSS: initData to delete not found.");return}let r=this._entries[t];m.warn("DRM-PSS: Delete session from store",r.sessionId),this._entries.splice(t,1),this._save()}deleteOldSessions(e){m.info(`DRM-PSS: Deleting last ${e} sessions.`),!(e<=0)&&(e<=this._entries.length?this._entries.splice(0,e):(m.warn("DRM-PSS: Asked to remove more information that it contains",e,this._entries.length),this._entries=[]),this._save())}dispose(){this._entries=[],this._save()}_getIndex(e){let t=null;function r(){if(t===null){let i=e.values.constructRequestData();t={initData:i,initDataHash:Yt(i)}}return t}for(let i=0;i<this._entries.length;i++){let o=this._entries[i];if(o.initDataType===e.type)switch(o.version){case 4:if(e.keyIds!==void 0){if(e.keyIds.every(d=>{let u=Po(d);for(let c of o.keyIds)if(typeof c=="string"){if(u===c)return!0}else if(ge(c.initData,d))return!0;return!1}))return i}else{let s=e.values.getFormattedValues();if(Un(s,o.values))return i}break;case 3:let a=e.values.getFormattedValues();if(Un(a,o.values))return i;break;case 2:{let{initData:s,initDataHash:d}=r();if(o.initDataHash===d)try{let u=typeof o.initData=="string"?at.decode(o.initData):o.initData.initData;if(ge(u,s))return i}catch(u){m.warn("DRM-PSS: Could not decode initialization data.",u instanceof Error?u:"")}break}case 1:{let{initData:s,initDataHash:d}=r();if(o.initDataHash===d){if(typeof o.initData.length=="undefined")return i;if(ge(o.initData,s))return i}break}default:{let{initDataHash:s}=r();if(o.initData===s)return i}}}return-1}_save(){try{this._storage.save(this._entries)}catch(e){let t=e instanceof Error?e:void 0;m.warn("DRM-PSS: Could not save MediaKeySession information",t)}}};function yg(n){return n.map(({systemId:e,data:t,hash:r})=>({systemId:e,hash:r,data:new at(t)}))}var Ho=new WeakMap,gn={prepare(n){Ho.set(n,null)},set(n,e){let t=e instanceof Uint8Array?e:new Uint8Array(e instanceof ArrayBuffer?e:e.buffer),r=Yt(t);Ho.set(n,{hash:r,serverCertificate:t})},hasOne(n){let e=Ho.get(n);if(e===void 0)return!1;if(e!==null)return!0},has(n,e){let t=Ho.get(n);if(t==null)return!1;let{hash:r,serverCertificate:i}=t,o=e instanceof Uint8Array?e:new Uint8Array(e instanceof ArrayBuffer?e:e.buffer);if(Yt(o)!==r||i.length!==o.length)return!1;for(let s=0;s<i.length;s++)if(i[s]!==o[s])return!1;return!0}};function Ig(n){let{persistentLicenseConfig:e}=n;return _(e)?null:(m.debug("DRM: Set the given license storage"),new Kr(e))}async function Cs(n,e,t){let r=await ks(n,e,t);if(t.cancellationError!==null)throw t.cancellationError;let{options:i,mediaKeySystemAccess:o,askedConfiguration:a,codecSupport:s}=r.value,d=Fe.getState(n),u=Ig(i);if(vs()&&d!==null&&r.type==="reuse-media-key-system-access"){let{mediaKeys:f,loadedSessionsStore:g}=d;if(gn.hasOne(f)===!1||!_(i.serverCertificate)&&gn.has(f,i.serverCertificate))return{mediaKeys:f,mediaKeySystemAccess:o,askedConfiguration:a,stores:{loadedSessionsStore:g,persistentSessionsStore:u},options:i,codecSupport:s}}let c=await bg(o);m.info("DRM: MediaKeys created with success");let l=new Fr(c);return{mediaKeys:c,mediaKeySystemAccess:o,askedConfiguration:a,stores:{loadedSessionsStore:l,persistentSessionsStore:u},options:i,codecSupport:s}}async function bg(n){m.info("DRM: Calling createMediaKeys on the MediaKeySystemAccess");try{return await n.createMediaKeys()}catch(e){let t=e instanceof Error?e.message:"Unknown error when creating MediaKeys.";throw new pe("CREATE_MEDIA_KEYS_ERROR",t)}}async function Ps(n,e,t){let r=await Cs(n,e,t),{mediaKeys:i}=r;return n.mediaKeys!==null&&n.mediaKeys!==void 0&&i!==n.mediaKeys&&(m.debug("DRM: Disabling old MediaKeys"),await Pc(n)),r}function Vr(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function Ms(n,e,t){let{baseDelay:r,maxDelay:i,totalRetry:o,shouldRetry:a,onRetry:s}=e,d=0;return u();async function u(){if(t.cancellationError!==null)throw t.cancellationError;try{return await n()}catch(c){if(t.cancellationError!==null)throw t.cancellationError;if(!_(a)&&!a(c)||d++>=o)throw c;typeof s=="function"&&s(c,d);let l=Sg(r,d,i);return await fn(l),u()}}}function Sg(n,e,t){let r=n*Math.pow(2,e-1),i=Vr(r);return Math.min(i,t)}function As(n,e){return n.indexOf("playready")!==-1&&(zt||ar)?xo(e):e}var Bn=class n extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,n.prototype),this.reason=e}},xs={EXPIRED:"expired",INTERNAL_ERROR:"internal-error",OUTPUT_RESTRICTED:"output-restricted"};function ws(n,e,t){let{onKeyInternalError:r,onKeyOutputRestricted:i,onKeyExpiration:o}=e,a=[],s=[],d=[];n.keyStatuses.forEach((c,l)=>{let[f,g]=typeof c=="string"?[c,l]:[l,c],p=As(t,new Uint8Array(g)),y={keyId:p.buffer,keyStatus:f};switch(m.hasLevel("DEBUG")&&m.debug(`DRM: key status update (${Ne(p)}): ${f}`),f){case xs.EXPIRED:{let h=new pe("KEY_STATUS_CHANGE_ERROR",`A decryption key expired (${Ne(p)})`,{keyStatuses:[y,...d]});if(o==="error"||o===void 0)throw h;switch(o){case"close-session":throw new Bn(h);case"fallback":a.push(p);break;default:o==="continue"||o===void 0?s.push(p):Qe(o);break}d.push(y);break}case xs.INTERNAL_ERROR:{let h=new pe("KEY_STATUS_CHANGE_ERROR",`A "${f}" status has been encountered (${Ne(p)})`,{keyStatuses:[y,...d]});switch(r){case void 0:case"error":throw h;case"close-session":throw new Bn(h);case"fallback":a.push(p);break;case"continue":s.push(p);break;default:if(r!==void 0)Qe(r);else throw h}d.push(y);break}case xs.OUTPUT_RESTRICTED:{let h=new pe("KEY_STATUS_CHANGE_ERROR",`A "${f}" status has been encountered (${Ne(p)})`,{keyStatuses:[y,...d]});switch(i){case void 0:case"error":throw h;case"fallback":a.push(p);break;case"continue":s.push(p);break;default:if(i!==void 0)Qe(i);else throw h}d.push(y);break}default:s.push(p);break}});let u;return d.length>0&&(u=new pe("KEY_STATUS_CHANGE_ERROR","One or several problematic key statuses have been encountered",{keyStatuses:d})),{warning:u,blacklistedKeyIds:a,whitelistedKeyIds:s}}function Os(n,e,t,r,i){m.info("DRM: Binding session events",n.sessionId);let{getLicenseConfig:o={}}=e,a=new B;a.linkToSignal(i),_(n.closed)||n.closed.then(()=>a.cancel()).catch(c=>{i.isCancelled()||(a.cancel(),r.onError(c))}),vo(n,c=>{a.cancel(),r.onError(new pe("KEY_ERROR",c.type))},a.signal),uc(n,()=>{m.info("DRM: keystatuseschange event received",n.sessionId);try{s()}catch(c){if(i.isCancelled()||a.isUsed()&&c instanceof lr)return;a.cancel(),r.onError(c)}},a.signal),Eo(n,c=>{let l=c,f=new Uint8Array(l.message),g=w(l.messageType)?l.messageType:"license-request";m.info(`DRM: Received message event, type ${g}`,n.sessionId);let p=u(o.retry);Ms(()=>d(f,g),p,a.signal).then(y=>{if(a.isUsed())return Promise.resolve();if(_(y))m.info("DRM: No license given, skipping session.update");else try{return Tg(n,y)}catch(h){a.cancel(),r.onError(h)}}).catch(y=>{if(a.isUsed())return;a.cancel();let h=Nc(y);if(!_(y)){let{fallbackOnLastTry:b}=y;if(b===!0){m.warn("DRM: Last `getLicense` attempt failed. Blacklisting the current session."),r.onError(new Fn(h));return}}r.onError(h)})},a.signal),m.info("DRM: transmitting current keystatuses",n.sessionId),s();return;function s(){if(a.isUsed()||n.keyStatuses.size===0)return;let{warning:c,blacklistedKeyIds:l,whitelistedKeyIds:f}=ws(n,e,t);c!==void 0&&(r.onWarning(c),a.isUsed())||r.onKeyUpdate({whitelistedKeyIds:f,blacklistedKeyIds:l})}function d(c,l){let f;return new Promise((g,p)=>{try{m.debug("DRM: Calling `getLicense`",l);let b=e.getLicense(c,l),T=_(o.timeout)?10*1e3:o.timeout;T>=0&&(f=setTimeout(()=>{p(new zr(`"getLicense" timeout exceeded (${T} ms)`))},T)),Promise.resolve(b).then(y,h)}catch(b){h(b)}function y(b){f!==void 0&&clearTimeout(f),g(b)}function h(b){f!==void 0&&clearTimeout(f),p(b)}})}function u(c){return{totalRetry:c!=null?c:2,baseDelay:200,maxDelay:3e3,shouldRetry:l=>l instanceof zr||_(l)||l.noRetry!==!0,onRetry:l=>r.onWarning(Nc(l))}}}function Nc(n){if(n instanceof zr)return new pe("KEY_LOAD_TIMEOUT","The license server took too much time to respond.");let e=new pe("KEY_LOAD_ERROR","An error occured when calling `getLicense`.");return!_(n)&&w(n.message)&&(e.message=n.message),e}async function Tg(n,e){m.info("DRM: Updating MediaKeySession with message");try{await n.update(e)}catch(t){let r=t instanceof Error?t.toString():"`session.update` failed";throw new pe("KEY_UPDATE_ERROR",r)}m.info("DRM: MediaKeySession update succeeded.")}var Fn=class n extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,n.prototype),this.sessionError=e}},zr=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Fn.prototype),this.message=e}};async function _g(n,e){try{return await n.setServerCertificate(e)}catch(t){m.warn("DRM: mediaKeys.setServerCertificate returned an error",t instanceof Error?t:"");let r=t instanceof Error?t.toString():"`setServerCertificate` error";throw new pe("LICENSE_SERVER_CERTIFICATE_ERROR",r)}}async function Ds(n,e){if(gn.hasOne(n)===!0)return m.info("DRM: The MediaKeys already has a server certificate, skipping..."),{type:"already-has-one"};if(typeof n.setServerCertificate!="function")return m.warn("DRM: Could not set the server certificate. mediaKeys.setServerCertificate is not a function"),{type:"method-not-implemented"};m.info("DRM: Setting server certificate on the MediaKeys"),gn.prepare(n);try{let t=await _g(n,e);return gn.set(n,e),{type:"success",value:t}}catch(t){return{type:"error",value:Wt(t)?t:new pe("LICENSE_SERVER_CERTIFICATE_ERROR","Unknown error when setting the server certificate.")}}}function Ls(n,e){if(isNaN(e)||e<0||e>=n.getLength())return;let t=n.getLength(),r=t-e;m.info("DRM: Too many stored persistent sessions, removing some.",t,r),n.deleteOldSessions(r)}function Ns(n){if(Je(n,"com.microsoft.playready")||n==="com.chromecast.playready"||n==="com.youtube.playready")return"9a04f07998404286ab92e65be0885f95";if(n==="com.widevine.alpha")return"edef8ba979d64acea3c827dcd51d21ed";if(Je(n,"com.apple.fps"))return"94ce86fb07ff4f43adb893d2fa968ca2";if(Je(n,"com.nagra."))return"adb41c242dbf4a6d958b4457c0d27b95"}var Hr=class n{constructor(e){this._innerValues=e,this._lazyFormattedValues=null}constructRequestData(){return re(...this._innerValues.map(e=>e.data))}isCompatibleWith(e){let t=e instanceof n?e.getFormattedValues():e;return Un(this.getFormattedValues(),t)}getFormattedValues(){return this._lazyFormattedValues===null&&(this._lazyFormattedValues=Eg(this._innerValues)),this._lazyFormattedValues}};function Eg(n){return n.slice().sort((e,t)=>e.systemId===t.systemId?0:e.systemId===void 0?1:t.systemId===void 0||e.systemId<t.systemId?-1:1).map(({systemId:e,data:t})=>({systemId:e,data:t,hash:Yt(t)}))}function Us(n,e,t){let r=`${n};codecs="${e}"`,i=t.filter(o=>o.mimeType===n);if(i.length!==0)for(let{codec:o,mimeType:a,result:s}of i){let d=`${a};codecs="${o}"`;if(zo(r,d))return s}}var Wr=class extends ie{static hasEmeApis(){return!_(It.requestMediaKeySystemAccess)}constructor(e,t){super(),m.debug("DRM: Starting ContentDecryptor logic.");let r=new B;this._currentSessions=[],this._canceller=r,this._initDataQueue=[],this._stateData={state:0,isMediaKeysAttached:0,isInitDataQueueLocked:!0,data:null},this._supportedCodecWhenEncrypted=[],this.error=null,It.onEncrypted(e,i=>{m.debug("DRM: Encrypted event received from media element.");let o=Ko(i);o!==null&&this.onInitializationData(o)},r.signal),Ps(e,t,r.signal).then(i=>{let{options:o,mediaKeySystemAccess:a}=i;this._supportedCodecWhenEncrypted=i.codecSupport;let s;(_(o.persistentLicenseConfig)||o.persistentLicenseConfig.disableRetroCompatibility===!0)&&(s=Ns(a.keySystem)),this.systemId=s,this._stateData.state===0&&(this._stateData={state:1,isInitDataQueueLocked:!0,isMediaKeysAttached:0,data:{mediaKeysInfo:i,mediaElement:e}},this.trigger("stateChange",this._stateData.state))}).catch(i=>{this._onFatalError(i)})}getState(){return this._stateData.state}attach(){if(this._stateData.state!==1)throw new Error("`attach` should only be called when in the WaitingForAttachment state");if(this._stateData.isMediaKeysAttached!==0){m.warn("DRM: ContentDecryptor's `attach` method called more than once.");return}let{mediaElement:e,mediaKeysInfo:t}=this._stateData.data,{options:r,mediaKeys:i,mediaKeySystemAccess:o,stores:a,askedConfiguration:s}=t;if(r.disableMediaKeysAttachmentLock===!0&&(this._stateData={state:2,isInitDataQueueLocked:!0,isMediaKeysAttached:1,data:{mediaKeysInfo:t,mediaElement:e}},this.trigger("stateChange",this._stateData.state),this._isStopped()))return;this._stateData.isMediaKeysAttached=1;let u={emeImplementation:It,loadedSessionsStore:a.loadedSessionsStore,mediaKeySystemAccess:o,mediaKeys:i,askedConfiguration:s,keySystemOptions:r};m.debug("DRM: Attaching current MediaKeys"),Ss(e,u,this._canceller.signal).then(async()=>{this._stateData.isMediaKeysAttached=2;let{serverCertificate:c}=r;if(!_(c)){let f=await Ds(i,c);f.type==="error"&&this.trigger("warning",f.value)}if(this._isStopped())return;let l=this._stateData.state;this._stateData={state:2,isMediaKeysAttached:2,isInitDataQueueLocked:!1,data:{mediaKeysData:t}},l!==2&&this.trigger("stateChange",2),this._isStopped()||this._processCurrentInitDataQueue()}).catch(c=>{this._onFatalError(c)})}dispose(){this.removeEventListener(),this._stateData={state:4,isMediaKeysAttached:void 0,isInitDataQueueLocked:void 0,data:null},this._canceller.cancel(),this.trigger("stateChange",this._stateData.state)}isCodecSupported(e,t){if(this._stateData.state===0){m.error("DRM: Asking for codec support while the ContentDecryptor is still initializing");return}return(this._stateData.state===3||this._stateData.state===4)&&m.error("DRM: Asking for codec support while the ContentDecryptor is disposed"),Us(e,t,this._supportedCodecWhenEncrypted)}onInitializationData(e){if(this._stateData.isInitDataQueueLocked!==!1){if(this._isStopped())throw new Error("ContentDecryptor either disposed or stopped.");this._initDataQueue.push(e);return}let{mediaKeysData:t}=this._stateData.data,r=le(ae({},e),{values:new Hr(e.values)});this._processInitializationData(r,t).catch(i=>{this._onFatalError(i)})}async _processInitializationData(e,t){var y,h,b;m.hasLevel("DEBUG")&&m.debug("DRM: processing init data",(y=e.content)==null?void 0:y.adaptation.type,(h=e.content)==null?void 0:h.representation.bitrate,((b=e.keyIds)!=null?b:[]).map(T=>Ne(T)).join(", "));let{mediaKeySystemAccess:r,stores:i,options:o}=t;if(this._tryToUseAlreadyCreatedSession(e,t)||this._isStopped())return;if(o.singleLicensePer==="content"){let T=X(this._currentSessions,v=>v.source==="created-session");if(T!==void 0){let v=e.keyIds;if(v===void 0){e.content===void 0?m.warn("DRM: Unable to fallback from a non-decipherable quality."):(m.debug("DRM: Blacklisting new init data (due to singleLicensePer content policy)"),this.trigger("blackListProtectionData",e));return}if(T.record.associateKeyIds(v),e.content===void 0)m.warn("DRM: Unable to fallback from a non-decipherable quality.");else{if(m.hasLevel("DEBUG")){let E=v.reduce((R,k)=>`${R}, ${Ne(k)}`,"");m.debug("DRM: Blacklisting new key ids",E)}this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:v,delistedKeyIds:[]})}return}}else if(o.singleLicensePer==="periods"&&e.content!==void 0){let{period:T}=e.content,v=this._currentSessions.filter(R=>R.source==="created-session"),E=new Set;Fs(E,T);for(let R of v){let k=Array.from(E);for(let A of k)if(R.record.isAssociatedWithKeyId(A)){R.record.associateKeyIds(E.values());for(let M of k)!R.keyStatuses.whitelisted.some(x=>ge(x,M))&&!R.keyStatuses.blacklisted.some(x=>ge(x,M))&&R.keyStatuses.blacklisted.push(M);m.hasLevel("DEBUG")&&m.debug("DRM: Session already created for",Ne(A),'under singleLicensePer "periods" policy'),this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:R.keyStatuses.whitelisted,blacklistedKeyIds:R.keyStatuses.blacklisted,delistedKeyIds:[]});return}}}this._lockInitDataQueue();let a;_(o.persistentLicenseConfig)?a="temporary":vg(r)?a="persistent-license":(m.warn('DRM: Cannot create "persistent-license" session: not supported'),a="temporary");let{EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:s,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:d}=U.getCurrent(),u=typeof o.maxSessionCacheSize=="number"?o.maxSessionCacheSize:s,c=await Es(e,i,a,u,this._canceller.signal);if(this._isStopped())return;let l={record:c.value.keySessionRecord,source:c.type,keyStatuses:{whitelisted:[],blacklisted:[]},blacklistedSessionError:null};this._currentSessions.push(l);let{mediaKeySession:f,sessionType:g}=c.value,p=!1;if(Os(f,o,r.keySystem,{onKeyUpdate:T=>{let v=Cg(e,l.record,o.singleLicensePer,l.source==="created-session",T.whitelistedKeyIds,T.blacklistedKeyIds);if(l.record.associateKeyIds(v.whitelisted),l.record.associateKeyIds(v.blacklisted),l.keyStatuses={whitelisted:v.whitelisted,blacklisted:v.blacklisted},l.record.getAssociatedKeyIds().length!==0&&g==="persistent-license"&&i.persistentSessionsStore!==null&&!p){let{persistentSessionsStore:E}=i;Ls(E,d-1),E.add(e,l.record.getAssociatedKeyIds(),f),p=!0}e.content!==void 0&&this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:v.whitelisted,blacklistedKeyIds:v.blacklisted,delistedKeyIds:[]}),this._unlockInitDataQueue()},onWarning:T=>{this.trigger("warning",T)},onError:T=>{var v;if(T instanceof Bn){m.warn("DRM: A session's closing condition has been triggered"),this._lockInitDataQueue();let E=this._currentSessions.indexOf(l);E>=0&&this._currentSessions.splice(E),e.content!==void 0&&this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:[],delistedKeyIds:l.record.getAssociatedKeyIds()}),(v=i.persistentSessionsStore)==null||v.delete(f.sessionId),i.loadedSessionsStore.closeSession(f).catch(R=>{let k=R instanceof Error?R:"unknown error";m.warn("DRM: failed to close expired session",k)}).then(()=>this._unlockInitDataQueue()).catch(R=>this._onFatalError(R)),this._isStopped()||this.trigger("warning",T.reason);return}if(!(T instanceof Fn)){this._onFatalError(T);return}l.blacklistedSessionError=T,e.content!==void 0&&(m.info("DRM: blacklisting Representations based on protection data."),this.trigger("blackListProtectionData",e)),this._unlockInitDataQueue()}},this._canceller.signal),(o.singleLicensePer===void 0||o.singleLicensePer==="init-data")&&this._unlockInitDataQueue(),c.type==="created-session"){let T=e.values.constructRequestData();try{await i.loadedSessionsStore.generateLicenseRequest(f,e.type,T)}catch(v){let E=i.loadedSessionsStore.getEntryForSession(f);if(E===null||E.closingStatus.type!=="none"){let R=this._currentSessions.indexOf(l);return R>=0&&this._currentSessions.splice(R,1),Promise.resolve()}throw new pe("KEY_GENERATE_REQUEST_ERROR",v instanceof Error?v.toString():"Unknown error")}}return Promise.resolve()}_tryToUseAlreadyCreatedSession(e,t){let{stores:r,options:i}=t,o=X(this._currentSessions,c=>c.record.isCompatibleWith(e));if(o===void 0)return!1;if(e.forceSessionRecreation===!0)return this.removeSessionForInitData(e,t),!1;let s=o.blacklistedSessionError;if(!_(s))return e.type===void 0||e.content===void 0?(m.error("DRM: This initialization data has already been blacklisted but the current content is not known."),!0):(m.info("DRM: This initialization data has already been blacklisted. Blacklisting the related content."),this.trigger("blackListProtectionData",e),!0);if(e.keyIds!==void 0){let c;if(i.singleLicensePer===void 0||i.singleLicensePer==="init-data"){let{blacklisted:l}=o.keyStatuses;c=Dc(e.keyIds,l)}else{let{whitelisted:l}=o.keyStatuses;c=!Nn(e.keyIds,l)}if(c)return e.content===void 0?(m.error("DRM: Cannot forbid key id, the content is unknown."),!0):(m.info("DRM: Current initialization data is linked to blacklisted keys. Marking Representations as not decipherable"),this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:e.keyIds,delistedKeyIds:[]}),!0)}if(r.loadedSessionsStore.reuse(e)!==null)return m.debug("DRM: Init data already processed. Skipping it."),!0;let u=this._currentSessions.indexOf(o);return u===-1?m.error("DRM: Unable to remove processed init data: not found."):(m.debug("DRM: A session from a processed init data is not available anymore. Re-processing it."),this._currentSessions.splice(u,1)),!1}removeSessionForInitData(e,t){let{stores:r}=t,i=r.loadedSessionsStore.reuse(e);i!==null&&r.loadedSessionsStore.closeSession(i.mediaKeySession).catch(()=>m.error("DRM: Cannot close the session from the loaded session store"));let o=X(this._currentSessions,s=>s.record.isCompatibleWith(e));if(o===void 0)return;let a=this._currentSessions.indexOf(o);a!==-1&&(m.debug("DRM: A session from a processed init is removed due to forceSessionRecreation policy."),this._currentSessions.splice(a,1))}_onFatalError(e){if(this._canceller.isUsed())return;let t=e instanceof Error?e:new De("NONE","Unknown decryption error");this.error=t,this._initDataQueue.length=0,this._stateData={state:3,isMediaKeysAttached:void 0,isInitDataQueueLocked:void 0,data:null},this._canceller.cancel(),this.trigger("error",t),this._stateData.state===3&&this.trigger("stateChange",this._stateData.state)}_isStopped(){return this._stateData.state===4||this._stateData.state===3}_processCurrentInitDataQueue(){for(;this._stateData.isInitDataQueueLocked===!1;){let e=this._initDataQueue.shift();if(e===void 0)return;this.onInitializationData(e)}}_lockInitDataQueue(){this._stateData.isInitDataQueueLocked===!1&&(this._stateData.isInitDataQueueLocked=!0)}_unlockInitDataQueue(){if(this._stateData.isMediaKeysAttached!==2){m.error("DRM: Trying to unlock in the wrong state");return}this._stateData.isInitDataQueueLocked=!1,this._processCurrentInitDataQueue()}};function vg(n){let{sessionTypes:e}=n.getConfiguration();return e!==void 0&&Q(e,"persistent-license")}function Uc(n,e){return n.filter(t=>!e.some(r=>ge(r,t)))}function Rg(n,e){let t=n.getAssociatedKeyIds(),r=Uc(t,e);return r.length>0&&m.hasLevel("DEBUG")&&m.debug("DRM: KeySessionRecord's keys missing in the license, blacklisting them",r.map(i=>Ne(i)).join(", ")),r}function kg(n,e){let t=[],{keyIds:r}=n;return r!==void 0&&(t=Uc(r,e)),t.length>0&&m.hasLevel("DEBUG")&&m.debug("DRM: init data keys missing in the license, blacklisting them",t.map(i=>Ne(i)).join(", ")),t}function Cg(n,e,t,r,i,o){var u;let a=[...i,...o],s=Rg(e,a),d=a.concat(s);if(t!==void 0&&t!=="init-data"){let c=kg(n,d);d.push(...c);let{content:l}=n;if(r&&l!==void 0){if(t==="content"){let f=new Set,{manifest:g}=l;for(let p of g.periods)Fs(f,p);Bs(f,d)}else if(t==="periods"){let{manifest:f}=l;for(let g of f.periods){let p=new Set;if(Fs(p,g),((u=n.content)==null?void 0:u.period.id)===g.id)Bs(p,d);else{let y=Array.from(p);for(let h of y)if(d.some(T=>ge(T,h))){Bs(p,d);break}}}}}}return{whitelisted:i,blacklisted:d.slice(i.length)}}function Bs(n,e){let t=Array.from(n.values());for(let r of t)e.some(o=>ge(o,r))||e.push(r)}function Fs(n,e){let t=e.adaptations,r=yr(t).reduce((i,o)=>_(o)?i:i.concat(o),[]);for(let i of r)for(let o of i.representations)if(o.contentProtections!==void 0&&o.contentProtections.keyIds!==void 0)for(let a of o.contentProtections.keyIds)n.add(a.keyId)}function Kn(n){let e=Fe.getState(n);return e===null?null:[e.mediaKeySystemAccess.keySystem,e.mediaKeySystemAccess.getConfiguration()]}var Bc=Wr;function Fc(n){var t,r,i,o,a;let e=[];for(let s of n.periods){let d=[...(t=s.adaptations.video)!=null?t:[],...(r=s.adaptations.audio)!=null?r:[]];for(let u of d)if(u.supportStatus.hasCodecWithUndefinedSupport)for(let c of u.representations)c.isSupported===void 0&&e.push({mimeType:(i=c.mimeType)!=null?i:"",codec:(a=(o=c.codecs)==null?void 0:o[0])!=null?a:""})}return e}var Kc=[];function kt(n){Q(Kc,n)||(console.warn(n),Kc.push(n))}var $t=["audio","video","text"];function hn(n){var o,a;let e=n.timeBounds;if(e.timeshiftDepth===null)return(o=e.minimumSafePosition)!=null?o:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=K()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((a=e.minimumSafePosition)!=null?a:0,i)}function yn(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=K()-e.time;return e.livePosition+t/1e3}function bt(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=K()-e.time;return e.maximumSafePosition+t/1e3}function mt(n,e){if(e===void 0)return Vs(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function zc(n,e){let t=null;for(let r=n.periods.length-1;r>=0;r--){let i=n.periods[r];if(Ks(i,e,t))return i;t=i}}function Wo(n,e){let t=e.end;if(t===void 0)return null;let r=X(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function Ks(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Vs(n){let e=n.adaptations;return yr(e).reduce((t,r)=>_(r)?t:t.concat(r),[])}function Go(n,e){var r,i;let t={language:(r=n.language)!=null?r:"",normalized:(i=n.normalizedLanguage)!=null?i:"",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(o=>o.isSupported===!0&&o.decipherable!==!1):n.representations).map(Pg),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function qo(n){var e,t;return{language:(e=n.language)!=null?e:"",normalized:(t=n.normalizedLanguage)!=null?t:"",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function jo(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let o=(e?i.representations.filter(s=>s.isSupported===!0&&s.decipherable!==!1):i.representations).map(Vc),a={id:i.id,representations:o,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(a.signInterpreted=!0),a}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>i.isSupported===!0&&i.decipherable!==!1):n.representations).map(Vc),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Pg(n){let{id:e,bitrate:t,codecs:r,isSpatialAudio:i,isSupported:o,decipherable:a}=n;return{id:e,bitrate:t,codec:r==null?void 0:r[0],isSpatialAudio:i,isCodecSupported:o,decipherable:a}}function Vc(n){let{id:e,bitrate:t,frameRate:r,width:i,height:o,codecs:a,hdrInfo:s,isSupported:d,decipherable:u}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:o,codec:a==null?void 0:a[0],hdrInfo:s,isCodecSupported:d,decipherable:u}}function Qt(n){switch(n.type){case"audio":return{type:"audio",track:Go(n,!1)};case"video":return{type:"video",track:jo(n,!1)};case"text":return{type:"text",track:qo(n)}}}function Hc(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var Gr=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let o=i.get(t);if(o!==void 0)return r?o.supportedIfEncrypted:o.supported}};var qr=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((o,a)=>{let s=e.adaptations[a];if(_(s))return o;let d=s.map(u=>{let c=new _r(u,r,{representationFilter:i});return c.representations.length>0&&c.supportStatus.hasSupportedCodec===!1&&t.push(c),c}).filter(u=>u.representations.length>0);if(d.every(u=>u.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(a==="video"||a==="audio"))throw new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","No supported "+a+" adaptations",{tracks:void 0});return d.length>0&&(o[a]=d),o},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new J("MANIFEST_PARSE_ERROR","No supported audio and video tracks.");this.duration=e.duration,this.start=e.start,!_(this.duration)&&!_(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i===void 0)return;let o=!1;for(let a of i){if(!a.supportStatus.hasCodecWithUndefinedSupport){a.supportStatus.hasSupportedCodec===!0&&(o=!0);continue}let s=a.supportStatus.hasSupportedCodec;a.refreshCodecSupport(t),s!==!1&&a.supportStatus.hasSupportedCodec===!1&&e.push(a),o===!1?o=a.supportStatus.hasSupportedCodec:o===void 0&&a.supportStatus.hasSupportedCodec===!0&&(o=!0)}if((r==="video"||r==="audio")&&o===!1)throw new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","No supported "+r+" adaptations",{tracks:void 0})},{})}getAdaptations(){return Vs(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return X(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return mt(this,e)}containsTime(e,t){return Ks(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e}}};function jr(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),o=e.getAdaptations();for(let a=0;a<i.length;a++){let s=i[a],d=ye(o,u=>u.id===s.id);if(d===-1){m.warn('Manifest: Adaptation "'+i[a].id+'" not found when merging.');let[u]=i.splice(a,1);a--,r.removedAdaptations.push({id:u.id,trackType:u.type})}else{let[u]=o.splice(d,1),c=[],l=[],f=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:c,addedRepresentations:l,removedRepresentations:f});let g=s.representations,p=u.representations.slice();for(let y=0;y<g.length;y++){let h=g[y],b=ye(p,T=>T.id===h.id);if(b===-1){m.warn(`Manifest: Representation "${g[y].id}" not found when merging.`);let[T]=g.splice(y,1);y--,f.push(T.id)}else{let[T]=p.splice(b,1);c.push(h.getMetadataSnapshot()),h.cdnMetadata=T.cdnMetadata,t===0?h.index._replace(T.index):h.index._update(T.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(y=>y.getMetadataSnapshot())))}}if(o.length>0){m.warn(`Manifest: ${o.length} new Adaptations found when merging.`);for(let a of o){let s=n.adaptations[a.type];s===void 0?n.adaptations[a.type]=[a]:s.push(a),r.addedAdaptations.push(a.getMetadataSnapshot())}}return r}function Wc(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let o=0;o<e.length;o++){let a=e[o],s=r,d=n[s];for(;d!==void 0&&d.id!==a.id;)s++,d=n[s];if(d!==void 0){let u=jr(d,a,0);t.updatedPeriods.push({period:{id:d.id,start:d.start,end:d.end,duration:d.duration,streamEvents:d.streamEvents},result:u});let c=e.slice(r,o),l=s-r,f=n.splice(r,l,...c);t.removedPeriods.push(...f.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...c.map(g=>g.getMetadataSnapshot())),r=o+1}}if(r>n.length)return m.error("Manifest: error when updating Periods"),t;if(r<n.length){let o=n.splice(r,n.length-r);t.removedPeriods.push(...o.map(a=>({id:a.id,start:a.start,end:a.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(o=>o.getMetadataSnapshot()))),t}function Gc(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: not enough data");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=ye(n,({id:s})=>s===e[0].id);if(i<0)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: incoherent data");let o=jr(n[i],e[0],1);t.updatedPeriods.push({period:j(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:o});let a=i+1;for(let s=1;s<e.length;s++){let d=e[s],u=-1;for(let c=a;c<n.length;c++)if(d.id===n[c].id){u=c;break}if(u<0){let c=-1;for(let g=a;g<n.length;g++)if(d.start<n[g].start){c=g;break}let l=c-a,f=n.splice(a,l,d);t.addedPeriods.push(d.getMetadataSnapshot()),t.removedPeriods.push(...f.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(u>a){m.warn("Manifest: old Periods not found in new when updating, removing");let l=n.splice(a,u-a);t.removedPeriods.push(...l.map(f=>({id:f.id,start:f.start,end:f.end}))),u=a}let c=jr(n[u],d,0);t.updatedPeriods.push({period:j(n[u].getMetadataSnapshot(),{adaptations:void 0}),result:c})}a++}if(a<n.length){m.warn("Manifest: Ending Periods not found in new when updating, removing");let s=n.splice(a,n.length-a);t.removedPeriods.push(...s.map(d=>({id:d.id,start:d.start,end:d.end})))}return t}var Mg=Ze(),Yr=class extends ie{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:o}=t;this.manifestFormat=0,this.id=Mg(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new Gr([]);let a=[];if(this.periods=e.periods.map(d=>new qr(d,a,this._cachedCodecSupport,i)).sort((d,u)=>d.start-u.start),a.length>0){let d=new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","An Adaptation contains only incompatible codecs.",{tracks:a.map(Qt)});r.push(d)}this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=o,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger("supportUpdate",null),t.length>0?new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","An Adaptation contains only incompatible codecs.",{tracks:t.map(Qt)}):null}getPeriod(e){return X(this.periods,t=>e===t.id)}getPeriodForTime(e){return zc(this,e)}getNextPeriod(e){return X(this.periods,t=>t.start>e)}getPeriodAfter(e){return Wo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return hn(this)}getLivePosition(){return yn(this)}getMaximumSafePosition(){return bt(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Ag(this,e);t.length>0&&this.trigger("decipherabilityUpdate",t)}getAdaptations(){kt("manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];r.push(...o)}return r}getAdaptationsForType(e){kt("manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return kt("manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead"),X(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return Fc(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=Wc(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Gc(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let o=this.periods[0];if(o.end===void 0||o.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger("manifestUpdate",r)}};function Ag(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let o=!0;for(let a of i.representations){let s={manifest:n,period:r,adaptation:i,representation:a},d=e(s);d!==!1&&(o=!1),d!==a.decipherable&&(t.push(s),a.decipherable=d,d===!0?i.supportStatus.isDecipherable=!0:d===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),m.debug(`Decipherability changed for "${a.id}"`,`(${a.bitrate})`,String(a.decipherable)))}o&&(i.supportStatus.isDecipherable=!1)}return t}function Ct(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function In(n){if(_(n))return"";let{period:e,adaptation:t,representation:r,segment:i}=n,o;return i.isInit?o="init":i.complete?o=`${i.time}-${i.duration}`:o=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${o}`}var Vn=Yr;function Pt(n){return n instanceof Ee?new rt("PIPELINE_LOAD_ERROR",n):we(n,{defaultCode:"PIPELINE_LOAD_ERROR",defaultReason:"Unknown error when fetching the Manifest"})}function xg(n){return n instanceof Ee?n.type===cn.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===cn.TIMEOUT||n.type===cn.ERROR_EVENT:n instanceof nt?typeof n.canRetry=="boolean"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412:!1:Wt(n)&&n.code==="INTEGRITY_ERROR"}async function zs(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:o,maxDelay:a,maxRetry:s,onRetry:d}=r;n!==null&&n.length===0&&m.warn("Fetchers: no CDN given to `scheduleRequestWithCdns`.");let u=new Map,c=l();if(c===void 0)throw new Error("No CDN to request");return f(c);function l(){if(n===null){let h=u.get(null);return h!==void 0&&h.isBlacklisted?void 0:null}else{if(e===null)return y(n);{let h=e.getCdnPreferenceForResource(n);return y(h)}}}async function f(h){try{return await t(h,i)}catch(b){if(B.isCancellationError(b))throw b;h!==null&&e!==null&&e.downgradeCdn(h);let T=u.get(h);if(T===void 0?(T={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},u.set(h,T)):T.errorCounter++,!xg(b))return T.blockedUntil=void 0,T.isBlacklisted=!0,g(b);if(T.errorCounter>s)T.blockedUntil=void 0,T.isBlacklisted=!0;else{let v=T.errorCounter,E=Math.min(o*Math.pow(2,v-1),a),R=Vr(E);T.blockedUntil=K()+R}return g(b)}}async function g(h){let b=l();if(i.isCancelled())throw i.cancellationError;if(b===void 0)throw h;if(d(h),i.isCancelled())throw i.cancellationError;return p(b,h)}function p(h,b){let T=u.get(h);if(T===void 0||T.blockedUntil===void 0)return f(h);let v=K(),E=T.blockedUntil-v;if(E<=0)return f(h);let R=new B,k=R.linkToSignal(i);return new Promise((A,M)=>{e==null||e.addEventListener("priorityChange",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return L(b);O!==h&&(R.cancel(),p(O,b).then(x,L))},R.signal),Gt(E,R.signal).then(()=>f(h).then(x,L),Z);function x(O){k(),A(O)}function L(O){k(),M(O)}})}function y(h){var T;if(u.size===0)return h[0];let b=K();return(T=h.filter(v=>{var E;return((E=u.get(v))==null?void 0:E.isBlacklisted)!==!0}).reduce((v,E)=>{var k;let R=(k=u.get(E))==null?void 0:k.blockedUntil;return R!==void 0&&R<=b&&(R=void 0),v===void 0?[E,R]:v[1]===void 0?v:R===void 0?[E,void 0]:R<v[1]?[E,R]:v},void 0))==null?void 0:T[0]}}function Hs(n,e,t){return zs(null,null,n,e,t)}var $r=class extends ie{constructor(e,t,r){super(),this.scheduleManualRefresh=Z,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new B,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Vn?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger("manifestReady",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var u;let t=this._canceller.signal,r=this._settings,i=this._transportName,o=this._pipelines,a=e!=null?e:(u=this._manifestUrls)==null?void 0:u[0],s=this._getBackoffSetting(c=>{this.trigger("warning",Pt(c))});try{let c=await d(a);return{parse:l=>this._parseLoadedManifest(c,l,a)}}catch(c){throw Pt(c)}function d(c){var h;let{loadManifest:l}=o,f=r.requestTimeout===void 0?U.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?U.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;f<0&&(f=void 0),g<0&&(g=void 0);let p={timeout:f,connectionTimeout:g,cmcdPayload:(h=r.cmcdDataBuilder)==null?void 0:h.getCmcdDataForManifest(i)};return Hs(()=>l(c,p,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var y;let i=K(),o=this._canceller.signal,a=this.trigger.bind(this),{sendingTime:s,receivedTime:d}=e,u=this._getBackoffSetting(h=>{this.trigger("warning",Pt(h))}),c=r!=null?r:(y=this._manifestUrls)==null?void 0:y[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:c};try{let h=this._pipelines.parseManifest(e,l,g,o,f);if(wg(h)){let{manifest:b,warnings:T}=await h;return p(b,T)}else return p(h.manifest,h.warnings)}catch(h){throw we(h,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown error when parsing the Manifest"})}async function f(h){try{return await Hs(h,u,o)}catch(b){throw Pt(b)}}function g(h){for(let b of h){if(o.isCancelled())return;let T=we(b,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown error when parsing the Manifest"});a("warning",T)}}function p(h,b){g(b);let T=K()-i;return m.info(`MF: Manifest parsed in ${T}ms`),{manifest:h,sendingTime:s,receivedTime:d,parsingTime:T}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=U.getCurrent(),{lowLatencyMode:o,maxRetry:a}=this._settings,s=o?r.LOW_LATENCY:r.REGULAR,d=o?i.LOW_LATENCY:i.REGULAR,u=a!=null?a:t;return{onRetry:e,baseDelay:s,maxDelay:d,maxRetry:u}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:o,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:a}=U.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,d=!1;this._consecutiveUnsafeMode>0?d=this._consecutiveUnsafeMode<o:s!==void 0&&(d=s>=a);let u=t===void 0?0:K()-t,c=Math.max(this._settings.minimumManifestUpdateInterval-u,0),l=new B;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=f=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:y}=f,h=y&&d,b=t===void 0?0:K()-t,T=Math.max(this._settings.minimumManifestUpdateInterval-b,0),v=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:h})},Math.max((p!=null?p:0)-b,T));l.signal.register(()=>{clearTimeout(v)})},e.expired!==null){let f=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Z)},c);l.signal.register(()=>{clearTimeout(f)})}if(e.lifetime!==void 0&&e.lifetime>=0){let f=e.lifetime*1e3-u,g;s===void 0?g=f:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-u,Math.max(f,0)+s),f*6),m.info("MUS: Manifest update rythm is too frequent. Postponing next request.",f,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(f,0)+s,f*6),m.info("MUS: Manifest took too long to parse. Postponing next request",g,g)):g=f;let p=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Math.max(g,c));l.signal.register(()=>{clearTimeout(p)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,o,a;this._prioritizedContentUrl!==null?(o=!0,a=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(o=!t||i===void 0,a=o?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,m.info('Init: Refreshing the Manifest in "unsafeMode" for the '+String(this._consecutiveUnsafeMode)+" consecutive time.")):this._consecutiveUnsafeMode>0&&(m.info('Init: Not parsing the Manifest in "unsafeMode" anymore after '+String(this._consecutiveUnsafeMode)+" consecutive times."),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(a).then(d=>d.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(d=>{this._isRefreshPending=!1;let{manifest:u,sendingTime:c,parsingTime:l}=d,f=K();if(o)e.replace(u);else try{e.update(u)}catch(p){let y=p instanceof Error?p.message:"unknown error";m.warn(`MUS: Attempt to update Manifest failed: ${y}`,"Re-downloading the Manifest fully");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:h}=U.getCurrent(),b=c===void 0?0:K()-c,T=Math.max(this._settings.minimumManifestUpdateInterval-b,0),v=Z,E=setTimeout(()=>{v(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(h-b,T));v=this._canceller.signal.register(()=>{clearTimeout(E)});return}let g=K()-f;this._recursivelyRefreshManifest(e,{sendingTime:c,parsingTime:l,updatingTime:g})}).catch(d=>{this._isRefreshPending=!1,this._onFatalError(d)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger("error",e),this.dispose())}};function wg(n){return n instanceof Promise}var Ws=$r;var Qr=class extends ie{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=qc(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=U.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let o=setTimeout(()=>{let a=qc(this._downgradedCdnList.metadata,e);a>=0&&this._removeIndexFromDowngradeList(a),this.trigger("priorityChange",null)},i);this._downgradedCdnList.timeouts.push(o),this.trigger("priorityChange",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,o)=>(this._downgradedCdnList.metadata.some(a=>a.id===o.id&&a.baseUrl===o.baseUrl)?i[1].push(o):i[0].push(o),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function qc(n,e){return n.length===0?-1:e.id!==void 0?ye(n,t=>t.id===e.id):ye(n,t=>t.baseUrl===e.baseUrl)}function Gs(n,e){let t=new WeakMap;return{createRequest(r,i,o,a){let s=u=>e(r,o,u),d=n.create(s,i,o,a);return t.set(d,s),d},updatePriority(r,i){let o=t.get(r);if(o===void 0){m.warn("Fetchers: Cannot update the priority of a request: task not found.");return}n.updatePriority(o,i)}}}var qs=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},jc=qs;var Og=Ze();function js({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:o}){let a;o.connectionTimeout===void 0||o.connectionTimeout<0?a=void 0:a=o.connectionTimeout;let s={timeout:o.requestTimeout<0?void 0:o.requestTimeout,connectionTimeout:a,cmcdPayload:void 0},d=Q(["audio","video"],n)?new jc:void 0,{loadSegment:u,parseSegment:c}=e;return async function(f,g,p){var $,q,W;let{segment:y,adaptation:h,representation:b,manifest:T,period:v}=f,E=In(f),R=Og(),k,A=[],M=0,x=!1,L={segment:y,type:h.type,language:h.language,isLive:T.isLive,periodStart:v.start,periodEnd:v.end,mimeType:b.mimeType,codecs:b.codecs[0],manifestPublishTime:T.publishTime},O={onProgress(z){var H;k===void 0&&z.totalSize!==void 0&&z.size<z.totalSize&&((H=i.onProgress)==null||H.call(i,{duration:z.duration,size:z.size,totalSize:z.totalSize,timestamp:K(),id:R}))},onNewChunk(z){g.onChunk(D(z,!0))}},N=d!==void 0?d.get(f):null;if(N!==null)return m.debug("SF: Found wanted segment in cache",E),g.onChunk(D(N,!1)),Promise.resolve();m.debug("SF: Beginning request",E),($=i.onRequestBegin)==null||$.call(i,{requestTimestamp:K(),id:R,content:f}),p.register(C);try{let z=await zs(f.representation.cdnMetadata,t,P,j({onRetry:F},o),p);if(z.resultType==="segment-loaded"){let H=z.resultData.responseData;d!==void 0&&d.add(f,z.resultData.responseData),g.onChunk(D(H,!1))}else z.resultType==="segment-created"&&g.onChunk(D(z.resultData,!1));m.debug("SF: Segment request ended with success",E),g.onAllChunksReceived(),z.resultType!=="segment-created"?(k=z.resultData,V()):k=null,p.isCancelled()||(q=i.onRequestEnd)==null||q.call(i,{id:R}),p.deregister(C)}catch(z){throw p.deregister(C),k=null,z instanceof Me?(m.debug("SF: Segment request aborted",E),z):(m.debug("SF: Segment request failed",E),(W=i.onRequestEnd)==null||W.call(i,{id:R}),Pt(z))}function C(){var z;k===void 0&&(m.debug("SF: Segment request cancelled",E),k=null,(z=i.onRequestEnd)==null||z.call(i,{id:R}))}function P(z){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(f),u(z,L,s,p,O)}function D(z,H){A.push(!1);let se=A.length-1;return function(ue){let he={data:z,isChunked:H};try{let Y=c(he,L,ue);return A[se]||(M=M!==void 0&&Y.segmentType==="media"&&Y.chunkInfos!==null&&Y.chunkInfos.duration!==void 0?M+Y.chunkInfos.duration:void 0,A[se]=!0,V()),Y}catch(Y){throw we(Y,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown parsing error"})}}}function F(z){g.onRetry(Pt(z))}function V(){var z;x||!_(k)&&k.size!==void 0&&k.requestDuration!==void 0&&A.length>0&&A.every(H=>H)&&(x=!0,(z=i.onMetrics)==null||z.call(i,{size:k.size,requestDuration:k.requestDuration,content:f,segmentDuration:M}))}}}function Yc({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:o,DEFAULT_CONNECTION_TIMEOUT:a,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:d}=U.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?d.LOW_LATENCY:d.REGULAR,requestTimeout:t===void 0?o:t,connectionTimeout:r===void 0?a:r}}var Zr=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error("TP: the max high level priority should be given a lowerpriority number than the min low priority.")}create(e,t,r,i){let o;return ot(i,(a,s)=>(o={hasEnded:!1,priority:t,trigger:()=>{if(o.hasEnded)return;let u=()=>{g(),this._endTask(o)},c=p=>{r.beforeEnded(),u(),a(p)},l=p=>{u(),s(p)},f=new B,g=f.linkToSignal(i);o.interrupter=f,f.signal.register(()=>{o.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?o.priority:Math.min(this._minPendingPriority,o.priority),this._pendingTasks.push(o),o.taskFn(f.signal).then(c).catch(p=>{!i.isCancelled()&&f.isUsed()&&p instanceof Me||l(p)})},taskFn:e,interrupter:null},this._canBeStartedNow(o)?(o.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(o),()=>this._endTask(o)))}_endTask(e){e.hasEnded=!0;let t=Xr(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Xr(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Xr(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Xr(e,this._pendingTasks);if(i<0){m.warn("TP: request to update the priority of a non-existent task");return}let o=this._pendingTasks[i];if(o.priority===t)return;let a=o.priority;o.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===a&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e=0;e<this._pendingTasks.length;e++){let t=this._pendingTasks[e];if(t.priority>=this._prioritySteps.low)return this._interruptPendingTask(t),this._interruptCancellableTasks()}}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn("TP : Tried to start a non existing task"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Xr(e.taskFn,this._pendingTasks);if(t<0){m.warn("TP: Interrupting a non-existent pending task. Aborting...");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel()}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Xr(n,e){return ye(e,t=>t.taskFn===n)}var Jr=class{constructor(e,t,r,i){let o=new Qr(i),{MIN_CANCELABLE_PRIORITY:a,MAX_HIGH_PRIORITY_LEVEL:s}=U.getCurrent();this._transport=e,this._prioritizer=new Zr({prioritySteps:{high:s,low:a}}),this._cdnPrioritizer=o,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentFetcher(e,t){let r=Yc(this._backoffOptions),i=this._transport[e],o=js({bufferType:e,pipeline:i,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:r});return Gs(this._prioritizer,o)}};var Ys=Jr;var bn=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],o=!1;for(;!o&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),o=!0):t++;o||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error("Invalid index.");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return X(this._array,e)}has(e){return Q(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var ei=class extends ie{constructor(e,t,r){super(),this._canceller=new B,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new $s(e);this._maximumPositionCalculator=i;let o=this._canceller.signal;t.listen(({position:a})=>{let s=a.getWanted();if(s<e.getMinimumSafePosition()){let d=new J("MEDIA_TIME_BEFORE_MANIFEST","The current position is behind the earliest time announced in the Manifest.");this.trigger("warning",d)}else if(s>i.getMaximumAvailablePosition()){let d=new J("MEDIA_TIME_AFTER_MANIFEST","The current position is after the latest time announced in the Manifest.");this.trigger("warning",d)}},{includeLastObservation:!0,clearSignal:o}),e.addEventListener("manifestUpdate",()=>{this.trigger("endingPositionChange",this._getManifestEndTime()),!o.isCancelled()&&this._checkEndOfStream()},o)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e==="audio"||e==="video")){e==="audio"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let o=this._maximumPositionCalculator.getEndingPosition(),a=o!==void 0?{isEnd:!0,endingPosition:o}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger("endingPositionChange",a)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(){this.removeEventListener(),this._canceller.cancel()}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let o=this._activeStreams.get(i);if(o===void 0)return;if(!o.activePeriods.toArray().some(d=>d.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger("periodChange",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new bn((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger("endOfStream",null):this.trigger("resumeStream",null)}},$s=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Yo(this._lastVideoAdaptation);return typeof e!="number"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Yo(this._lastAudioAdaptation);return typeof e!="number"?this._manifest.getMaximumSafePosition():e}else{let e=Yo(this._lastAudioAdaptation),t=Yo(this._lastVideoAdaptation);return typeof e!="number"||typeof t!="number"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=$o(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=$o(this._lastAudioAdaptation))!=null?t:void 0;{let r=$o(this._lastAudioAdaptation),i=$o(this._lastVideoAdaptation);return typeof r!="number"||typeof i!="number"?void 0:Math.min(r,i)}}}};function Yo(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let o=i.index.getLastAvailablePosition();if(o===void 0)return;o!==null&&(t=_(t)?o:Math.min(t,o))}return t}function $o(n){let{representations:e}=n,t=null,r;for(let i=0;i<e.length;i++)if(e[i].index!==r){r=e[i].index;let o=e[i].index.getEnd();if(o===void 0)return;o!==null&&(t=_(t)?o:Math.min(t,o))}return t}function Qs(n,e,t,r,i,o){o.register(()=>{e.interruptDurationSetting()});let a=new ei(n,t,r.getBufferTypes());o.register(()=>{a.dispose()}),a.addEventListener("warning",d=>i.onWarning(d)),a.addEventListener("periodChange",d=>i.onPeriodChanged(d)),a.addEventListener("endingPositionChange",d=>{e.setDuration(d.endingPosition,d.isEnd)}),a.addEventListener("endOfStream",()=>{m.debug("Init: end-of-stream order received."),e.maintainEndOfStream()}),a.addEventListener("resumeStream",()=>{e.stopEndOfStream()});let s=a.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),a}var ti=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let a=K();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=a);let s=r!==null&&a-r.timestamp>4e3,d=i!==null&&a-i.timestamp>4e3;if((s||d)&&K()-this._currentFreezeTimestamp>4e3){let u=this._segmentSinksStore.getStatus("audio"),c=this._segmentSinksStore.getStatus("video"),l=!0,f=!0;for(let g of[u,c])if(g.type==="initialized")for(let p of g.value.getLastKnownInventory()){let{representation:y}=p.infos;if(y.decipherable===!1)return m.warn("Init: we have undecipherable segments left in the buffer, reloading"),this._currentFreezeTimestamp=null,!0;y.contentProtections!==void 0&&(f=!1,y.decipherable!==!0&&(l=!1))}if(!f&&l)return m.warn("Init: we are frozen despite only having decipherable segments left in the buffer, reloading"),this._currentFreezeTimestamp=null,!0}return!1}};function Qo({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let o,a=[];e.listen(d=>{o=d.position.getWanted(),a=d.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){a!==null&&Dg(n,o,a,t.getValue(),r.getValue(),i).catch(d=>{let u=d instanceof Error?d.message:"Unknown error";m.error("Could not run BufferGarbageCollector:",u)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function Dg(n,e,t,r,i,o){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let a=[],{innerRange:s,outerRanges:d}=Kl(t,e),u=()=>{if(isFinite(r)){for(let l of d)e-r>=l.end?a.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&a.push({start:l.start,end:e-r});_(s)||e-r>s.start&&a.push({start:s.start,end:e-r})}},c=()=>{if(isFinite(i)){for(let l of d)e+i<=l.start?a.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&a.push({start:e+i,end:l.end});_(s)||e+i<s.end&&a.push({start:e+i,end:s.end})}};u(),c();for(let l of a)if(l.start<l.end){if(m.debug("GC: cleaning range from SegmentSink",l.start,l.end),o.cancellationError!==null)throw o.cancellationError;await n.removeBuffer(l.start,l.end)}}var ni=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=K();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>Ct(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var ri=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=U.getCurrent();this._inventory=[],this._bufferedHistory=new ni(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var d,u,c,l,f,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:o}=U.getCurrent(),a=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel("DEBUG")){let y=e.map(h=>`${h.start}-${h.end}`).join(",");m.debug(`SI: synchronizing ${a!=null?a:"unknown"} buffered ranges:`,y)}let s=e.length;for(let y=0;y<s;y++){if(i===void 0)return;let h=e[y].start,b=e[y].end;if(b-h<o){m.warn("SI: skipped range when synchronizing because it was too small",a,h,b);continue}let T=r;for(;i!==void 0&&((d=i.bufferedEnd)!=null?d:i.end)-h<o;)i=t[++r];let v=null,E=r-T;if(E>0){let k=t[T+E-1];v={end:(u=k.bufferedEnd)!=null?u:k.end,precizeEnd:k.precizeEnd},m.debug(`SI: ${E} segments GCed.`,a);let A=t.splice(T,E);for(let M of A)M.bufferedStart===void 0&&M.bufferedEnd===void 0&&M.status!==2&&this._bufferedHistory.addBufferedSegment(M.infos,null);r=T}if(i===void 0)return;if(b-((c=i.bufferedStart)!=null?c:i.start)>=o){if(Lg(i,h,v,a),r===t.length-1){Qc(i,b,a);return}i=t[++r];let k=(l=i.bufferedStart)!=null?l:i.start,A=(f=i.bufferedEnd)!=null?f:i.end,M=y<s-1?e[y+1].start:void 0;for(;i!==void 0&&!(b<k||b-k<o&&A-b>=o||M!==void 0&&b-k<A-M);){let x=t[r-1];x.bufferedEnd===void 0&&(i.precizeStart?x.bufferedEnd=i.start:x.infos.segment.complete?x.bufferedEnd=x.end:x.bufferedEnd=i.start,m.debug("SI: calculating buffered end of contiguous segment",a,x.bufferedEnd,x.end)),i.bufferedStart=x.bufferedEnd,i=t[++r],i!==void 0&&(k=(g=i.bufferedStart)!=null?g:i.start,A=(p=i.bufferedEnd)!=null?p:i.end)}}let R=t[r-1];R!==void 0&&Qc(R,b,a)}if(!_(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:y}=U.getCurrent(),h=K();for(let b=r;b<t.length;b++){let T=t[b];h-T.insertionTs>=y&&(m.debug("SI: A segment at the end has been completely GCed",a,`${T.start}-${T.end}`),T.bufferedStart===void 0&&T.bufferedEnd===void 0&&T.status!==2&&this._bufferedHistory.addBufferedSegment(T.infos,null),t.splice(b,1),b--)}}a!==void 0&&m.hasLevel("DEBUG")&&m.debug(`SI: current ${a} inventory timeline:
2
- `+Ng(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:o,start:a,end:s},d,u){if(i.isInit)return;let c=t.type;if(a>=s){m.warn("SI: Invalid chunked inserted: starts before it ends",c,a,s);return}let l=this._inventory,f={status:d?0:2,insertionTs:u,chunkSize:o,splitted:!1,start:a,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let p=l.length-1;p>=0;p--){let y=l[p];if(y.start<=a)if(y.end<=a){for(m.debug("SI: Pushing segment strictly after previous one.",c,a,y.end),this._inventory.splice(p+1,0,f),p+=2;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(y.start===a)if(y.end<=s){for(m.debug("SI: Segment pushed replace another one",c,a,s,y.end),this._inventory.splice(p,1,f),p+=1;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug("SI: Segment pushed ends before another with the same start",c,a,s,y.end),l.splice(p,0,f),y.start=f.end,y.bufferedStart=void 0,y.precizeStart=y.precizeStart&&f.precizeEnd;return}else if(y.end<=f.end){for(m.debug("SI: Segment pushed updates end of previous one",c,a,s,y.start,y.end),this._inventory.splice(p+1,0,f),y.end=f.start,y.bufferedEnd=void 0,y.precizeEnd=y.precizeEnd&&f.precizeStart,p+=2;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn("SI: Segment pushed is contained in a previous one",c,a,s,y.start,y.end);let h={status:y.status,insertionTs:y.insertionTs,chunkSize:y.chunkSize,splitted:!0,start:f.end,end:y.end,precizeStart:y.precizeStart&&y.precizeEnd&&f.precizeEnd,precizeEnd:y.precizeEnd,bufferedStart:void 0,bufferedEnd:y.end,infos:y.infos};y.end=f.start,y.splitted=!0,y.bufferedEnd=void 0,y.precizeEnd=y.precizeEnd&&f.precizeStart,l.splice(p+1,0,f),l.splice(p+2,0,h);return}}let g=this._inventory[0];if(g===void 0){m.debug("SI: first segment pushed",c,a,s),this._inventory.push(f);return}if(g.start>=s)m.debug("SI: Segment pushed comes before all previous ones",c,a,s,g.start),this._inventory.splice(0,0,f);else if(g.end<=s){for(m.debug("SI: Segment pushed starts before and completely recovers the previous first one",c,a,s,g.start,g.end),this._inventory.splice(0,1,f);l.length>1&&l[1].start<f.end;){if(l[1].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[1].start),l[1].start=f.end,l[1].bufferedStart=void 0,l[1].precizeStart=f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug("SI: Segment pushed start of the next one",c,a,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=f.precizeEnd,this._inventory.splice(0,0,f);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(Ct(t[i].infos,e)){let o=!1;r.length>0&&(o=!0,r.length===1&&(m.warn("SI: Completed Segment is splitted.",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let a=i,s=t[i].chunkSize;for(i+=1;i<t.length&&Ct(t[i].infos,e);){let f=t[i].chunkSize;s!==void 0&&f!==void 0&&(s+=f),i++}let d=i-1,u=d-a,c=t[d].end,l=t[d].bufferedEnd;u>0&&(this._inventory.splice(a+1,u),i-=u),this._inventory[a].status===0&&(this._inventory[a].status=1),this._inventory[a].chunkSize=s,this._inventory[a].end=c,this._inventory[a].bufferedEnd=l,this._inventory[a].splitted=o,r.push(this._inventory[a])}if(r.length===0)m.warn("SI: Completed Segment not found",e.segment.id,e.segment.time);else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):m.debug("SI: buffered range not known after sync. Skipping history.",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function Xs(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:o}=U.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(o,r/3))}function $c(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:o}=U.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(o,r/3)}function Lg(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:o,SEGMENT_SYNCHRONIZATION_DELAY:a}=U.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug("SI: Segment partially GCed at the start",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&Xs(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug("SI: buffered start is precize start",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug("SI: buffered start is end of previous segment",r,e,n.start,t.end),n.bufferedStart=t.end,Xs(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=K();if(n.start-e>=o&&s-n.insertionTs<a){m.debug("SI: Ignored bufferedStart synchronization",r,e,n.start,s-n.insertionTs);return}m.debug("SI: found true buffered start",r,e,n.start),n.bufferedStart=e,Xs(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug("SI: range start too far from expected start",r,e,n.start),n.bufferedStart=n.start;else{let s=K();if(n.start-e>=o&&s-n.insertionTs<a){m.debug("SI: Ignored bufferedStart synchronization",r,e,n.start,s-n.insertionTs);return}m.debug("SI: Segment appears immediately garbage collected at the start",r,e,n.start),n.bufferedStart=e}}function Qc(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:o}=U.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug("SI: Segment partially GCed at the end",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&$c(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug("SI: buffered end is precize end",t,n.end),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let a=K();if(e-n.end>=i&&a-n.insertionTs<o){m.debug("SI: Ignored bufferedEnd synchronization",t,e,n.end,a-n.insertionTs);return}m.debug("SI: found true buffered end",t,e,n.end),n.bufferedEnd=e,$c(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug("SI: range end too far from expected end",t,e,n.end),n.bufferedEnd=n.end;else{let a=K();if(e-n.end>=i&&a-n.insertionTs<o){m.debug("SI: Ignored bufferedEnd synchronization",t,e,n.end,a-n.insertionTs);return}m.debug("SI: Segment appears immediately garbage collected at the end",t,n.bufferedEnd,e),n.bufferedEnd=e}}function Ng(n){let e=.016666666666666666,t={},r=[],i=null,o=null;function a(d){let u=String.fromCharCode(r.length+65);return r.push({letter:u,periodId:d.period.id,representationId:d.representation.id,bitrate:d.representation.bitrate}),u}let s="";for(let d=0;d<n.length;d++){let u=n[d];if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let c=u.infos.period.id,l=u.infos.representation.id,f=t[c],g;f===void 0?(g=a(u.infos),t[c]={[l]:g}):f[l]===void 0?(g=a(u.infos),f[l]=g):g=f[l],i===null?s+=`${u.bufferedStart.toFixed(2)}|${g}|`:o===g?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${g}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${g}|`,i=u,o=g}}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(d=>{var u;s+=`
3
- [${d.letter}] P: ${d.periodId} || R: ${d.representationId}(${(u=d.bitrate)!=null?u:"unknown bitrate"})`}),s}function zn(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Hn(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var Xc=ri;var Wn=class{constructor(){this._segmentInventory=new Xc}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var ii=class extends Wn{constructor(e,t,r){super(),m.info("AVSB: calling `mediaSource.addSourceBuffer`",t);let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){Zc(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){Zc(e.data.chunk),m.debug("AVSB: receiving order to push data to the SourceBuffer",this.bufferType,In(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(a=>{let{codec:s,timestampOffset:d,appendWindow:u}=e.data;return m.debug("AVSB: pushing segment",this.bufferType,In(e.inventoryInfos)),this._sourceBuffer.appendBuffer(a,{codec:s,timestampOffset:d,appendWindow:u})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(a){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,K()),a}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,K());let o=i[i.length-1];return this._segmentInventory.synchronizeBuffered(o),o}async removeBuffer(e,t){m.debug("AVSB: receiving order to remove data from the SourceBuffer",this.bufferType,e,t);let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){try{m.debug("AVSB: Calling `dispose` on the SourceBufferInterface"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:"")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error("Invalid initialization segment uniqueId");let i=new ArrayBuffer(r.byteLength),o=new Uint8Array(i);o.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=o,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let o=this._pendingOperations.indexOf(r);o>=0&&this._pendingOperations.splice(o,1)};e.then(i,i)}};function Zc(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!="object"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error("Invalid data given to the AudioVideoSegmentSink")}var Zo=ii;var oi=class extends Wn{constructor(e){m.debug("HTSB: Creating TextSegmentSink"),super(),this.bufferType="text",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn("HTSB: Declaring initialization segment for Text SegmentSink",e)}freeInitSegment(e){m.warn("HTSB: Freeing initialization segment for Text SegmentSink",e)}async pushChunk(e){let{data:t}=e;Bg(t.chunk);let r=this._sender.pushTextData(le(ae({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,K()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){m.debug("HTSB: Disposing TextSegmentSink"),this._sender.reset()}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let o=this._pendingOperations.indexOf(r);o>=0&&this._pendingOperations.splice(o,1)};e.then(i,i)}};function Bg(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!="object"||n===null||typeof n.data!="string"||typeof n.type!="string"||n.language!==void 0&&typeof n.language!="string"||n.start!==void 0&&typeof n.start!="number"||n.end!==void 0&&typeof n.end!="number"))throw new Error("Invalid format given to a TextSegmentSink")}I.CURRENT_ENV===I.DEV&&(Fg=function(e){function t(r){}});var Fg;var Jc=oi;var Kg=["audio","video","text"],ai=class n{static isNative(e){return ef(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push("text"),e}getNativeBufferTypes(){return this._hasVideo?["video","audio"]:["audio"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:"uninitialized"}:t===null?{type:"disabled"}:{type:"initialized",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():ot(e,t=>{let r,i=()=>{let o=this._onNativeBufferAddedOrDisabled.indexOf(r);o>=0&&this._onNativeBufferAddedOrDisabled.splice(o,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){m.warn(`SBS: The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error("Cannot disable an active SegmentSink.");this._initializedSegmentSinks[e]=null,n.isNative(e)&&this._onNativeBufferAddedOrDisabled.forEach(r=>r())}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(ef(e)){if(!_(r))return r instanceof Zo&&r.codec!==t?m.warn("SB: Reusing native SegmentSink with codec",r.codec,"for codec",t):m.info("SB: Reusing native SegmentSink with codec",t),r;m.info("SB: Adding native SegmentSink with codec",t);let o=e==="audio"?"audio":"video",a=new Zo(o,t,this._mediaSource);return this._initializedSegmentSinks[e]=a,this._onNativeBufferAddedOrDisabled.forEach(s=>s()),a}if(!_(r))return m.info("SB: Reusing a previous custom SegmentSink for the type",e),r;let i;if(e==="text"){if(m.info("SB: Creating a new text SegmentSink"),this._textInterface===null)throw new Error("HTML Text track feature not activated");return i=new Jc(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error("SB: Unknown buffer type:",e),new J("BUFFER_TYPE_UNKNOWN","The player wants to create a SegmentSink of an unknown type.")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(_(t)){m.warn("SB: Trying to dispose a SegmentSink that does not exist");return}m.info("SB: Aborting SegmentSink",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){Kg.forEach(e=>{this.getStatus(e).type==="initialized"&&this.disposeSegmentSink(e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var t,r;return{bufferType:e,codec:(t=this._initializedSegmentSinks[e])==null?void 0:t.codec,segmentInventory:(r=this._initializedSegmentSinks[e])==null?void 0:r.getLastKnownInventory().map(i=>le(ae({},i),{infos:Vg(i.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType("audio"),video:this.createSegmentSinkMetricsForType("video"),text:this.createSegmentSinkMetricsForType("text")}}}};function ef(n){return n==="audio"||n==="video"}function Vg(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var Xt=ai;var si=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var di=class extends ie{constructor(e,t,r,i){super(),this._content=e,this._currentCanceller=null,this._downloadQueue=t,this._initSegmentRequest=null,this._mediaSegmentRequest=null,this._segmentFetcher=r,this._initSegmentInfoRef=new G(void 0),this._mediaSegmentAwaitingInitMetadata=null,i||this._initSegmentInfoRef.setValue(null)}getRequestedInitSegment(){return this._initSegmentRequest===null?null:this._initSegmentRequest.segment}getRequestedMediaSegment(){return this._mediaSegmentRequest===null?null:this._mediaSegmentRequest.segment}start(){this._currentCanceller===null&&(this._currentCanceller=new B,this._downloadQueue.onUpdate(e=>{let{segmentQueue:t}=e;if(t.length>0&&t[0].segment.id===this._mediaSegmentAwaitingInitMetadata)return;let r=this._mediaSegmentRequest;if(t.length===0){if(r===null)return;m.debug("Stream: no more media segment to request. Cancelling queue.",this._content.adaptation.type),this._restartMediaSegmentDownloadingQueue();return}else if(r===null){m.debug("Stream: Media segments now need to be requested. Starting queue.",this._content.adaptation.type,t.length),this._restartMediaSegmentDownloadingQueue();return}else{let i=t[0];if(r.segment.id!==i.segment.id){m.debug("Stream: Next media segment changed, cancelling previous",this._content.adaptation.type),this._restartMediaSegmentDownloadingQueue();return}r.priority!==i.priority&&(m.debug("Stream: Priority of next media segment changed, updating",this._content.adaptation.type,r.priority,i.priority),this._segmentFetcher.updatePriority(r.request,i.priority));return}},{emitCurrentValue:!0,clearSignal:this._currentCanceller.signal}),this._downloadQueue.onUpdate(e=>{var r;let t=this._initSegmentRequest;if(e.initSegment!==null&&t!==null){e.initSegment.priority!==t.priority&&this._segmentFetcher.updatePriority(t.request,e.initSegment.priority);return}else if(((r=e.initSegment)==null?void 0:r.segment.id)===(t==null?void 0:t.segment.id))return;e.initSegment===null&&m.debug("Stream: no more init segment to request. Cancelling queue.",this._content.adaptation.type),this._restartInitSegmentDownloadingQueue(e.initSegment)},{emitCurrentValue:!0,clearSignal:this._currentCanceller.signal}))}stop(){var e;(e=this._currentCanceller)==null||e.cancel(),this._currentCanceller=null}_restartMediaSegmentDownloadingQueue(){this._mediaSegmentRequest!==null&&this._mediaSegmentRequest.canceller.cancel();let{segmentQueue:e}=this._downloadQueue.getValue(),t=e[0],r=i=>{if(this._currentCanceller!==null&&this._currentCanceller.isUsed()){this._mediaSegmentRequest=null;return}if(i===void 0){this._mediaSegmentRequest=null,this.trigger("emptyQueue",null);return}let o=new B,a=this._currentCanceller===null?Z:o.linkToSignal(this._currentCanceller.signal),{segment:s,priority:d}=i,u=j({segment:s},this._content),c=!1,l=!1;o.signal.register(()=>{this._mediaSegmentRequest=null,!c&&(this._mediaSegmentAwaitingInitMetadata===s.id&&(this._mediaSegmentAwaitingInitMetadata=null),c=!0,l=!1)});let f=y=>{te(y.segmentType==="media","Should have loaded a media segment."),this.trigger("parsedMediaSegment",j({},y,{segment:s}))},g=()=>{let y=this._downloadQueue.getValue().segmentQueue;if(y.length===0){c=!0,this.trigger("emptyQueue",null);return}else y[0].segment.id===s.id&&y.shift();c=!0,r(y[0])},p=this._segmentFetcher.createRequest(u,d,{onRetry:y=>{this.trigger("requestRetry",{segment:s,error:y})},beforeInterrupted(){m.info("Stream: segment request interrupted temporarly.",s.id,s.time)},onChunk:y=>{let h=this._initSegmentInfoRef.getValue();h!==void 0?f(y(h!=null?h:void 0)):(l=!0,this._initSegmentInfoRef.waitUntilDefined(b=>{f(y(b!=null?b:void 0))},{clearSignal:o.signal}))},onAllChunksReceived:()=>{l?(this._mediaSegmentAwaitingInitMetadata=s.id,this._initSegmentInfoRef.waitUntilDefined(()=>{this._mediaSegmentAwaitingInitMetadata=null,l=!1,this.trigger("fullyLoadedSegment",s)},{clearSignal:o.signal})):this.trigger("fullyLoadedSegment",s)},beforeEnded:()=>{a(),this._mediaSegmentRequest=null,l?this._initSegmentInfoRef.waitUntilDefined(g,{clearSignal:o.signal}):g()}},o.signal);p.catch(y=>{a(),c||(c=!0,this.stop(),this.trigger("error",y))}),this._mediaSegmentRequest={segment:s,priority:d,request:p,canceller:o}};r(t)}_restartInitSegmentDownloadingQueue(e){if(this._currentCanceller!==null&&this._currentCanceller.isUsed()||(this._initSegmentRequest!==null&&this._initSegmentRequest.canceller.cancel(),e===null))return;let t=new B,r=this._currentCanceller===null?Z:t.linkToSignal(this._currentCanceller.signal),{segment:i,priority:o}=e,a=j({segment:i},this._content),s=!1,d=this._segmentFetcher.createRequest(a,o,{onRetry:u=>{this.trigger("requestRetry",{segment:i,error:u})},beforeInterrupted:()=>{m.info("Stream: init segment request interrupted temporarly.",i.id)},beforeEnded:()=>{r(),this._initSegmentRequest=null,s=!0},onChunk:u=>{var l;let c=u(void 0);te(c.segmentType==="init","Should have loaded an init segment."),this.trigger("parsedInitSegment",j({},c,{segment:i})),c.segmentType==="init"&&this._initSegmentInfoRef.setValue((l=c.initTimescale)!=null?l:null)},onAllChunksReceived:()=>{this.trigger("fullyLoadedSegment",i)}},t.signal);d.catch(u=>{r(),s||(s=!0,this.stop(),this.trigger("error",u))}),t.signal.register(()=>{this._initSegmentRequest=null,!s&&(s=!0)}),this._initSegmentRequest={segment:i,priority:o,request:d,canceller:t}}};function Zs(n,e,t,r,i){let{period:o,adaptation:a,representation:s}=n,d=zg(i,e);if(d===null){if(t===null){if(r&&o.end!==void 0&&e.end>=o.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let u=i[d];if(u.bufferedStart!==void 0&&u.bufferedStart>e.start&&(t===null||u.infos.segment.end<=t)){let l=u.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(m.debug("RS: current discontinuity encountered",a.type,u.bufferedStart),{start:void 0,end:l})}let c=Hg(i,e,d+1);if(c!==null){let l=i[c-1],f=i[c];if(t===null||f.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,f.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=f.bufferedStart;return m.debug("RS: future discontinuity encountered",a.type,g,p),{start:g,end:p}}}if(t===null){if(r&&o.end!==void 0){if(e.end<o.end)return null;let l=Wg(i,o.end);if(l!==null){let f=i[l];if(f.bufferedEnd!==void 0&&f.bufferedEnd<o.end)return m.debug("RS: discontinuity encountered at the end of the current period",a.type,f.bufferedEnd,o.end),{start:f.bufferedEnd,end:null}}}if(o.end!==void 0&&e.end>=o.end)return null;for(let l=i.length-1;l>=0;l--){let f=i[l];if(f.bufferedStart===void 0)break;if(f.bufferedStart<e.end){if(f.bufferedEnd!==void 0&&f.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:f.bufferedEnd,end:g}}return null}}}return null}function zg(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Hg(n,e,t){if(t<=0)return m.error("RS: Asked to check a discontinuity before the first chunk."),null;for(let r=t;r<n.length;r++){let i=n[r],o=n[r-1];if(i.bufferedStart===void 0||o.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-o.bufferedEnd>0)return r}return null}function Wg(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function Js({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:o,segmentsBeingPushed:a,maxBufferSize:s}){let{adaptation:d,representation:u}=e,c=Gg(n,a,s),l=u.index.getSegments(o.start,o.end-o.start),f=n.filter(R=>!tf(R.infos,e,t,r)),g=Zg(f,o,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:y}=U.getCurrent(),h=!1,b=Math.min(1/60,p),T=!1,v=[];return{segmentsToLoad:l.filter(R=>{let k=j({segment:R},e);if(a.length>0&&a.some(C=>Ct(k,C)))return!1;let{duration:A,time:M,end:x}=R;if(R.isInit)return!0;if(h)return v.push(R),!1;if(R.complete&&A<p||a.length>0&&a.some(C=>{if(C.period.id!==e.period.id||C.adaptation.id!==e.adaptation.id)return!1;let{segment:P}=C;if(P.time-b>M)return!1;if(P.complete){if(P.end+b<x)return!1}else if(Math.abs(M-P.time)>M)return!1;return!tf(C,k,t,r)}))return!1;for(let N=0;N<g.length;N++){let C=g[N],P=C.infos.period.id===e.period.id;if(C.status===1&&P){let D=C.infos.segment;if(M-D.time>-b){if(D.complete){if(D.end-x>-b)return!1}else if(Math.abs(M-D.time)<b)return!1}}}let L=A*e.representation.bitrate;if(c-L<0&&(T=!0,M>o.start+y))return h=!0,v.push(R),!1;let O=i(k);if(O.length>1){let N=O[O.length-1],C=O[O.length-2];if(N.buffered===null&&C.buffered===null)return m.warn("Stream: Segment GCed multiple times in a row, ignoring it.","If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering."+d.type,u.id,R.time),!1}for(let N=0;N<g.length;N++){let C=g[N];if(C.end+b>M){let P=C.start>M+b||qg(g,N).end<x-b;return P&&(c-=L),P}}return c-=L,!0}),segmentsOnHold:v,isBufferFull:T}}function Gg(n,e,t){let r=t*8e3;return r-=e.reduce((i,o)=>{let{bitrate:a}=o.representation,{duration:s}=o.segment;return i+a*s},0),n.reduce((i,o)=>o.chunkSize!==void 0?i-o.chunkSize*8:i,r)}function qg(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=U.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function tf(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=U.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:o}=n;return o.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:jg(n.representation,e.representation,r)}function jg(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=U.getCurrent();if(t===void 0){let o=r*i;return e.bitrate>o}return r<t&&e.bitrate>r}function Yg(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info("Stream: The start of the wanted segment has been garbage collected",n.start,n.bufferedStart),!0):!1}function $g(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(m.info("Stream: The end of the wanted segment has been garbage collected",n.end,n.bufferedEnd),!0):!1}function Qg(n,e){var a,s;if(n.length<2)return!0;let r=(a=n[n.length-1].buffered)==null?void 0:a.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let o=(s=n[n.length-2].buffered)==null?void 0:s.start;return o===void 0||r===void 0?!0:Math.abs(o-r)>.01}function Xg(n,e){var a,s;if(n.length<2)return!0;let r=(a=n[n.length-1].buffered)==null?void 0:a.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let o=(s=n[n.length-2].buffered)==null?void 0:s.end;return o===void 0||r===void 0?!0:Math.abs(o-r)>.01}function Zg(n,e,t){return n.filter((r,i,o)=>{let a=i===0?null:o[i-1],s=i>=o.length-1?null:o[i+1],d=null;if(Yg(r,a,e.start)){if(d=t(r.infos),Qg(d,r.bufferedStart))return!1;m.debug("Stream: skipping segment gc-ed at the start",r.start,r.bufferedStart)}if($g(r,s,e.end)){if(d=d!=null?d:t(r.infos),Xg(d,r.bufferedEnd))return!1;m.debug("Stream: skipping segment gc-ed at the end",r.end,r.bufferedEnd)}return!0})}function ui(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=U.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function ed(n,e,t,r,i,o,a){var M,x,L;let{representation:s}=n,d=(x=(M=t.getIsPaused())!=null?M:t.getReference().getValue().paused.pending)!=null?x:t.getReference().getValue().paused.last,u=(L=t.getPlaybackRate())!=null?L:t.getReference().getValue().speed,c=e;(d===void 0||u===void 0||d||u<=0)&&(c-=.1);let l=Jg(n,c,i),f=s.index.shouldRefresh(l.start,l.end),g=a.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=a.getLastKnownInventory(),y=t.getCurrentTime();y===void 0&&(y=t.getReference().getValue().position.getWanted());let h=a.getSegmentHistory.bind(a),{segmentsToLoad:b,segmentsOnHold:T,isBufferFull:v}=Js({content:n,bufferedSegments:p,currentPlaybackTime:y,fastSwitchThreshold:r,getBufferedHistory:h,neededRange:l,segmentsBeingPushed:g,maxBufferSize:o}),E=b.map(O=>({priority:ui(O.time,c),segment:O})),R=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&E.length===0&&T.length===0,k=null;return g.length>0&&(k=Math.min(...g.map(O=>O.segment.time))),T.length>0&&(k=k!==null?Math.min(k,T[0].time):T[0].time),E.length>0&&(k=k!==null?Math.min(k,E[0].segment.time):E[0].segment.time),{imminentDiscontinuity:Zs(n,l,k,R,p),hasFinishedLoading:R,neededSegments:E,isBufferFull:v,shouldRefreshManifest:f}}function Jg(n,e,t){var l;let r,{manifest:i,period:o,representation:a}=n,s=a.index.getLastAvailablePosition(),d=a.index;!_(s)&&Xt.isNative(n.adaptation.type)&&e>=s&&d.isInitialized()&&!d.isStillAwaitingFutureSegments()&&eh(i,o,e)?r=s-1:r=e-.1;let u=r+t,c;return!a.index.isInitialized()||a.index.isStillAwaitingFutureSegments()||o.end===void 0?c=!1:s===void 0?c=u>=o.end:s===null?c=!0:c=u>=s,{start:Math.max(r,o.start),end:Math.min(u,(l=o.end)!=null?l:1/0),hasReachedPeriodEnd:c}}function eh(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function li(n,e,t,r,i){try{return await e.pushChunk(t)}catch(o){if(i.isCancelled()&&o instanceof Me)throw o;if(!(o instanceof it)||!o.isBufferFull){let d=o instanceof Error?o.toString():"An unknown error happened when pushing content";throw new J("BUFFER_APPEND_ERROR",d,{tracks:[Qt(t.inventoryInfos.adaptation)]})}let{position:a}=n.getReference().getValue(),s=a.getWanted();try{m.warn("Stream: Running garbage collector");let d=Math.max(s-5,0),u=s+r.getValue()+12;if(await e.removeBuffer(0,d),await e.removeBuffer(u,Number.MAX_VALUE),await fn(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(d){if(d instanceof Me)throw d;let u=d instanceof Error?d.toString():"Could not clean the buffer";throw new J("BUFFER_FULL_ERROR",u,{tracks:[Qt(t.inventoryInfos.adaptation)]})}}}async function td({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:o},a){if(a.cancellationError!==null)throw a.cancellationError;let s=e.representation.getMimeTypeString(),d={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},u=j({segment:r,chunkSize:void 0,start:0,end:0},e),c=await li(n,i,{data:d,inventoryInfos:u},o,a);return{content:e,segment:r,buffered:c}}async function nd({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:o,segmentSink:a},s){var k,A;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:d,chunkInfos:u,chunkOffset:c,chunkSize:l,appendWindow:f}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=U.getCurrent(),y=[f[0]!==void 0?Math.max(0,f[0]-p.START):void 0,f[1]!==void 0?f[1]+p.END:void 0],h={initSegmentUniqueId:r,chunk:d,timestampOffset:c,appendWindow:y,codec:g},b=(k=u==null?void 0:u.time)!=null?k:o.time,T=(A=u==null?void 0:u.duration)!=null?A:o.duration,v=b+T;y[0]!==void 0&&(b=Math.max(b,y[0])),y[1]!==void 0&&(v=Math.min(v,y[1]));let E=j({segment:o,chunkSize:l,start:b,end:v},t),R=await li(n,a,{data:h,inventoryInfos:E},e,s);return{content:t,segment:o,buffered:R}}function rd({content:n,options:e,playbackObserver:t,segmentSink:r,segmentFetcher:i,terminate:o},a,s){let{period:d,adaptation:u,representation:c}=n,{bufferGoal:l,maxBufferSize:f,drmSystemId:g,fastSwitchThreshold:p}=e,y=u.type,h=new B;h.linkToSignal(s);let b=new B;b.linkToSignal(h.signal);let T={segment:c.index.getInitSegment(),uniqueId:null,isLoaded:!1};h.signal.register(()=>{T.uniqueId!==null&&r.freeInitSegment(T.uniqueId)});let v=new G({initSegment:null,segmentQueue:[]},b.signal),E=T.segment!==null;E||(T.isLoaded=!0);let R=!1;if(g!==void 0){let L=c.getEncryptionData(g);if(L.length>0&&L.every(O=>O.keyIds!==void 0)&&(R=!0,a.encryptionDataEncountered(L.map(O=>j({content:n},O))),h.isUsed()))return}let k=new di(n,v,i,E);k.addEventListener("error",L=>{b.signal.isCancelled()||(h.cancel(),a.error(L))}),k.addEventListener("parsedInitSegment",M),k.addEventListener("parsedMediaSegment",M),k.addEventListener("emptyQueue",A),k.addEventListener("requestRetry",L=>{if(a.warning(L.error),b.signal.isCancelled())return;let O=L.segment,{index:N}=c;N.isSegmentStillAvailable(O)===!1?A():N.canBeOutOfSyncError(L.error,O)&&a.manifestMightBeOufOfSync()}),k.addEventListener("fullyLoadedSegment",L=>{r.signalSegmentComplete(j({segment:L},n)).catch(x)}),k.start(),b.signal.register(()=>{k.removeEventListener(),k.stop()}),t.listen(A,{includeLastObservation:!1,clearSignal:b.signal}),n.manifest.addEventListener("manifestUpdate",A,b.signal),l.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),f.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),o.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),A();return;function A(){if(b.isUsed())return;let L=t.getReference().getValue(),O=L.position.getWanted(),N=ed(n,O,t,p.getValue(),l.getValue(),f.getValue(),r),{neededSegments:C}=N,P=null;if(c.index.isInitialized()){if(C.length>0&&!T.isLoaded&&T.segment!==null){let V=C[0].priority;P={segment:T.segment,priority:V}}}else if(T.segment===null)m.warn("Stream: Uninitialized index without an initialization segment");else if(T.isLoaded)m.warn("Stream: Uninitialized index with an already loaded initialization segment");else{let V=L.position.getWanted();P={segment:T.segment,priority:ui(d.start,V)}}let D=o.getValue();if(D===null)v.setValue({initSegment:P,segmentQueue:C});else if(D.urgent){m.debug("Stream: Urgent switch, terminate now.",y),v.setValue({initSegment:null,segmentQueue:[]}),v.finish(),b.cancel(),a.terminating();return}else{let V=C[0],$=k.getRequestedInitSegment(),q=k.getRequestedMediaSegment(),W=q===null||V===void 0||q.id!==V.segment.id?[]:[V],z=$===null?null:P;if(v.setValue({initSegment:z,segmentQueue:W}),W.length===0&&z===null){m.debug("Stream: No request left, terminate",y),v.finish(),b.cancel(),a.terminating();return}}if(a.streamStatusUpdate({period:d,position:L.position.getWanted(),bufferType:y,imminentDiscontinuity:N.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:N.hasFinishedLoading,neededSegments:N.neededSegments}),b.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:F}=U.getCurrent();if(N.isBufferFull){let V=Math.max(0,O-F);V>0&&r.removeBuffer(0,V).catch(x)}N.shouldRefreshManifest&&a.needsManifestRefresh()}function M(L){if(!h.isUsed()){for(let O of L.protectionData)c.addProtectionData(O.initDataType,O.keyId,O.initData);if(!R){let O=c.getAllEncryptionData();if(O.length>0&&(a.encryptionDataEncountered(O.map(N=>j({content:n},N))),R=!0,h.isUsed()))return}if(L.segmentType==="init"){if(!c.index.isInitialized()&&L.segmentList!==void 0&&c.index.initialize(L.segmentList),T.isLoaded=!0,L.initializationData!==null){let O=c.uniqueId;T.uniqueId=O,r.declareInitSegment(O,L.initializationData),td({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:O,segment:L.segment,segmentData:L.initializationData,segmentSink:r},h.signal).then(N=>{N!==null&&a.addedSegment(N)}).catch(x)}A();return}else{let{inbandEvents:O,predictedSegments:N,needsManifestRefresh:C}=L;if(N!==void 0&&c.index.addPredictedSegments(N,L.segment),C===!0&&(a.needsManifestRefresh(),h.isUsed())||O!==void 0&&O.length>0&&(a.inbandEvent(O),h.isUsed()))return;let P=T.uniqueId;nd({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:P,parsedSegment:L,segment:L.segment,segmentSink:r},h.signal).then(D=>{D!==null&&a.addedSegment(D)}).catch(x)}}}function x(L){h.isUsed()&&L instanceof Me||(h.cancel(),a.error(L))}}var nf=rd;function id(n,e,t,r,i){var f,g,p,y;if(t.switchingMode==="lazy")return{type:"continue",value:void 0};let o=r.getLastKnownInventory(),a=[];for(let h of o)h.infos.period.id===n.id&&(h.infos.adaptation.id!==e.id||!Q(t.representationIds,h.infos.representation.id))&&Ht(a,{start:(f=h.bufferedStart)!=null?f:h.start,end:(g=h.bufferedEnd)!=null?g:h.end});let s=r.getPendingOperations();for(let h of s)if(h.type===0){let b=h.value.inventoryInfos;if(b.period.id===n.id&&(b.adaptation.id!==e.id||!Q(t.representationIds,b.representation.id))){let T=b.segment.time,v=T+b.segment.duration;Ht(a,{start:T,end:v})}}if(a.length===0)return{type:"continue",value:void 0};if(t.switchingMode==="reload"){let h=i.getReadyState();if(h===void 0||h>1)return{type:"needs-reload",value:void 0}}let d=t.switchingMode==="direct",u=[],c=zn(o,n);if(c!==null&&(c.bufferedEnd===void 0||n.start-c.bufferedEnd<1)&&u.push({start:0,end:n.start+1}),!d){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:h}=U.getCurrent(),b=e.type,T=(p=h[b].before)!=null?p:0,v=(y=h[b].after)!=null?y:0,E=i.getCurrentTime();E===void 0&&(E=i.getReference().getValue().position.getPolled()),u.push({start:E-T,end:E+v})}if(n.end!==void 0){let h=Hn(o,n);h!==null&&(h.bufferedStart===void 0||h.bufferedStart-n.end<1)&&u.push({start:n.end-1,end:Number.MAX_VALUE})}let l=mo(a,u);return l.length===0?{type:"continue",value:void 0}:d?{type:"flush-buffer",value:l}:{type:"clean-buffer",value:l}}function od({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentFetcherCreator:o,wantedBufferAhead:a,maxVideoBufferSize:s},d,u){let{manifest:c,period:l,adaptation:f}=e,g=new B;g.linkToSignal(u);let p=new Map,y=new G(null,g.signal),h,b=e.representations.getValue().representationIds,T=e.adaptation.representations.filter(C=>Q(b,C.id)&&C.decipherable!==!1&&C.isSupported!==!1),v=new G(T,g.signal),{estimates:E,callbacks:R}=r({manifest:c,period:l,adaptation:f},y,v,n,g.signal),k=o.createSegmentFetcher(f.type,{onRequestBegin:R.requestBegin,onRequestEnd:R.requestEnd,onProgress:R.requestProgress,onMetrics:R.metrics}),A=new G(0);E.onUpdate(({bitrate:C,knownStableBitrate:P})=>{t.enableFastSwitching&&A.setValueIfChanged(P),!(C===void 0||C===h)&&(h=C,m.debug(`Stream: new ${f.type} bitrate estimate`,C),d.bitrateEstimateChange({type:f.type,bitrate:C}))},{emitCurrentValue:!0,clearSignal:g.signal});let M;e.representations.onUpdate(C=>{M!==void 0&&M.cancel();let P=e.representations.getValue().representationIds,D=e.adaptation.representations.filter(F=>Q(P,F.id));v.setValueIfChanged(D),M=new B,M.linkToSignal(g.signal),x(C,M.signal).catch(F=>{(M==null?void 0:M.isUsed())===!0&&B.isCancellationError(F)||(g.cancel(),d.error(F))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function x(C,P){let D=id(l,f,C,i,n);switch(D.type){case"continue":break;case"needs-reload":return _t(()=>{n.listen(()=>{if(P.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:F}=U.getCurrent(),V=F.bitrateSwitch;return d.waitingMediaSourceReload({bufferType:f.type,period:l,timeOffset:V,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:P})});case"flush-buffer":case"clean-buffer":for(let F of D.value)if(await i.removeBuffer(F.start,F.end),P.isCancelled())return;if(D.type==="flush-buffer"&&(d.needsBufferFlush(),P.isCancelled()))return;break;default:Qe(D)}L(P)}function L(C){let P=new B;P.linkToSignal(C);let{representation:D}=E.getValue();if(D===null)return;let F=new G(null,P.signal);E.onUpdate(q=>{if(!(q.representation===null||q.representation.id===D.id))return q.urgent?(m.info("Stream: urgent Representation switch",f.type),F.setValue({urgent:!0})):(m.info("Stream: slow Representation switch",f.type),F.setValue({urgent:!1}))},{clearSignal:P.signal,emitCurrentValue:!0});let V={type:f.type,adaptation:f,period:l,representation:D};if(y.setValue(D),g.isUsed()||(d.representationChange(V),g.isUsed()))return;let $={streamStatusUpdate:d.streamStatusUpdate,encryptionDataEncountered:d.encryptionDataEncountered,manifestMightBeOufOfSync:d.manifestMightBeOufOfSync,needsManifestRefresh:d.needsManifestRefresh,inbandEvent:d.inbandEvent,warning:d.warning,error(q){g.cancel(),d.error(q)},addedSegment(q){R.addedSegment(q)},terminating(){if(!P.isUsed())return P.cancel(),L(C)}};O(D,F,$,C)}function O(C,P,D,F){let V=new B;V.linkToSignal(F);let $=on(a,z=>z*N(C),V.signal),q=f.type==="video"?s:new G(1/0);m.info("Stream: changing representation",f.type,C.id,C.bitrate);let W=j({},D,{error(z){var se;let H=we(z,{defaultCode:"NONE",defaultReason:"Unknown `RepresentationStream` error"});if(H.code!=="BUFFER_FULL_ERROR")D.error(z);else{let oe=a.getValue(),he=((se=p.get(C.id))!=null?se:1)*.7;if(he<=.05||oe*he<=2)throw H;p.set(C.id,he),Gt(4e3,g.signal).then(()=>O(C,P,D,F)).catch(Z)}},terminating(){V.cancel(),D.terminating()}});nf({playbackObserver:n,content:{representation:C,adaptation:f,period:l,manifest:c},segmentSink:i,segmentFetcher:k,terminate:P,options:{bufferGoal:$,maxBufferSize:q,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},W,F),c.addEventListener("manifestUpdate",z=>{for(let H of z.updatedPeriods)if(H.period.id===l.id){for(let se of H.result.updatedAdaptations)if(se.adaptation===f.id){for(let oe of se.removedRepresentations)if(oe===C.id)return F.isCancelled()?void 0:d.waitingMediaSourceReload({bufferType:f.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(H.period.start>l.start)break},F)}function N(C){let P=p.get(C.id),D=P!==void 0?P:1;return P===void 0&&p.set(C.id,D),D}}var rf=od;function ad(n,e,t,r,i,o){var g,p,y,h;if(n.codec!==void 0&&o.onCodecSwitch==="reload"&&!th(t,n.codec))return{type:"needs-reload",value:void 0};let a=n.getLastKnownInventory(),s=[];for(let b of a)b.infos.period.id===e.id&&b.infos.adaptation.id!==t.id&&Ht(s,{start:(g=b.bufferedStart)!=null?g:b.start,end:(p=b.bufferedEnd)!=null?p:b.end});let d=n.getPendingOperations();for(let b of d)if(b.type===0){let T=b.value.inventoryInfos;if(T.period.id===e.id&&T.adaptation.id!==t.id){let v=T.segment.time,E=v+T.segment.duration;Ht(s,{start:v,end:E})}}if(s.length===0)return{type:"continue",value:void 0};if(r==="reload"){let b=i.getReadyState();if(b===void 0||b>1)return{type:"needs-reload",value:void 0}}let u=r==="direct",c=[],l=zn(a,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&c.push({start:0,end:e.start+1}),!u){let b=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:T}=U.getCurrent(),v=(y=T[b].before)!=null?y:0,E=(h=T[b].after)!=null?h:0,R=i.getCurrentTime();R===void 0&&(R=i.getReference().getValue().position.getPolled()),c.push({start:R-v,end:R+E})}if(e.end!==void 0){let b=Hn(a,e);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-e.end<1)&&c.push({start:e.end-1,end:Number.MAX_VALUE})}let f=mo(s,c);return f.length===0?{type:"continue",value:void 0}:u&&t.type!=="text"?{type:"flush-buffer",value:f}:{type:"clean-buffer",value:f}}function th(n,e){return n.representations.some(t=>t.isSupported===!0&&t.decipherable!==!1&&zo(t.getMimeTypeString(),e))}function sd({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentFetcherCreator:o,segmentSinksStore:a,options:s,wantedBufferAhead:d,maxVideoBufferSize:u},c,l){let{manifest:f,period:g}=e,p=new G(void 0,l);if(c.periodStreamReady({type:n,manifest:f,period:g,adaptationRef:p}),l.isCancelled())return;let y,h=!0;p.onUpdate(v=>{(async()=>{var C;if(v===void 0)return;let E=new B;if(E.linkToSignal(l),y==null||y.cancel(),y=E,v===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let P=a.getStatus(n);if(P.type==="initialized"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),Xt.isNative(n))return T(0,!0,E.signal);{let D=(C=g.end)!=null?C:1/0;if(g.start>D)m.warn("Stream: Can't free buffer: period's start is after its end");else if(await P.value.removeBuffer(g.start,D),E.isUsed())return}}else if(P.type==="uninitialized"&&(a.disableSegmentSink(n),E.isUsed()))return;return c.adaptationChange({type:n,adaptation:null,period:g}),E.isUsed()?void 0:of(r,d,n,{period:g},c,E.signal)}let R=g.adaptations[n],k=X(R!=null?R:[],P=>P.id===v.adaptationId);if(k===void 0){y.cancel(),m.warn("Stream: Unfound chosen Adaptation choice",v.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:A}=U.getCurrent(),M=!1,x;if(h)x=0;else if(v.relativeResumingPosition!==void 0)x=v.relativeResumingPosition;else switch(M=!0,n){case"audio":x=A.trackSwitch.audio;break;case"video":x=A.trackSwitch.video;break;default:x=A.trackSwitch.other;break}if(h=!1,Xt.isNative(n)&&a.getStatus(n).type==="disabled")return T(x,!0,E.signal);f.addEventListener("manifestUpdate",P=>{for(let D of P.updatedPeriods)if(D.period.id===g.id){for(let F of D.result.removedAdaptations)if(F.id===k.id)return T(x,!0,E.signal)}else if(D.period.start>g.start)break},y.signal);let{representations:L}=v;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${k.id}`,`P: ${g.start}`),c.adaptationChange({type:n,adaptation:k,period:g}),E.isUsed())return;let O=nh(a,n,k),N=ad(O,g,k,v.switchingMode,r,s);if(N.type==="needs-reload")return T(x,!0,E.signal);if(await a.waitForUsableBuffers(E.signal),!E.isUsed()){if(N.type==="flush-buffer"||N.type==="clean-buffer"){for(let{start:P,end:D}of N.value)if(await O.removeBuffer(P,D),E.isUsed())return;if(N.type==="flush-buffer"&&(c.needsBufferFlush({relativeResumingPosition:x,relativePosHasBeenDefaulted:M}),E.isUsed()))return}t.get(O)(E.signal),b(k,L,O,E.signal)}})().catch(E=>{E instanceof Me||(y==null||y.cancel(),c.error(E))})},{clearSignal:l,emitCurrentValue:!0});function b(v,E,R,k){let A=ih(r,v.type);rf({content:{manifest:f,period:g,adaptation:v,representations:E},options:s,playbackObserver:A,representationEstimator:i,segmentSink:R,segmentFetcherCreator:o,wantedBufferAhead:d,maxVideoBufferSize:u},le(ae({},c),{error:M}),k);function M(x){if(!Xt.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,x instanceof Error?x:""),a.disposeSegmentSink(n);let L=we(x,{defaultCode:"NONE",defaultReason:"Unknown `AdaptationStream` error"});return c.warning(L),k.isCancelled()?void 0:of(r,d,n,{period:g},c,k)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,x instanceof Error?x:""),c.error(x)}}function T(v,E,R){_t(()=>{r.listen(()=>{R.isCancelled()||c.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:v,stayInPeriod:E})},{includeLastObservation:!0,clearSignal:R})})}}function nh(n,e,t){let r=n.getStatus(e);if(r.type==="initialized")return m.info("Stream: Reusing a previous SegmentSink for the type",e),r.value;let i=rh(t);return n.createSegmentSink(e,i)}function rh(n){let e=n.representations.filter(t=>t.isSupported===!0&&t.decipherable!==!1);if(e.length===0)throw new J("NO_PLAYABLE_REPRESENTATION","No Representation in the chosen "+n.type+" Adaptation can be played",{tracks:[Qt(n)]});return e[0].getMimeTypeString()}function ih(n,e){return n.deriveReadOnlyObserver(function(r,i){let o=new G(a(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),o;function a(){let d=r.getValue(),u=d.buffered[e],c=u!==null?fo(u,d.position.getWanted()):0;return j({},d,{bufferGap:c,buffered:u})}function s(){o.setValue(a())}})}function of(n,e,t,r,i,o){let{period:a}=r,s=!1;e.onUpdate(d,{emitCurrentValue:!1,clearSignal:o}),n.listen(d,{includeLastObservation:!1,clearSignal:o}),d();function d(){let u=n.getReference().getValue(),c=e.getValue(),l=u.position.getWanted();a.end!==void 0&&l+c>=a.end&&(m.debug('Stream: full "empty" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:a,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var af=sd;function Jo(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i=0;i<r.length;i++){let o=r[i];if(e.some(s=>o.infos.period.id===s.period.id&&o.infos.adaptation.id===s.adaptation.id&&o.infos.representation.id===s.representation.id)){let{bufferedStart:s,bufferedEnd:d}=o;if(s===void 0||d===void 0)return m.warn("SO: No buffered start or end found from a segment."),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===s?u.end=d:t.push({start:s,end:d})}}return t}function dd(n,e,t,r,i,o,a,s){let{manifest:d,initialPeriod:u}=n,{maxBufferAhead:c,maxBufferBehind:l,wantedBufferAhead:f,maxVideoBufferSize:g}=o,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:y,MAXIMUM_MAX_BUFFER_BEHIND:h}=U.getCurrent(),b=new si(E=>{var M,x;let{bufferType:R}=E,k=(M=h[R])!=null?M:1/0,A=(x=y[R])!=null?x:1/0;return L=>{Qo({segmentSink:E,playbackObserver:e,maxBufferBehind:on(l,O=>Math.min(O,k),L),maxBufferAhead:on(c,O=>{var C;let N=Math.max(O,(C=p[R])!=null?C:0);return Math.min(N,A)},L)},L)}});for(let E of r.getBufferTypes())T(E,u);function T(E,R){let k=new bn((N,C)=>N.start-C.start),A=!1,M=new B;return M.linkToSignal(s),e.listen(({position:N})=>{var D;let C=N.getWanted();if(!A||!L(C))return;for(m.info("Stream: Destroying all PeriodStreams due to out of bounds situation",E,C),A=!1;k.length()>0;){let F=k.get(k.length()-1);k.removeElement(F),a.periodStreamCleared({type:E,manifest:d,period:F})}M.cancel(),M=new B,M.linkToSignal(s);let P=(D=d.getPeriodForTime(C))!=null?D:d.getNextPeriod(C);if(P===void 0){m.warn("Stream: The wanted position is not found in the Manifest."),A=!0;return}x(P)},{clearSignal:s,includeLastObservation:!0}),d.addEventListener("decipherabilityUpdate",N=>{s.isCancelled()||O(N).catch(C=>{s.isCancelled()||(M.cancel(),a.error(C))})},s),x(R);function x(N){let C=le(ae({},a),{waitingMediaSourceReload(P){let D=k.head();D===void 0||D.id!==P.period.id?a.lockedStream({bufferType:P.bufferType,period:P.period}):a.needsMediaSourceReload({timeOffset:P.timeOffset,minimumPosition:P.stayInPeriod?P.period.start:void 0,maximumPosition:P.stayInPeriod?P.period.end:void 0})},periodStreamReady(P){A=!0,k.add(P.period),a.periodStreamReady(P)},periodStreamCleared(P){k.removeElement(P.period),a.periodStreamCleared(P)},error(P){M.cancel(),a.error(P)}});v(E,N,C,M.signal)}function L(N){let C=k.head(),P=k.last();return C===void 0||P===void 0?!0:C.start>N||(_(P.end)?1/0:P.end)<N}async function O(N){let C=r.getStatus(E),P=N.filter(W=>W.adaptation.type===E);if(P.length===0||C.type!=="initialized"||P.every(W=>W.representation.decipherable===!0))return;let D=C.value,F=P.filter(W=>W.representation.decipherable===void 0),V=P.filter(W=>W.representation.decipherable===!1),$=Jo(D,V),q=Jo(D,F);for(A=!1,m.info("Stream: Destroying all PeriodStreams for decipherability matters",E);k.length()>0;){let W=k.get(k.length()-1);k.removeElement(W),a.periodStreamCleared({type:E,manifest:d,period:W})}M.cancel(),M=new B,M.linkToSignal(s);for(let{start:W,end:z}of[...$,...q]){if(s.isCancelled())return;if(W<z){if(s.isCancelled())return;await D.removeBuffer(W,z)}}_t(()=>{if(s.isCancelled())return;let W=e.getReference().getValue();if(sf(W,$)){if(a.needsDecipherabilityFlush(),s.isCancelled())return}else if(sf(W,q)&&(a.needsBufferFlush(),s.isCancelled()))return;let z=W.position.getWanted(),H=d.getPeriodForTime(z);if(H===void 0){a.error(new J("MEDIA_TIME_NOT_FOUND","The wanted position is not found in the Manifest."));return}x(H)})}}function v(E,R,k,A){m.info("Stream: Creating new Stream for",E,R.start);let M=null,x=new B;x.linkToSignal(A),e.listen(({position:P},D)=>{if(R.end!==void 0&&P.getWanted()>=R.end){let F=d.getPeriodAfter(R);if(R.containsTime(P.getWanted(),F))return;m.info("Stream: Destroying PeriodStream as the current playhead moved above it",E,R.start,P.getWanted(),R.end),D(),k.periodStreamCleared({type:E,manifest:d,period:R}),x.cancel()}},{clearSignal:A,includeLastObservation:!0});let L={bufferType:E,content:{manifest:d,period:R},garbageCollectors:b,maxVideoBufferSize:g,segmentFetcherCreator:i,segmentSinksStore:r,options:o,playbackObserver:e,representationEstimator:t,wantedBufferAhead:f},O=le(ae({},k),{streamStatusUpdate(P){if(P.hasFinishedLoading){let D=d.getPeriodAfter(R);D!==null&&N(D)}else M!==null&&(m.info("Stream: Destroying next PeriodStream due to current one being active",E,M.period.start),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel(),M=null);k.streamStatusUpdate(P)},error(P){M!==null&&(M.canceller.cancel(),M=null),x.cancel(),k.error(P)}});af(L,O,x.signal),C(x.signal);function N(P){if(M!==null){if(M.period.id===P.id)return;m.warn("Stream: Creating next `PeriodStream` while one was already created.",E,P.id,M.period.id),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel()}let D=new B;D.linkToSignal(A),M={canceller:D,period:P},v(E,P,k,M.canceller.signal)}function C(P){d.addEventListener("manifestUpdate",D=>{for(let F of D.removedPeriods)if(F.id===R.id){if(d.periods.length>0&&d.periods[0].start<=F.start)return _t(()=>{if(!P.isCancelled())return a.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(F.start>R.start)break;if(D.addedPeriods.length>0&&M!==null){let F=d.getPeriodAfter(R);(F===null||M.period.id!==F.id)&&(m.warn("Stream: Destroying next PeriodStream due to new one being added",E,M.period.start),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel(),M=null)}},P)}}}function sf(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var df=dd;var uf=df;var oh={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},ci=oh;function ea(n){for(let e=0;e<n.length;e++){let t=n[e];if(typeof t=="function")t(ci);else if(!_(t)&&typeof t._addFeature=="function")t._addFeature(ci);else throw new Error("Unrecognized feature")}}var me=ci;var ah={createSync(n){return{syncValue:n,getValueAsAsync(){return Promise.resolve(n)}}},createAsync(n){let e=null;return n.then(t=>{e=t},Z),{syncValue:e,getValueAsAsync(){return n}}}},lf=ah;var Gn=class extends ie{};function ud(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=X(n.sourceBuffers,s=>s.type==="audio"),i=X(n.sourceBuffers,s=>s.type==="video"),o=r==null?void 0:r.getBuffered();o!==void 0&&(t.audio=o);let a=i==null?void 0:i.getBuffered();return a!==void 0&&(t.video=a),t}function ld(n,{autoPlay:e,initialPlayPerformed:t,manifest:r,mediaSource:i,speed:o,textDisplayer:a},s){return n.deriveReadOnlyObserver(function(u,c){let l=new B;l.linkToSignal(c),l.linkToSignal(s);let f=new G(g(),l.signal);return o.onUpdate(p,{clearSignal:l.signal,emitCurrentValue:!1}),u.onUpdate(p,{clearSignal:l.signal,emitCurrentValue:!1}),f;function g(){let y=u.getValue(),h=o.getValue();return sh(y,r),{maximumPosition:bt(r),bufferGap:y.bufferGap,position:y.position,buffered:ud(i,a),duration:y.duration,rebuffering:y.rebuffering,freezing:y.freezing,paused:{last:y.paused,pending:dh(t,e)},readyState:y.readyState,speed:h}}function p(){f.setValue(g())}})}function sh(n,e){if(!e.isDynamic||e.isLastPeriodKnown){let t=e.periods[e.periods.length-1];if(t!==void 0&&t.end!==void 0){let r=n.position.getWanted();if(r>=t.start&&r>=t.end-1){let i=n.buffered;(i.length===0||i.end(i.length-1)<n.duration-1)&&n.position.forceWantedPosition(t.end-1)}}}}function dh(n,e){return n.getValue()?void 0:!e}function qn(n){let{textTracks:e}=n;if(!_(e)){for(let t=0;t<e.length;t++)e[t].mode="disabled";if(n.hasChildNodes()){let{childNodes:t}=n;for(let r=t.length-1;r>=0;r--)if(t[r].nodeName==="track")try{n.removeChild(t[r])}catch(i){m.warn("Compat: Could not remove text track child from element.")}}}n.src="",n.removeAttribute("src")}function cd(n,e){if(typeof n.changeType=="function"){try{n.changeType(e)}catch(t){return m.warn("Could not call 'changeType' on the given SourceBuffer:",t instanceof Error?t:""),!1}return!0}return!1}function uh(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function fi(n,e){if(m.debug("Init: Trying to call endOfStream"),n.readyState!=="open"){m.debug("Init: MediaSource not open, cancel endOfStream");return}let{sourceBuffers:t}=n,r=uh(t);if(r.length===0){m.info("Init: Triggering end of stream");try{n.endOfStream()}catch(o){m.error("Unable to call endOfStream",o instanceof Error?o:new Error("Unknown error"))}return}m.debug("Init: Waiting SourceBuffers to be updated before calling endOfStream.");let i=new B;i.linkToSignal(e);for(let o of r)ac(o,()=>{i.cancel(),fi(n,e)},i.signal);sc(t,()=>{i.cancel(),fi(n,e)},i.signal)}function cf(n,e){let t=new B;t.linkToSignal(e),Dn(n,()=>{m.debug("Init: MediaSource re-opened while end-of-stream is active"),t.cancel(),t=new B,t.linkToSignal(e),fi(n,t.signal)},e),fi(n,t.signal)}function fd(){return ln}var lh=365*24*3600,mi=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new B;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,o=mh(r,i),a=new B;a.linkToSignal(i),o.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(a.cancel(),!o.getValue())return;a=new B,a.linkToSignal(i);let d=fh(r.sourceBuffers,a.signal),u=new B;return u.linkToSignal(a.signal),d.onUpdate(c=>{u.cancel(),u=new B,u.linkToSignal(a.signal),!c&&mf(r,e,t,u.signal)},{clearSignal:a.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function ch(n,e,t){let r=e;t||(r=fd()?1/0:ff(e));let i=0;for(let o=0;o<n.sourceBuffers.length;o++){let a=n.sourceBuffers[o],s=a.buffered.length;s>0&&(i=Math.max(a.buffered.end(s-1)))}if(r===n.duration)return"success";if(i>r){if(i<n.duration)try{m.info("Init: Updating duration to what is currently buffered",i),n.duration=i}catch(o){return m.warn("Duration Updater: Can't update duration on the MediaSource.",o instanceof Error?o:""),"failed"}return"partial"}else{let o=n.duration;try{if(m.info("Init: Updating duration",r),n.duration=r,n.readyState==="open"&&!isFinite(r)){let s=ff(e);m.info("Init: calling `mediaSource.setLiveSeekableRange`",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn("Duration Updater: Can't update duration on the MediaSource.",s instanceof Error?s:""),"failed"}let a=Math.abs(n.duration-r);if(a>=.1){let s=Math.abs(n.duration-o);return a<s?"partial":"failed"}return"success"}}function fh(n,e){if(n.length===0){let i=new G(!1);return i.finish(),i}let t=new G(!1,e);r();for(let i=0;i<n.length;i++){let o=n[i];o.addEventListener("updatestart",r),o.addEventListener("update",r),e.register(()=>{o.removeEventListener("updatestart",r),o.removeEventListener("update",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function mh(n,e){let t=new G(n.readyState==="open",e);return Dn(n,()=>{m.debug("Init: Reacting to MediaSource open in duration updater"),t.setValueIfChanged(!0)},e),_o(n,()=>{m.debug("Init: Reacting to MediaSource ended in duration updater"),t.setValueIfChanged(!1)},e),To(n,()=>{m.debug("Init: Reacting to MediaSource close in duration updater"),t.setValueIfChanged(!1)},e),t}function mf(n,e,t,r){if(ch(n,e,t)==="success")return;let o=setTimeout(()=>{a(),mf(n,e,t,r)},2e3),a=r.register(()=>{clearTimeout(o)})}function ff(n){return Math.max(Math.pow(2,32),n+lh)}var pi=class extends ie{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new B,_(an))throw new J("MEDIA_SOURCE_NOT_SUPPORTED","No MediaSource Object was found in the current browser.");m.info("Init: Creating MediaSource");let t=new an,r=t.handle;this.handle=_(r)?{type:"media-source",value:t}:{type:"handle",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new mi(t),this._endOfStreamCanceller=null,Dn(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceOpen",null)},this._canceller.signal),_o(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceEnded",null)},this._canceller.signal),To(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceClose",null)},this._canceller.signal)}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new md(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(){this._durationUpdater.stopUpdating()}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new B,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug("Init: end-of-stream order received."),cf(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug("Init: resume-stream order received."),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),ph(this._mediaSource)}},md=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new B,this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=a=>{let s;a instanceof Error?s=a:a.error instanceof Error?s=a.error:s=new Error("Unknown SourceBuffer Error");let d=this._currentOperations;if(this._currentOperations=[],d.length===0)m.error("SBI: error for an unknown operation",s);else{let u=new it(s.name,s.message,s.name==="QuotaExceededError");for(let c of d)c.reject(u)}},o=()=>{let a=this._currentOperations;this._currentOperations=[];try{for(let s of a)s.resolve(Pe(this._sourceBuffer.buffered))}catch(s){for(let d of a)s instanceof Error&&s.name==="InvalidStateError"?d.resolve([]):d.reject(s)}this._performNextOperation()};r.addEventListener("updateend",o),r.addEventListener("error",i),this._canceller.signal.register(()=>{r.removeEventListener("updateend",o),r.removeEventListener("error",i)})}appendBuffer(...e){return m.debug("SBI: receiving order to push data to the SourceBuffer",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug("SBI: receiving order to remove data from the SourceBuffer",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return Pe(this._sourceBuffer.buffered)}catch(e){return m.error("Failed to get buffered time range of SourceBuffer",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug("Init: Failed to abort SourceBuffer:",e instanceof Error?e:null)}this._emptyCurrentQueue()}dispose(){try{this._sourceBuffer.abort()}catch(e){}this._emptyCurrentQueue()}_emptyCurrentQueue(){let e=new Me;this._currentOperations.length>0&&(this._currentOperations.forEach(t=>{t.reject(e)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(t=>{t.reject(e)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,o=j({resolve:t,reject:r},e);this._operationQueue.push(o),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,o,a;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],d=e.params[1],u=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let c;s instanceof ArrayBuffer?c=new Uint8Array(s):s instanceof Uint8Array?c=s:c=new Uint8Array(s.buffer);let l=[c];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let f=this._operationQueue[0],g=(r=d.appendWindow)!=null?r:[void 0,void 0],p=(i=f.params[1].appendWindow)!=null?i:[void 0,void 0],y=(o=d.timestampOffset)!=null?o:0,h=(a=f.params[1].timestampOffset)!=null?a:0;if(g[0]===p[0]&&g[1]===p[1]&&d.codec===f.params[1].codec&&y===h){let b=f.params[0],T;b instanceof ArrayBuffer?T=new Uint8Array(b):b instanceof Uint8Array?T=b:T=new Uint8Array(b.buffer),l.push(T),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:f.resolve,reject:f.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),u=re(...l))}try{this._appendBufferNow(u,d)}catch(c){let l=c instanceof Error?new it(c.name,c.message,c.name==="QuotaExceededError"):new it("Error","Unknown SourceBuffer Error during appendBuffer",!1);this._currentOperations.forEach(f=>{f.reject(l)}),this._currentOperations=[]}}else{this._currentOperations=[e];let[s,d]=e.params;m.debug("SBI: removing data from SourceBuffer",this.type,s,d);try{this._sourceBuffer.remove(s,d)}catch(u){let c=u instanceof Error?new it(u.name,u.message,!1):new it("Error","Unknown SourceBuffer Error during remove",!1);e.reject(c),this._currentOperations=[]}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:o,appendWindow:a=[]}=t;if(i!==void 0&&i!==this.codec&&(m.debug("SBI: updating codec",i),cd(r,i)?this.codec=i:m.debug("SBI: could not update codec",i,this.codec)),o!==void 0&&r.timestampOffset!==o){let s=o;m.debug("SBI: updating timestampOffset",i,r.timestampOffset,s),r.timestampOffset=s}if(a[0]===void 0)r.appendWindowStart>0&&(m.debug("SBI: re-setting `appendWindowStart` to `0`"),r.appendWindowStart=0);else if(a[0]!==r.appendWindowStart){if(a[0]>=r.appendWindowEnd){let s=a[0]+1;m.debug("SBI: pre-updating `appendWindowEnd`",s),r.appendWindowEnd=s}m.debug("SBI: setting `appendWindowStart`",a[0]),r.appendWindowStart=a[0]}a[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug("SBI: re-setting `appendWindowEnd` to `Infinity`"),r.appendWindowEnd=1/0):a[1]!==r.appendWindowEnd&&(m.debug("SBI: setting `appendWindowEnd`",a[1]),r.appendWindowEnd=a[1]),m.debug("SBI: pushing segment",this.type),r.appendBuffer(e)}};function ph(n){if(n.readyState!=="closed"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e==="open"){m.info("Init: Aborting SourceBuffer before removing");try{i.abort()}catch(o){}}m.info("Init: Removing SourceBuffer from mediaSource"),n.removeSourceBuffer(i)}catch(o){}}t.length>0&&m.info("Init: Not all SourceBuffers could have been removed.")}}var gh=Ze();function pd(n,e){if(e!==null&&n.src===e&&(m.info("Init: Clearing HTMLMediaElement's src"),qn(n)),e!==null)try{m.debug("Init: Revoking previous URL"),URL.revokeObjectURL(e)}catch(t){m.warn("Init: Error while revoking the media source URL",t instanceof Error?t:"")}}function hh(n,e){let t=w(n.src)?n.src:null;pd(n,t);let r=new pi(gh());return e.register(()=>{r.dispose()}),r}function ta(n,e){return ot(e,t=>{let r=hh(n,e);if(r.addEventListener("mediaSourceOpen",()=>{m.info("Init: MediaSource opened"),t(r)},e),m.info("MTCI: Attaching MediaSource URL to the media element"),r.handle.type==="handle")n.srcObject=r.handle.value,e.register(()=>{pd(n,null)});else{let i=URL.createObjectURL(r.handle.value);n.src=i,e.register(()=>{pd(n,i)})}})}function gd(n,e,t){var i;if(!_(t)){let o=hn(n),a=bt(n);if(_(t.position))if(_(t.wallClockTime))if(_(t.fromFirstPosition))if(_(t.fromLastPosition))if(_(t.fromLivePosition)){if(!_(t.percentage)){m.debug("Init: using startAt.percentage");let{percentage:s}=t;if(s>100)return a;if(s<0)return o;let d=+s/100,u=a-o;return o+u*d}}else{m.debug("Init: using startAt.fromLivePosition");let s=(i=yn(n))!=null?i:a,{fromLivePosition:d}=t;return d>=0?s:Math.max(o,s+d)}else{m.debug("Init: using startAt.fromLastPosition");let{fromLastPosition:s}=t;return s>=0?a:Math.max(o,a+s)}else{m.debug("Init: using startAt.fromFirstPosition");let{fromFirstPosition:s}=t;return s<=0?o:Math.min(a,o+s)}else{m.debug("Init: using startAt.wallClockTime");let s=n.availabilityStartTime===void 0?0:n.availabilityStartTime,d=t.wallClockTime-s;return Math.max(Math.min(d,a),o)}else return m.debug("Init: using startAt.minimumPosition"),Math.max(Math.min(t.position,a),o)}let r=hn(n);if(n.isLive){let{suggestedPresentationDelay:o,clockOffset:a}=n,s=bt(n),d,{DEFAULT_LIVE_GAP:u}=U.getCurrent();if(a===void 0)m.info("Init: no clock offset found for a live content, starting close to maximum available position"),d=s;else{m.info("Init: clock offset found for a live content, checking if we can start close to it");let l=n.availabilityStartTime===void 0?0:n.availabilityStartTime,f=(K()+a)/1e3-l;d=Math.min(s,f)}let c=o!=null?o:e?u.LOW_LATENCY:u.DEFAULT;return m.debug(`Init: ${d} defined as the live time, applying a live gap of ${c}`),Math.max(d-c,r)}return m.info("Init: starting at the minimum available position:",r),r}function gi(){return La}function hd(n){return!(n&&un)}function yd(){return ln}function hi(n,e,t,r){let i=new B;i.linkToSignal(r);let o=new G(!1,i.signal);return n.listen(a=>{if(a.rebuffering!==null||a.freezing!==null||a.readyState===0)return;if(!hd(t)){if(isNaN(e.duration))return;if(e.duration>0){o.setValue(!0),i.cancel();return}}let s=yd()?4:3;if(a.readyState>=s&&(a.currentRange!==null||a.ended)&&(!gi()||e.duration>0)){o.setValue(!0),i.cancel();return}},{includeLastObservation:!0,clearSignal:i.signal}),o}var yh=!un,pf=yh;var jn=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function yi({mediaElement:n,playbackObserver:e,startTime:t,mustAutoPlay:r,isDirectfile:i,onWarning:o},a){let s=new G(!1,a);return{autoPlayResult:new Promise((u,c)=>{let l=a.register(b=>{c(b)});if(a.isCancelled())return;let f=!1,g=b=>{e.setCurrentTime(b),f=!0};if(!i||typeof t=="number"){let b=typeof t=="number"?t:t();b!==0&&g(b),p()}else e.listen((b,T)=>{if(b.readyState>=1){T();let v=typeof t=="number"?t:t();v!==0&&(pf?g(v):setTimeout(()=>{g(v)},0)),p()}},{includeLastObservation:!0,clearSignal:a});function p(){let b=!1;e.listen((T,v)=>{if(!b&&(T.seeking!==0||T.event==="seeking"||T.event==="internal-seeking")&&(b=!0),!(f&&!b||T.readyState===0)){if(v(),gi()&&n.duration===0){let E=new J("MEDIA_ERR_NOT_LOADED_METADATA","Cannot load automatically: your browser falsely announced having loaded the content.");o(E)}a.isCancelled()||y()}},{includeLastObservation:!0,clearSignal:a})}function y(){e.listen((b,T)=>{b.seeking===0&&b.rebuffering===null&&b.readyState>=1&&(T(),h())},{includeLastObservation:!0,clearSignal:a})}function h(){var T;if(m.info("Init: Can begin to play content"),r){if(n.ended)return m.warn("Init: autoplay is enabled but the video is ended. Skipping autoplay to prevent video to start again"),s.setValue(!0),s.finish(),l(),u({type:"skipped"})}else return n.autoplay&&m.warn("Init: autoplay is enabled on HTML media element. Media will play as soon as possible."),s.setValue(!0),s.finish(),l(),u({type:"skipped"});let b;try{b=(T=n.play())!=null?T:Promise.resolve()}catch(v){return l(),c(v)}b.then(()=>{if(!a.isCancelled())return s.setValue(!0),s.finish(),l(),u({type:"autoplay"})}).catch(v=>{if(l(),!a.isCancelled())if(v instanceof Error&&v.name==="NotAllowedError"){m.warn("Init: Media element can't play. It may be due to browser auto-play policies.");let E=new J("MEDIA_ERR_BLOCKED_AUTOPLAY","Cannot trigger auto-play automatically: your browser does not allow it.");return o(E),a.isCancelled()?void 0:u({type:"autoplay-blocked"})}else c(v)})}}),initialPlayPerformed:s}}function Ii(n,e,t,r){if(e.length===0)return u("No `keySystems` option given.");if(me.decrypt===null)return u("EME feature not activated.");let i=new B;i.linkToSignal(r);let o=new G({initializationState:{type:"uninitialized",value:null},drmSystemId:void 0},r),a=me.decrypt;if(!a.hasEmeApis())return u("EME API not available on the current page.");m.debug("Init: Creating ContentDecryptor");let s=new a(n,e),d=c=>{var l;c>0&&((l=t.onCodecSupportUpdate)==null||l.call(t),s.removeEventListener("stateChange",d))};return s.addEventListener("stateChange",d),s.addEventListener("stateChange",c=>{if(c===1){let l=new G(!1);l.onUpdate((f,g)=>{f&&(g(),c===1&&s.attach())},{clearSignal:i.signal}),o.setValue({initializationState:{type:"awaiting-media-link",value:{isMediaLinked:l}},drmSystemId:s.systemId})}else c===2&&(o.setValue({initializationState:{type:"initialized",value:null},drmSystemId:s.systemId}),s.removeEventListener("stateChange"))}),s.addEventListener("error",c=>{i.cancel(),t.onError(c)}),s.addEventListener("warning",c=>{t.onWarning(c)}),s.addEventListener("blackListProtectionData",c=>{t.onBlackListProtectionData(c)}),s.addEventListener("keyIdsCompatibilityUpdate",c=>{t.onKeyIdsCompatibilityUpdate(c)}),i.signal.register(()=>{s.dispose()}),{statusRef:o,contentDecryptor:{enabled:!0,value:s}};function u(c){let l=new pe("MEDIA_IS_ENCRYPTED_ERROR",c),f=new G({initializationState:{type:"initialized",value:null},drmSystemId:void 0});return f.finish(),{statusRef:f,contentDecryptor:{enabled:!1,value:l}}}}var bi=class{constructor(e){this._displayer=e}pushTextData(e){try{return Promise.resolve(this._displayer.pushTextData(e))}catch(t){return Promise.reject(t)}}remove(e,t){try{return Promise.resolve(this._displayer.removeBuffer(e,t))}catch(r){return Promise.reject(r)}}reset(){this._displayer.reset()}stop(){this._displayer.stop()}};var Si=1/60,Sn=class extends ie{constructor(e,t,r){super(),this._playbackObserver=e,this._manifest=t,this._speed=r,this._discontinuitiesStore=[],this._isStarted=!1,this._canceller=new B}start(){if(this._isStarted)return;this._isStarted=!0;let e=new Sd(this._playbackObserver,this._speed);this._canceller.signal.register(()=>{e.dispose()});let t=null;this._playbackObserver.listen(r=>{let i=this._discontinuitiesStore,{buffered:o,position:a,readyState:s,rebuffering:d,freezing:u}=r,{BUFFER_DISCONTINUITY_THRESHOLD:c,FREEZING_STALLED_DELAY:l,UNFREEZING_SEEK_DELAY:f,UNFREEZING_DELTA_POSITION:g}=U.getCurrent();if(u!==null){let T=K(),v=t===null?u.timestamp:t.attemptTimestamp;if(!a.isAwaitingFuturePosition()&&T-v>f&&(m.warn("Init: trying to seek to un-freeze player"),this._playbackObserver.setCurrentTime(this._playbackObserver.getCurrentTime()+g),t={attemptTimestamp:T}),T-u.timestamp>l){d===null?e.stopRebuffering():e.startRebuffering(),this.trigger("stalled","freezing");return}}else t=null;if(d===null){if(e.stopRebuffering(),s===1){let T;r.seeking!==0?T=r.seeking===1?"internal-seek":"seeking":T="not-ready",this.trigger("stalled",T);return}this.trigger("unstalled",null);return}let p=d.reason==="seeking"&&r.seeking===1?"internal-seek":d.reason;if(a.isAwaitingFuturePosition()){e.stopRebuffering(),m.debug("Init: let rebuffering happen as we're awaiting a future position"),this.trigger("stalled",p);return}if(e.startRebuffering(),this._manifest===null){this.trigger("stalled",p);return}let{position:y}=d;if(y!=null&&this._speed.getValue()>0){let T=Ih(i,this._manifest,y);if(T!==null){let v=T+.001;if(v<=this._playbackObserver.getCurrentTime())m.info("Init: position to seek already reached, no seeking",this._playbackObserver.getCurrentTime(),v);else{m.warn("SA: skippable discontinuity found in the stream",a.getPolled(),v),this._playbackObserver.setCurrentTime(v),this.trigger("warning",bd(y,v));return}}}let h=y!=null?y:a.getPolled(),b=Fl(o,h);if(this._speed.getValue()>0&&b<c){let T=h+b+Si;if(this._playbackObserver.getCurrentTime()<T){m.warn("Init: discontinuity encountered inferior to the threshold",h,T,c),this._playbackObserver.setCurrentTime(T),this.trigger("warning",bd(h,T));return}}for(let T=this._manifest.periods.length-2;T>=0;T--){let v=this._manifest.periods[T];if(v.end!==void 0&&v.end<=h){if(this._manifest.periods[T+1].start>h&&this._manifest.periods[T+1].start>this._playbackObserver.getCurrentTime()){let E=this._manifest.periods[T+1];this._playbackObserver.setCurrentTime(E.start),this.trigger("warning",bd(h,E.start));return}break}}this.trigger("stalled",p)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}updateDiscontinuityInfo(e){this._isStarted||this.start();let t=this._playbackObserver.getReference().getValue();bh(this._discontinuitiesStore,e,t)}onLockedStream(e,t){var s;this._isStarted||this.start();let r=this._playbackObserver.getReference().getValue();if(!r.rebuffering||r.paused||this._speed.getValue()<=0||e!=="audio"&&e!=="video")return;let i=r.position.getWanted(),o=(s=r.rebuffering.position)!=null?s:i,a=t.start;i<a&&Math.abs(o-a)<1&&(m.warn(`Init: rebuffering because of a future locked stream.
4
- Trying to unlock by seeking to the next Period`),this._playbackObserver.setCurrentTime(a+.001))}destroy(){this._canceller.cancel()}};function Ih(n,e,t){if(n.length===0)return null;let r=null;for(let i of n){let{period:o}=i;if(o.start>t)return r;let a;if(o.end===void 0||o.end>t){let{discontinuity:s,position:d}=i,{start:u,end:c}=s,l=u!=null?u:d;if(t>=l-Si)if(c===null){let f=Wo(e,o);f!==null?a=f.start+Si:m.warn("Init: discontinuity at Period's end but no next Period")}else t<c+Si&&(a=c+Si);a!==void 0&&(m.info("Init: discontinuity found",t,a),r=r!==null&&r>a?r:a)}}return r}function Id(n){return n.discontinuity!==null}function bh(n,e,t){let r=Math.min(t.position.getPolled(),t.position.getWanted());for(;n.length>0&&n[0].period.end!==void 0&&n[0].period.end+10<r;)n.shift();let{period:i,bufferType:o}=e;if(!(o!=="audio"&&o!=="video")){for(let a=0;a<n.length;a++)if(n[a].period.id===i.id){if(n[a].bufferType===o){Id(e)?n[a]=e:n.splice(a,1);return}}else if(n[a].period.start>i.start){Id(e)&&n.splice(a,0,e);return}Id(e)&&n.push(e)}}function bd(n,e){return new J("DISCONTINUITY_ENCOUNTERED","A discontinuity has been encountered at position "+String(n)+", seeked at position "+String(e))}var Sd=class{constructor(e,t){this._speedUpdateCanceller=new B,this._isRebuffering=!1,this._playbackObserver=e,this._isDisposed=!1,this._speed=t,this._updateSpeed()}startRebuffering(){this._isRebuffering||this._isDisposed||(this._isRebuffering=!0,this._speedUpdateCanceller.cancel(),m.info("Init: Pause playback to build buffer"),this._playbackObserver.setPlaybackRate(0))}stopRebuffering(){!this._isRebuffering||this._isDisposed||(this._isRebuffering=!1,this._speedUpdateCanceller=new B,this._updateSpeed())}dispose(){this._speedUpdateCanceller.cancel(),this._isDisposed=!0}_updateSpeed(){this._speed.onUpdate(e=>{m.info("Init: Resume playback speed",e),this._playbackObserver.setPlaybackRate(e)},{clearSignal:this._speedUpdateCanceller.signal,emitCurrentValue:!0})}};function Sh(n,e){return n.id===e.id&&n.start===e.start&&n.end===e.end}var gf=Sh;function Th(n,e){let t=[],{periods:r}=e;for(let i of r){let{streamEvents:o}=i;o.forEach(({start:a,end:s,id:d,data:u})=>{for(let f of n)if(gf(f,{id:d,start:a,end:s})){t.push(f);return}let c;if(u.value.element!==void 0)c=u.value.element;else if(u.value.xmlData!==void 0){let f=u.value.xmlData.namespaces.reduce((p,y)=>p+"xmlns:"+y.key+'="'+y.value+'" ',"<toremove ");f+=">";let g=new DOMParser().parseFromString(f+u.value.xmlData.data+"</toremove>","application/xml").documentElement;c=g.children.length>0?g.children[0]:g.childNodes[0]}else return;let l={type:u.type,value:le(ae({},u.value),{element:c})};if(s===void 0){let f={start:a,id:d,data:l,publicEvent:{start:a,data:l}};t.push(f)}else{let f={start:a,end:s,id:d,data:l,publicEvent:{start:a,end:s,data:l}};t.push(f)}})}return t}var Td=Th;var Ti=class extends ie{constructor(e,t,r){super(),this._manifest=e,this._mediaElement=t,this._playbackObserver=r,this._canceller=null,this._scheduledEventsRef=new G([]),this._eventsBeingPlayed=new WeakMap}start(){if(this._canceller!==null)return;this._canceller=new B;let e=this._canceller.signal,t=this._playbackObserver,r=this._mediaElement,i=!1,o=new B;o.linkToSignal(e),this._scheduledEventsRef.setValue(Td([],this._manifest)),this._scheduledEventsRef.onUpdate(({length:a})=>{if(a===0){i&&(o.cancel(),o=new B,o.linkToSignal(e),i=!1);return}else if(i)return;i=!0;let s=l(),d=()=>{let f=l();this._emitStreamEvents(this._scheduledEventsRef.getValue(),s,f,o.signal),s=f},{STREAM_EVENT_EMITTER_POLL_INTERVAL:u}=U.getCurrent(),c=setInterval(d,u);t.listen(d,{includeLastObservation:!1,clearSignal:o.signal}),o.signal.register(()=>{clearInterval(c)});function l(){let f=t.getReference().getValue(),g=r.currentTime,p=f.seeking!==0;return{currentTime:g,isSeeking:p}}},{emitCurrentValue:!0,clearSignal:e})}onManifestUpdate(e){let t=this._scheduledEventsRef.getValue();this._scheduledEventsRef.setValue(Td(t,e))}stop(){this._canceller!==null&&(this._canceller.cancel(),this._canceller=null)}_emitStreamEvents(e,t,r,i){let{currentTime:o}=t,{isSeeking:a,currentTime:s}=r,d=[],u=[];for(let c=0;c<e.length;c++){let l=e[c],f=l.start,g=_d(l)?l.end:void 0;this._eventsBeingPlayed.has(l)?(f>s||g!==void 0&&s>=g)&&(_d(l)&&u.push(l.publicEvent),this._eventsBeingPlayed.delete(l)):f<=s&&g!==void 0&&s<g?(d.push({type:"stream-event",value:l.publicEvent}),this._eventsBeingPlayed.set(l,!0)):o<f&&s>=(g!=null?g:f)&&(a?d.push({type:"stream-event-skip",value:l.publicEvent}):(d.push({type:"stream-event",value:l.publicEvent}),_d(l)&&u.push(l.publicEvent)))}if(d.length>0){for(let c of d)if(c.type==="stream-event"?this.trigger("event",c.value):this.trigger("eventSkip",c.value),i.isCancelled())return}if(u.length>0){for(let c of u)if(typeof c.onExit=="function"&&c.onExit(),i.isCancelled())return}}};function _d(n){return n.end!==void 0}var hf=Ti;function _i(n,e,t){if(t.isCancelled())return;n.addEventListener("error",r),t.register(()=>{n.removeEventListener("error",r)});function r(){let i=n.error,o,a;switch(_(i)||(o=i.code,a=i.message),o){case 1:return a=a!=null?a:"The fetching of the associated resource was aborted by the user's request.",e(new J("MEDIA_ERR_ABORTED",a));case 2:return a=a!=null?a:"A network error occurred which prevented the media from being successfully fetched",e(new J("MEDIA_ERR_NETWORK",a));case 3:return a=a!=null?a:"An error occurred while trying to decode the media resource",e(new J("MEDIA_ERR_DECODE",a));case 4:return a=a!=null?a:"The media resource has been found to be unsuitable.",e(new J("MEDIA_ERR_SRC_NOT_SUPPORTED",a));default:return a=a!=null?a:"The HTMLMediaElement errored due to an unknown reason.",e(new J("MEDIA_ERR_UNKNOWN",a))}}}var Tn=class extends Gn{constructor(e){super(),this._settings=e,this._initCanceller=new B,this._manifest=null,this._decryptionCapabilities={status:"uninitialized",value:null};let t=e.url===void 0?void 0:[e.url];this._cmcdDataBuilder=e.cmcd===void 0?null:new Xl(e.cmcd),this._manifestFetcher=new Ws(t,e.transport,le(ae({},e.manifestRequestSettings),{lowLatencyMode:e.lowLatencyMode,cmcdDataBuilder:this._cmcdDataBuilder}))}prepare(){this._manifest===null&&(this._manifest=lf.createAsync(ot(this._initCanceller.signal,(e,t)=>{this._manifestFetcher.addEventListener("warning",r=>this.trigger("warning",r)),this._manifestFetcher.addEventListener("error",r=>{this.trigger("error",r),t(r)}),this._manifestFetcher.addEventListener("manifestReady",r=>{e(r)})})),this._manifestFetcher.start(),this._initCanceller.signal.register(()=>{this._manifestFetcher.dispose()}))}start(e,t){this.prepare(),_i(e,r=>this._onFatalError(r),this._initCanceller.signal),this._initializeMediaSourceAndDecryption(e).then(r=>this._onInitialMediaSourceReady(e,r.mediaSource,t,r.drmSystemId,r.unlinkMediaSource)).catch(r=>{this._onFatalError(r)})}updateContentUrls(e,t){this._manifestFetcher.updateContentUrls(e,t)}dispose(){this._initCanceller.cancel()}_onFatalError(e){this._initCanceller.isUsed()||(this._initCanceller.cancel(),this.trigger("error",e))}_initializeMediaSourceAndDecryption(e){let t=this._initCanceller;return ot(t.signal,r=>{let{keySystems:i}=this._settings,{statusRef:o,contentDecryptor:a}=Ii(e,i,{onWarning:s=>this.trigger("warning",s),onError:s=>this._onFatalError(s),onBlackListProtectionData:s=>{(async()=>{var u;if(this._manifest===null)return;let d=(u=this._manifest.syncValue)!=null?u:await this._manifest.getValueAsAsync();Eh(d,s)})().catch(Z)},onKeyIdsCompatibilityUpdate:s=>{(async()=>{var u;if(this._manifest===null)return;let d=(u=this._manifest.syncValue)!=null?u:await this._manifest.getValueAsAsync();_h(d,s.whitelistedKeyIds,s.blacklistedKeyIds,s.delistedKeyIds)})().catch(Z)},onCodecSupportUpdate:()=>{var d,u;let s=(d=this._manifest)==null?void 0:d.syncValue;_(s)?(u=this._manifest)==null||u.getValueAsAsync().then(c=>{this._initCanceller.isUsed()||this._refreshManifestCodecSupport(c)},Z):this._refreshManifestCodecSupport(s)}},t.signal);a.enabled?this._decryptionCapabilities={status:"enabled",value:a.value}:this._decryptionCapabilities={status:"disabled",value:a.value},o.onUpdate((s,d)=>{if(s.initializationState.type==="uninitialized")return;d();let u=new B;u.linkToSignal(t.signal),ta(e,u.signal).then(c=>{let l=o.getValue();if(l.initializationState.type==="awaiting-media-link")l.initializationState.value.isMediaLinked.setValue(!0),o.onUpdate((f,g)=>{if(f.initializationState.type==="initialized"){g(),r({mediaSource:c,drmSystemId:f.drmSystemId,unlinkMediaSource:u});return}},{emitCurrentValue:!0,clearSignal:t.signal});else if(s.initializationState.type==="initialized"){r({mediaSource:c,drmSystemId:s.drmSystemId,unlinkMediaSource:u});return}}).catch(c=>{u.isUsed()||this._onFatalError(c)})},{emitCurrentValue:!0,clearSignal:t.signal})})}async _onInitialMediaSourceReady(e,t,r,i,o){var x;let{adaptiveOptions:a,autoPlay:s,bufferOptions:d,lowLatencyMode:u,segmentRequestOptions:c,speed:l,startAt:f,textTrackOptions:g,transport:p}=this._settings,y=this._initCanceller;te(this._manifest!==null);let h;try{h=(x=this._manifest.syncValue)!=null?x:await this._manifest.getValueAsAsync()}catch(L){return}h.addEventListener("manifestUpdate",L=>{this.trigger("manifestUpdate",L),this._refreshManifestCodecSupport(h)},y.signal),h.addEventListener("decipherabilityUpdate",L=>{this.trigger("decipherabilityUpdate",L)},y.signal),h.addEventListener("supportUpdate",()=>{this.trigger("codecSupportUpdate",null)},y.signal),m.debug("Init: Calculating initial time");let b=gd(h,u,f);m.debug("Init: Initial time calculated:",b);let T=Ql(a),v=j({textTrackOptions:g,drmSystemId:i},d),E=new Ys(p,this._cmcdDataBuilder,c,y.signal);if(this._refreshManifestCodecSupport(h),this.trigger("manifestReady",h),y.isUsed())return;let R=this._startBufferingOnMediaSource.bind(this),k=this.trigger.bind(this),A=this._onFatalError.bind(this);M(t,b,s,o);function M(L,O,N,C){R({mediaElement:e,playbackObserver:r,mediaSource:L,initialTime:O,autoPlay:N,manifest:h,representationEstimator:T,segmentFetcherCreator:E,speed:l,bufferOptions:v},D,C.signal);function D(F){if(C.cancel(),y.isUsed()||(k("reloadingMediaSource",F),y.isUsed()))return;let V=new B;V.linkToSignal(y.signal),ta(e,V.signal).then($=>{M($,F.position,F.autoPlay,V)}).catch($=>{V.isUsed()||A($)})}}}_startBufferingOnMediaSource(e,t,r){var O,N;let{autoPlay:i,bufferOptions:o,initialTime:a,manifest:s,mediaElement:d,mediaSource:u,playbackObserver:c,representationEstimator:l,segmentFetcherCreator:f,speed:g}=e,p=(O=s.getPeriodForTime(a))!=null?O:s.getNextPeriod(a);if(p===void 0){let C=new J("MEDIA_STARTING_TIME_NOT_FOUND","Wanted starting time not found in the Manifest.");return this._onFatalError(C)}let y=null,h=null;if(this._settings.textTrackOptions.textTrackMode==="html"&&me.htmlTextDisplayer!==null?h=new me.htmlTextDisplayer(d,this._settings.textTrackOptions.textTrackElement):me.nativeTextDisplayer!==null&&(h=new me.nativeTextDisplayer(d)),h!==null){let C=new bi(h);y=C,r.register(()=>{C.stop(),h==null||h.stop()})}let b=new Xt(u,d.nodeName==="VIDEO",y);r.register(()=>{b.disposeAll()});let{autoPlayResult:T,initialPlayPerformed:v}=yi({mediaElement:d,playbackObserver:c,startTime:a,mustAutoPlay:i,onWarning:C=>{this.trigger("warning",C)},isDirectfile:!1},r);if(r.isCancelled())return;v.onUpdate((C,P)=>{if(C){P();let D=new hf(s,d,c);s.addEventListener("manifestUpdate",()=>{D.onManifestUpdate(s)},r),D.addEventListener("event",F=>{this.trigger("streamEvent",F)},r),D.addEventListener("eventSkip",F=>{this.trigger("streamEventSkip",F)},r),D.start(),r.register(()=>{D.stop()})}},{clearSignal:r,emitCurrentValue:!0});let E=ld(c,{autoPlay:i,manifest:s,mediaSource:u,textDisplayer:h,initialPlayPerformed:v,speed:g},r);(N=this._cmcdDataBuilder)==null||N.startMonitoringPlayback(E),r.register(()=>{var C;(C=this._cmcdDataBuilder)==null||C.stopMonitoringPlayback()});let R=this._createRebufferingController(c,s,g,r),k=new ti(b);wl&&s.addEventListener("decipherabilityUpdate",C=>{C.some(P=>P.representation.decipherable!==!0)&&L(0,void 0,void 0)},r),c.listen(C=>{if(k.needToReload(C)){let P,D=c.getReference().getValue();D.position.isAwaitingFuturePosition()?P=D.position.getWanted():P=c.getCurrentTime();let F=v.getValue()?!c.getIsPaused():i;t({position:P,autoPlay:F})}},{clearSignal:r}),E.listen(C=>{["video","audio","text"].forEach(P=>{var F;let D=b.getStatus(P);D.type==="initialized"&&D.value.synchronizeInventory((F=C.buffered[P])!=null?F:[])})},{clearSignal:r});let A=Qs(s,u,E,b,{onWarning:C=>this.trigger("warning",C),onPeriodChanged:C=>this.trigger("activePeriodChanged",{period:C})},r);T.then(()=>{hi(c,d,!1,r).onUpdate((C,P)=>{C&&(P(),this.trigger("loaded",{getSegmentSinkMetrics:async()=>new Promise(D=>D(b.getSegmentSinksMetrics()))}))},{emitCurrentValue:!0,clearSignal:r})}).catch(C=>{r.isCancelled()||this._onFatalError(C)});let M=this;uf({manifest:s,initialPeriod:p},E,l,b,f,o,x(),r);function x(){return{needsBufferFlush:C=>{var $;let P,D=c.getCurrentTime(),F=($=C==null?void 0:C.relativeResumingPosition)!=null?$:0,V=!!(C!=null&&C.relativePosHasBeenDefaulted);F===0&&V?P=D+.001:P=D+F,c.setCurrentTime(P),c.listen((q,W)=>{(q.currentRange!==null||q.position.getPolled()>P+.1)&&(W(),c.setCurrentTime(q.position.getWanted()+.001))},{includeLastObservation:!1,clearSignal:r})},streamStatusUpdate(C){let{period:P,bufferType:D,imminentDiscontinuity:F,position:V}=C;R.updateDiscontinuityInfo({period:P,bufferType:D,discontinuity:F,position:V}),!r.isCancelled()&&s.isLastPeriodKnown&&C.period.id===s.periods[s.periods.length-1].id&&(C.hasFinishedLoading||C.isEmptyStream?A.onLastSegmentFinishedLoading(C.bufferType):A.onLastSegmentLoadingResume(C.bufferType))},needsManifestRefresh:()=>M._manifestFetcher.scheduleManualRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0}),manifestMightBeOufOfSync:()=>{let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:C}=U.getCurrent();M._manifestFetcher.scheduleManualRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:C})},lockedStream:C=>R.onLockedStream(C.bufferType,C.period),adaptationChange:C=>{M.trigger("adaptationChange",C),!r.isCancelled()&&A.onAdaptationChange(C.type,C.period,C.adaptation)},representationChange:C=>{M.trigger("representationChange",C),!r.isCancelled()&&A.onRepresentationChange(C.type,C.period)},inbandEvent:C=>M.trigger("inbandEvents",C),warning:C=>M.trigger("warning",C),periodStreamReady:C=>M.trigger("periodStreamReady",C),periodStreamCleared:C=>{A.onPeriodCleared(C.type,C.period),!r.isCancelled()&&M.trigger("periodStreamCleared",C)},bitrateEstimateChange:C=>{var P;(P=M._cmcdDataBuilder)==null||P.updateThroughput(C.type,C.bitrate),M.trigger("bitrateEstimateChange",C)},needsMediaSourceReload:C=>{L(C.timeOffset,C.minimumPosition,C.maximumPosition)},needsDecipherabilityFlush(){var P,D,F,V;let C=Kn(d);if(Ba(C==null?void 0:C[0])){let $=E.getReference().getValue(),q=$.position.isAwaitingFuturePosition()?$.position.getWanted():(P=E.getCurrentTime())!=null?P:$.position.getPolled(),W=(F=(D=$.paused.pending)!=null?D:E.getIsPaused())!=null?F:$.paused.last;t({position:q,autoPlay:!W})}else{let $=E.getReference().getValue(),q=$.position.isAwaitingFuturePosition()?$.position.getWanted():(V=E.getCurrentTime())!=null?V:$.position.getPolled();q+.001<$.duration?c.setCurrentTime(d.currentTime+.001):c.setCurrentTime(q)}},encryptionDataEncountered:C=>{if(M._decryptionCapabilities.status==="disabled"){M._onFatalError(M._decryptionCapabilities.value);return}else if(M._decryptionCapabilities.status==="uninitialized"){m.error("Init: received encryption data without known decryption capabilities");return}for(let P of C)if(M._decryptionCapabilities.value.onInitializationData(P),r.isCancelled())return},error:C=>M._onFatalError(C)}}function L(C,P,D){var W,z,H;let F=E.getReference().getValue(),V=F.position.isAwaitingFuturePosition()?F.position.getWanted():(W=E.getCurrentTime())!=null?W:F.position.getPolled(),$=(H=(z=F.paused.pending)!=null?z:E.getIsPaused())!=null?H:F.paused.last,q=V+C;P!==void 0&&(q=Math.max(P,q)),D!==void 0&&(q=Math.min(D,q)),t({position:q,autoPlay:!$})}}_createRebufferingController(e,t,r,i){let o=new Sn(e,t,r);return o.addEventListener("stalled",a=>this.trigger("stalled",a)),o.addEventListener("unstalled",()=>this.trigger("unstalled",null)),o.addEventListener("warning",a=>this.trigger("warning",a)),i.register(()=>o.destroy()),o.start(),o}getCodecsSupportInfo(e){return e.map(r=>{var s;let i=`${r.mimeType};codecs="${r.codec}"`,o=Oa(i);if(!o)return{mimeType:r.mimeType,codec:r.codec,supported:!1,supportedIfEncrypted:!1};let a;if(this._decryptionCapabilities.status==="uninitialized")a=void 0;else if(this._decryptionCapabilities.status==="disabled")a=!0;else{let d=this._decryptionCapabilities.value;d.getState()!==0&&(a=(s=d.isCodecSupported(r.mimeType,r.codec))!=null?s:!0)}return{mimeType:r.mimeType,codec:r.codec,supported:o,supportedIfEncrypted:a}})}_refreshManifestCodecSupport(e){let t=e.getCodecsWithUnknownSupport(),r=this.getCodecsSupportInfo(t);if(r.length>0)try{e.updateCodecSupport(r)}catch(i){this._onFatalError(i)}}};function _h(n,e,t,r){n.updateRepresentationsDeciperability(i=>{let{representation:o}=i;if(o.contentProtections===void 0)return o.decipherable;let a=o.contentProtections.keyIds;if(a!==void 0)for(let s of a){for(let d of t)if(ge(d,s.keyId))return!1;for(let d of e)if(ge(d,s.keyId))return!0;for(let d of r)if(ge(d,s.keyId))return}return o.decipherable})}function Eh(n,e){n.updateRepresentationsDeciperability(t=>{var o,a;let r=t.representation;if(r.decipherable===!1)return!1;let i=(a=(o=r.contentProtections)==null?void 0:o.initData)!=null?a:[];for(let s of i)if((e.type===void 0||s.type===e.type)&&e.values.getFormattedValues().every(u=>s.values.some(c=>(u.systemId===void 0||c.systemId===u.systemId)&&ge(c.data,u.data))))return!1;return r.decipherable})}function Ed(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return _(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function ke(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let o=Ed(n,e,t);return r+(o+1)*i}function He(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function St(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function yf(n,e,t){return[n*t,(n+e)*t]}function vh(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function na(n,e,t){let{timeline:r}=n,i=He(e,n);if(i<0)return null;let o=vh(r,i);if(o<0||o>=r.length-1)return null;let a=r[o];if(a.duration<=0)return null;let s=r[o+1];if(s===void 0)return null;let d=s.start,u=ke(a,s,t);return i>=u&&i<d?St(d,n):null}function Mt(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:"init",isInit:!0,time:0,end:0,duration:0,timescale:1,range:_(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function Rh(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join("0")+t).slice(-e)}function vd(n){return(e,t,r)=>{let i=w(r)?parseInt(r,10):1;return Rh(String(n),i)}}function st(n,e,t){return kh(n,e,t)}function kh(n,e,t){return n.indexOf("$")===-1?n:n.replace(/\$\$/g,"$").replace(/\$RepresentationID\$/g,String(e)).replace(/\$Bandwidth(\%0(\d+)d)?\$/g,vd(t===void 0?0:t))}function ra(n,e){return function(r){return r.indexOf("$")===-1?r:r.replace(/\$\$/g,"$").replace(/\$Number(\%0(\d+)d)?\$/g,(i,o,a)=>{if(e===void 0)throw new Error("Segment number not defined in a $Number$ scheme");return vd(e)(i,o,a)}).replace(/\$Time(\%0(\d+)d)?\$/g,(i,o,a)=>{if(n===void 0)throw new Error("Segment time not defined in a $Time$ scheme");return vd(n)(i,o,a)})}}function Ch(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function Ei(n,e,t,r,i,o){var T;let a=r.getEstimatedMaximumPosition((T=n.availabilityTimeOffset)!=null?T:0),s=Math.min(e+t,a!=null?a:1/0),d=He(e,n),u=He(s,n),{timeline:c,timescale:l,segmentUrlTemplate:f,startNumber:g,endNumber:p}=n,y=g!=null?g:1,h=[],b=c.length;for(let v=0;v<b;v++){let E=c[v],{duration:R,start:k,range:A}=E,M;a===void 0?M=i:M=Math.min(a*l,i!=null?i:1/0);let x=Ed(E,c[v+1],M),L=n.availabilityTimeComplete!==!1||v!==b-1&&x!==0,O=Ch(k,R,d),N=k+O*R;for(;N<u&&O<=x;){let C=y+O;if(p!==void 0&&C>p)break;let P=f===null?null:ra(N,C)(f),D=N-n.indexTimeOffset,F=R;D<0&&(F=R+D,D=0);let V={id:String(N),time:D/l,end:(D+F)/l,duration:F/l,isInit:!1,range:A,timescale:1,url:P,number:C,timestampOffset:-(n.indexTimeOffset/l),complete:L,privateInfos:{isEMSGWhitelisted:o}};h.push(V),O++,N=k+O*R}if(N>=u||(y+=x+1,p!==void 0&&y>p))return h}return h}function Ph(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var _n=class{constructor(e,t){var p,y,h,b;let{periodStart:r,periodEnd:i,representationId:o,representationBitrate:a,isEMSGWhitelisted:s}=t,d=(p=e.timescale)!=null?p:1,c=((y=e.presentationTimeOffset)!=null?y:0)-r*d,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:st(e.initialization.media,o,a),f=e.media===void 0?null:st(e.media,o,a),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:c,initialization:{url:l,range:g},segmentUrlTemplate:f,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(b=e.timeline)!=null?b:[],timescale:d},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=He(r,this._index),this._scaledPeriodEnd=_(i)?void 0:He(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return Ei(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:St(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(ke(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return St(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)Ph(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn("Cannot add predicted segments to a `BaseRepresentationIndex`")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error("Base RepresentationIndex: Cannot update a SegmentList")}};var En=class{constructor(e,t){var g,p,y;if(e.duration===void 0)throw new Error("Invalid SegmentList: no duration");let{periodStart:r,periodEnd:i,representationId:o,representationBitrate:a,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let d=(g=e.presentationTimeOffset)!=null?g:0,u=(p=e.timescale)!=null?p:1,c=d-r*u,l=((y=e.initialization)==null?void 0:y.media)===void 0?null:st(e.initialization.media,o,a),f=e.list.map(h=>({url:h.media===void 0?null:st(h.media,o,a),mediaRange:h.mediaRange}));this._index={list:f,timescale:u,duration:e.duration,indexTimeOffset:c,indexRange:e.indexRange,initialization:_(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=Mt(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:o,timescale:a}=r,s=i/a,d=e-this._periodStart,[u,c]=yf(d,t,a),l=Math.min(o.length-1,Math.floor(c/i)),f=[],g=Math.floor(u/i);for(;g<=l;){let p=o[g].mediaRange,y=o[g].url,h=g*s+this._periodStart,b={id:String(g),time:h,isInit:!1,range:p,duration:s,timescale:1,end:h+s,url:y,timestampOffset:-(r.indexTimeOffset/a),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};f.push(b),g++}return f}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){m.error("A `ListRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `ListRepresentationIndex`")}_replace(e){this._index=e._index}_update(){m.error("A `ListRepresentationIndex` cannot be updated")}};function Yn(n){return U.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vn=class{constructor(e,t){var b,T,v;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:o,periodEnd:a,periodStart:s,representationId:d,representationBitrate:u,isEMSGWhitelisted:c}=t,l=(b=e.timescale)!=null?b:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let f=(T=e.presentationTimeOffset)!=null?T:0,g=s*l,p=f-g;if(e.duration===void 0)throw new Error("Invalid SegmentTemplate: no duration");let y=((v=e.initialization)==null?void 0:v.media)===void 0?null:st(e.initialization.media,d,u),h=e.media===void 0?null:st(e.media,d,u);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:_(e.initialization)?void 0:{url:y,range:e.initialization.range},url:h,presentationTimeOffset:f,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=o,this._periodStart=s,this._scaledRelativePeriodEnd=a===void 0?void 0:(a-s)*l,this._isEMSGWhitelisted=c}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:o,endNumber:a,timescale:s,url:d}=r,u=this._periodStart*s,c=this._scaledRelativePeriodEnd,l=e*s-u,f=(e+t)*s-u,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(_(g)||_(p))return[];let y=Math.max(g,l),h=Math.min(p,f);if(h+i<=y)return[];let b=[],T=o!=null?o:1,v=Math.floor(y/i);for(let E=v*i;E<=h;E+=i){let R=v+T;if(a!==void 0&&R>a)return b;let k=!_(c)&&E+i>c?c-E:i,A=E+u,M=E+this._index.presentationTimeOffset,x=d===null?null:ra(M,R)(d),L={id:String(R),number:R,time:A/s,end:(A+k)/s,duration:k/s,timescale:1,isInit:!1,scaledDuration:k/s,url:x,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};b.push(L),v++}return b}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return _(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(_(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(te(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Yn(r),o=this._periodStart*r,a=e*r-o,s=t*r-o,d=this._getLastSegmentStart();if(_(d)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&a<l-i}let u=d+this._index.duration,c=this._estimateRelativeScaledEnd();return c===void 0?s>u-i:s>u-i&&a<c-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(_(r))return!0;let i=r+this._index.duration,o=Yn(t);return i+o<e}isInitialized(){return!0}initialize(){m.error("A `TemplateRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `TemplateRepresentationIndex`")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var a;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var o,a;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let d=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(d===void 0)return;let u=(d-this._periodStart)*t;if(u<0)return null;let c=Math.floor(u/e);return r!==void 0&&r-i+1<c&&(c=r-i+1),c<=0?null:(c-1)*e}else{let s=(a=this._scaledRelativePeriodEnd)!=null?a:0,d=Math.ceil(s/e);r!==void 0&&r-i+1<d&&(d=r-i+1);let u=(d-1)*e,c=U.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-u>c||d<2?u:(d-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function vi(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let o=r.start+r.duration,a=1;for(;o<e&&a<=r.repeatCount;)o+=r.duration,a++;if(a>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-a;return r.start=o,r.repeatCount=s,t+=a,t}}}}return t}function Ri(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(ke(i,e[0])<r)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: not enough data");for(let c=t-1;c>=0;c--){let l=n[c].start;if(l===r){let f=t-c;return n.splice(c,f,...e),!1}else if(l<r){let f=n[c];if(f.start+f.duration>r)return m.warn("RepresentationIndex: Manifest update removed all previous segments"),n.splice(0,t,...e),!0;if(f.repeatCount===void 0||f.repeatCount<=0)return f.repeatCount<0&&(f.repeatCount=Math.floor((r-f.start)/f.duration)-1),n.splice(c+1,t-(c+1),...e),!1;if(f.start+f.duration*(f.repeatCount+1)<=r)return n.splice(c+1,t-(c+1),...e),!1;let p=(r-f.start)/f.duration-1;if(p%1===0&&f.duration===e[0].duration){let y=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(c,t-c,...e),n[c].start=f.start,n[c].repeatCount=y,!1}return m.warn("RepresentationIndex: Manifest update removed previous segments"),n[c].repeatCount=Math.floor(p),n.splice(c+1,t-(c+1),...e),!1}}let a=n[n.length-1],s=e[e.length-1];if(a.repeatCount!==void 0&&a.repeatCount<0)return a.start>s.start?(m.warn("RepresentationIndex: The new index is older than the previous one"),!1):(m.warn('RepresentationIndex: The new index is "bigger" than the previous one'),n.splice(0,t,...e),!0);let d=a.start+a.duration*(a.repeatCount+1),u=s.start+s.duration*(s.repeatCount+1);return d>=u?(m.warn("RepresentationIndex: The new index is older than the previous one"),!1):(m.warn('RepresentationIndex: The new index is "bigger" than the previous one'),n.splice(0,t,...e),!0)}function ki(n,e,t){let r=n.start,i=n.duration,o=n.repeatCount;return r===void 0&&(e===null?r=0:_(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(o===void 0||!isNaN(o))?{start:r,duration:i,repeatCount:o===void 0?0:o}:(m.warn('DASH: A "S" Element could not have been parsed.'),null)}function Ci(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!_(r))switch(t){case"t":let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid t ("${r}")`):e.start=i;break;case"d":let o=parseInt(r,10);isNaN(o)?m.warn(`DASH: invalid d ("${r}")`):e.duration=o;break;case"r":let a=parseInt(r,10);isNaN(a)?m.warn(`DASH: invalid r ("${r}")`):e.repeatCount=a;break}}return e}function Pi(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"t":let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t ("${r.value}")`):e.start=i;break;case"d":let o=parseInt(r.value,10);isNaN(o)?m.warn(`DASH: invalid d ("${r.value}")`):e.duration=o;break;case"r":let a=parseInt(r.value,10);isNaN(a)?m.warn(`DASH: invalid r ("${r.value}")`):e.repeatCount=a;break}}return e}function Zt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(Ci(n[r]));else for(let r=0;r<n.length;r++)e.push(Pi(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],o=t[t.length-1]===void 0?null:t[t.length-1],a=e[r+1]===void 0?null:e[r+1],s=ki(i,o,a);s!==null&&t.push(s)}return t}function Rd(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute("t"),i=_(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let o=n[0],a=0;for(;;){if(o.repeatCount>0){let s=i-o.start;if(s%o.duration===0&&s/o.duration<=o.repeatCount)return{repeatNumberInPrevSegments:s/o.duration,prevSegmentsIdx:a,newElementsIdx:0,repeatNumberInNewElements:0}}if(a++,a>=n.length)return null;if(o=n[a],o.start===i)return{prevSegmentsIdx:a,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(o.start>i)return null}}else{let o=0,a=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],d=i;for(;;){let u=a!==null?a.attributes.d:s==null?void 0:s.getAttribute("d"),c=_(u)?null:parseInt(u,10);if(c===null||Number.isNaN(c))return null;let l=a!==null?a.attributes.r:s==null?void 0:s.getAttribute("r"),f=_(l)?null:parseInt(l,10);if(f!==null){if(Number.isNaN(f)||f<0)return null;if(f>0){let y=t-d;if(y%c===0&&y/c<=f)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:y/c,prevSegmentsIdx:0,newElementsIdx:o}}d+=c*(f+1)}else d+=c;if(o++,o>=e.length)return null;Array.isArray(e)?a=e[o]:s=e[o];let g=a!==null?a.attributes.t:s==null?void 0:s.getAttribute("t"),p=_(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;d=p}if(d===t)return{newElementsIdx:o,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(d>i)return null}}}function kd(n,e){var y;let t=Rd(e,n);if(t===null)return m.warn('DASH: Cannot perform "based" update. Common segment not found.'),Zt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:o,repeatNumberInNewElements:a}=t,d=e.length-r+i-1;if(d>=n.length)return m.info('DASH: Cannot perform "based" update. New timeline too short'),Zt(n);let u=e.slice(r);if(o>0){let h=u[0];h.start+=h.duration*o,u[0].repeatCount-=o}if(a>0&&i!==0)return m.info('DASH: Cannot perform "based" update. The new timeline has a different form.'),Zt(n);let c=u[u.length-1],l=Array.isArray(n)?Ci(n[d]):Pi(n[d]),f=((y=l.repeatCount)!=null?y:0)-a;if(l.duration!==c.duration||c.repeatCount>f)return m.info('DASH: Cannot perform "based" update. The new timeline has a different form at the beginning.'),Zt(n);l.repeatCount!==void 0&&l.repeatCount>c.repeatCount&&(c.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let h=d+1;h<n.length;h++)p.push(Ci(n[h]));else for(let h=d+1;h<n.length;h++)p.push(Pi(n[h]));for(let h=0;h<p.length;h++){let b=p[h],T=g[g.length-1]===void 0?c:g[g.length-1],v=p[h+1]===void 0?null:p[h+1],E=ki(b,T,v);E!==null&&g.push(E)}return u.concat(g)}var Mi=class n{constructor(e,t){var E,R,k,A,M;if(!n.isTimelineIndexArgument(e))throw new Error("The given index is not compatible with a TimelineRepresentationIndex.");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:o,isDynamic:a,isLastPeriod:s,representationId:d,representationBitrate:u,periodStart:c,periodEnd:l,isEMSGWhitelisted:f}=t,g=(E=e.timescale)!=null?E:1,p=(R=e.presentationTimeOffset)!=null?R:0,y=c*g,h=p-y;this._manifestBoundsCalculator=o,this._isEMSGWhitelisted=f,this._isLastPeriod=s,this._lastUpdate=(k=t.receivedTime)!=null?k:K(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=a,this._parseTimeline=(A=e.timelineParser)!=null?A:null;let b=((M=e.initialization)==null?void 0:M.media)===void 0?null:st(e.initialization.media,d,u),T=e.media===void 0?null:st(e.media,d,u),v;i===void 0&&r===void 0?v=1/0:v=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:v,indexRange:e.indexRange,indexTimeOffset:h,initialization:_(e.initialization)?void 0:{url:b,range:e.initialization.range},segmentUrlTemplate:T,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Cd(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=He(c,this._index),this._scaledPeriodEnd=l===void 0?void 0:He(l,this._index)}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Ei(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:St(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return St(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(ke(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return St(t,this._index)}awaitSegmentBetween(e,t){var u,c;if(te(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,o=Yn(r),a=He(t,this._index),s=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(u=this._scaledPeriodEnd)!=null?u:1/0)+o>=Math.min(a,(c=this._scaledPeriodEnd)!=null?c:1/0))return!1;let d=He(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=ke(l,null,this._scaledPeriodEnd)+o;if(d<g+o)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?a+o>this._scaledPeriodStart?void 0:!1:d-o<this._scaledPeriodEnd&&a+o>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Mh(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),na({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof rt&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),Ri(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var a;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&He(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Yn(this._index.timescale),r=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(a=this._scaledPeriodEnd)!=null?a:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return ke(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error("A `TimelineRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `TimelineRepresentationIndex`")}static isTimelineIndexArgument(e){return typeof e.timelineParser=="function"||Array.isArray(e.timeline)}_refreshTimeline(){var i,o;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((o=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?o:0)/this._index.timescale);if(_(e))return;let t=He(e,this._index),r=vi(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error("DASH: Timeline already lazily parsed."),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=U.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Cd(Zt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Cd(kd(e,r),this._index.startNumber,this._index.endNumber)}};function Cd(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let o=n[i];if(r+=o.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let a=n.slice(0,i),s=ae({},o),d=r-o.repeatCount-1;return s.repeatCount=Math.max(0,t-d),a.push(s),a}}}return n}function Mh(n,e,t,r){let i=ia(e,t,r);if(i===null)return!1;for(let o=0;o<e.timeline.length;o++){if(i.timelineIdx<o)return!1;let a=e.timeline[o],s=(a.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return a.range===void 0?n.range===void 0:!_(n.range)&&a.range[0]===n.range[0]&&a.range[1]===n.range[1];if(a.repeatCount>=0&&a.duration!==void 0){let u=(s-a.start)/a.duration-1;return u%1===0&&u<=i.newRepeatCount}}return!1}function ia(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,o=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:o.repeatCount,end:ke(o,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,o=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:o.repeatCount,end:ke(o,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let o=n.timeline[i],a=o.start+o.duration;if(St(a,n)<=r){let s=ke(o,n.timeline[i+1],t);if(St(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:o.repeatCount,end:a};{let u=He(r,n)-o.start,c=Math.floor(u/o.duration);return te(c>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:c-1,end:o.start+c*o.duration}}}}return null}var oa=Mi;var Ah=/^(?:[a-z]+:)?\/\//i,xh=/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$/;function xi(n){let e=n.lastIndexOf("/");if(e<0)return n.length;if(Ah.test(n)){let r=n.indexOf("/");if(r>=0&&e===r+1)return n.length}let t=n.indexOf("?");return t>=0&&t<e?xi(n.substring(0,t)):e+1}function wh(n,e){let t=If(n),r=If(e);if(r.scheme)return Pd(r);let i={scheme:t.scheme,authority:t.authority,path:"",query:r.query,fragment:r.fragment};return r.authority?(i.authority=r.authority,i.path=Md(r.path),Pd(i)):(r.path===""?(i.path=t.path,r.query||(i.query=t.query)):Je(r.path,"/")?i.path=Md(r.path):i.path=Md(Dh(t,r.path)),Pd(i))}var Ai=new Map,Oh=200;function If(n){var r,i,o,a,s;if(Ai.has(n))return Ai.get(n);let e=n.match(xh),t;return e===null?t={scheme:"",authority:"",path:"",query:"",fragment:""}:t={scheme:(r=e[1])!=null?r:"",authority:(i=e[2])!=null?i:"",path:(o=e[3])!=null?o:"",query:(a=e[4])!=null?a:"",fragment:(s=e[5])!=null?s:""},Ai.size>=Oh&&Ai.clear(),Ai.set(n,t),t}function Pd(n){let e="";return n.scheme&&(e+=n.scheme+":"),n.authority&&(e+="//"+n.authority),e+=n.path,n.query&&(e+="?"+n.query),n.fragment&&(e+="#"+n.fragment),e}function Md(n){let e=n.split(/(?=\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===".."||i==="."||i==="")){if(i==="/.."){t.pop(),r===e.length-1&&t.push("/");continue}if(i==="/."){r===e.length-1&&t.push("/");continue}t.push(i)}}return t.join("")}function Dh(n,e){if(n.authority&&n.path==="")return"/"+e;let t=n.path;return t.substring(0,t.lastIndexOf("/")+1)+e}function bf(...n){var r,i,o;let e=n.filter(a=>a!==""),t=e.length;if(t===0)return"";if(t===1)return(r=e[0])!=null?r:"";{let a=(i=e[0])!=null?i:"",s=(o=e[1])!=null?o:"",d=wh(a,s),u=e.slice(2);return bf(d,...u)}}var $n=bf;var wi=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return Ad(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn("DASH: forcing the parsing of a referencing ContentProtection"),Ad(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),Ad(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function Ad(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)==="urn:uuid:"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,"").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let a={keyId:e.attributes.keyId,systemId:t};n.contentProtections===void 0?n.contentProtections={keyIds:[a],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[a]:n.contentProtections.keyIds.push(a)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let a of r)i.push({systemId:t,data:a});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:"cenc",values:i}]};return}let o=X(n.contentProtections.initData,a=>a.type==="cenc");o===void 0?n.contentProtections.initData.push({type:"cenc",values:i}):o.values.push(...i)}function aa(n){let e=Date.parse(n)-K();if(isNaN(e)){m.warn("DASH Parser: Invalid clock received: ",n);return}return e}function xd(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri==="urn:mpeg:dash:utc:http-iso:2014"||t.schemeIdUri==="urn:mpeg:dash:utc:http-xsdate:2014")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function sa(n){let{representations:e}=n,t=null;for(let r=0;r<e.length;r++){let i=e[r].index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function wd(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let o=null,a=null;if(r!==void 0){let s=sa(r);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(i!==void 0){let s=sa(i);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(r!==void 0&&o===null||i!==void 0&&a===null)return m.info("Parser utils: found Period with no segment. ","Going to previous one to calculate last position"),{safe:void 0,unsafe:void 0};if(a!==null)return o!==null?{safe:Math.min(o,a),unsafe:Math.max(o,a)}:{safe:a,unsafe:a};if(o!==null)return{safe:o,unsafe:o}}}return{safe:void 0,unsafe:void 0}}function da(n){let{representations:e}=n,t=null;for(let r=0;r<e.length;r++){let i=e[r].index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function Od(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let o=null,a=null;if(r!==void 0){let s=da(r);if(s===void 0)return;o=s}if(i!==void 0){let s=da(i);if(s===void 0)return;a=s}if(r!==void 0&&o===null||i!==void 0&&a===null){m.info("Parser utils: found Period with no segment. ","Going to next one to calculate first position");return}if(a!==null)return o!==null?Math.max(o,a):a;if(o!==null)return o}}}function Dd(n){if(n.length===0)throw new Error("DASH Parser: no period available for a dynamic content");let e=Od(n),t=wd(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var Oi=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(K()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+K()/1e3,0):this._lastPosition}};function Ld(n,e){return n.type!=="dynamic"?0:_(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Nd(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn("DASH: Updating overlapping Periods.",i==null?void 0:i.start,r.start),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function Ud(n,e){let t=[];return n.forEach((r,i)=>{let o;if(!_(r.attributes.start))o=r.attributes.start;else if(i===0)o=!e.isDynamic||_(e.availabilityStartTime)?0:e.availabilityStartTime;else{let u=t[t.length-1];if(!_(u)&&!_(u.periodEnd))o=u.periodEnd;else throw new Error("Missing start time when parsing periods.")}let a,s=n[i+1];_(r.attributes.duration)?i===n.length-1?a=e.duration:_(s.attributes.start)||(a=s.attributes.start-o):a=r.attributes.duration;let d=_(a)?void 0:o+a;t.push({periodStart:o,periodDuration:a,periodEnd:d})}),t}function Lh(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let o of i)for(let a of $t){let s=n[a];if(s!==void 0)for(let d of s)d.id===o&&(d.trickModeTracks===void 0&&(d.trickModeTracks=[]),d.trickModeTracks.push(r))}}}var Sf=Lh;var Nh=["subtitle","caption"];function Bd(n,e,t,r){function i(a,s){let d=a.split("/")[0];if(Q($t,d))return d;if(a==="application/ttml+xml")return"text";if(a==="application/mp4")return s!==null&&X(s,u=>u.schemeIdUri==="urn:mpeg:dash:role:2011"&&Q(Nh,u.value))!==void 0?"text":void 0}function o(a){switch(a.substring(0,3)){case"avc":case"hev":case"hvc":case"vp8":case"vp9":case"av1":return"video";case"vtt":return"text"}switch(a.substring(0,4)){case"mp4a":return"audio";case"wvtt":case"stpp":return"text"}}if(e!==null){let a=i(e,r);if(a!==void 0)return a}if(t!==null){let a=o(t);if(a!==void 0)return a}for(let a=0;a<n.length;a++){let s=n[a],{mimeType:d,codecs:u}=s.attributes;if(d!==void 0){let c=i(d,r);if(c!==void 0)return c}if(u!==void 0){let c=o(u);if(c!==void 0)return c}}}var Uh=/[, ]+/g;function Tf(n){return w(n)?n.trim().replace(Uh,", "):""}function _f(n){let[e,t,r,i,o,a,s,d]=n.split(".");if(e!=="vp08"&&e!=="vp09"&&e!=="vp10")return;let u,c,l;if((i!==void 0&&i==="10"||i==="12")&&(u=parseInt(i,10)),s!==void 0&&(s==="16"?c="pq":s==="18"&&(c="hlg")),a!==void 0&&d!==void 0&&a==="09"&&d==="09"&&(l="rec2020"),!(u===void 0||c===void 0))return{colorDepth:u,eotf:c,colorSpace:l}}function Fd(n,e){var p,y,h;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:o,start:a,receivedTime:s,unsafelyBaseOnPreviousRepresentation:d,inbandEventStreams:u,isLastPeriod:c}=e,f={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:d,isEMSGWhitelisted:b=>u===void 0?!1:u.some(({schemeIdUri:T})=>T===b.schemeIdUri),isLastPeriod:c,manifestBoundsCalculator:r,isDynamic:i,periodEnd:o,periodStart:a,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:b}=n.children;g=new _n(b,f)}else if(n.children.segmentList!==void 0){let{segmentList:b}=n.children;g=new En(b,f)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let b=e.parentSegmentTemplates.slice(),T=n.children.segmentTemplate;T!==void 0&&b.push(T);let v=j({},...b);(v.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(f.availabilityTimeOffset=((p=v.availabilityTimeOffset)!=null?p:0)+((y=e.availabilityTimeOffset)!=null?y:0)),(v.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(f.availabilityTimeComplete=(h=v.availabilityTimeComplete)!=null?h:e.availabilityTimeComplete),g=oa.isTimelineIndexArgument(v)?new oa(v,f):new vn(v,f)}else{let b=e.adaptation.children;if(b.segmentBase!==void 0){let{segmentBase:T}=b;g=new _n(T,f)}else if(b.segmentList!==void 0){let{segmentList:T}=b;g=new En(T,f)}else g=new vn({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:""},f)}return g}function At(n,e){var i;if(e.length===0)return n;let t=e.map(o=>({url:o.value}));if(n.length===0)return t;let r=[];for(let o=0;o<n.length;o++){let a=n[o];for(let s=0;s<t.length;s++){let d=t[s],u=$n(a.url,d.url);r.push({url:u,serviceLocation:(i=d.serviceLocation)!=null?i:a.serviceLocation})}}return r}function Bh(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Fh({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:"")+(r!=null?r:"")).indexOf("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")!==-1&&(i==="hvc1.2.4.L153.B0"||i==="hev1.2.4.L153.B0"))return{colorDepth:10,eotf:"pq",colorSpace:"rec2020"};let a=X([...e!=null?e:[],...t!=null?t:[]],s=>s.schemeIdUri==="urn:mpeg:mpegB:cicp:TransferCharacteristics");if(a!==void 0)switch(a.value){case"15":return;case"16":return{eotf:"pq"};case"18":return{eotf:"hlg"}}if(i!==void 0&&/^vp(08|09|10)/.exec(i))return _f(i)}function Kd(n,e,t){var i,o,a,s,d,u,c;let r=[];for(let l of n){let f=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:"")+(l.attributes.width!==void 0?`-${l.attributes.width}`:"")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:"")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:"");for(;r.some(x=>x.id===f);)f+="-dup";let g=(o=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(f))!=null?o:null,p=Bh(l,e),y=(a=l.attributes.availabilityTimeComplete)!=null?a:t.availabilityTimeComplete,h;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(h=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((d=t.availabilityTimeOffset)!=null?d:0));let b=j({},t,{availabilityTimeOffset:h,availabilityTimeComplete:y,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),T=Fd(l,b),v;l.attributes.bitrate===void 0?(m.warn("DASH: No usable bitrate found in the Representation."),v=0):v=l.attributes.bitrate;let E=At(t.baseURLs,l.children.baseURLs),R=E.length===0?[{baseUrl:"",id:void 0}]:E.map(x=>({baseUrl:x.url,id:x.serviceLocation})),k={bitrate:v,cdnMetadata:R,index:T,id:f};l.children.supplementalProperties!==void 0&&X(l.children.supplementalProperties,x=>x.schemeIdUri==="tag:dolby.com,2018:dash:EC3_ExtensionType:2018"&&x.value==="JOC")&&(k.isSpatialAudio=!0);let A;l.attributes.codecs!==void 0?A=l.attributes.codecs:e.attributes.codecs!==void 0&&(A=e.attributes.codecs),A!==void 0&&(A=A==="mp4a.40.02"?"mp4a.40.2":A,k.codecs=A);let M;l.attributes.supplementalCodecs!==void 0?M=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(M=e.attributes.supplementalCodecs),M!==void 0&&(k.supplementalCodecs=Tf(M)),l.attributes.frameRate!==void 0?k.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(k.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?k.height=l.attributes.height:e.attributes.height!==void 0&&(k.height=e.attributes.height),l.attributes.mimeType!==void 0?k.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(k.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?k.width=l.attributes.width:e.attributes.width!==void 0&&(k.width=e.attributes.width);{let x=[...(u=e.children.contentProtections)!=null?u:[],...(c=l.children.contentProtections)!=null?c:[]];for(let L of x)t.contentProtectionParser.add(k,L)}k.hdrInfo=Fh({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:A}),r.push(k)}return r}function Kh(n){if(n===void 0)return!1;let e=n.schemeIdUri==="urn:tva:metadata:cs:AudioPurposeCS:2007"&&n.value==="1",t=n.schemeIdUri==="urn:mpeg:dash:role:2011"&&n.value==="description";return e||t}function Vh(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri==="urn:tva:metadata:cs:AudioPurposeCS:2007"&&r.value==="2")||e!==void 0&&e.some(r=>r.schemeIdUri==="urn:mpeg:dash:role:2011"&&r.value==="caption"))}function zh(n){return n===void 0?!1:n.schemeIdUri==="urn:mpeg:dash:role:2011"&&n.value==="sign"}function Hh(n,e){if(w(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:o,isTrickModeTrack:a,type:s}=e,d=s;return w(n.attributes.language)&&(d+=`-${n.attributes.language}`),t===!0&&(d+="-cc"),r===!0&&(d+="-cc"),i===!0&&(d+="-ad"),o===!0&&(d+="-si"),a&&(d+="-trickMode"),w(n.attributes.contentType)&&(d+=`-${n.attributes.contentType}`),w(n.attributes.codecs)&&(d+=`-${n.attributes.codecs}`),w(n.attributes.mimeType)&&(d+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(d+=`-${String(n.attributes.frameRate)}`),d}function Wh(n){if(!_(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri==="urn:mpeg:dash:adaptation-set-switching:2016"&&!_(t.value))return t.value.split(",").map(r=>r.trim()).filter(r=>r)}return[]}function Vd(n,e){var s,d,u,c,l,f,g;let t={video:[],audio:[],text:[]},r=[],i={},o=[];for(let p=0;p<n.length;p++){let y=n[p],h=y.children,{essentialProperties:b,roles:T,label:v}=h,E=Array.isArray(T)&&T.some(Ie=>Ie.value==="main")&&T.some(Ie=>Ie.schemeIdUri==="urn:mpeg:dash:role:2011"),R=y.children.representations,k=(s=y.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,A;(y.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(A=((d=y.attributes.availabilityTimeOffset)!=null?d:0)+((u=e.availabilityTimeOffset)!=null?u:0));let M=y.attributes.mimeType,x=y.attributes.codecs,L=Bd(R,w(M)?M:null,w(x)?x:null,_(h.roles)?null:h.roles);if(L===void 0)continue;let O=(c=y.attributes.selectionPriority)!=null?c:1,N=y.attributes.id,C=Wh(y),P=[];e.segmentTemplate!==void 0&&P.push(e.segmentTemplate),y.children.segmentTemplate!==void 0&&P.push(y.children.segmentTemplate);let D={availabilityTimeComplete:k,availabilityTimeOffset:A,baseURLs:At(e.baseURLs,h.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:P,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},F=Array.isArray(b)?X(b,Ie=>Ie.schemeIdUri==="http://dashif.org/guidelines/trickmode"):void 0,V=(l=F==null?void 0:F.value)==null?void 0:l.split(" "),$=V!==void 0,{accessibilities:q}=h,W;T!==void 0&&T.some(Ie=>Ie.value==="dub")&&(W=!0);let z;L!=="text"?z=!1:z=Vh(q,T);let H;L==="text"&&T!==void 0&&T.some(Ie=>Ie.value==="forced-subtitle"||Ie.value==="forced_subtitle")&&(H=!0);let se;L!=="audio"?se=!1:q!==void 0&&(se=q.some(Kh));let oe;L!=="video"?oe=!1:q!==void 0&&(oe=q.some(zh));let ue=Hh(y,{isAudioDescription:se,isForcedSubtitle:H,isClosedCaption:z,isSignInterpreted:oe,isTrickModeTrack:$,type:L});for(;Q(o,ue);)ue+="-dup";let he=ue;o.push(ue),D.unsafelyBaseOnPreviousAdaptation=(g=(f=e.unsafelyBaseOnPreviousPeriod)==null?void 0:f.getAdaptation(ue))!=null?g:null;let Y=Kd(R,y,D),ce={id:ue,representations:Y,type:L,isTrickModeTrack:$};if(_(y.attributes.language)||(ce.language=y.attributes.language),_(z)||(ce.closedCaption=z),_(se)||(ce.audioDescription=se),W===!0&&(ce.isDub=!0),H!==void 0&&(ce.forcedSubtitles=H),oe===!0&&(ce.isSignInterpreted=!0),v!==void 0&&(ce.label=v),V!==void 0)r.push({adaptation:ce,trickModeAttachedAdaptationIds:V});else{let Ie=-1;for(let Bt of C){let $e=i[Bt];if($e!==void 0&&$e.newID!==he&&Q($e.adaptationSetSwitchingIDs,N)){Ie=ye(t[L],Tt=>Tt[0].id===Bt);let Ue=t[L][Ie];if(Ue!==void 0&&Ue[0].audioDescription===ce.audioDescription&&Ue[0].closedCaption===ce.closedCaption&&Ue[0].language===ce.language){m.info('DASH Parser: merging "switchable" AdaptationSets',N,Bt),Ue[0].representations.push(...ce.representations),Ue[1]={priority:Math.max(O,Ue[1].priority),isMainAdaptation:E||Ue[1].isMainAdaptation,indexInMpd:Math.min(p,Ue[1].indexInMpd)};break}}}Ie<0&&t[L].push([ce,{priority:O,isMainAdaptation:E,indexInMpd:p}])}!_(N)&&_(i[N])&&(i[N]={newID:he,adaptationSetSwitchingIDs:C})}let a=$t.reduce((p,y)=>{let h=t[y];return h.length>0&&(h.sort(Ef),p[y]=h.map(([b])=>b)),p},{});return t.video.sort(Ef),Sf(a,r),a}function Ef(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var Gh=Ze();function zd(n,e){var a,s,d,u,c;let t=[],r=Ud(n,e);if(r.length!==n.length)throw new Error("MPD parsing error: the time information are incoherent.");let{isDynamic:i,manifestBoundsCalculator:o}=e;!i&&!_(e.duration)&&o.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let f=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),y=At(e.baseURLs,g.children.baseURLs),{periodStart:h,periodDuration:b,periodEnd:T}=r[l],v;for(_(g.attributes.id)?(m.warn("DASH: No usable id found in the Period. Generating one."),v="gen-dash-period-"+Gh()):v=g.attributes.id;t.some(F=>F.id===v);)v+="-dup";let E=p!==void 0?p.receivedTime:e.receivedTime,R=(s=(a=e.unsafelyBaseOnPreviousManifest)==null?void 0:a.getPeriod(v))!=null?s:null,k=g.attributes.availabilityTimeComplete,A=g.attributes.availabilityTimeOffset,{manifestProfiles:M,contentProtectionParser:x}=e,{segmentTemplate:L}=g.children;x.addReferences((d=g.children.contentProtections)!=null?d:[]);let O={availabilityTimeComplete:k,availabilityTimeOffset:A,baseURLs:y,contentProtectionParser:x,manifestBoundsCalculator:o,end:T,isDynamic:i,isLastPeriod:f,manifestProfiles:M,receivedTime:E,segmentTemplate:L,start:h,unsafelyBaseOnPreviousPeriod:R},N=Vd(g.children.adaptations,O),C=((u=e.xmlNamespaces)!=null?u:[]).concat((c=g.attributes.namespaces)!=null?c:[]),P=jh(g.children.eventStreams,h,C),D={id:v,start:h,end:T,duration:b,adaptations:N,streamEvents:P};if(t.unshift(D),!o.lastPositionIsKnown()){let F=qh(N);if(!i)typeof F=="number"&&o.setLastPosition(F);else if(typeof F=="number"){let V=K()/1e3;o.setLastPosition(F,V)}else{let V=vf(e,h);if(V!==void 0){let[$,q]=V;o.setLastPosition($,q)}}}}if(e.isDynamic&&!o.lastPositionIsKnown()){let l=vf(e,0);if(l!==void 0){let[f,g]=l;o.setLastPosition(f,g)}}return Nd(t)}function vf(n,e){if(_(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn("DASH Parser: no clock synchronization mechanism found. Using the system clock instead.");let r=t-n.availabilityStartTime,i=K()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=K()/1e3,i=r+t;if(i>=e)return[i,r]}}function qh(n){let e=null,t=!0,r=wn(n).filter(o=>!_(o)),i=Ln(r,o=>o);for(let o of i){let a=o.representations;for(let s of a){let d=s.index.getLastAvailablePosition();d!==null&&(t=!1,typeof d=="number"&&(e=_(e)?d:Math.max(e,d)))}}if(_(e)){if(t)return null}else return e}function jh(n,e,t){var i,o;let r=[];for(let a of n){let{schemeIdUri:s="",timescale:d=1}=a.attributes,u=t.concat((i=a.attributes.namespaces)!=null?i:[]);for(let c of a.children.events)if(c.eventStreamData!==void 0){let l=((o=c.presentationTime)!=null?o:0)/d+e,f=c.duration===void 0?void 0:l+c.duration/d,g,p;if(!Ft&&c.eventStreamData instanceof Element)g=c.eventStreamData;else try{p={namespaces:u,data:typeof c.eventStreamData=="string"?c.eventStreamData:Le(new Uint8Array(c.eventStreamData))}}catch(y){m.error("DASH: Error while parsing event-stream:",y instanceof Error?y.message:"Unknown error")}r.push({start:l,end:f,id:c.id,data:{type:"dash-event-stream",value:{schemeIdUri:s,timescale:d,element:g,xmlData:p}}})}}return r}function Qn(n,e,t,r,i=new WeakMap){let{children:o,attributes:a}=n;if(_(e.externalClockOffset)){let d=a.type==="dynamic",u=X(o.utcTimings,f=>f.schemeIdUri==="urn:mpeg:dash:utc:direct:2014"&&!_(f.value)),c=!_(u)&&!_(u.value)?aa(u.value):void 0,l=!_(c)&&!isNaN(c)?c:void 0;if(!_(l)&&r!==!0)e.externalClockOffset=l;else if(d&&r!==!0){let f=xd(n);if(!_(f)&&f.length>0)return{type:"needs-clock",value:{url:f,continue:function(p){return p.success?(e.externalClockOffset=aa(p.data),Qn(n,e,t,!0)):(t.push(p.error),m.warn("DASH Parser: Error on fetching the clock ressource",p.error),Qn(n,e,t,!0))}}}}}let s=[];for(let d=0;d<o.periods.length;d++){let{xlinkHref:u,xlinkActuate:c}=o.periods[d].attributes;!_(u)&&c==="onLoad"&&s.push({index:d,ressource:u})}return s.length===0?Yh(n,e,t,i):{type:"needs-xlinks",value:{xlinksUrls:s.map(({ressource:d})=>d),continue:function(u){if(u.length!==s.length)throw new Error("DASH parser: wrong number of loaded ressources.");for(let c=u.length-1;c>=0;c--){let l=s[c].index,{parsed:f,warnings:g,receivedTime:p,sendingTime:y,url:h}=u[c];g.length>0&&t.push(...g);for(let b of f)i.set(b,{receivedTime:p,sendingTime:y,url:h});o.periods.splice(l,1,...f)}return Qn(n,e,t,r,i)}}}}function Yh(n,e,t,r){var P,D,F,V,$;let{children:i,attributes:o}=n,a=o.type==="dynamic",s=e.url!==void 0?[{url:e.url.substring(0,xi(e.url))}]:[],d=At(s,i.baseURLs),u=Ld(o,e.referenceDateTime),c=o.timeShiftBufferDepth,l=o.maxSegmentDuration,{externalClockOffset:f,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,y=new Oi({availabilityStartTime:u,isDynamic:a,timeShiftBufferDepth:c,serverTimestampOffset:p}),h=new wi;h.addReferences((P=i.contentProtections)!=null?P:[]);let b={availabilityStartTime:u,baseURLs:d,clockOffset:f,contentProtectionParser:h,duration:o.duration,isDynamic:a,manifestBoundsCalculator:y,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},T=zd(i.periods,b);h.finalize();let v=o.duration,E,R,k=null,A;o.minimumUpdatePeriod!==void 0&&o.minimumUpdatePeriod>=0&&(E=o.minimumUpdatePeriod===0?U.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:o.minimumUpdatePeriod);let{minimumSafePosition:M,maximumSafePosition:x,maximumUnsafePosition:L}=Dd(T),O=K();if(a){let q;x!==void 0?q=x:p===void 0?(m.warn("DASH Parser: use system clock to define maximum position"),q=Date.now()/1e3-u):q=(K()+p)/1e3-u;let W=y.getEstimatedLiveEdge();W===void 0&&(L!==void 0?W=L:W=q),A={isLinear:!0,maximumSafePosition:q,livePosition:W,time:O},R=M,k=c!=null?c:null,k!==null&&(k+=l!=null?l:0),k!==null&&R!==void 0&&W-R>k&&(k=W-R)}else{R=M,R===void 0&&(R=(F=(D=T[0])==null?void 0:D.start)!=null?F:0);let q=v!=null?v:1/0;if(T[T.length-1]!==void 0){let W=T[T.length-1],z=(V=W.end)!=null?V:W.duration!==void 0?W.start+W.duration:void 0;z!==void 0&&z<q&&(q=z)}x!==void 0&&x<q&&(q=x),A={isLinear:!1,maximumSafePosition:q,livePosition:void 0,time:O}}let N=!a||n.attributes.minimumUpdatePeriod===void 0&&((($=T[T.length-1])==null?void 0:$.end)!==void 0||n.attributes.duration!==void 0);return{type:"done",value:{parsed:{availabilityStartTime:u,clockOffset:e.externalClockOffset,isDynamic:a,isLive:a,isLastPeriodKnown:N,periods:T,publishTime:o.publishTime,suggestedPresentationDelay:o.suggestedPresentationDelay,transportType:"dash",timeBounds:{minimumSafePosition:R,timeshiftDepth:k,maximumTimeData:A},lifetime:E,uris:_(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var Rf=Qn;function xt(n){let e=n.textContent,t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}var $h=/^P(([\d.]*)Y)?(([\d.]*)M)?(([\d.]*)D)?T?(([\d.]*)H)?(([\d.]*)M)?(([\d.]*)S)?/,Qh=/([0-9]+)-([0-9]+)/;function We(n,e){return n==="true"?[!0,null]:n==="false"?[!1,null]:[!1,new et(`\`${e}\` property is not a boolean value but "${n}"`)]}function Se(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new et(`\`${e}\` property is not an integer value but "${n}"`)]:[t,null]}function je(n,e){if(n==="INF")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new et(`\`${e}\` property is invalid: "${n}"`)]:[t,null]}function Hd(n,e){if(n==="true")return[!0,null];if(n==="false")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new et(`\`${e}\` property is not a boolean nor an integer but "${n}"`)]:[t,null]}function ua(n,e){let t=Date.parse(n);return isNaN(t)?[null,new et(`\`${e}\` is in an invalid date format: "${n}"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function pt(n,e){if(!w(n))return[0,new et(`\`${e}\` property is empty`)];let t=$h.exec(n);return t===null?[null,new et(`\`${e}\` property has an unrecognized format "${n}"`)]:[parseFloat(w(t[2])?t[2]:"0")*365*24*60*60+parseFloat(w(t[4])?t[4]:"0")*30*24*60*60+parseFloat(w(t[6])?t[6]:"0")*24*60*60+parseFloat(w(t[8])?t[8]:"0")*60*60+parseFloat(w(t[10])?t[10]:"0")*60+parseFloat(w(t[12])?t[12]:"0"),null]}function Rn(n,e){let t=Qh.exec(n);return t===null?[null,new et(`\`${e}\` property has an unrecognized format "${n}"`)]:[[+t[1],+t[2]],null]}function kf(n,e){try{return[ft(n),null]}catch(t){return[null,new et(`\`${e}\` is not a valid base64 string: "${n}"`)]}}function Xn(n,e){let t=/^(\d+)\/(\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:je(n,e)}function ze(n){let e,t;for(let r=0;r<n.attributes.length;r++){let i=n.attributes[r];switch(i.name){case"schemeIdUri":e=i.value;break;case"value":t=i.value;break}}return{schemeIdUri:e,value:t}}function xe(n,e){return function(t,{asKey:r,parser:i,dashName:o}){let[a,s]=i(t,o);s!==null&&(m.warn(s.message),e.push(s)),a!==null&&(n[r]=a)}}var et=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name="MPDError"}};function Xh(n){let e=[],t=[];for(let r=0;r<n.length;r++)if(n[r].nodeType===Node.ELEMENT_NODE){let i=n[r];if(i.nodeName==="cenc:pssh"){let o=i.textContent;if(o!==null&&o.length>0){let[a,s]=kf(o,"cenc:pssh");s!==null&&(m.warn(s.message),e.push(s)),a!==null&&t.push(a)}}}return[{cencPssh:t},e]}function Zh(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"schemeIdUri":e.schemeIdUri=r.value;break;case"value":e.value=r.value;break;case"cenc:default_KID":e.keyId=qe(r.value.replace(/-/g,""));break;case"ref":e.ref=r.value;break;case"refId":e.refId=r.value;break}}return e}function wt(n){let[e,t]=Xh(n.childNodes),r=Zh(n);return[{children:e,attributes:r},t]}function Wd(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"id":e.id=r.value;break;case"lang":e.language=r.value;break;case"contentType":e.contentType=r.value;break;case"par":e.par=r.value;break}}return e}function Gd(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"range":r(o.value,{asKey:"range",parser:Rn,dashName:"range"});break;case"sourceURL":e.media=o.value;break}}return[e,t]}function Ot(n){let e={},t=[],r=xe(e,t),i=n.childNodes;for(let o=0;o<i.length;o++)if(i[o].nodeType===Node.ELEMENT_NODE){let a=i[o];if(a.nodeName==="Initialization"){let[s,d]=Gd(a);e.initialization=s,t=t.concat(d)}}for(let o=0;o<n.attributes.length;o++){let a=n.attributes[o];switch(a.name){case"timescale":r(a.value,{asKey:"timescale",parser:Se,dashName:"timescale"});break;case"presentationTimeOffset":r(a.value,{asKey:"presentationTimeOffset",parser:je,dashName:"presentationTimeOffset"});break;case"indexRange":r(a.value,{asKey:"indexRange",parser:Rn,dashName:"indexRange"});break;case"indexRangeExact":r(a.value,{asKey:"indexRangeExact",parser:We,dashName:"indexRangeExact"});break;case"availabilityTimeOffset":r(a.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(a.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break;case"duration":r(a.value,{asKey:"duration",parser:Se,dashName:"duration"});break;case"startNumber":r(a.value,{asKey:"startNumber",parser:Se,dashName:"startNumber"});break;case"endNumber":r(a.value,{asKey:"endNumber",parser:Se,dashName:"endNumber"});break}}return[e,t]}function qd(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"media":e.media=o.value;break;case"indexRange":r(o.value,{asKey:"indexRange",parser:Rn,dashName:"indexRange"});break;case"index":e.index=o.value;break;case"mediaRange":r(o.value,{asKey:"mediaRange",parser:Rn,dashName:"mediaRange"});break}}return[e,t]}function Di(n){let[e,t]=Ot(n),r=t,i=[],o=n.childNodes;for(let s=0;s<o.length;s++)if(o[s].nodeType===Node.ELEMENT_NODE){let d=o[s];if(d.nodeName==="SegmentURL"){let[u,c]=qd(d);i.push(u),r=r.concat(c)}}return[j(e,{list:i}),r]}function jd(n){let e=null;return function(){if(e===null){let t=n.getElementsByTagName("S");return e=t,t}return e}}function kn(n){let[e,t]=Ot(n),r=t,i;for(let s=0;s<n.childNodes.length;s++)if(n.childNodes[s].nodeType===Node.ELEMENT_NODE){let d=n.childNodes[s];d.nodeName==="SegmentTimeline"&&(i=jd(d))}let o=j({},e,{duration:e.duration,timelineParser:i}),a=xe(o,r);for(let s=0;s<n.attributes.length;s++){let d=n.attributes[s];switch(d.nodeName){case"initialization":_(o.initialization)&&(o.initialization={media:d.value});break;case"index":o.index=d.value;break;case"availabilityTimeOffset":a(d.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":a(d.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break;case"media":o.media=d.value;break;case"bitstreamSwitching":a(d.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break}}return[o,r]}function Jh(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++)if(n[i].nodeType===Node.ELEMENT_NODE){let o=n[i];switch(o.nodeName){case"BaseURL":let[a,s]=xt(o);a!==void 0&&e.baseURLs.push(a),r=r.concat(s);break;case"InbandEventStream":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(ze(o));break;case"SegmentBase":let[d,u]=Ot(o);e.segmentBase=d,u.length>0&&(r=r.concat(u));break;case"SegmentList":let[c,l]=Di(o);r=r.concat(l),e.segmentList=c;break;case"SegmentTemplate":let[f,g]=kn(o);r=r.concat(g),e.segmentTemplate=f;break;case"ContentProtection":let[p,y]=wt(o);y.length>0&&(r=r.concat(y)),p!==void 0&&t.push(p);break;case"SupplementalProperty":_(e.supplementalProperties)?e.supplementalProperties=[ze(o)]:e.supplementalProperties.push(ze(o));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function ey(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"audioSamplingRate":e.audioSamplingRate=o.value;break;case"bandwidth":r(o.value,{asKey:"bitrate",parser:Se,dashName:"bandwidth"});break;case"codecs":e.codecs=o.value;break;case"codingDependency":r(o.value,{asKey:"codingDependency",parser:We,dashName:"codingDependency"});break;case"frameRate":r(o.value,{asKey:"frameRate",parser:Xn,dashName:"frameRate"});break;case"height":r(o.value,{asKey:"height",parser:Se,dashName:"height"});break;case"id":e.id=o.value;break;case"maxPlayoutRate":r(o.value,{asKey:"maxPlayoutRate",parser:je,dashName:"maxPlayoutRate"});break;case"maximumSAPPeriod":r(o.value,{asKey:"maximumSAPPeriod",parser:je,dashName:"maximumSAPPeriod"});break;case"mimeType":e.mimeType=o.value;break;case"profiles":e.profiles=o.value;break;case"qualityRanking":r(o.value,{asKey:"qualityRanking",parser:Se,dashName:"qualityRanking"});break;case"scte214:supplementalCodecs":e.supplementalCodecs=o.value;break;case"segmentProfiles":e.segmentProfiles=o.value;break;case"width":r(o.value,{asKey:"width",parser:Se,dashName:"width"});break;case"availabilityTimeOffset":r(o.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(o.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break}}return e.bitrate===void 0&&t.push(new et("No bitrate found on a Representation")),[e,t]}function Cf(n){let[e,t]=Jh(n.childNodes),[r,i]=ey(n),o=t.concat(i);return[{children:e,attributes:r},o]}function ty(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++)if(n[i].nodeType===Node.ELEMENT_NODE){let o=n[i];switch(o.nodeName){case"Accessibility":e.accessibilities===void 0?e.accessibilities=[ze(o)]:e.accessibilities.push(ze(o));break;case"BaseURL":let[a,s]=xt(o);a!==void 0&&e.baseURLs.push(a),s.length>0&&(r=r.concat(s));break;case"ContentComponent":e.contentComponent=Wd(o);break;case"EssentialProperty":_(e.essentialProperties)?e.essentialProperties=[ze(o)]:e.essentialProperties.push(ze(o));break;case"InbandEventStream":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(ze(o));break;case"Label":let d=o.textContent;d!=null&&(e.label=d);break;case"Representation":let[u,c]=Cf(o);e.representations.push(u),c.length>0&&(r=r.concat(c));break;case"Role":_(e.roles)?e.roles=[ze(o)]:e.roles.push(ze(o));break;case"SupplementalProperty":_(e.supplementalProperties)?e.supplementalProperties=[ze(o)]:e.supplementalProperties.push(ze(o));break;case"SegmentBase":let[l,f]=Ot(o);e.segmentBase=l,f.length>0&&(r=r.concat(f));break;case"SegmentList":let[g,p]=Di(o);e.segmentList=g,p.length>0&&(r=r.concat(p));break;case"SegmentTemplate":let[y,h]=kn(o);e.segmentTemplate=y,h.length>0&&(r=r.concat(h));break;case"ContentProtection":let[b,T]=wt(o);T.length>0&&(r=r.concat(T)),b!==void 0&&t.push(b);break}}return t.length>0&&(e.contentProtections=t),[e,r]}function ny(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"group":r(o.value,{asKey:"group",parser:Se,dashName:"group"});break;case"lang":e.language=o.value;break;case"contentType":e.contentType=o.value;break;case"par":e.par=o.value;break;case"minBandwidth":r(o.value,{asKey:"minBitrate",parser:Se,dashName:"minBandwidth"});break;case"maxBandwidth":r(o.value,{asKey:"maxBitrate",parser:Se,dashName:"maxBandwidth"});break;case"minWidth":r(o.value,{asKey:"minWidth",parser:Se,dashName:"minWidth"});break;case"maxWidth":r(o.value,{asKey:"maxWidth",parser:Se,dashName:"maxWidth"});break;case"minHeight":r(o.value,{asKey:"minHeight",parser:Se,dashName:"minHeight"});break;case"maxHeight":r(o.value,{asKey:"maxHeight",parser:Se,dashName:"maxHeight"});break;case"minFrameRate":r(o.value,{asKey:"minFrameRate",parser:Xn,dashName:"minFrameRate"});break;case"maxFrameRate":r(o.value,{asKey:"maxFrameRate",parser:Xn,dashName:"maxFrameRate"});break;case"selectionPriority":r(o.value,{asKey:"selectionPriority",parser:Se,dashName:"selectionPriority"});break;case"segmentAlignment":r(o.value,{asKey:"segmentAlignment",parser:Hd,dashName:"segmentAlignment"});break;case"subsegmentAlignment":r(o.value,{asKey:"subsegmentAlignment",parser:Hd,dashName:"subsegmentAlignment"});break;case"bitstreamSwitching":r(o.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break;case"audioSamplingRate":e.audioSamplingRate=o.value;break;case"codecs":e.codecs=o.value;break;case"scte214:supplementalCodecs":e.supplementalCodecs=o.value;break;case"codingDependency":r(o.value,{asKey:"codingDependency",parser:We,dashName:"codingDependency"});break;case"frameRate":r(o.value,{asKey:"frameRate",parser:Xn,dashName:"frameRate"});break;case"height":r(o.value,{asKey:"height",parser:Se,dashName:"height"});break;case"maxPlayoutRate":r(o.value,{asKey:"maxPlayoutRate",parser:je,dashName:"maxPlayoutRate"});break;case"maximumSAPPeriod":r(o.value,{asKey:"maximumSAPPeriod",parser:je,dashName:"maximumSAPPeriod"});break;case"mimeType":e.mimeType=o.value;break;case"profiles":e.profiles=o.value;break;case"segmentProfiles":e.segmentProfiles=o.value;break;case"width":r(o.value,{asKey:"width",parser:Se,dashName:"width"});break;case"availabilityTimeOffset":r(o.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(o.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break}}return[e,t]}function Pf(n){let e=n.childNodes,[t,r]=ty(e),[i,o]=ny(n),a=r.concat(o);return[{children:t,attributes:i},a]}function Yd(n){let e={children:{events:[]},attributes:{}},t=[],r=xe(e.attributes,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"schemeIdUri":e.attributes.schemeIdUri=o.value;break;case"timescale":r(o.value,{asKey:"timescale",parser:Se,dashName:"timescale"});break;case"value":e.attributes.value=o.value;break}}for(let i=0;i<n.childNodes.length;i++)if(n.childNodes[i].nodeType===Node.ELEMENT_NODE){let o=n.childNodes[i];switch(o.nodeName){case"Event":let[a,s]=ry(o);e.children.events.push(a),s.length>0&&(t=t.concat(s));break}}return[e,t]}function ry(n){let e={eventStreamData:n},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"presentationTime":r(o.value,{asKey:"presentationTime",parser:Se,dashName:"presentationTime"});break;case"duration":r(o.value,{asKey:"duration",parser:Se,dashName:"duration"});break;case"id":e.id=o.value;break}}return[e,t]}function iy(n){let e=[],t=[],r,i=[],o=[],a=[];for(let s=0;s<n.length;s++)if(n[s].nodeType===Node.ELEMENT_NODE){let d=n[s];switch(d.nodeName){case"BaseURL":let[u,c]=xt(d);u!==void 0&&e.push(u),o=o.concat(c);break;case"AdaptationSet":let[l,f]=Pf(d);t.push(l),o=o.concat(f);break;case"EventStream":let[g,p]=Yd(d);a.push(g),o=o.concat(p);break;case"SegmentTemplate":let[y,h]=kn(d);r=y,h.length>0&&(o=o.concat(h));break;case"ContentProtection":let[b,T]=wt(d);T.length>0&&(o=o.concat(T)),b!==void 0&&i.push(b);break}}return[{baseURLs:e,adaptations:t,eventStreams:a,segmentTemplate:r,contentProtections:i},o]}function oy(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"start":r(o.value,{asKey:"start",parser:pt,dashName:"start"});break;case"duration":r(o.value,{asKey:"duration",parser:pt,dashName:"duration"});break;case"bitstreamSwitching":r(o.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break;case"xlink:href":e.xlinkHref=o.value;break;case"xlink:actuate":e.xlinkActuate=o.value;break}}return[e,t]}function la(n){let[e,t]=iy(n.childNodes),[r,i]=oy(n),o=t.concat(i);return[{children:e,attributes:r},o]}function ay(n){let e=[],t=[],r=[],i=[],o=[],a=[];for(let s=0;s<n.length;s++)if(n[s].nodeType===Node.ELEMENT_NODE){let d=n[s];switch(d.nodeName){case"BaseURL":let[u,c]=xt(d);u!==void 0&&e.push(u),a=a.concat(c);break;case"Location":t.push(d.textContent===null?"":d.textContent);break;case"Period":let[l,f]=la(d);r.push(l),a=a.concat(f);break;case"UTCTiming":let g=ze(d);i.push(g);break;case"ContentProtection":let[p,y]=wt(d);y.length>0&&(a=a.concat(y)),p!==void 0&&o.push(p);break}}return[{baseURLs:e,locations:t,periods:r,utcTimings:i,contentProtections:o},a]}function sy(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"profiles":e.profiles=o.value;break;case"type":e.type=o.value;break;case"availabilityStartTime":r(o.value,{asKey:"availabilityStartTime",parser:ua,dashName:"availabilityStartTime"});break;case"availabilityEndTime":r(o.value,{asKey:"availabilityEndTime",parser:ua,dashName:"availabilityEndTime"});break;case"publishTime":r(o.value,{asKey:"publishTime",parser:ua,dashName:"publishTime"});break;case"mediaPresentationDuration":r(o.value,{asKey:"duration",parser:pt,dashName:"mediaPresentationDuration"});break;case"minimumUpdatePeriod":r(o.value,{asKey:"minimumUpdatePeriod",parser:pt,dashName:"minimumUpdatePeriod"});break;case"minBufferTime":r(o.value,{asKey:"minBufferTime",parser:pt,dashName:"minBufferTime"});break;case"timeShiftBufferDepth":r(o.value,{asKey:"timeShiftBufferDepth",parser:pt,dashName:"timeShiftBufferDepth"});break;case"suggestedPresentationDelay":r(o.value,{asKey:"suggestedPresentationDelay",parser:pt,dashName:"suggestedPresentationDelay"});break;case"maxSegmentDuration":r(o.value,{asKey:"maxSegmentDuration",parser:pt,dashName:"maxSegmentDuration"});break;case"maxSubsegmentDuration":r(o.value,{asKey:"maxSubsegmentDuration",parser:pt,dashName:"maxSubsegmentDuration"});break}}return[e,t]}function Mf(n){let[e,t]=ay(n.childNodes),[r,i]=sy(n),o=t.concat(i);return[{children:e,attributes:r},o]}function $d(n,e){let t=n.documentElement;if(_(t)||t.nodeName!=="MPD")throw new Error("DASH Parser: document root should be MPD");let[r,i]=Mf(t),o=Rf(r,e,i);return a(o);function a(s){if(s.type==="done")return s;if(s.type==="needs-clock")return{type:"needs-resources",value:{urls:[s.value.url],format:"string",continue(d){if(d.length!==1)throw new Error("DASH parser: wrong number of loaded ressources.");let u=s.value.continue(d[0].responseData);return a(u)}}};if(s.type==="needs-xlinks")return{type:"needs-resources",value:{urls:s.value.xlinksUrls,format:"string",continue(d){let u=[];for(let l=0;l<d.length;l++){let{responseData:f,receivedTime:g,sendingTime:p,url:y}=d[l];if(!f.success)throw f.error;let h="<root>"+f.data+"</root>",b=new DOMParser().parseFromString(h,"text/xml");if(_(b)||b.children.length===0)throw new Error("DASH parser: Invalid external ressources");let T=b.children[0].children,v=[],E=[];for(let R=0;R<T.length;R++)if(T[R].nodeType===Node.ELEMENT_NODE){let[k,A]=la(T[R]);E.push(...A),v.push(k)}u.push({url:y,receivedTime:g,sendingTime:p,parsed:v,warnings:E})}let c=s.value.continue(u);return a(c)}}};Qe(s)}}var Af=$d;function Ye(n,e){if(e.length===0)return n;let t,r="",i=n.indexOf("#"),o=n;i>=0&&(r=n.substring(i),o=n.substring(0,i));let a=o.indexOf("?");a===-1?t="?":a+1===o.length?t="":t="&";let s=o+t;for(let d=0;d<e.length;d++){let u=e[d];u[1]===null?s+=u[0]:s+=`${u[0]}=${u[1]}`,d<e.length-1&&(s+="&")}return r.length>0&&(s+=r),s}function Qd(n,e){return(t,r,i)=>new Promise((o,a)=>{let s=Date.now()-K(),d=!1,f={reject:y=>{var v,E;if(d||i.isCancelled())return;d=!0,i.deregister(p);let h=y,b=(v=h==null?void 0:h.message)!=null?v:"Unknown error when fetching the Manifest through a custom manifestLoader.",T=new nt(b,(E=h==null?void 0:h.canRetry)!=null?E:!1,h==null?void 0:h.xhr);a(T)},resolve:y=>{if(d||i.isCancelled())return;d=!0,i.deregister(p);let h=y.receivingTime!==void 0?y.receivingTime-s:void 0,b=y.sendingTime!==void 0?y.sendingTime-s:void 0;o({responseData:y.data,size:y.size,requestDuration:y.duration,url:y.url,receivedTime:h,sendingTime:b})},fallback:()=>{d||i.isCancelled()||(d=!0,i.deregister(p),e(t,r,i).then(o,a))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},f);i.register(p);function p(y){d||(d=!0,typeof g=="function"&&g(),a(y))}})}function dy(n){return function(t,r,i){var s,d;if(t===void 0)throw new Error("Cannot perform HTTP(s) request. URL not known");let o=((s=r.cmcdPayload)==null?void 0:s.type)==="query"?Ye(t,r.cmcdPayload.value):t,a=((d=r.cmcdPayload)==null?void 0:d.type)==="headers"?r.cmcdPayload.value:void 0;switch(n){case"arraybuffer":return Te({url:o,headers:a,responseType:"arraybuffer",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case"text":return Te({url:o,headers:a,responseType:"text",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case"document":return Te({url:o,headers:a,responseType:"document",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Qe(n)}}}function Li({customManifestLoader:n},e,t){let r=dy(e),i=typeof n!="function"?r:Qd(n,r);return t!==null?t(i):i}function Jt(n,e){if(e){if(yt(n,1718909296)<0)throw new De("INTEGRITY_ERROR","Incomplete `ftyp` box");if(yt(n,1836019574)<0)throw new De("INTEGRITY_ERROR","Incomplete `moov` box")}else{if(yt(n,1836019558)<0)throw new De("INTEGRITY_ERROR","Incomplete `moof` box");if(yt(n,1835295092)<0)throw new De("INTEGRITY_ERROR","Incomplete `mdat` box")}}function gt(n,e){if(n==="audio"||n==="video")return e==="video/mp4"||e==="audio/mp4"?"mp4":e==="video/webm"||e==="audio/webm"?"webm":void 0;if(n==="text")return e==="application/mp4"?"mp4":void 0}function ca(n){return(e,t,r,i,o)=>{return new Promise((s,d)=>{let u=new B,c=u.linkToSignal(i);u.signal.register(d),n(e,t,r,u.signal,le(ae({},o),{onNewChunk(f){try{a(f),o.onNewChunk(f)}catch(g){l(),u.cancel(),d(g)}}})).then(f=>{if(l(),!u.isUsed()){if(f.resultType==="segment-loaded")try{a(f.resultData.responseData)}catch(g){d(g);return}s(f)}},f=>{l(),d(f)});function l(){u.signal.deregister(d),c()}});function a(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||gt(t.type,t.mimeType)!=="mp4"||Jt(new Uint8Array(s),t.segment.isInit)}}}function xf(n){return async(e,t,r)=>{let i=await n(e,t,r);return o(i.responseData),i;function o(a){if(typeof a=="string"){let s=a.length-1,d=["</","MPD",">"];for(let u=d.length-1;u>=0;u--){let c=d[u];for(;uy(a[s]);)s--;for(let l=c.length-1;l>=0;l--){if(a[s]!==c[l])throw new Error("INTEGRITY_ERROR MPD does not end with </MPD>");s--}}}else if(a instanceof ArrayBuffer){let s=a.byteLength-1,d=new DataView(a),u=[[60,47],[77,80,68],[62]];for(let c=u.length-1;c>=0;c--){let l=u[c];for(;ly(d.getUint8(s));)s--;for(let f=l.length-1;f>=0;f--){if(d.getUint8(s)!==l[f])throw new Error("INTEGRITY_ERROR MPD does not end with </MPD>");s--}}}else if(!_(ee.Document)&&a instanceof ee.Document&&a.documentElement.nodeName!=="MPD")throw new De("INTEGRITY_ERROR","MPD does not end with </MPD>")}}}function uy(n){return n===" "||n===" "||n==="\r"||n===`
5
- `}function ly(n){return n===32||n===9||n===13||n===10}function Xd(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,o,a,s,d){var T;let{responseData:u}=i,c=o.externalClockOffset,l=(T=i.url)!=null?T:o.originalUrl,f=t!=null?t:c,p={unsafelyBaseOnPreviousManifest:o.unsafeMode?o.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:f},y=me.dashParsers;if(y.wasm===null||y.wasm.status==="uninitialized"||y.wasm.status==="failure")return m.debug("DASH: WASM MPD Parser not initialized. Running JS one."),h();{let v=gy(u);if(!hy(v))return m.info("DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one."),h();if(y.wasm.status==="initialized"){m.debug("DASH: Running WASM MPD Parser.");let E=y.wasm.runWasmParser(v,p);return b(E)}else return m.debug("DASH: Awaiting WASM initialization before parsing the MPD."),y.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(y.wasm===null||y.wasm.status!=="initialized")return m.warn("DASH: WASM MPD parser initialization failed. Running JS parser instead"),h();m.debug("DASH: Running WASM MPD Parser.");let R=y.wasm.runWasmParser(v,p);return b(R)})}function h(){if(y.fastJs!==null){let v=my(u),E=y.fastJs(v,p);return b(E)}else if(y.native!==null){let v=py(u),E=y.native(v,p);return b(E)}else throw new Error("No MPD parser is imported")}function b(v){if(v.type==="done"){if(v.value.warnings.length>0&&a(v.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let k=[];return{manifest:new Vn(v.value.parsed,n,k),url:l,warnings:k}}let{value:E}=v,R=E.urls.map(k=>d(()=>{let A=U.getCurrent().DEFAULT_REQUEST_TIMEOUT,M=U.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return E.format==="string"?Te({url:k,responseType:"text",timeout:A,connectionTimeout:M,cancelSignal:s}):Te({url:k,responseType:"arraybuffer",timeout:A,connectionTimeout:M,cancelSignal:s})}).then(A=>{if(E.format==="string"){if(typeof A.responseData!="string")throw new Error("External DASH resources should have been a string");return j(A,{responseData:{success:!0,data:A.responseData}})}else{if(!(A.responseData instanceof ArrayBuffer))throw new Error("External DASH resources should have been ArrayBuffers");return j(A,{responseData:{success:!0,data:A.responseData}})}},A=>{let M=we(A,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"An unknown error occured when parsing ressources."});return j({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:M}})}));return Promise.all(R).then(k=>E.format==="string"?(cy(k),b(E.continue(k))):(fy(k),b(E.continue(k))))}}}function cy(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data=="string")&&t.success)throw new Error("Invalid data given to the LoadedRessource")})}function fy(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error("Invalid data given to the LoadedRessource")})}function my(n){if(n instanceof ArrayBuffer)return Le(new Uint8Array(n));if(typeof n=="string")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function py(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(Le(new Uint8Array(n)),"text/xml");if(typeof n=="string")return new DOMParser().parseFromString(n,"text/xml");if(n instanceof Document)return n;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function gy(n){if(n instanceof ArrayBuffer)return n;if(typeof n=="string")return ve(n).buffer;if(n instanceof Document)return ve(n.documentElement.innerHTML).buffer;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function hy(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function dt([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Ni(n,e){return n===null?null:e.url===null?n.baseUrl:$n(n.baseUrl,e.url)}function Ui(n,e,t,r,i){var u,c;let o=n;((u=t.cmcdPayload)==null?void 0:u.type)==="query"&&(o=Ye(o,t.cmcdPayload.value));let a=((c=t.cmcdPayload)==null?void 0:c.type)==="headers"?t.cmcdPayload.value:void 0;if(e.range===void 0)return Te({url:o,responseType:"arraybuffer",headers:a,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));if(e.indexRange===void 0)return Te({url:o,headers:le(ae({},a),{Range:dt(e.range)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));if(e.range[1]+1===e.indexRange[0])return Te({url:o,headers:le(ae({},a),{Range:dt([e.range[0],e.indexRange[1]])}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));let s=Te({url:o,headers:le(ae({},a),{Range:dt(e.range)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),d=Te({url:o,headers:le(ae({},a),{Range:dt(e.indexRange)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,d]).then(([l,f])=>{let g=re(new Uint8Array(l.responseData),new Uint8Array(f.responseData)),p=Math.min(l.sendingTime,f.sendingTime),y=Math.max(l.receivedTime,f.receivedTime);return{resultType:"segment-loaded",resultData:{url:o,responseData:g,size:l.size+f.size,requestDuration:y-p,sendingTime:p,receivedTime:y}}})}async function Bi(n,e,t,r){let i=null;function o(s){let d=new Uint8Array(s.chunk),u=i!==null?re(i,d):d,c=No(u),l=c[0];i=c[1],!(l!==null&&(l.forEach(f=>{t.onNewChunk(f)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:"chunk-complete",resultData:await Io({url:n,headers:e.headers,onData:o,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function wf(n,e,t,r,i,o){var f,g;if(e.segment.isInit)return Ui(n,e.segment,r,o,i);let a=((f=r.cmcdPayload)==null?void 0:f.type)==="query"?Ye(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)==="headers"?r.cmcdPayload.value:void 0,{segment:d}=e,u;d.range!==void 0?u=le(ae({},s),{Range:dt(d.range)}):s!==void 0&&(u=s);let c=gt(e.type,e.mimeType);if(t&&(c==="mp4"||c===void 0)){if(Sr())return Bi(a,{headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,o);kt("DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge")}return{resultType:"segment-loaded",resultData:await Te({url:a,responseType:"arraybuffer",headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:o,onProgress:i.onProgress})}}function Zd({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:ca(r);function r(i,o,a,s,d){let u=Ni(i,o.segment);return u===null?Promise.resolve({resultType:"segment-created",resultData:null}):n||e===void 0?wf(u,o,n,a,d,s):new Promise((c,l)=>{let f=!1,b={reject:k=>{var L,O;if(f||s.isCancelled())return;f=!0,s.deregister(R);let A=k,M=(L=A==null?void 0:A.message)!=null?L:"Unknown error when fetching a DASH segment through a custom segmentLoader.",x=new nt(M,(O=A==null?void 0:A.canRetry)!=null?O:!1,A==null?void 0:A.xhr);l(x)},resolve:k=>{f||s.isCancelled()||(f=!0,s.deregister(R),c({resultType:"segment-loaded",resultData:{responseData:k.data,size:k.size,requestDuration:k.duration}}))},progress:k=>{f||s.isCancelled()||d.onProgress({duration:k.duration,size:k.size,totalSize:k.totalSize})},fallback:()=>{f||s.isCancelled()||(f=!0,s.deregister(R),wf(u,o,n,a,d,s).then(c,l))}},T;o.segment.range!==void 0&&(T=[o.segment.range],o.segment.indexRange!==void 0&&T.push(o.segment.indexRange));let v={isInit:o.segment.isInit,timeout:a.timeout,byteRanges:T,trackType:o.type,url:u,cmcdPayload:a.cmcdPayload},E=e(v,b);s.register(R);function R(k){f||(f=!0,typeof E=="function"&&E(),l(k))}})}}var eu=408125543,Of=357149030,yy=2807729,Iy=17545,by=475249515,Sy=187,Ty=179,_y=183,Ey=241;function en(n,e,t,[r,i]){let o=r;for(;o<i;){let a=Ry(t,o);if(a===null)return null;let{value:s,length:d}=a,u=o+d,c=ky(t,u);if(c===null)return null;let{length:l,value:f}=c,g=u+l,p=g+f;if(s===n)return[g,p];if(e.length>0){for(let y=0;y<e.length;y++)if(s===e[y]){let h=e.slice(y+1,e.length);return en(n,h,t,[g,p])}}o=p}return null}function fa(n,e){let t=en(yy,[eu,Of],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/Jd(n,t[0],r)}function vy(n,e){let t=en(Iy,[eu,Of],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?Cy(n,t[0]):r===8?Py(n,t[0]):null}function tu(n,e){let t=en(eu,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,o=fa(n,r);if(o===null)return null;let a=vy(n,r);if(a===null)return null;let s=en(by,[],n,[r,i]);if(s===null)return null;let d=[],u=s[0];for(;u<s[1];){let l=en(Sy,[],n,[u,s[1]]);if(l===null)break;let f=en(Ty,[],n,[l[0],l[1]]);if(f===null)return null;let g=Jd(n,f[0],f[1]-f[0]),p=en(Ey,[_y],n,[l[0],l[1]]);if(p===null)return null;let y=Jd(n,p[0],p[1]-p[0])+r;d.push({time:g,rangeStart:y}),u=l[1]}let c=[];for(let l=0;l<d.length;l++){let f=d[l];l===d.length-1?c.push({time:f.time,timescale:o,duration:l===0?a:a-f.time,range:[f.rangeStart,1/0]}):c.push({time:f.time,timescale:o,duration:d[l+1].time-f.time,range:[f.rangeStart,d[l+1].rangeStart-1]})}return c}function Df(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function Ry(n,e){let t=Df(n,e);if(t===void 0)return m.warn("webm: unrepresentable length"),null;if(e+t>n.length)return m.warn("webm: impossible length"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function ky(n,e){let t=Df(n,e);if(t===void 0)return m.warn("webm: unrepresentable length"),null;if(e+t>n.length)return m.warn("webm: impossible length"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function Cy(n,e){return new DataView(n.buffer).getFloat32(e)}function Py(n,e){return new DataView(n.buffer).getFloat64(e)}function Jd(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function Fi(n,e,t,r){let i=Is(n);if(i===void 0||r===void 0)return null;let o=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,a=Or(n);if(o<0&&(a!==void 0&&(a+=o),o=0),e||!t.complete)return a===void 0&&m.warn("DASH: Chunked segments should indicate a duration through their trun boxes"),{time:o/r,duration:a!==void 0?a/r:void 0};let s,d=t.duration*r,u=Math.min(r*.9,d/4);return a!==void 0&&Math.abs(a-d)<=u&&(s=a),{time:o/r,duration:s!==void 0?s/r:s}}function My(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],o=e,{messageData:a}=i,s=Le(a),d=Date.parse(s);if(o===void 0||d===void 0||isNaN(d)||d>=o)return!0}return!1}function nu(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((a,s)=>(s.schemeIdUri==="urn:mpeg:dash:event:2012"&&s.value==="1"?(a.manifestRefreshEventsFromEMSGs===void 0&&(a.manifestRefreshEventsFromEMSGs=[]),a.manifestRefreshEventsFromEMSGs.push(s)):(a.EMSGs===void 0&&(a.EMSGs=[]),a.EMSGs.push(s)),a),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(a=>({type:"emsg",value:a})),o=e===void 0||t===void 0?!1:My(t,e);return{inbandEvents:i,needsManifestRefresh:o}}function ru({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var v,E;let{segment:o,periodStart:a,periodEnd:s}=r,{data:d,isChunked:u}=t,c=[a,s];if(d===null)return o.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:c};let l=d instanceof Uint8Array?d:new Uint8Array(d),f=gt(r.type,r.mimeType),g=f==="mp4"||f===void 0,p=[];if(g){let R=Uo(l),k;o.isInit&&(k=(v=Cc(l))!=null?v:void 0),(R.length>0||k!==void 0)&&p.push({initDataType:"cenc",keyId:k,initData:R})}if(!o.isInit){let R=g?Fi(l,u,o,i):null,k=(E=o.timestampOffset)!=null?E:0;if(g){let A=kc(l);if(A!==void 0){let M=A.filter(L=>o.privateInfos===void 0||o.privateInfos.isEMSGWhitelisted===void 0?!1:o.privateInfos.isEMSGWhitelisted(L)),x=nu(M,r.manifestPublishTime);if(x!==void 0){let{needsManifestRefresh:L,inbandEvents:O}=x;return{segmentType:"media",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:k,appendWindow:c,inbandEvents:O,protectionData:p,needsManifestRefresh:L}}}}return{segmentType:"media",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:k,protectionData:p,appendWindow:c}}let{indexRange:y}=o,h;if(f==="webm")h=tu(l,0);else if(g&&(h=wr(l,Array.isArray(y)?y[0]:0),n===!0&&h!==null&&h.length>0)){let R=h[h.length-1];Array.isArray(R.range)&&(R.range[1]=1/0)}let b;g?b=Dr(l):f==="webm"&&(b=fa(l,0));let T=_(b)?void 0:b;return{segmentType:"init",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:T,segmentList:h!=null?h:void 0}}}function iu({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:ca(t);async function t(r,i,o,a,s){var h,b;let{segment:d}=i,u=Ni(r,d);if(u===null)return Promise.resolve({resultType:"segment-created",resultData:null});if(d.isInit)return Ui(u,d,o,a,s);let c=((h=o.cmcdPayload)==null?void 0:h.type)==="query"?Ye(u,o.cmcdPayload.value):u,l=((b=o.cmcdPayload)==null?void 0:b.type)==="headers"?o.cmcdPayload.value:void 0,f;d.range!==void 0?f=le(ae({},l),{Range:dt(d.range)}):l!==void 0&&(f=l);let g=gt(i.type,i.mimeType),p=g==="mp4"||g===void 0;if(n&&p){if(Sr())return Bi(c,{headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout},s,a);kt("DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge")}let y;return p?y=await Te({url:c,responseType:"arraybuffer",headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout,onProgress:s.onProgress,cancelSignal:a}):y=await Te({url:c,responseType:"text",headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout,onProgress:s.onProgress,cancelSignal:a}),{resultType:"segment-loaded",resultData:y}}}function Ay(n){let e=Ar(n);return e===null?"":Le(e)}function xy(n){if(n===void 0)throw new Error("Cannot parse subtitles: unknown format");switch(n.toLowerCase()){case"stpp":case"stpp.ttml.im1t":return"ttml";case"wvtt":return"vtt"}throw new Error(`The codec used for the subtitles "${n}" is not managed yet.`)}function wy(n,e){switch(e){case"application/ttml+xml":return"ttml";case"application/x-sami":case"application/smil":return"sami";case"text/vtt":return"vtt"}if(n!==void 0&&n.toLowerCase()==="srt")return"srt";throw new Error(`could not find a text-track parser for the type ${e!=null?e:""}`)}function Lf({segment:n,language:e,codecs:t},r,i,o){if(n.isInit)return null;let a,s;i===null?o?(a=n.time,s=n.end):m.warn("Transport: Unavailable time data for current text track."):(a=i.time,i.duration!==void 0?s=a+i.duration:!o&&n.complete&&(s=a+n.duration));let d=xy(t);return{data:Ay(r),type:d,language:e,start:a,end:s}}function Nf(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,o;t?m.warn("Transport: Unavailable time data for current text track."):(i=r.time,r.complete&&(o=r.time+r.duration));let a=wy(n.codecs,n.mimeType);return{data:e,type:a,language:n.language,start:i,end:o}}function Oy(n,e,t,r,i){var f;let{segment:o}=t,{isInit:a,indexRange:s}=o,d;if(typeof n=="string"?d=ve(n):n instanceof Uint8Array?d=n:d=new Uint8Array(n),a){let g=wr(d,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let y=g[g.length-1];Array.isArray(y.range)&&(y.range[1]=1/0)}let p=Dr(d);return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let u=Fi(d,e,o,r),c=Lf(t,d,u,e),l=(f=o.timestampOffset)!=null?f:0;return{segmentType:"media",chunkData:c,chunkSize:d.length,chunkInfos:u,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function Dy(n,e,t){let{periodStart:r,periodEnd:i,segment:o}=t,{timestampOffset:a=0}=o;if(o.isInit)return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,d;if(typeof n!="string"){let c=n instanceof Uint8Array?n:new Uint8Array(n);s=Le(c),d=c.length}else s=n;return{segmentType:"media",chunkData:Nf(t,s,e),chunkSize:d,chunkInfos:null,chunkOffset:a,protectionData:[],appendWindow:[r,i]}}function ou({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:o,periodEnd:a,segment:s}=r,{data:d,isChunked:u}=t;if(d===null)return s.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[o,a]};let c=gt(r.type,r.mimeType);if(c==="webm")throw new Error("Text tracks with a WEBM container are not yet handled.");return c==="mp4"?Oy(d,u,r,i,n):Dy(d,u,r)}}function Uf(n){let e=Li({customManifestLoader:n.manifestLoader},Ly()?"text":"arraybuffer",n.checkManifestIntegrity===!0?xf:null),t=Xd(n),r=Zd(n),i=ru(n),o=iu(n),a=ou(n);return{transportName:"dash",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:o,parseSegment:a}}}function Ly(){return me.dashParsers.wasm!==null&&(me.dashParsers.wasm.status==="initialized"||me.dashParsers.wasm.status==="initializing")}var Bf=Uf;function au(n){n.transports.dash===void 0&&(n.transports.dash=Bf),n.dashParsers.native=Af,n.mainThreadMediaSourceInit=Tn}var Ny=typeof MediaSource=="function"&&MediaSource.canConstructInDedicatedWorker===!0,Ff=Ny;var Ki=class extends Gn{constructor(e){super(),this._settings=e,this._initCanceller=new B}prepare(){}start(e,t){let r=this._initCanceller.signal,{keySystems:i,speed:o,url:a}=this._settings;qn(e);let{statusRef:s}=Ii(e,i,{onError:u=>this._onFatalError(u),onWarning:u=>this.trigger("warning",u),onBlackListProtectionData:Z,onKeyIdsCompatibilityUpdate:Z},r);_i(e,u=>this._onFatalError(u),r);let d=new Sn(t,null,o);d.addEventListener("stalled",u=>this.trigger("stalled",u)),d.addEventListener("unstalled",()=>this.trigger("unstalled",null)),d.addEventListener("warning",u=>this.trigger("warning",u)),r.register(()=>{d.destroy()}),d.start(),s.onUpdate((u,c)=>{u.initializationState.type!=="uninitialized"&&(c(),m.info("Setting URL to HTMLMediaElement",a),e.src=a,r.register(()=>{m.info("Init: Removing directfile src from media element",e.src),qn(e)}),u.initializationState.type==="awaiting-media-link"?(u.initializationState.value.isMediaLinked.setValue(!0),s.onUpdate((l,f)=>{l.initializationState.type==="initialized"&&(f(),this._seekAndPlay(e,t))},{emitCurrentValue:!0,clearSignal:r})):(te(u.initializationState.type==="initialized"),this._seekAndPlay(e,t)))},{emitCurrentValue:!0,clearSignal:r})}updateContentUrls(e,t){throw new Error("Cannot update content URL of directfile contents")}dispose(){this._initCanceller.cancel()}_onFatalError(e){this._initCanceller.cancel(),this.trigger("error",e)}_seekAndPlay(e,t){let r=this._initCanceller.signal,{autoPlay:i,startAt:o}=this._settings;yi({mediaElement:e,playbackObserver:t,startTime:()=>{m.debug("Init: Calculating initial time");let s=Uy(e,o);return m.debug("Init: Initial time calculated:",s),s},mustAutoPlay:i,onWarning:s=>this.trigger("warning",s),isDirectfile:!0},r).autoPlayResult.then(()=>hi(t,e,!0,r).onUpdate((s,d)=>{s&&(d(),this.trigger("loaded",{getSegmentSinkMetrics:null}))},{emitCurrentValue:!0,clearSignal:r})).catch(s=>{r.isCancelled()||this._onFatalError(s)})}};function Uy(n,e){if(_(e))return 0;if(_(e.position))if(_(e.wallClockTime)){if(!_(e.fromFirstPosition))return e.fromFirstPosition}else return e.wallClockTime;else return e.position;let t=n.duration;if(typeof e.fromLastPosition=="number")return _(t)||!isFinite(t)?(m.warn("startAt.fromLastPosition set but no known duration, beginning at 0."),0):Math.max(0,t+e.fromLastPosition);if(typeof e.fromLivePosition=="number"){let r=n.seekable.length>0?n.seekable.end(0):t;return _(r)?(m.warn("startAt.fromLivePosition set but no known live position, beginning at 0."),0):Math.max(0,r+e.fromLivePosition)}else if(!_(e.percentage)){if(_(t)||!isFinite(t))return m.warn("startAt.percentage set but no known duration, beginning at 0."),0;let{percentage:r}=e;if(r>=100)return t;if(r<=0)return 0;let i=+r/100;return t*i}return 0}function su(n,e){for(let t=0;t<n.length;t++)(!sr||t!==e)&&(n[t].enabled=!1);return e<0||e>=n.length?!1:(n[e].enabled=!0,!0)}function Zn(n,e){var t;if(e.length!==n.length)return!0;for(let r=0;r<e.length;r++)if(e[r].nativeTrack!==((t=n[r])==null?void 0:t.nativeTrack))return!0;return!1}function du(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_audio_"+a+"_"+s.toString();t[a]=s+1;let u={language:o.language,id:d,normalized:Tr(o.language),audioDescription:o.kind==="descriptions"||o.kind==="description",representations:[]};e.push({track:u,nativeTrack:o})}return e}function uu(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_text_"+a+"_"+s.toString();t[a]=s+1;let u=o.kind==="forced"?!0:void 0,c={language:o.language,forced:u,label:o.label,id:d,normalized:Tr(o.language),closedCaption:o.kind==="captions"};e.push({track:c,nativeTrack:o})}return e}function lu(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_video_"+a+"_"+s.toString();t[a]=s+1,e.push({track:{id:d,representations:[]},nativeTrack:o})}return e}var Vi=class extends ie{constructor(e){var t,r,i;super(),this._nativeAudioTracks=e.audioTracks,this._nativeVideoTracks=e.videoTracks,this._nativeTextTracks=e.textTracks,this._audioTracks=this._nativeAudioTracks!==void 0?du(this._nativeAudioTracks):[],this._videoTracks=this._nativeVideoTracks!==void 0?lu(this._nativeVideoTracks):[],this._textTracks=this._nativeTextTracks!==void 0?uu(this._nativeTextTracks):[],this._lastEmittedNativeAudioTrack=(t=this._getCurrentAudioTrack())==null?void 0:t.nativeTrack,this._lastEmittedNativeVideoTrack=(r=this._getCurrentVideoTrack())==null?void 0:r.nativeTrack,this._lastEmittedNativeTextTrack=(i=this._getCurrentTextTrack())==null?void 0:i.nativeTrack,this._handleNativeTracksCallbacks()}setAudioTrackById(e){for(let t=0;t<this._audioTracks.length;t++){let{track:r,nativeTrack:i}=this._audioTracks[t];if(r.id===e){this._enableAudioTrackFromIndex(t),this._audioTrackLockedOn=i;return}}throw new Error("Audio track not found.")}disableTextTrack(){Kf(this._textTracks),this._textTrackLockedOn=null}setTextTrackById(e){let t=!1;for(let r=0;r<this._textTracks.length;r++){let{track:i,nativeTrack:o}=this._textTracks[r];i.id===e?(o.mode="showing",t=!0,this._textTrackLockedOn=o):(o.mode==="showing"||o.mode==="hidden")&&(o.mode="disabled")}if(!t)throw new Error("Text track not found.")}disableVideoTrack(){Vf(this._videoTracks),this._videoTrackLockedOn=null}setVideoTrackById(e){for(let t=0;t<this._videoTracks.length;t++){let{track:r,nativeTrack:i}=this._videoTracks[t];if(r.id===e){i.selected=!0,this._videoTrackLockedOn=i;return}}throw new Error("Video track not found.")}getChosenAudioTrack(){let e=this._getCurrentAudioTrack();return _(e)?e:e.track}getChosenTextTrack(){let e=this._getCurrentTextTrack();return _(e)?e:e.track}getChosenVideoTrack(){let e=this._getCurrentVideoTrack();return _(e)?e:e.track}getAvailableAudioTracks(){return this._audioTracks.map(({track:e,nativeTrack:t})=>({id:e.id,language:e.language,normalized:e.normalized,audioDescription:e.audioDescription,active:t.enabled,representations:e.representations}))}getAvailableTextTracks(){return this._textTracks.map(({track:e,nativeTrack:t})=>({id:e.id,label:e.label,forced:e.forced,language:e.language,normalized:e.normalized,closedCaption:e.closedCaption,active:t.mode==="showing"}))}getAvailableVideoTracks(){return this._videoTracks.map(({track:e,nativeTrack:t})=>({id:e.id,representations:e.representations,active:t.selected}))}dispose(){this._nativeVideoTracks!==void 0&&(this._nativeVideoTracks.onchange=null,this._nativeVideoTracks.onaddtrack=null,this._nativeVideoTracks.onremovetrack=null),this._nativeAudioTracks!==void 0&&(this._nativeAudioTracks.onchange=null,this._nativeAudioTracks.onaddtrack=null,this._nativeAudioTracks.onremovetrack=null),this._nativeTextTracks!==void 0&&(this._nativeTextTracks.onchange=null,this._nativeTextTracks.onaddtrack=null,this._nativeTextTracks.onremovetrack=null),this.removeEventListener()}_getCurrentAudioTrack(){if(this._nativeAudioTracks!==void 0){for(let e=0;e<this._audioTracks.length;e++){let t=this._audioTracks[e];if(t.nativeTrack.enabled)return t}return null}}_getCurrentVideoTrack(){if(this._nativeVideoTracks!==void 0){for(let e=0;e<this._videoTracks.length;e++){let t=this._videoTracks[e];if(t.nativeTrack.selected)return t}return null}}_getCurrentTextTrack(){if(this._nativeTextTracks!==void 0){for(let e=0;e<this._textTracks.length;e++){let t=this._textTracks[e];if(t.nativeTrack.mode==="showing")return t}return null}}_setPreviouslyLockedAudioTrack(){if(this._audioTrackLockedOn!==void 0)if(this._audioTrackLockedOn===null)for(let e=0;e<this._audioTracks.length;e++){let{nativeTrack:t}=this._audioTracks[e];t.enabled=!1}else for(let e=0;e<this._audioTracks.length;e++){let{nativeTrack:t}=this._audioTracks[e];if(t===this._audioTrackLockedOn){this._enableAudioTrackFromIndex(e);return}}}_setPreviouslyLockedTextTrack(){if(this._textTrackLockedOn!==void 0)if(this._textTrackLockedOn===null){Kf(this._textTracks);return}else for(let e=0;e<this._textTracks.length;e++){let{nativeTrack:t}=this._textTracks[e];if(t===this._textTrackLockedOn){By(this._textTracks,t),t.mode!=="showing"&&(t.mode="showing");return}}}_setPreviouslyLockedVideoTrack(){if(this._videoTrackLockedOn!==void 0)if(this._videoTrackLockedOn===null){Vf(this._videoTracks);return}else for(let e=0;e<this._videoTracks.length;e++){let{nativeTrack:t}=this._videoTracks[e];if(t===this._videoTrackLockedOn){t.selected=!0;return}}}_handleNativeTracksCallbacks(){this._nativeAudioTracks!==void 0&&(this._nativeAudioTracks.onaddtrack=()=>{var e,t;if(this._nativeAudioTracks!==void 0){let r=du(this._nativeAudioTracks);if(Zn(this._audioTracks,r)){this._audioTracks=r,this._setPreviouslyLockedAudioTrack(),this.trigger("availableAudioTracksChange",this.getAvailableAudioTracks());let i=this._getCurrentAudioTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeAudioTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeAudioTracks.onremovetrack=()=>{var e,t;if(this._nativeAudioTracks!==void 0){let r=du(this._nativeAudioTracks);if(Zn(this._audioTracks,r)){this._audioTracks=r,this.trigger("availableAudioTracksChange",this.getAvailableAudioTracks());let i=this._getCurrentAudioTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeAudioTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeAudioTracks.onchange=()=>{if(this._audioTracks!==void 0)for(let e=0;e<this._audioTracks.length;e++){let{track:t,nativeTrack:r}=this._audioTracks[e];if(r.enabled){r!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",t),this._lastEmittedNativeAudioTrack=r);return}}this._lastEmittedNativeAudioTrack!==null&&(this.trigger("audioTrackChange",null),this._lastEmittedNativeAudioTrack=null)}),this._nativeTextTracks!==void 0&&(this._nativeTextTracks.onaddtrack=()=>{var e,t;if(this._nativeTextTracks!==void 0){let r=uu(this._nativeTextTracks);if(Zn(this._textTracks,r)){this._textTracks=r,this._setPreviouslyLockedTextTrack(),this.trigger("availableTextTracksChange",this.getAvailableTextTracks());let i=this._getCurrentTextTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeTextTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeTextTracks.onremovetrack=()=>{var e,t;if(this._nativeTextTracks!==void 0){let r=uu(this._nativeTextTracks);if(Zn(this._textTracks,r)){this._textTracks=r,this._setPreviouslyLockedTextTrack(),this.trigger("availableTextTracksChange",this.getAvailableTextTracks());let i=this._getCurrentTextTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeTextTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeTextTracks.onchange=()=>{if(this._textTracks!==void 0)for(let e=0;e<this._textTracks.length;e++){let{track:t,nativeTrack:r}=this._textTracks[e];if(r.mode==="showing"){r!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",t),this._lastEmittedNativeTextTrack=r);return}}this._lastEmittedNativeTextTrack!==null&&(this.trigger("textTrackChange",null),this._lastEmittedNativeTextTrack=null)}),this._nativeVideoTracks!==void 0&&(this._nativeVideoTracks.onaddtrack=()=>{var e,t;if(this._nativeVideoTracks!==void 0){let r=lu(this._nativeVideoTracks);if(Zn(this._videoTracks,r)){this._videoTracks=r,this._setPreviouslyLockedVideoTrack(),this.trigger("availableVideoTracksChange",this.getAvailableVideoTracks());let i=this._getCurrentVideoTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeVideoTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeVideoTracks.onremovetrack=()=>{var e,t;if(this._nativeVideoTracks!==void 0){let r=lu(this._nativeVideoTracks);if(Zn(this._videoTracks,r)){this._videoTracks=r,this._setPreviouslyLockedVideoTrack(),this.trigger("availableVideoTracksChange",this.getAvailableVideoTracks());let i=this._getCurrentVideoTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeVideoTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeVideoTracks.onchange=()=>{if(this._videoTracks!==void 0)for(let e=0;e<this._videoTracks.length;e++){let{track:t,nativeTrack:r}=this._videoTracks[e];if(r.selected){r!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",t),this._lastEmittedNativeVideoTrack=r);return}}this._lastEmittedNativeVideoTrack!==null&&(this.trigger("videoTrackChange",null),this._lastEmittedNativeVideoTrack=null)})}_enableAudioTrackFromIndex(e){su(this._audioTracks.map(({nativeTrack:t})=>t),e)}};function Kf(n){for(let e=0;e<n.length;e++){let{nativeTrack:t}=n[e];t.mode="disabled"}}function By(n,e){for(let t=0;t<n.length;t++){let{nativeTrack:r}=n[t];r!==e&&(r.mode==="showing"||r.mode==="hidden")&&(r.mode="disabled")}}function Vf(n){for(let e=0;e<n.length;e++){let{nativeTrack:t}=n[e];t.selected=!1}}function cu(n){n.directfile={initDirectFile:Ki,mediaElementTracksStore:Vi}}function fu(n){n.decrypt=Bc}var zf=ee.ResizeObserver;function mu(n,e,t){let{height:r,width:i}=n.getBoundingClientRect(),o=new G({height:r,width:i},t),a=r,s=i;if(zf!==void 0){let d=new zf(u=>{if(u.length===0){m.error("Compat: Resized but no observed element.");return}let c=u[0],{height:l,width:f}=c.contentRect;(l!==a||f!==s)&&(a=l,s=f,o.setValue({height:l,width:f}))});d.observe(n),t.register(()=>{d.disconnect()})}else{let d=setInterval(()=>{let{height:u,width:c}=n.getBoundingClientRect();(u!==a||c!==s)&&(a=u,s=c,o.setValue({height:u,width:c}))},e);t.register(()=>{clearInterval(d)})}return o}var Cn=class{constructor(){this._ranges=[],this.length=0}insert(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0,"invalid start time"),te(t-e>0,"invalid end time")),Ht(this._ranges,{start:e,end:t}),this.length=this._ranges.length}remove(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0,"invalid start time"),te(t-e>0,"invalid end time"));let r=[];e>0&&r.push({start:0,end:e}),t<1/0&&r.push({start:t,end:1/0}),this._ranges=Hl(this._ranges,r),this.length=this._ranges.length}start(e){if(e>=this._ranges.length)throw new Error("INDEX_SIZE_ERROR");return this._ranges[e].start}end(e){if(e>=this._ranges.length)throw new Error("INDEX_SIZE_ERROR");return this._ranges[e].end}};function pu(n,e,t,r){m.debug("HTSB: Finding parser for html text tracks:",n);let i=me.htmlTextTracksParsers[n];if(typeof i!="function")throw new Error("no parser found for the given text track");m.debug("HTSB: Parser found, parsing...");let o=i(e,t,r);return m.debug("HTTB: Parsed successfully!",o.length),o}function Dt(n,e,t=.2){return Math.abs(n-e)<=Math.min(t,.2)}var Fy=.05;function Hf(n,e){let t=n.end-n.start,r=e.end-e.start,i=Math.abs(n.start-e.start),o=Math.min(t,r,.2);return i/o<=Fy}function zi(n,e){for(let t=n.length-1;t>=0;t--)if(n[t].start<e)return n.slice(0,t+1);return[]}function Jn(n,e){for(let t=0;t<n.length;t++)if(n[t].end>e)return n.slice(t,n.length);return[]}function gu(n,e,t){let r=Math.max(n.start,e),i=zi(n.cues,e),o={start:n.start,end:r,cues:i},a=Math.min(t,n.end),s=Jn(n.cues,t),d={start:a,end:n.end,cues:s};return[o,d]}var Wf=.001,Ky=5,Hi=class{constructor(){this._cuesBuffer=[]}isEmpty(){return this._cuesBuffer.length===0}get(e){let t=this._cuesBuffer,r=[];for(let i=t.length-1;i>=0;i--){let o=t[i];if(e<o.end&&e>=o.start){let a=o.cues;for(let s of a)e>=s.start&&e<s.end&&r.push(s.element);if(r.length===0&&a.length>0)for(let s of a)(Dt(e,s.start,Wf)||Dt(e,s.end,Wf))&&r.push(s.element);return r}}return[]}remove(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0),te(t>=0),te(t>e));let r=Math.max(e,t),i=this._cuesBuffer;for(let o=0;o<i.length;o++)if(i[o].end>e){let a=i[o];if(a.start>=r)return;if(a.end>=r){if(e<=a.start)a.cues=Jn(a.cues,r),a.start=r;else{let[s,d]=gu(a,e,r);this._cuesBuffer[o]=s,i.splice(o+1,0,d)}return}a.start>=e?(i.splice(o,1),o--):(a.cues=zi(a.cues,e),a.end=Math.max(e,a.start))}}insert(e,t,r){let i=this._cuesBuffer,o={start:t,end:r,cues:e},a=Math.abs(t-r)/Ky;function s(d){let u=i[d];u===void 0||Dt(o.end,u.end,a)?i[d]=o:(u.start>=o.end||(u.cues=Jn(u.cues,o.end),u.start=o.end),i.splice(d,0,o))}for(let d=0;d<i.length;d++){let u=i[d];if(t<u.end){if(Hf(o,u)){if(Dt(r,u.end,a)){i[d]=o;return}else if(r<u.end){u.cues=Jn(u.cues,r),u.start=r,i.splice(d,0,o);return}do i.splice(d,1),u=i[d];while(u!==void 0&&r>u.end);s(d);return}else if(t<u.start){if(r<u.start){i.splice(d,0,o);return}else if(Dt(r,u.start,a)){u.start=r,i.splice(d,0,o);return}else if(Dt(r,u.end,a)){i.splice(d,1,o);return}else if(r<u.end){u.cues=Jn(u.cues,r),u.start=r,i.splice(d,0,o);return}do i.splice(d,1),u=i[d];while(u!==void 0&&r>u.end);s(d);return}if(Dt(u.end,r,a)){u.cues=zi(u.cues,t),u.end=t,i.splice(d+1,0,o);return}else if(u.end>r){let[c,l]=gu(u,t,r);this._cuesBuffer[d]=c,i.splice(d+1,0,o),i.splice(d+2,0,l);return}else{u.cues=zi(u.cues,t),u.end=t;let c=d+1;for(u=i[c];u!==void 0&&r>u.end;)i.splice(c,1),u=i[c];s(c);return}}}if(i.length){let d=i[i.length-1];Dt(d.end,t,a)&&(d.end=t)}i.push(o)}};function hu(n,e,t,r){let i=[e/t.columns,n/t.rows],o=r.getElementsByClassName("proportional-style");for(let a=0;a<o.length;a++){let s=o[a];if(s instanceof HTMLElement){let d=s.getAttribute("data-proportional-font-size");d!==null&&!isNaN(+d)&&(s.style.fontSize=String(+d*i[1])+"px");let u=s.getAttribute("data-proportional-width");u!==null&&!isNaN(+u)&&(s.style.width=String(+u*i[0])+"px");let c=s.getAttribute("data-proportional-height");c!==null&&!isNaN(+c)&&(s.style.height=String(+c*i[1])+"px");let l=s.getAttribute("data-proportional-line-height");l!==null&&!isNaN(+l)&&(s.style.lineHeight=String(+l*i[1])+"px");let f=s.getAttribute("data-proportional-left");f!==null&&!isNaN(+f)&&(s.style.left=String(+f*i[0])+"px");let g=s.getAttribute("data-proportional-top");g!==null&&!isNaN(+g)&&(s.style.top=String(+g*i[1])+"px");let p=s.getAttribute("data-proportional-padding-top");p!==null&&!isNaN(+p)&&(s.style.paddingTop=String(+p*i[1])+"px");let y=s.getAttribute("data-proportional-padding-bottom");y!==null&&!isNaN(+y)&&(s.style.paddingBottom=String(+y*i[1])+"px");let h=s.getAttribute("data-proportional-padding-left");h!==null&&!isNaN(+h)&&(s.style.paddingLeft=String(+h*i[0])+"px");let b=s.getAttribute("data-proportional-padding-right");b!==null&&!isNaN(+b)&&(s.style.paddingRight=String(+b*i[0])+"px")}}return o.length>0}function Gf(n,e){try{n.removeChild(e)}catch(t){m.warn("HTD: Can't remove text track: not in the element.")}}function Vy(n){let e=n.getAttribute("data-resolution-rows"),t=n.getAttribute("data-resolution-columns");if(e===null||t===null)return null;let r=parseInt(e,10),i=parseInt(t,10);return r===null||i===null?null:{rows:r,columns:i}}var Wi=class{constructor(e,t){m.debug("HTD: Creating HTMLTextDisplayer"),this._buffered=new Cn,this._videoElement=e,this._textTrackElement=t,this._sizeUpdateCanceller=new B,this._subtitlesIntervalCanceller=new B,this._buffer=new Hi,this._currentCues=[],this._isAutoRefreshing=!1}pushTextData(e){var y,h;m.debug("HTD: Appending new html text tracks");let{timestampOffset:t,appendWindow:r,chunk:i}=e;if(i===null)return Pe(this._buffered);let{start:o,end:a,data:s,type:d,language:u}=i,c=(y=r[0])!=null?y:0,l=(h=r[1])!=null?h:1/0,f=pu(d,s,t,u);if(c!==0&&l!==1/0){let b=0;for(;b<f.length&&f[b].end<=c;)b++;for(f.splice(0,b),b=0;b<f.length&&f[b].start<c;)f[b].start=c,b++;for(b=f.length-1;b>=0&&f[b].start>=l;)b--;for(f.splice(b,f.length),b=f.length-1;b>=0&&f[b].end>l;)f[b].end=l,b--}let g;if(o!==void 0)g=Math.max(c,o);else{if(f.length<=0)return m.warn("HTD: Current text tracks have no cues nor start time. Aborting"),Pe(this._buffered);m.warn("HTD: No start time given. Guessing from cues."),g=f[0].start}let p;if(a!==void 0)p=Math.min(l,a);else{if(f.length<=0)return m.warn("HTD: Current text tracks have no cues nor end time. Aborting"),Pe(this._buffered);m.warn("HTD: No end time given. Guessing from cues."),p=f[f.length-1].end}return p<=g?(m.warn("HTD: Invalid text track appended: ","the start time is inferior or equal to the end time."),Pe(this._buffered)):(this._buffer.insert(f,g,p),this._buffered.insert(g,p),!this._isAutoRefreshing&&!this._buffer.isEmpty()&&this.autoRefreshSubtitles(this._subtitlesIntervalCanceller.signal),Pe(this._buffered))}removeBuffer(e,t){return m.debug("HTD: Removing html text track data",e,t),this._buffer.remove(e,t),this._buffered.remove(e,t),this._isAutoRefreshing&&this._buffer.isEmpty()&&(this.refreshSubtitles(),this._isAutoRefreshing=!1,this._subtitlesIntervalCanceller.cancel(),this._subtitlesIntervalCanceller=new B),Pe(this._buffered)}getBufferedRanges(){return Pe(this._buffered)}reset(){m.debug("HTD: Resetting HTMLTextDisplayer"),this.stop(),this._subtitlesIntervalCanceller=new B}stop(){this._subtitlesIntervalCanceller.isUsed()||(m.debug("HTD: Stopping HTMLTextDisplayer"),this._disableCurrentCues(),this._buffer.remove(0,1/0),this._buffered.remove(0,1/0),this._isAutoRefreshing=!1,this._subtitlesIntervalCanceller.cancel())}_disableCurrentCues(){if(this._sizeUpdateCanceller.cancel(),this._currentCues.length>0){for(let e of this._currentCues)Gf(this._textTrackElement,e.element);this._currentCues=[]}}_displayCues(e){if(this._currentCues.length===e.length&&this._currentCues.every((i,o)=>i.element===e[o]))return;this._sizeUpdateCanceller.cancel();for(let i of this._currentCues)Gf(this._textTrackElement,i.element);this._currentCues=[];for(let i of e){let o=Vy(i);this._currentCues.push({element:i,resolution:o}),this._textTrackElement.appendChild(i)}let r=this._currentCues.filter(i=>i.resolution!==null);if(r.length>0){this._sizeUpdateCanceller=new B,this._sizeUpdateCanceller.linkToSignal(this._subtitlesIntervalCanceller.signal);let{TEXT_TRACK_SIZE_CHECKS_INTERVAL:i}=U.getCurrent();mu(this._textTrackElement,i,this._sizeUpdateCanceller.signal).onUpdate(({height:a,width:s})=>{for(let d of r){let{resolution:u,element:c}=d;hu(a,s,u,c)}},{clearSignal:this._sizeUpdateCanceller.signal,emitCurrentValue:!0})}}autoRefreshSubtitles(e){if(this._isAutoRefreshing||e.isCancelled())return;let t=null,{MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:r}=U.getCurrent(),i=()=>{this._isAutoRefreshing=!1,t!==null&&(t.cancel(),t=null)},o=()=>{i(),this._isAutoRefreshing=!0,t=new B,t.linkToSignal(e);let a=setInterval(()=>this.refreshSubtitles(),r);t.signal.register(()=>{clearInterval(a)}),this.refreshSubtitles()};lc(this._videoElement,()=>{i(),this._disableCurrentCues()},e),cc(this._videoElement,o,e),fc(this._videoElement,o,e),o()}refreshSubtitles(){let{MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:e}=U.getCurrent(),t;this._videoElement.paused||this._videoElement.playbackRate<=0?t=this._videoElement.currentTime:t=Math.max(this._videoElement.currentTime+e/1e3/2,0);let r=this._buffer.get(t);r.length===0?this._disableCurrentCues():this._displayCues(r)}};I.CURRENT_ENV===I.DEV&&(zy=function(e){function t(r){}});var zy;var tn=Wi;var Hy=/&#([0-9]+);/g,Wy=/<br>/gi,Gy=/<style[^>]*>([\s\S]*?)<\/style[^>]*>/i,qy=/\s*<p (?:class=([^>]+))?>(.*)/i,jy=/<sync[^>]+?start="?([0-9]*)"?[^0-9]/i;function Yy(n){let e=/\.(\S+)\s*{([^}]*)}/gi,t={},r=e.exec(n);for(;r!==null;){let i=r[1],o=Qy(r[2],"lang");!_(i)&&!_(o)&&(t[o]=i),r=e.exec(n)}return t}function $y(n){let t=/p\s*{([^}]*)}/gi.exec(n);return t===null?"":t[1]}function Qy(n,e){let t=new RegExp("\\s*"+e+":\\s*(\\S+);","i").exec(n);return Array.isArray(t)?t[1]:null}function Xy(n){return n.replace(Hy,(e,t)=>String.fromCharCode(Number(t)))}function Zy(n,e,t){let r=/<sync[ >]/gi,i=/<sync[ >]|<\/body>/gi,o=[],a=Gy.exec(n),s=Array.isArray(a)?a[1]:"",d,u;i.exec(n);let c=Yy(s),l=$y(s),f;if(w(t)&&(f=c[t],f===void 0))throw new Error(`sami: could not find lang ${t} in CSS`);for(;d=r.exec(n),u=i.exec(n),!(d===null&&u===null);){if(d===null||u===null||d.index>=u.index)throw new Error("parse error");let p=n.slice(d.index,u.index),y=jy.exec(p);if(!Array.isArray(y))throw new Error("parse error (sync time attribute)");let h=+y[1];if(isNaN(h))throw new Error("parse error (sync time attribute NaN)");g(p.split(`
6
- `),h/1e3)}return o;function g(p,y){let h=p.length;for(;--h>=0;){let b=qy.exec(p[h]);if(!Array.isArray(b))continue;let[,T,v]=b;if(f===T)if(v==="&nbsp;")o[o.length-1].end=y;else{let E=document.createElement("DIV");E.className="rxp-texttrack-region";let R=document.createElement("DIV");R.className="rxp-texttrack-div",R.style.position="absolute",R.style.bottom="0",R.style.width="100%",R.style.color="#fff",R.style.textShadow="-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000";let k=document.createElement("div");k.className="rxp-texttrack-p",w(l)&&(k.style.cssText=l);let A=v.split(Wy);for(let M=0;M<A.length;M++){M!==0&&k.appendChild(document.createElement("BR"));let x=document.createElement("SPAN");x.className="rxp-texttrack-span",x.textContent=Xy(A[M]),k.appendChild(x)}R.appendChild(k),E.appendChild(R),o.push({element:E,start:y+e,end:-1})}}}}var qf=Zy;function yu(n){n.htmlTextTracksParsers.sami=qf,n.htmlTextDisplayer=tn}function Iu(n,e){let t=e+1;for(;w(n[t]);)t++;return t}function Gi(n){let e=[];for(let t=0;t<n.length;t++)if(w(n[t])){let r=Iu(n,t),i=n.slice(t,r);i.length>0&&(i.length===1?i[0].indexOf("-->")>=0&&e.push(i):(i[1].indexOf("-->")>=0||i[0].indexOf("-->")>=0)&&e.push(i)),t=r}return e}function ma(n){let e=n.split(":");if(w(e[2])){let t=parseInt(e[0],10),r=parseInt(e[1],10),i=parseFloat(e[2].replace(",","."));return isNaN(t)||isNaN(r)||isNaN(i)?void 0:t*60*60+r*60+i}}function qi(n,e){if(n.length===0)return null;let t,r,i=[];if(w(n[1])&&n[1].indexOf("-->")!==-1&&([t,r]=n[1].split("-->").map(s=>s.trim()),i=n.slice(2,n.length)),(!w(t)||!w(r))&&([t,r]=n[0].split("-->").map(s=>s.trim()),i=n.slice(1,n.length)),!w(t)||!w(r))return null;let o=ma(t),a=ma(r);return o===void 0||a===void 0?null:{start:o+e,end:a+e,payload:i}}function bu(n,e){let t=n.split(/\r\n|\n|\r/),r=Gi(t),i=[];for(let o=0;o<r.length;o++){let a=qi(r[o],e);if(a!==null){let s=Jy(a);s!==null&&i.push(s)}}return i}function Jy(n){let{start:e,end:t,payload:r}=n,i=document.createElement("div");i.className="rxp-texttrack-p",i.style.fontSize="28px",i.style.position="absolute",i.style.bottom="5%",i.style.width="100%",i.style.textAlign="center",i.style.color="#fff",i.style.textShadow="-1px -1px 2px #000,1px -1px 2px #000,-1px 1px 2px #000,1px 1px 2px #000";for(let o=0;o<r.length;o++){o!==0&&i.appendChild(document.createElement("br"));let a=eI(r[o]);i.appendChild(a)}return{start:e,end:t,element:i}}function eI(n){let e=document.createElement("div");e.innerHTML=n;let t=function(r){let i=r.childNodes,o=document.createElement("span");o.className="rxp-texttrack-span";for(let a=0;a<i.length;a++){let s=i[a];if(s.nodeName==="#text"){let d=s.wholeText.split(`
7
- `);for(let u=0;u<d.length;u++)if(u!==0&&o.appendChild(document.createElement("br")),d[u].length>0){let c=document.createTextNode(d[u]);o.appendChild(c)}}else if(s.nodeName==="B"){let d=t(s);d.style.fontWeight="bold",o.appendChild(d)}else if(s.nodeName==="I"){let d=t(s);d.style.fontStyle="italic",o.appendChild(d)}else if(s.nodeName==="U"){let d=t(s);d.style.textDecoration="underline",o.appendChild(d)}else if(tI(s)&&typeof s.color=="string"){let d=t(s);d.style.color=s.color,o.appendChild(d)}else{let d=t(s);o.appendChild(d)}}return o};return t(e)}function tI(n){return n.nodeName==="FONT"&&"color"in n}function Su(n){n.htmlTextTracksParsers.srt=bu,n.htmlTextDisplayer=tn}var nI=/(\d+) (\d+)/;function Tu(n){let e=n.getAttribute("ttp:frameRate"),t=n.getAttribute("ttp:subFramRate"),r=n.getAttribute("ttp:tickRate"),i=n.getAttribute("ttp:frameRateMultiplier"),o=n.getAttribute("xml:space"),a=n.getAttribute("ttp:cellResolution"),s={columns:32,rows:15};if(a!==null){let y=nI.exec(a);if(y===null||y.length<3)m.warn("TTML Parser: Invalid cellResolution");else{let h=parseInt(y[1],10),b=parseInt(y[2],10);isNaN(h)||isNaN(b)?m.warn("TTML Parser: Invalid cellResolution"):s={columns:h,rows:b}}}if(w(o)&&o!=="default"&&o!=="preserve")throw new Error("Invalid spacing style");let d=Number(e);(isNaN(d)||d<=0)&&(d=30);let u=Number(t);(isNaN(u)||u<=0)&&(u=1);let c=Number(r);(isNaN(c)||c<=0)&&(c=void 0);let l=d,f=u!=null?u:1,g=o!=null?o:"default",p=c!=null?c:d*u;if(i!==null){let y=/^(\d+) (\d+)$/g.exec(i);if(y!==null){let h=Number(y[1]),b=Number(y[2]),T=h/b;l=d*T}}return{cellResolution:s,tickRate:p,frameRate:l,subFrameRate:f,spaceStyle:g}}function Pn(n,e,t,r){let i={},o=n.slice();for(let a=0;a<=e.length-1;a++){let s=e[a];if(s!==void 0){let d,u;if(s.nodeType===Node.ELEMENT_NODE){let c=s;for(let l=0;l<=c.attributes.length-1;l++){let f=c.attributes[l],g=f.name;if(g==="style")d=f.value;else if(g==="region")u=f.value;else{let p=g.substring(4);if(Q(o,p)&&(i[p]=f.value,o.splice(l,1),o.length===0))return i}}}if(w(d)){let c=X(t,l=>l.id===d);if(c!==void 0)for(let l=0;l<=o.length-1;l++){let f=o[l];if(!w(i[f])&&w(c.style[f])){if(i[f]=c.style[f],o.splice(l,1),o.length===0)return i;l--}}}if(w(u)){let c=X(r,l=>l.id===u);if(c!==void 0)for(let l=0;l<=o.length-1;l++){let f=o[l];if(!w(i[f])&&w(c.style[f])){if(i[f]=c.style[f],o.splice(l,1),o.length===0)return i;l--}}}}}return i}function _u(n){if(n.nodeType!==Node.ELEMENT_NODE)return{};let e=n,t={};for(let r=0;r<=e.attributes.length-1;r++){let i=e.attributes[r];if(Je(i.name,"tts")){let o=i.name.substring(4);t[o]=i.value}}return t}function Eu(n){let e=[];function t(r,i){e.push(i);for(let o=0;o<r.extendsStyles.length;o++){let a=r.extendsStyles[o],s=ye(n,d=>d.id===a);if(s<0)m.warn("TTML Parser: unknown style inheritance: "+a);else{let d=n[s];Q(e,s)?m.warn("TTML Parser: infinite style inheritance loop avoided"):t(d,s),r.style=j({},d.style,r.style)}}r.extendsStyles.length=0}for(let r=0;r<n.length;r++)t(n[r],r),e.length=0}function jf(n,e){if(!(n.parentNode instanceof Element))return[];function t(r){let i=[];r.tagName.toLowerCase()===e.toLowerCase()&&i.push(r);let o=r.parentNode;return o instanceof Element&&i.push(...t(o)),i}return t(n.parentNode)}function pa(n){let e=jf(n,"div");if(e.length===0){let t=jf(n,"tt:div");t.length>0&&(e=t)}return e}function Yf(n){let e=n.getElementsByTagName("body");if(e.length>0)return e[0];let t=n.getElementsByTagName("tt:body");return t.length>0?t[0]:null}function $f(n){let e=n.getElementsByTagName("style");if(e.length>0)return e;let t=n.getElementsByTagName("tt:style");return t.length>0?t:e}function Qf(n){let e=n.getElementsByTagName("region");if(e.length>0)return e;let t=n.getElementsByTagName("tt:region");return t.length>0?t:e}function Xf(n){let e=n.getElementsByTagName("p");if(e.length>0)return e;let t=n.getElementsByTagName("tt:p");return t.length>0?t:e}function ga(n){return n.nodeName==="br"||n.nodeName==="tt:br"}function ha(n){return n.nodeName==="span"||n.nodeName==="tt:span"}var Zf=["align","backgroundColor","color","direction","display","displayAlign","extent","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","opacity","origin","overflow","padding","textAlign","textDecoration","textOutline","unicodeBidi","visibility","wrapOption","writingMode"];function ji(n,e){let t=[],r=new DOMParser().parseFromString(n,"text/xml");if(r!=null){let o=r.getElementsByTagName("tt")[0];if(o===void 0&&(o=r.getElementsByTagNameNS("*","tt")[0],o===void 0))throw new Error("invalid XML");let a=Yf(o),s=$f(o),d=Qf(o),u=Xf(o),c=Tu(o),l=[];for(let h=0;h<=s.length-1;h++){let b=s[h];if(b instanceof Element){let T=b.getAttribute("xml:id");if(T!==null){let v=b.getAttribute("style"),E=v===null?[]:v.split(" ");l.push({id:T,style:_u(b),extendsStyles:E})}}}Eu(l);let f=[];for(let h=0;h<=d.length-1;h++){let b=d[h];if(b instanceof Element){let T=b.getAttribute("xml:id");if(T!==null){let v=_u(b),E=b.getAttribute("style");if(w(E)){let R=X(l,k=>k.id===E);R!==void 0&&(v=j({},R.style,v))}f.push({id:T,style:v,extendsStyles:[]})}}}let g=Pn(Zf,a!==null?[a]:[],l,f),y=(a!==null?a.getAttribute("xml:space"):void 0)==="default"||c.spaceStyle==="default";for(let h=0;h<u.length;h++){let b=u[h];if(b instanceof Element){let T=pa(b),v=j({},g,Pn(Zf,[b,...T],l,f)),E=b.getAttribute("xml:space"),R=w(E)?E==="default":y,k={paragraph:b,timeOffset:e,idStyles:l,regionStyles:f,body:a,paragraphStyle:v,ttParams:c,shouldTrimWhiteSpace:R};k!==null&&t.push(k)}}}return t}function Jf(n){return n.extent===void 0&&n.origin===void 0&&n.displayAlign===void 0&&n.display===void 0&&n.textAlign===void 0&&n.fontSize===void 0}function em(n){n.extent="70% 20%",n.fontSize="1c",n.origin="15% 80%",n.displayAlign="before",n.textAlign="center"}var vu=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Ru=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,ku=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,Cu=/^(\d*\.?\d*)f$/,Pu=/^(\d*\.?\d*)t$/,Mu=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/,Au=/^(\d{1,2}|100)% (\d{1,2}|100)%$/,Ge=/^((?:\+|\-)?\d*(?:\.\d+)?)(px|em|c|%|rh|rw)$/,tm=/^#([0-9A-f]{2})([0-9A-f]{2})([0-9A-f]{2})([0-9A-f]{2})$/,nm=/^#([0-9A-f])([0-9A-f])([0-9A-f])([0-9A-f])$/,rm=/^rgb\( *(\d+) *, *(\d+) *, *(\d+) *\)/,im=/^rgba\( *(\d+) *, *(\d+) *, *(\d+) *, *(\d+) *\)/;function rI(n,e){if(vu.test(n))return aI(e,n);if(Ru.test(n))return xu(Ru,n);if(ku.test(n))return xu(ku,n);if(Cu.test(n))return iI(e,n);if(Pu.test(n))return oI(e,n);if(Mu.test(n))return xu(Mu,n)}function iI(n,e){let t=Cu.exec(e);return Number(t[1])/n.frameRate}function oI(n,e){let t=Pu.exec(e);return Number(t[1])/n.tickRate}function aI(n,e){let t=vu.exec(e),r=Number(t[1]),i=Number(t[2]),o=Number(t[3]),a=Number(t[4]),s=Number(t[5]);return isNaN(s)&&(s=0),a+=s/n.subFrameRate,o+=a/n.frameRate,o+i*60+r*3600}function xu(n,e){let t=n.exec(e);if(t===null||t[0]==="")return null;let r=Number(t[1]);isNaN(r)&&(r=0);let i=Number(t[2]);isNaN(i)&&(i=0);let o=Number(t[3]);isNaN(o)&&(o=0);let a=Number(t[4]);return isNaN(a)&&(a=0),a/1e3+o+i*60+r*3600}var ya=rI;function Yi(n,e){let t=n.getAttribute("begin"),r=n.getAttribute("dur"),i=n.getAttribute("end"),o=w(t)?ya(t,e):null,a=w(r)?ya(r,e):null,s=w(i)?ya(i,e):null;if(_(o)||_(s)&&_(a))throw new Error("Invalid text cue");let d=_(s)?o+a:s;return{start:o,end:d}}var wu;function Ce(n,e){wu===void 0&&(wu=n.classList!==void 0&&typeof n.classList.add=="function"),wu?n.classList.add(e):(" "+n.className+" ").indexOf(" "+e+" ")<0&&(n.className+=" "+e)}function Ou(n,e){let t=e.trim();if(t==="auto")return;let r=t.split(" ");if(r.length!==2)return;let i=Ge.exec(r[0]),o=Ge.exec(r[1]);i!==null&&o!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.width=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-width",i[1])):m.warn("TTML Parser: unhandled extent unit:",i[2]),o[2]==="px"||o[2]==="%"||o[2]==="em"?n.style.height=o[1]+o[2]:o[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-height",o[1])):m.warn("TTML Parser: unhandled extent unit:",o[2]))}function Du(n,e){let r=e.trim().split(" ");if(r.length===0)return;let i=Ge.exec(r[0]);if(i!==null)if(i[2]==="px"||i[2]==="em")n.style.fontSize=i[1]+i[2];else if(i[2]==="c")n.style.position="relative",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size",i[1]);else if(i[2]==="%"){let o=Number(i[1]);isNaN(o)?m.warn('TTML Parser: could not parse fontSize value "'+i[1]+'" into a number'):(n.style.position="relative",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size",String(o/100)))}else m.warn("TTML Parser: unhandled fontSize unit:",i[2])}function Lu(n,e){let t=e.trim(),r=t.split(" ");if(t==="auto")return;let i=Ge.exec(r[0]);i!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.lineHeight=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-line-height",i[1])):m.warn("TTML Parser: unhandled lineHeight unit:",i[2]))}function Nu(n,e){let t=e.trim();if(t==="auto")return;let r=t.split(" ");if(r.length!==2)return;let i=Ge.exec(r[0]),o=Ge.exec(r[1]);i!==null&&o!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.left=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-left",i[1])):m.warn("TTML Parser: unhandled origin unit:",i[2]),o[2]==="px"||o[2]==="%"||o[2]==="em"?n.style.top=o[1]+o[2]:o[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-top",o[1])):m.warn("TTML Parser: unhandled origin unit:",o[2]))}function Uu(n,e){let r=e.trim().split(" ");if(r.length<1)return;let i=Ge.exec(r[0]);if(i===null)return;if(i[2]==="px"||i[2]==="%"||i[2]==="em"){let d=i[1]+i[2];r.length===1?n.style.padding=d:r.length===2?(n.style.paddingTop=d,n.style.paddingBottom=d):n.style.paddingTop=d}else i[2]==="c"?(Ce(n,"proportional-style"),r.length===1?(n.setAttribute("data-proportional-padding-top",i[1]),n.setAttribute("data-proportional-padding-bottom",i[1]),n.setAttribute("data-proportional-padding-left",i[1]),n.setAttribute("data-proportional-padding-right",i[1])):r.length===2?(n.setAttribute("data-proportional-padding-top",i[1]),n.setAttribute("data-proportional-padding-bottom",i[1])):n.setAttribute("data-proportional-padding-top",i[1])):m.warn("TTML Parser: unhandled padding unit:",i[2]);if(r.length===1)return;let o=Ge.exec(r[1]);if(o===null)return;if(o[2]==="px"||o[2]==="%"||o[2]==="em"){let d=o[1]+o[2];r.length<4&&(n.style.paddingLeft=d),n.style.paddingRight=d}else o[2]==="c"?(Ce(n,"proportional-style"),r.length<4&&n.setAttribute("data-proportional-padding-left",o[1]),n.setAttribute("data-proportional-padding-right",o[1])):m.warn("TTML Parser: unhandled padding unit:",o[2]);if(r.length===2)return;let a=Ge.exec(r[2]);if(a===null)return;if(a[2]==="px"||a[2]==="%"||a[2]==="em"){let d=a[1]+a[2];n.style.paddingBottom=d}else a[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-padding-bottom",a[1])):m.warn("TTML Parser: unhandled padding unit:",a[2]);if(r.length===3)return;let s=Ge.exec(r[3]);if(s!==null)if(s[2]==="px"||s[2]==="%"||s[2]==="em"){let d=s[1]+s[2];n.style.paddingLeft=d}else s[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-padding-left",s[1])):m.warn("TTML Parser: unhandled padding unit:",s[2])}function er(n,e){let t=e;return w(e)&&e.trim().endsWith("%")&&(t=e.trim().slice(0,-1),t=(parseInt(t,10)/100).toString()+"em"),`-1px -1px ${t} ${n},1px -1px ${t} ${n},-1px 1px ${t} ${n},1px 1px ${t} ${n}`}function nn(n){let e;return e=tm.exec(n),_(e)?(e=nm.exec(n),_(e)?(e=rm.exec(n),_(e)?(e=im.exec(n),_(e)?n:"rgba("+String(+e[1])+","+String(+e[2])+","+String(+e[3])+","+String(+e[4]/255)+")"):"rgb("+String(+e[1])+","+String(+e[2])+","+String(+e[3])+")"):"rgba("+String(parseInt(e[1]+e[1],16))+","+String(parseInt(e[2]+e[2],16))+","+String(parseInt(e[3]+e[3],16))+","+String(parseInt(e[4]+e[4],16)/255)+")"):"rgba("+String(parseInt(e[1],16))+","+String(parseInt(e[2],16))+","+String(parseInt(e[3],16))+","+String(parseInt(e[4],16)/255)+")"}var sI=["color","direction","display","fontFamily","fontSize","fontStyle","fontWeight","textDecoration","textOutline","unicodeBidi","visibility","wrapOption"];function dI(n,e,t){let r=e.color;w(r)&&(n.style.color=nn(r));let i=e.backgroundColor;w(i)&&(n.style.backgroundColor=nn(i));let o=e.textOutline;if(w(o)){let h=o.trim().replace(/\s+/g," ").split(" "),b=h.length;if(b===3){let T=nn(h[0]),v=h[1];n.style.textShadow=er(T,v)}else if(w(r)&&b===1){let T=h[0];n.style.textShadow=er(r,T)}else if(b===2){let T=/^[#A-Z]/i.test(h[0]),v=/^[0-9]/.test(h[0]);if(T!==v){if(T){let E=nn(h[0]),R=h[1];n.style.textShadow=er(E,R)}else if(w(r)){let E=h[0];n.style.textShadow=er(r,E)}}}}let a=e.textDecoration;if(w(a))switch(a){case"noUnderline":case"noLineThrough":case"noOverline":n.style.textDecoration="none";break;case"lineThrough":n.style.textDecoration="line-through";break;default:n.style.textDecoration=a;break}let s=e.fontFamily;if(w(s))switch(s){case"proportionalSansSerif":n.style.fontFamily="Arial, Helvetica, Liberation Sans, sans-serif";break;case"monospaceSansSerif":case"sansSerif":n.style.fontFamily="sans-serif";break;case"monospaceSerif":case"default":n.style.fontFamily="Courier New, Liberation Mono, monospace";break;case"proportionalSerif":n.style.fontFamily="serif";break;default:n.style.fontFamily=s}let d=e.fontStyle;w(d)&&(n.style.fontStyle=d);let u=e.fontWeight;w(u)&&(n.style.fontWeight=u);let c=e.fontSize;w(c)?Du(n,c):(Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size","1"));let l=e.direction;w(l)&&(n.style.direction=l);let f=e.unicodeBidi;if(w(f))switch(f){case"bidiOverride":n.style.unicodeBidi="bidi-override";break;case"embed":n.style.unicodeBidi="embed";break;default:n.style.unicodeBidi="normal"}let g=e.visibility;w(g)&&(n.style.visibility=g),e.display==="none"&&(n.style.display="none"),e.wrapOption==="noWrap"?t?n.style.whiteSpace="nowrap":n.style.whiteSpace="pre":t?n.style.whiteSpace="normal":n.style.whiteSpace="pre-wrap"}function uI(n,e){n.style.color="white",n.style.position="absolute";let t=e.extent;w(t)&&Ou(n,t);let r=e.writingMode;w(r);let i=e.overflow;n.style.overflow=w(i)?i:"hidden";let o=e.padding;w(o)&&Uu(n,o);let a=e.origin;w(a)&&Nu(n,a);let s=e.displayAlign;if(w(s))switch(n.style.display="flex",n.style.flexDirection="column",s){case"before":n.style.justifyContent="flex-start";break;case"center":n.style.justifyContent="center";break;case"after":n.style.justifyContent="flex-end";break}let d=e.opacity;w(d)&&(n.style.opacity=d);let u=e.visibility;w(u)&&(n.style.visibility=u),e.display==="none"&&(n.style.display="none")}function lI(n,e){n.style.margin="0px",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size","1");let t=e.backgroundColor;w(t)&&(n.style.backgroundColor=nn(t));let r=e.lineHeight;w(r)&&Lu(n,r);let i=e.textAlign;if(w(i))switch(i){case"center":n.style.textAlign="center";break;case"left":case"start":n.style.textAlign="left";break;case"right":case"end":n.style.textAlign="right";break}}function cI(n,e,t){let r=document.createElement("span"),i=n.textContent===null?"":n.textContent;if(t){let a=i.trim();a=a.replace(/\s+/g," "),i=a}let o=document.createTextNode(i);return r.appendChild(o),r.className="rxp-texttrack-span",dI(r,e,t),r}function fI(n,e,t,r,i){function o(a,s,d,u){let c=a.childNodes,l=[];for(let f=0;f<c.length;f++){let g=c[f];if(g.nodeName==="#text"){let{backgroundColor:p}=Pn(["backgroundColor"],d,t,e);w(p)?s.backgroundColor=p:delete s.backgroundColor;let y=cI(g,s,u);l.push(y)}else if(ga(g)){let p=document.createElement("BR");l.push(p)}else if(ha(g)&&g.nodeType===Node.ELEMENT_NODE&&g.childNodes.length>0){let p=g.getAttribute("xml:space"),y=w(p)?p==="default":u,h=j({},s,Pn(sI,[g],t,e));l.push(...o(g,h,[g,...d],y))}}return l}return o(n,j({},r),[],i)}function Bu(n,e,t,r,i,{cellResolution:o,shouldTrimWhiteSpace:a}){let s=pa(n),d=document.createElement("DIV");if(d.className="rxp-texttrack-region",d.setAttribute("data-resolution-columns",String(o.columns)),d.setAttribute("data-resolution-rows",String(o.rows)),uI(d,i),e!==null){let{bodyBackgroundColor:l}=Pn(["backgroundColor"],[...s,e],r,t);w(l)&&(d.style.backgroundColor=nn(l))}let u=document.createElement("p");u.className="rxp-texttrack-p",lI(u,i);let c=fI(n,t,r,i,a);for(let l=0;l<c.length;l++)u.appendChild(c[l]);return d.appendChild(u),d}function Fu(n){let{paragraph:e,ttParams:t,body:r,regionStyles:i,idStyles:o,paragraphStyle:a,timeOffset:s,shouldTrimWhiteSpace:d}=n;if(!e.hasAttribute("begin")&&!e.hasAttribute("end")&&/^\s*$/.test(e.textContent===null?"":e.textContent))return null;let{cellResolution:u}=t,{start:c,end:l}=Yi(e,t),f=Bu(e,r,i,o,a,{cellResolution:u,shouldTrimWhiteSpace:d});return{start:c+s,end:l+s,element:f}}function Ku(n,e){let t=ji(n,e),r=[];for(let i=0;i<t.length;i++){let{paragraphStyle:o}=t[i];Jf(o)&&em(o);let a=Fu(t[i]);a!==null&&r.push(a)}return r}var om=Ku;function Vu(n){n.htmlTextTracksParsers.ttml=om,n.htmlTextDisplayer=tn}function Ia(n){let e=0;for(;e<n.length;){if(n[e]==="")return e+1;e++}return e}function zu(n,e){return typeof n[e]=="string"&&/^STYLE( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function mI(n,e){return typeof n[e]=="string"&&/^NOTE( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function pI(n,e){return typeof n[e]=="string"&&/^REGION( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function am(n,e){let t=n[e];if(t===void 0||t===""||zu(n,e)||pI(n,e)||mI(n,e))return!1;if(t.indexOf("-->")>=0)return!0;let r=n[e+1];return r!==void 0&&r.indexOf("-->")>=0}function sm(n,e){let t=e+1;for(;w(n[t]);)t++;return t}function $i(n,e){let t=[];for(let r=e;r<n.length;r++)if(am(n,r)){let i=sm(n,r);t.push(n.slice(r,i)),r=i}else if(w(n[r]))for(;w(n[r]);)r++;return t}function Hu(n,e){let t=[];for(let r=e;r<n.length;r++)if(zu(n,r)){let i=r;for(r++;w(n[r]);)r++;let o=n.slice(i,r);t.push(o)}else if(w(n[r]))for(;w(n[r]);)r++;return t}function ba(n){let e=n.split(":").reverse();if(w(e[2])||w(e[1])){let t=w(e[2])?parseInt(e[2],10):0,r=parseInt(e[1],10),i=parseFloat(e[0].replace(",","."));return isNaN(t)||isNaN(r)||isNaN(i)?void 0:t*60*60+r*60+i}}function gI(n){return n.split(/ |\t/).reduce((t,r)=>{let i=r.split(":");return i.length===2&&(t[i[0]]=i[1]),t},{})}function hI(n){let t=/^([\d:.]+)[ |\t]+-->[ |\t]+([\d:.]+)[ |\t]*(.*)$/.exec(n);if(t===null)return null;let r=ba(t[1]),i=ba(t[2]);if(r===void 0||i===void 0)return null;let o=gI(t[3]);return{start:r,end:i,settings:o}}function Qi(n,e){let t=/-->/,r,i,o;if(t.test(n[0]))r=n[0],i=n.slice(1,n.length);else{if(!t.test(n[1]))return null;o=n[0],r=n[1],i=n.slice(2,n.length)}let a=hI(r);if(a===null)return null;let{start:s,end:d,settings:u}=a;return{start:s+e,end:d+e,settings:u,payload:i,header:o}}var Wu={white:"#ffffff",lime:"#00ff00",cyan:"#00ffff",red:"#ff0000",yellow:"#ffff00",magenta:"#ff00ff",blue:"#0000ff",black:"#000000"};function Gu(){return Object.keys(Wu).reduce((n,e)=>(n[e]=`color: ${Wu[e]};`,n[`bg_${e}`]=`background-color: ${Wu[e]};`,n),{})}function qu(n){let e=Gu(),t="";return n.forEach(r=>{if(r.length>=2)for(let i=1;i<r.length;i++){let o=r[i];if(Array.isArray(/::cue {/.exec(o)))for(o=r[++i];w(o)&&!(Array.isArray(/}/.exec(o))||o.length===0);)t+=o,o=r[++i];else{let a=[],s=/::cue\(\.?(.*?)\)(?:,| {)/.exec(o);for(;w(o)&&Array.isArray(s);)a.push(s[1]),o=r[++i],s=/::cue\(\.?(.*?)\)(?:,| {)/.exec(o);let d="";for(;w(o)&&!(Array.isArray(/}/.exec(o))||o.length===0);)d+=o,o=r[++i];a.forEach(u=>{e[u]===void 0?e[u]=d:e[u]+=d})}}}),{classes:e,global:t}}function Xi(n,e){let t=["u","i","b"],r=["u","i","b","c","#text"],i=n.nodeName.toLowerCase().split(".")[0],o;if(Q(r,i))if(i==="#text"){let a=n.wholeText.split(`
8
- `);o=document.createElement("span");for(let s=0;s<a.length;s++)if(s>0&&o.appendChild(document.createElement("br")),a[s].length>0){let d=document.createTextNode(a[s]);o.appendChild(d)}}else{let a=n.nodeName.toLowerCase().split("."),s=[];if(a.forEach(d=>{w(e[d])&&s.push(e[d])}),s.length!==0){let d=document.createAttribute("style");s.forEach(c=>{d.value+=c});let u=Q(t,i)?i:"span";o=document.createElement(u),o.setAttributeNode(d)}else{let d=Q(t,i)?i:"span";o=document.createElement(d)}for(let d=0;d<n.childNodes.length;d++){let u=Xi(n.childNodes[d],e);o.appendChild(u)}}else{o=document.createElement("span");for(let a=0;a<n.childNodes.length;a++){let s=Xi(n.childNodes[a],e);o.appendChild(s)}}return o}function ju(n,e){let t=n.replace(/<[0-9]{2}:[0-9]{2}.[0-9]{3}>/,"").replace(/<([u,i,b,c])(\..*?)?(?: .*?)?>(.*?)<\/\1>/g,"<$1$2>$3</$1$2>"),i=new DOMParser().parseFromString(t,"text/html").body.childNodes,o=[];for(let a=0;a<i.length;a++)o.push(Xi(i[a],e));return o}function Yu(n){let e=document.createAttribute("style");return e.value=yI(n),e}var yI=n=>{if(!(n!==void 0&&wn(n).length!==0))return"text-align:center";let t=II(n),r=TI(n);return`position: absolute;margin: 0;transform: translate(${t.offset}%,${r.offset}%);width: ${vI(n.size)}%;left: ${t.position}%;top: ${r.position!==null?`${r.position}%`:"auto"};text-align: ${$u(n.align)};`};var II=n=>({position:bI(n),offset:SI(n)}),bI=n=>{let e=Qu(n.position);if(e!==null)return e;let t=$u(n.align);return{left:0,center:50,right:100}[t]},SI=n=>{let e=a=>{let d=/,(line-left|line-right|center)/.exec(a);return!Array.isArray(d)||d.length<2?null:d[1]},t={"line-left":0,center:-50,"line-right":-100},r=n.position!==void 0?e(n.position):null;if(r!==null)return t[r];let i={left:0,center:-50,right:-100},o=n.align!==void 0?$u(n.align):"center";return i[o]},TI=n=>({position:_I(n.line),offset:EI(n.line)}),_I=n=>Qu(n),EI=n=>{let e=i=>{let a=/,(start|center|end)/.exec(i);return!Array.isArray(a)||a.length<2?null:a[1]},t={start:0,center:-50,end:-100};if(n===void 0)return t.start;let r=e(n);return r!==null?t[r]:t.start},$u=n=>{switch(n){case"left":case"start":return"left";case"right":case"end":return"right";default:return"center"}},vI=n=>RI(n,100),RI=(n,e)=>{let t=Qu(n);return t!==null?t:e},Qu=n=>{if(n===void 0)return null;let t=/^([\d.]+)%/.exec(n);return!Array.isArray(t)||t.length<2?null:parseInt(t[1],10)};function Xu(n,e){let{start:t,end:r,settings:i,header:o,payload:a}=n,s=document.createElement("div"),d=document.createAttribute("style");d.value="width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;",s.setAttributeNode(d);let u=document.createElement("p"),c=Yu(i);u.setAttributeNode(c);let l=document.createElement("span"),f=document.createAttribute("style");f.value="background-color:rgba(0,0,0,0.8);color:white;",l.setAttributeNode(f);let{global:g,classes:p}=e,y=w(o)?p[o]:void 0,h=[g,y].filter(b=>b!==void 0).join("");return f.value+=h,l.setAttributeNode(f),ju(a.join(`
9
- `),p).forEach(b=>{l.appendChild(b)}),s.appendChild(u),u.appendChild(l),{start:t,end:r,element:s}}function Zu(n,e){let t=/\r\n|\n|\r/g,r=n.split(t),i=[];if(/^WEBVTT( |\t|\n|\r|$)/.exec(r[0])===null)throw new Error("Can't parse WebVTT: Invalid File.");let o=Ia(r),a=Hu(r,o),s=$i(r,o),d=qu(a);for(let u=0;u<s.length;u++){let c=Qi(s[u],e);if(c!==null){let l=Xu(c,d);i.push(l)}}return i}var dm=Zu;function Ju(n){n.htmlTextTracksParsers.vtt=dm,n.htmlTextDisplayer=tn}function el(n){var i;let e,t,r="subtitles";if(zt){let o=n.textTracks.length;e=o>0?n.textTracks[o-1]:n.addTextTrack(r),e.mode=(i=e.SHOWING)!=null?i:"showing"}else t=document.createElement("track"),n.appendChild(t),e=t.track,t.kind=r,e.mode="showing";return{track:e,trackElement:t}}function kI(n,e){let{activeCues:t}=n;if(t===null)return!1;for(let r=0;r<t.length;r++)if(t[r]===e)return!0;return!1}function tl(n,e){if(dn&&kI(n,e)){let t=n.mode;n.mode="hidden";try{n.removeCue(e)}catch(r){m.warn("Compat: Could not remove cue from text track.")}n.mode=t;return}try{n.removeCue(e)}catch(t){m.warn("Compat: Could not remove cue from text track.")}}function nl(n,e,t,r){m.debug("NTSB: Finding parser for native text tracks:",n);let i=me.nativeTextTracksParsers[n];if(typeof i!="function")throw new Error("no parser found for the given text track");m.debug("NTSB: Parser found, parsing...");let o=i(e,t,r);return m.debug("NTSB: Parsed successfully!",o.length),o}var Zi=class{constructor(e){m.debug("NTD: Creating NativeTextDisplayer");let{track:t,trackElement:r}=el(e);this._buffered=new Cn,this._videoElement=e,this._track=t,this._trackElement=r}pushTextData(e){var y,h;if(m.debug("NTD: Appending new native text tracks"),e.chunk===null)return Pe(this._buffered);let{timestampOffset:t,appendWindow:r,chunk:i}=e,{start:o,end:a,data:s,type:d,language:u}=i,c=(y=r[0])!=null?y:0,l=(h=r[1])!=null?h:1/0,f=nl(d,s,t,u);if(c!==0&&l!==1/0){let b=0;for(;b<f.length&&f[b].endTime<=c;)b++;for(f.splice(0,b),b=0;b<f.length&&f[b].startTime<c;)f[b].startTime=c,b++;for(b=f.length-1;b>=0&&f[b].startTime>=l;)b--;for(f.splice(b,f.length),b=f.length-1;b>=0&&f[b].endTime>l;)f[b].endTime=l,b--}let g;if(o!==void 0)g=Math.max(c,o);else{if(f.length<=0)return m.warn("NTD: Current text tracks have no cues nor start time. Aborting"),Pe(this._buffered);m.warn("NTD: No start time given. Guessing from cues."),g=f[0].startTime}let p;if(a!==void 0)p=Math.min(l,a);else{if(f.length<=0)return m.warn("NTD: Current text tracks have no cues nor end time. Aborting"),Pe(this._buffered);m.warn("NTD: No end time given. Guessing from cues."),p=f[f.length-1].endTime}if(p<=g)return m.warn("NTD: Invalid text track appended: ","the start time is inferior or equal to the end time."),Pe(this._buffered);if(f.length>0){let b=f[0],T=this._track.cues;T!==null&&T.length>0&&b.startTime<T[T.length-1].startTime&&this._removeData(b.startTime,1/0);for(let v of f)this._track.addCue(v)}return this._buffered.insert(g,p),Pe(this._buffered)}removeBuffer(e,t){return this._removeData(e,t),Pe(this._buffered)}getBufferedRanges(){return Pe(this._buffered)}reset(){m.debug("NTD: Aborting NativeTextDisplayer"),this._removeData(0,1/0);let{_trackElement:e,_videoElement:t}=this;if(e!==void 0&&t.hasChildNodes())try{t.removeChild(e)}catch(i){m.warn("NTD: Can't remove track element from the video")}let r=this._track.mode;this._track.mode="disabled",this._track.mode=r,this._trackElement!==void 0&&(this._trackElement.innerHTML="")}stop(){m.debug("NTD: Aborting NativeTextDisplayer"),this._removeData(0,1/0);let{_trackElement:e,_videoElement:t}=this;if(e!==void 0&&t.hasChildNodes())try{t.removeChild(e)}catch(r){m.warn("NTD: Can't remove track element from the video")}this._track.mode="disabled",this._trackElement!==void 0&&(this._trackElement.innerHTML="")}_removeData(e,t){m.debug("NTD: Removing native text track data",e,t);let r=this._track,i=r.cues;if(i!==null)for(let o=i.length-1;o>=0;o--){let a=i[o],{startTime:s,endTime:d}=a;s>=e&&s<=t&&d<=t&&tl(r,a)}this._buffered.remove(e,t)}};I.CURRENT_ENV===I.DEV&&(CI=function(e){function t(r){}});var CI;var rn=Zi;function Lt(n,e,t){if(n>=e)return m.warn(`Compat: Invalid cue times: ${n} - ${e}`),null;if(_(ee.VTTCue)){if(_(ee.TextTrackCue))throw new Error("VTT cues not supported in your target");return new TextTrackCue(n,e,t)}else return new VTTCue(n,e,t)}var PI=/&#([0-9]+);/g,MI=/<br>/gi,AI=/<style[^>]*>([\s\S]*?)<\/style[^>]*>/i,xI=/\s*<p (?:class=([^>]+))?>(.*)/i,wI=/<sync[^>]+?start="?([0-9]*)"?[^0-9]/i;function OI(n){let e=[];for(let t=0;t<n.length;t++){let{start:r,end:i,text:o}=n[t];if(w(o)&&!_(i)){let a=Lt(r,i,o);a!==null&&e.push(a)}}return e}function DI(n){let e=/\.(\S+)\s*{([^}]*)}/gi,t={},r=e.exec(n);for(;Array.isArray(r);){let i=r[1],o=LI(r[2],"lang");!_(i)&&!_(o)&&(t[o]=i),r=e.exec(n)}return t}function LI(n,e){let t=new RegExp("\\s*"+e+":\\s*(\\S+);","i").exec(n);return Array.isArray(t)?t[1]:null}function NI(n){return n.replace(MI,`
10
- `).replace(PI,(e,t)=>String.fromCharCode(Number(t)))}function UI(n,e,t){let r=/<sync[ >]/gi,i=/<sync[ >]|<\/body>/gi,o=[],a=AI.exec(n),s=a!==null?a[1]:"",d,u;i.exec(n);let c=DI(s),l;if(w(t)&&(l=c[t],l===void 0))throw new Error(`sami: could not find lang ${t} in CSS`);for(;d=r.exec(n),u=i.exec(n),!(d===null&&u===null);){if(d===null||u===null||d.index>=u.index)throw new Error("parse error");let g=n.slice(d.index,u.index),p=wI.exec(g);if(p===null)throw new Error("parse error (sync time attribute)");let y=+p[1];if(isNaN(y))throw new Error("parse error (sync time attribute NaN)");f(g.split(`
11
- `),y/1e3)}return OI(o);function f(g,p){let y=g.length,h;for(;--y>=0;){if(h=xI.exec(g[y]),h===null)continue;let[,b,T]=h;l===b&&(T==="&nbsp;"?o[o.length-1].end=p:o.push({text:NI(T),start:p+e}))}}}var um=UI;function rl(n){n.nativeTextTracksParsers.sami=um,n.nativeTextDisplayer=rn}function il(n,e){let t=n.split(/\r\n|\n|\r/),r=Gi(t),i=[];for(let o=0;o<r.length;o++){let a=qi(r[o],e);if(a!==null){let s=BI(a);s!==null&&i.push(s)}}return i}function BI(n){let{start:e,end:t,payload:r}=n,i=r.join(`
1
+ "use strict";(()=>{var ep=Object.defineProperty,tp=Object.defineProperties;var np=Object.getOwnPropertyDescriptors;var Ml=Object.getOwnPropertySymbols;var rp=Object.prototype.hasOwnProperty,ip=Object.prototype.propertyIsEnumerable;var Al=(n,e,t)=>e in n?ep(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ie=(n,e)=>{for(var t in e||(e={}))rp.call(e,t)&&Al(n,t,e[t]);if(Ml)for(var t of Ml(e))ip.call(e,t)&&Al(n,t,e[t]);return n},de=(n,e)=>tp(n,np(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var S={CURRENT_LEVEL:"NONE"};function xn(){return typeof __RX_PLAYER_DEBUG_MODE__=="boolean"&&__RX_PLAYER_DEBUG_MODE__}function _(n){return n==null}var oe=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=this._listeners[e];Array.isArray(i)?i.push(t):this._listeners[e]=[t],r!==void 0&&r.register(()=>{this.removeEventListener(e,t)})}removeEventListener(e,t){if(_(e)){this._listeners={};return}let r=this._listeners[e];if(!Array.isArray(r))return;if(_(t)){delete this._listeners[e];return}let i=r.indexOf(t);i!==-1&&r.splice(i,1),r.length===0&&delete this._listeners[e]}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i(t)}catch(o){if(I.CURRENT_ENV===I.DEV)throw o instanceof Error?o:new Error("EventEmitter: listener error");console.error("RxPlayer: EventEmitter error",o instanceof Error?o:null)}})}};var Ft=typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope;var sp=typeof window=="undefined"&&!Ft,Kt=sp;var uo;Ft?uo=self:Kt?uo=global:uo=window;var ee=uo;var _t=typeof queueMicrotask=="function"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};function wa(){if(!Kt&&!_(ee.WebKitSourceBuffer)&&ee.WebKitSourceBuffer.prototype.addEventListener===void 0){let e=ee.WebKitSourceBuffer.prototype;for(let t in oe.prototype)oe.prototype.hasOwnProperty(t)&&(e[t]=oe.prototype[t]);e._listeners=[],e._emitUpdate=function(t,r){_t(()=>{this.trigger(t,r),this.updating=!1,this.trigger("updateend")})},e.appendBuffer=function(t){if(this.updating)throw new Error("updating");this.trigger("updatestart"),this.updating=!0;try{this.append(t)}catch(r){this._emitUpdate("error",r);return}this._emitUpdate("update")}}}function ye(n,e,t){if(typeof Array.prototype.findIndex=="function")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function Z(){}var lo=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error("Finished shared references cannot be updated");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if((t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let o=this._listeners.indexOf(i);o>=0&&this._listeners.splice(o,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),(t==null?void 0:t.emitCurrentValue)===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}(t==null?void 0:t.clearSignal)!==void 0&&t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return Z;let r=()=>{let a=ye(this._onFinishCbs,s=>s.trigger===i);a>=0&&(this._onFinishCbs[a].hasBeenCleared=!0,this._onFinishCbs.splice(a,1))},i=()=>{r(),e()},o=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),o}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function on(n,e,t){let r=new lo(e(n.getValue()),t);return n.onUpdate(function(o){r.setValue(e(o))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var G=lo;var xl=new G(0);var dp=typeof performance!="undefined"?()=>performance.now()+xl.getValue():()=>Date.now()+xl.getValue(),K=dp;var up="NONE",or=class extends oe{constructor(){super(),this.error=Z,this.warn=Z,this.info=Z,this.debug=Z,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat="standard",this._currentLevel=up}setLevel(e,t,r){let i,o=this._levels[e];typeof o=="number"?(i=o,this._currentLevel=e):(i=0,this._currentLevel="NONE");let a;if(t==="standard"||t==="full"?a=t:a="standard",a==="full"&&a!==this._currentFormat){let d=K();console.log(String(d.toFixed(2)),"[Init]",`Local-Date: ${Date.now()}`)}this._currentFormat=a;let s=this._currentFormat==="full"?(d,u)=>(...c)=>{let l=K();return u(String(l.toFixed(2)),`[${d}]`,...c)}:(d,u)=>u;if(r===void 0)this.error=i>=this._levels.ERROR?s("error",console.error.bind(console)):Z,this.warn=i>=this._levels.WARNING?s("warn",console.warn.bind(console)):Z,this.info=i>=this._levels.INFO?s("info",console.info.bind(console)):Z,this.debug=i>=this._levels.DEBUG?s("log",console.log.bind(console)):Z;else{let d=(u,c)=>i>=this._levels[u]?(...l)=>{let f=K();return r(u,[f,c,...l])}:Z;this.error=d("ERROR","error"),this.warn=d("WARNING","warn"),this.info=d("INFO","info"),this.debug=d("DEBUG","log")}this.trigger("onLogLevelChange",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};var lp=new or,m=lp;var Vt=ee,an=Vt===void 0?void 0:_(Vt.MediaSource)?_(Vt.MozMediaSource)?_(Vt.WebKitMediaSource)?Vt.MSMediaSource:Vt.WebKitMediaSource:Vt.MozMediaSource:Vt.MediaSource;var cp=200,co=new Map;function Oa(n){if(_(an))return Ft&&m.error("Compat: Cannot request codec support in a worker without MSE."),!1;if(typeof an.isTypeSupported=="function"){let e=co.get(n);if(e!==void 0)return e;{let t=an.isTypeSupported(n);return co.size>=cp&&co.clear(),co.set(n,t),t}}return!0}var ar=!1,sn=!1,zt=!1,dn=!1,Da=!1,un=!1,La=!1,sr=!1,dr=!1,fp=!1,mp=!1,Na=!1,Ua=!1,ln=!1,pp=!1;(function(){var e,t,r;Kt||(typeof ee.MSInputMethodContext!="undefined"&&typeof document.documentMode!="undefined"?(sn=!0,zt=!0):navigator.appName==="Microsoft Internet Explorer"||navigator.appName==="Netscape"&&/(Trident|Edge)\//.test(navigator.userAgent)?zt=!0:navigator.userAgent.toLowerCase().indexOf("edg/")!==-1?ar=!0:navigator.userAgent.toLowerCase().indexOf("firefox")!==-1?dn=!0:typeof navigator.platform=="string"&&/iPad|iPhone|iPod/.test(navigator.platform)?un=!0:(Object.prototype.toString.call(ee.HTMLElement).indexOf("Constructor")>=0||((t=(e=ee.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())==="[object SafariRemoteNotification]"||/Safari\/(\d+)/.test(navigator.userAgent)&&/Version\/(\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf("Apple"))!==-1&&!/Chrome\/(\d+)/.test(navigator.userAgent)&&!/Chromium\/(\d+)/.test(navigator.userAgent))&&(Da=!0),/SamsungBrowser/.test(navigator.userAgent)&&(La=!0),navigator.userAgent.indexOf("PlayStation 4")!==-1?Ua=!0:navigator.userAgent.indexOf("PlayStation 5")!==-1?ln=!0:/Tizen/.test(navigator.userAgent)?sr=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(dr=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\/87/.test(navigator.userAgent)?mp=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\/79/.test(navigator.userAgent))&&(fp=!0)):/[Pp]anasonic/.test(navigator.userAgent)?Na=!0:navigator.userAgent.indexOf("Xbox")!==-1&&(pp=!0))})();var gp=ln,wl=gp;function Ba(n){return n===void 0||n.indexOf("widevine")<0}var hp={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:"native",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:"continue",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:"none",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs="avc1.4d401e"','video/mp4;codecs="avc1.42e01e"','video/mp4;codecs="hvc1.1.6.L93.B0"','video/webm;codecs="vp8"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs="mp4a.40.2"',"audio/webm;codecs=opus"],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:["HW_SECURE_ALL","HW_SECURE_DECODE","HW_SECURE_CRYPTO","SW_SECURE_DECODE","SW_SECURE_CRYPTO"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:["3000","2000"],EME_KEY_SYSTEMS:{clearkey:["webkit-org.w3.clearkey","org.w3.clearkey"],widevine:["com.widevine.alpha"],playready:["com.microsoft.playready.recommendation","com.microsoft.playready","com.chromecast.playready","com.youtube.playready"],fairplay:["com.apple.fps.1_0"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:"seamless",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:"seamless",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:"reload",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:"seamless"},Ol=hp;function yp(n,...e){if(n==null)throw new TypeError("Cannot convert undefined or null to object");let t=Object(n);for(let r=0;r<e.length;r++){let i=e[r];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}var j=typeof Object.assign=="function"?Object.assign:yp;function Fa(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function ur(n,...e){if(e.length===0)return n;let t=e.shift();if(Fa(n)&&Fa(t))for(let r in t)if(Fa(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),ur(i,t[r])}else j(n,{[r]:t[r]});return ur(n,...e)}var Ka=class{constructor(){this._config=Ol}update(e){let t=ur(this._config,e);this._config=t}getCurrent(){return this._config}},Ip=new Ka,U=Ip;var bp=.016666666666666666;function Dl(n,e){return Math.abs(n-e)<bp}function Nl(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function Sp(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Tp(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Bl(t,r)){let i=Nl(t,r);n.splice(--e,2,i)}}return n}function Va(n,e){return n.end<=e.start}function Ll({start:n,end:e},t){return n<=t&&t<e}function Ul(n,e){return Ll(n,e.start)||n.start<e.end&&e.end<n.end||Ll(e,n.start)}function Bl(n,e){return Dl(e.start,n.end)||Dl(e.end,n.start)}function Pe(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function za(n,e){for(let t=n.length-1;t>=0;t--){let r=n.start(t);if(e>=r){let i=n.end(t);if(e<i)return{start:r,end:i}}}return null}function _p(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Fl(n,e){let t=n.length;for(let r=0;r<t;r++){let i=n.start(r);if(e<i)return i-e}return 1/0}function Kl(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let o=n[i].start,a=n[i].end;e<o||e>=a?r.push({start:o,end:a}):t={start:o,end:a}}return{outerRanges:r,innerRange:t}}function Vl(n,e){let t=za(n,e);return t!==null?t.end-e:1/0}function fo(n,e){let t=_p(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],o=Ul(t,i),a=Bl(t,i);if(o||a)t=Nl(t,i),n.splice(r--,1);else if(r===0){if(Va(t,n[0]))break}else if(Va(n[r-1],t)&&Va(t,i))break}return n.splice(r,0,t),Tp(Sp(n))}function zl(n,e){let t=[];for(let r=0;r<e.length;r++)Ul(n,e[r])&&t.push(e[r]);return t}function Hl(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],o=zl(i,e);if(o.length>0)for(let a=0;a<o.length;a++){let s=o[a];t.push({start:Math.max(i.start,s.start),end:Math.min(i.end,s.end)})}}return t}function mo(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],o=[],a=zl(i,e);if(a.length>0)for(let s=0;s<a.length;s++){let d=a[s];o.push({start:Math.max(i.start,d.start),end:Math.min(i.end,d.end)})}if(o.length===0)t.push(i);else{let s=i.start;for(let d=0;d<o.length;d++)o[d].start>s&&t.push({start:s,end:o[d].start}),s=o[d].end;s<i.end&&t.push({start:s,end:i.end})}}return t}var po=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name="AssertionError"}};function te(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new po(e===void 0?"invalid assertion":e)}function Wl(n,e,t="object"){te(!_(n),`${t} should be an object`);for(let r in e)e.hasOwnProperty(r)&&te(typeof n[r]===e[r],`${t} should have property ${r} as a ${e[r]}`)}function Qe(n){throw new po("Unreachable path taken")}var B=class{constructor(){let[e,t]=Ep();this._isUsed=!1,this._trigger=e,this.signal=new lr(t)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(()=>{this.cancel()});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=e!=null?e:new Me;this._trigger(t)}static isCancellationError(e){return e instanceof Me}},lr=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){m.error("Error while calling clean up listener",r instanceof Error?r.toString():"Unknown error")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(te(this.cancellationError!==null),e(this.cancellationError),Z):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},Me=class n extends Error{constructor(){super("This task was cancelled."),Object.setPrototypeOf(this,n.prototype),this.name="CancellationError"}};function Ep(){let n=Z;return[function(t){n(t)},function(t){n=t}]}function Ha(n){let e=n.map(a=>Math.log(a/n[0])),t=e.map(a=>a-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((a,s)=>o(s));function o(a){if(a===0)return 0;let s=Math.min(Math.max(1,a),n.length-1);return n[s]===n[s-1]?o(a-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var tt=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var cr=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,o=this._currentRepresentationData,a;o!==null&&o.representation.id===e.id?(a=o.ewma,o.ewma.addSample(t,i),o.loadedDuration+=r,o.loadedSegments++):(a=new tt(5),a.addSample(t,i),this._currentRepresentationData={representation:e,ewma:a,loadedDuration:r,loadedSegments:0}),a.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug("ABR: New last stable representation",e.bitrate),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,o=t.getEstimate(),a=r>=5&&i>=10?1:0;return{score:o,confidenceLevel:a}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var Gl=6e3,vp=15e3,Rp=3e3,kp=1e3,Cp=9e3,fr=class{constructor(e){this._levelsMap=Ha(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Gl,m.debug("ABR: Steps for buffer based chooser.",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(" ,"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:o,currentScore:a,speed:s}=e;if(_(o)){this._currentEstimate=r[0];return}let d=-1;for(let p=0;p<r.length;p++){let h=r[p];if(h===o)d=p;else if(h>o)break}if(d<0||r.length!==t.length){m.info("ABR: Current Bitrate not found in the calculated levels"),this._currentEstimate=r[0];return}let u;a!==void 0&&(u=s===0?a.score:a.score/s);let c=isFinite(i)?i:0,l=K();if(c<t[d]||u!==void 0&&u<1&&(a==null?void 0:a.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+Cp){let y=this._blockRaiseDelay+Rp;this._blockRaiseDelay=Math.min(y,vp),m.debug("ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality",this._blockRaiseDelay)}else{let y=this._blockRaiseDelay-kp;this._blockRaiseDelay=Math.max(Gl,y),m.debug("ABR: Lowering quality in BufferBasedChooser",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let h=ye(r,y=>y===o);for(let y=h-1;y>=0;y--)if(c>=t[y]){this._currentEstimate=r[y];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||u===void 0||u<1.15||(a==null?void 0:a.confidenceLevel)!==1){this._currentEstimate=o;return}let f=t[d],g=(()=>{for(let p=d+1;p<t.length;p++)if(t[p]>f)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug("ABR: Raising quality in BufferBasedChooser",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=o}getLastEstimate(){return this._currentEstimate}};function X(n,e,t){if(typeof Array.prototype.find=="function")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let o=n[i];if(e.call(t,o,i,n))return o}}function Pp(n,e){let t=-1;for(let a=0;a<n.length;a++){let{segment:s}=n[a].content;if(s.duration<=0)continue;let d=s.time+s.duration;if(!s.complete&&a===n.length-1&&e-s.time>-1.2){t=a;break}if(d>e&&e-s.time>-1.2){t=a;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,o=[r];for(let a=t+1;a<n.length&&n[a].content.segment.time===i;a++)o.push(n[a]);return o}function go(n){if(n.progress.length<5)return;let e=new tt(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,o=t[r].timestamp-t[r-1].timestamp,a=i*8/(o/1e3);e.addSample(o/1e3,a)}return e.getEstimate()}function ql(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function Mp(n,e,t,r,i){if(r)return;let{bufferGap:o,speed:a,position:s}=e,d=isFinite(o)?o:0,u=s.getWanted()+d,c=Pp(n,u);if(c.length!==1)return;let l=c[0],f=K(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),f-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,h=go(l);if(p!==void 0&&h!==void 0){let R=ql(p,h);if((f-p.timestamp)/1e3<=R&&R-d/a>2500)return h}if(!l.content.segment.complete)return;let y=l.content.segment.duration,b=(f-l.requestTimestamp)/1e3,T=b<=(y*1.5+2)/a;if(_(t)||T)return;let v=y/b,E=t.bitrate*Math.min(.7,v);if(i===void 0||E<i)return E}function Ap(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,o=X(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(o===void 0)return!0;let a=K(),s=o.progress.length>0?o.progress[o.progress.length-1]:void 0,d=go(o);if(s===void 0||d===void 0)return!0;let u=ql(s,d);return(a-s.timestamp)/1e3>u*1.2?!0:u-r/n.speed>-1.5}var mr=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:o,ABR_REGULAR_FACTOR:a}=U.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:o.LOW_LATENCY,regularBitrateFactor:a.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:o.DEFAULT,regularBitrateFactor:a.DEFAULT}}getBandwidthEstimate(e,t,r,i,o){let a,s,d=this._config,{bufferGap:u,position:c,duration:l}=e,f=isFinite(u)?u:0,{ABR_STARVATION_DURATION_DELTA:g}=U.getCurrent();return isNaN(l)||f+c.getWanted()<l-g?!this._inStarvationMode&&f<=d.starvationGap?(m.info("ABR: enter starvation mode."),this._inStarvationMode=!0):this._inStarvationMode&&f>=d.outOfStarvationGap&&(m.info("ABR: exit starvation mode."),this._inStarvationMode=!1):this._inStarvationMode&&(m.info("ABR: exit starvation mode."),this._inStarvationMode=!1),this._inStarvationMode&&(s=Mp(i,e,r,this._lowLatencyMode,o),s!==void 0&&(m.info("ABR: starvation mode emergency estimate:",s),t.reset(),a=_(r)?s:Math.min(s,r.bitrate))),_(a)&&(s=t.getEstimate(),s!==void 0?a=s*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):o!==void 0?a=o*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):a=this._initialBitrate),e.speed>1&&(a/=e.speed),{bandwidthEstimate:s,bitrateChosen:a}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:Ap(i,r,this._lowLatencyMode)}};var pr=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var gr=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,o){let{bufferGap:a,speed:s}=t,d=this._lastAbrEstimate.representation;if(d===null)return null;if(i>d.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let u=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(u===void 0)return null;if(this._canGuessHigher(a,s,u)){let l=jl(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(d,i,u)&&(m.debug("ABR: Guessed Representation validated",d.bitrate),this._lastMaintanableBitrate=d.bitrate,this._consecutiveWrongGuesses=0),r.id!==d.id)return d;if(this._shouldStopGuess(r,u,a,o))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=K()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),xp(e,r);if(u===void 0)return r;if(this._canGuessHigher(a,s,u)){let l=jl(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&K()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let o=i.filter(s=>s.content.representation.id===e.id),a=K();for(let s of o){let d=a-s.requestTimestamp;if(s.content.segment.isInit){if(d>1e3)return!0}else{if(d>s.content.segment.duration*1e3+200)return!0;{let u=go(s);if(u!==void 0&&u<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function jl(n,e){let t=n.length,r=ye(n,({id:i})=>i===e.id);if(r<0)return m.error("ABR: Current Representation not found."),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function xp(n,e){let t=ye(n,({id:r})=>r===e.id);if(t<0)return m.error("ABR: Current Representation not found."),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var hr=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new tt(e),this._slowEWMA=new tt(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=U.getCurrent();if(t<r)return;let i=t*8e3/e,o=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(o,i),this._slowEWMA.addSample(o,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=U.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new tt(e),this._slowEWMA=new tt(t),this._bytesSampled=0}};function Wa(n,e){if(n.length===0)return[];n.sort((o,a)=>o.bitrate-a.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=ye(n,o=>o.bitrate>r);return i===-1?n:n.slice(0,i)}function Ga(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,d)=>{var u,c;return((u=s.width)!=null?u:0)-((c=d.width)!=null?c:0)}),o=X(i,s=>typeof s.width=="number"&&s.width>=t&&typeof s.height=="number"&&s.height>=r);if(o===void 0)return n;let a=typeof o.width=="number"?o.width:0;return n.filter(s=>typeof s.width=="number"?s.width<=a:!0)}function yr(n){return Object.keys(n).map(e=>n[e])}var wn=typeof Object.values=="function"?Object.values:yr;var Ir=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(_(t)){if(I.CURRENT_ENV===I.DEV)throw new Error("ABR: progress for a request not added");m.warn("ABR: progress for a request not added");return}t.progress.push(e)}remove(e){if(_(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error("ABR: can't remove unknown request");m.warn("ABR: can't remove unknown request")}delete this._currentRequests[e]}getRequests(){return wn(this._currentRequests).filter(e=>!_(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function ho(n,e){let t=ye(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Yl=new G(void 0);Yl.finish();var $l=new G(1/0);$l.finish();function qa(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,d,u,c,l){var y,b,T;let{type:f}=s.adaptation,g=o(f),p=(y=t[f])!=null?y:0,h={limitResolution:(b=r.limitResolution[f])!=null?b:Yl,throttleBitrate:(T=r.throttleBitrate[f])!=null?T:$l};return wp({bandwidthEstimator:g,context:s,currentRepresentation:d,filters:h,initialBitrate:p,playbackObserver:c,representations:u,lowLatencyMode:i},l)};function o(a){let s=e[a];if(_(s)){m.debug("ABR: Creating new BandwidthEstimator for ",a);let d=new hr;return e[a]=d,d}return s}}function wp({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:o,playbackObserver:a,representations:s},d){let u=new cr,c=new mr(i!=null?i:0,o),l=new Ir,f=Z,g={metrics:T,requestBegin:v,requestProgress:E,requestEnd:R,addedSegment(k){f(k)}},p=new B;p.linkToSignal(d);let h=y(s.getValue(),p.signal);return s.onUpdate(b,{clearSignal:d}),{estimates:h,callbacks:g};function y(k,A){if(k.length<=1)return new G({bitrate:void 0,representation:k[0],urgent:!0,knownStableBitrate:void 0});let M=!1,x=k.sort((V,$)=>V.bitrate-$.bitrate),L=new fr(x.map(V=>V.bitrate)),O=new pr,N=new gr(u,O),C=a.getReference().getValue(),P=new G(F());return a.listen(V=>{C=V,D()},{includeLastObservation:!1,clearSignal:A}),f=function(V){if(C===null)return;let{position:$,speed:q}=C,W=V.buffered,z=fo(W,$.getWanted()),{representation:H}=V.content,se=u.getEstimate(H),ae=H.bitrate,le={bufferGap:z,currentBitrate:ae,currentScore:se,speed:q};L.onAddedSegment(le),D()},A.register(()=>{f=Z}),r.throttleBitrate.onUpdate(D,{clearSignal:A}),r.limitResolution.onUpdate(D,{clearSignal:A}),P;function D(){P.setValue(F())}function F(){let{bufferGap:V,position:$,maximumPosition:q}=C,W=r.limitResolution.getValue(),z=r.throttleBitrate.getValue(),H=t.getValue(),se=Op(x,W,z),ae=l.getRequests(),{bandwidthEstimate:le,bitrateChosen:he}=c.getBandwidthEstimate(C,n,H,ae,O.bandwidth),Y=u.getLastStableRepresentation(),ce=Y===null?void 0:Y.bitrate/(C.speed>0?C.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:Ie,ABR_EXIT_BUFFER_BASED_ALGO:Bt}=U.getCurrent();M&&V<=Bt?M=!1:!M&&isFinite(V)&&V>=Ie&&(M=!0);let $e=ho(se,he),Ue=L.getLastEstimate(),Tt=$e.bitrate,ht=null;M&&Ue!==void 0&&Ue>Tt&&(ht=ho(se,Ue),Tt=ht.bitrate);let Oe=null;return o&&H!==null&&e.manifest.isDynamic&&q-$.getWanted()<40&&(Oe=N.getGuess(x,C,H,Tt,ae)),Oe!==null&&Oe.bitrate>Tt?(m.debug("ABR: Choosing representation with guess-based estimation.",Oe.bitrate,Oe.id),O.update(Oe,le,2),{bitrate:le,representation:Oe,urgent:H===null||Oe.bitrate<H.bitrate,knownStableBitrate:ce}):ht!==null?(m.debug("ABR: Choosing representation with buffer-based estimation.",ht.bitrate,ht.id),O.update(ht,le,0),{bitrate:le,representation:ht,urgent:c.isUrgent(ht.bitrate,H,ae,C),knownStableBitrate:ce}):(m.debug("ABR: Choosing representation with bandwidth estimation.",$e.bitrate,$e.id),O.update($e,le,1),{bitrate:le,representation:$e,urgent:c.isUrgent($e.bitrate,H,ae,C),knownStableBitrate:ce})}}function b(){let k=s.getValue();p.cancel(),p=new B,p.linkToSignal(d),y(k,p.signal).onUpdate(function(x){h.setValue(x)},{clearSignal:p.signal,emitCurrentValue:!0})}function T(k){let{requestDuration:A,segmentDuration:M,size:x,content:L}=k;if(n.addSample(A,x),!L.segment.isInit){let{segment:O,representation:N}=L;if(M===void 0&&!O.complete)return;let C=M!=null?M:O.duration;u.addSample(N,A/1e3,C)}}function v(k){l.add(k)}function E(k){l.addProgress(k)}function R(k){l.remove(k.id)}}function Op(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Wa(r,t)),e!==void 0&&(r=Ga(r,e)),r}var Ql=qa;function yo(){var t;if(typeof((t=ee.crypto)==null?void 0:t.randomUUID)=="function")return ee.crypto.randomUUID();let n=new Date().getTime(),e=K();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r==="x"?i:i&3|8).toString(16)})}var Dp=4,br=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:yo(),this._contentId=(r=e.contentId)!=null?r:yo(),this._typePreference=e.communicationType==="headers"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(),this._canceller=new B,this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot="m",e){case"dash":t.sf="d";break;case"smooth":t.sf="s";break;default:t.sf="o";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var a,s,d,u;let t=(a=this._playbackObserver)==null?void 0:a.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case"video":r.ot="v";break;case"audio":r.ot="a";break;case"text":r.ot="c";break}e.segment.isInit&&(r.ot="i");let i;if(t!==void 0&&(r.ot==="v"||r.ot==="a"||r.ot==="av")){let c=t.buffered[e.adaptation.type];if(!_(c)){let l=(u=(d=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?d:t.position.getWanted())!=null?u:t.position.getPolled();for(let f of c)if(l>=f.start&&l<f.end){i=(f.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let o=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=o===void 0?void 0:Math.floor(Math.round(o/100)*100),o!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(o/1e3);r.rtp=Math.floor(Math.round(l*Dp/100)*100)}switch(e.manifest.transport){case"dash":r.sf="d";break;case"smooth":r.sf="s";break;default:r.sf="o";break}return r.st=e.manifest.isDynamic?"l":"v",r.tb=e.adaptation.representations.reduce((c,l)=>l.isSupported!==!0||l.decipherable===!1?c:c===void 0?Math.round(l.bitrate/1e3):Math.max(c,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:"",request:"",session:"",status:""},r="",i=(u,c)=>{this._typePreference===0?t[c]+=u:r+=u},o=(u,c)=>{let l=e[u];if(l!==void 0){let f=`${u}=${String(l)},`;i(f,c)}},a=(u,c)=>{if(e[u]===!0){let l=`${u},`;i(l,c)}},s=(u,c)=>{let l=e[u];if(l!==void 0){let g=`prop=${`"${l.replace("\\","\\\\").replace('"','\\"')}"`},`;i(g,c)}},d=(u,c)=>{let l=e[u];if(l!==void 0){let f=`prop=${l},`;i(f,c)}};return o("br","object"),o("bl","request"),a("bs","status"),s("cid","session"),o("d","object"),o("dl","request"),o("mtp","request"),d("ot","object"),o("pr","session"),o("rtp","status"),d("sf","session"),s("sid","session"),d("st","session"),a("su","request"),o("tb","object"),this._typePreference===0?(t.object[t.object.length-1]===","&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===","&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===","&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===","&&(t.status=t.status.substring(0,t.status.length-1)),m.debug("CMCD: proposing headers payload"),{type:"headers",value:{"CMCD-Object":t.object,"CMCD-Request":t.request,"CMCD-Session":t.session,"CMCD-Status":t.status}}):(r[r.length-1]===","&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),m.debug("CMCD: proposing query string payload",r),{type:"query",value:[["CMCD",r]]})}};var Xl=br;var nt=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name="CustomLoaderError",this.canRetry=t,this.xhr=r}};var Ee=class n extends Error{constructor(e,t,r){let i;switch(r){case"TIMEOUT":i="The request timed out";break;case"ERROR_EVENT":i="An error prevented the request to be performed successfully";break;case"PARSE_ERROR":i="An error happened while formatting the response data";break;case"ERROR_HTTP_CODE":i="An HTTP status code indicating failure was received: "+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name="RequestError",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Be={TIMEOUT:"TIMEOUT",ERROR_EVENT:"ERROR_EVENT",ERROR_HTTP_CODE:"ERROR_HTTP_CODE",PARSE_ERROR:"PARSE_ERROR"};var ja=typeof Headers=="function"?Headers:null,Ya=typeof AbortController=="function"?AbortController:null;function Io(n){var f,g;let e;if(!_(n.headers))if(_(ja))e=n.headers;else{e=new ja;let p=Object.keys(n.headers);for(let h=0;h<p.length;h++){let y=p[h];e.append(y,n.headers[y])}}m.debug("Fetch: Called with URL",n.url);let t=null,r=!1,i=!1,o=K(),a=_(Ya)?null:new Ya;function s(){if(_(a)){m.warn("Fetch: AbortController API not available.");return}a.abort()}let d;n.timeout!==void 0&&(d=setTimeout(()=>{r=!0,u!==void 0&&clearTimeout(u),s()},n.timeout));let u;n.connectionTimeout!==void 0&&(u=setTimeout(()=>{i=!0,d!==void 0&&clearTimeout(d),s()},n.connectionTimeout));let c=n.cancelSignal.register(function(h){t=h,s()}),l={method:"GET"};if(e!==void 0&&(l.headers=e),l.signal=_(a)?null:a.signal,m.hasLevel("DEBUG")){let p="FETCH: Sending GET "+n.url;n.timeout!==void 0&&(p+=" to="+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=" cto="+String(n.connectionTimeout/1e3)),((f=n.headers)==null?void 0:f.Range)!==void 0&&(p+=" Range="+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(u!==void 0&&clearTimeout(u),p.status>=300)throw m.warn("Fetch: Request HTTP Error",p.status,p.url),new Ee(p.url,p.status,Be.ERROR_HTTP_CODE);if(_(p.body))throw new Ee(p.url,p.status,Be.PARSE_ERROR);let h=p.headers.get("Content-Length"),y=!_(h)&&!isNaN(+h)?+h:void 0,b=p.body.getReader(),T=0;return v();async function v(){let E=await b.read();if(!E.done&&!_(E.value)){T+=E.value.byteLength;let R=K(),k={url:p.url,currentTime:R,duration:R-o,sendingTime:o,chunkSize:E.value.byteLength,chunk:E.value.buffer,size:T,totalSize:y};return n.onData(k),v()}else if(E.done){d!==void 0&&clearTimeout(d),c();let R=K();return{requestDuration:R-o,receivedTime:R,sendingTime:o,size:T,status:p.status,url:p.url}}return v()}}).catch(p=>{throw t!==null?t:(c(),r?(m.warn("Fetch: Request timed out."),new Ee(n.url,0,Be.TIMEOUT)):i?(m.warn("Fetch: Request connection timed out."),new Ee(n.url,0,Be.TIMEOUT)):p instanceof Ee?p:(m.warn("Fetch: Request Error",p instanceof Error?p.toString():""),new Ee(n.url,0,Be.ERROR_EVENT)))})}function Sr(){return typeof ee.fetch=="function"&&!_(Ya)&&!_(ja)}function w(n){return typeof n=="string"&&n.length>0}var Lp="json";function $a(n){let e={url:n.url,headers:n.headers,responseType:_(n.responseType)?Lp:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:o}=n,{url:a,headers:s,responseType:d,timeout:u,connectionTimeout:c}=e,l=new XMLHttpRequest;l.open("GET",a,!0);let f;u!==void 0&&(l.timeout=u,f=setTimeout(()=>{y(),r(new Ee(a,l.status,Be.TIMEOUT))},u+3e3));let g;if(c!==void 0&&(g=setTimeout(()=>{y(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new Ee(a,l.status,Be.TIMEOUT))},c)),l.responseType=d,l.responseType==="document"&&l.overrideMimeType("text/xml"),!_(s)){let b=s;for(let T in b)b.hasOwnProperty(T)&&l.setRequestHeader(T,b[T])}let p=K(),h=null;if(o!==void 0&&(h=o.register(function(T){y(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(T)}),o.isCancelled()))return;if(l.onerror=function(){y(),r(new Ee(a,l.status,Be.ERROR_EVENT))},l.ontimeout=function(){y(),r(new Ee(a,l.status,Be.TIMEOUT))},c!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(T){let v=K();i({url:a,duration:v-p,sendingTime:p,currentTime:v,size:T.loaded,totalSize:T.total})}),l.onload=function(T){if(l.readyState===XMLHttpRequest.DONE)if(y(),l.status>=200&&l.status<300){let v=K(),E=l.response instanceof ArrayBuffer?l.response.byteLength:T.total,R=l.status,k=l.responseType,A=w(l.responseURL)?l.responseURL:a,M;if(k==="json"?M=typeof l.response=="object"?l.response:Np(l.responseText):M=l.response,_(M)){r(new Ee(a,l.status,Be.PARSE_ERROR));return}t({status:R,url:A,responseType:k,sendingTime:p,receivedTime:v,requestDuration:v-p,size:E,responseData:M})}else r(new Ee(a,l.status,Be.ERROR_HTTP_CODE))},m.hasLevel("DEBUG")){let b="XHR: Sending GET "+a;n.responseType!==void 0&&(b+=" type="+n.responseType),u!==void 0&&(b+=" to="+String(u/1e3)),c!==void 0&&(b+=" cto="+String(c/1e3)),(s==null?void 0:s.Range)!==void 0&&(b+=" Range="+(s==null?void 0:s.Range)),m.debug(b)}l.send();function y(){f!==void 0&&clearTimeout(f),g!==void 0&&clearTimeout(g),h!==null&&h()}})}function Np(n){try{return JSON.parse(n)}catch(e){return null}}var Te=$a;var cn=Be,Xe={NETWORK_ERROR:"NETWORK_ERROR",MEDIA_ERROR:"MEDIA_ERROR",ENCRYPTED_MEDIA_ERROR:"ENCRYPTED_MEDIA_ERROR",OTHER_ERROR:"OTHER_ERROR"},Qa={PIPELINE_LOAD_ERROR:"PIPELINE_LOAD_ERROR",PIPELINE_PARSE_ERROR:"PIPELINE_PARSE_ERROR",INTEGRITY_ERROR:"INTEGRITY_ERROR",MANIFEST_PARSE_ERROR:"MANIFEST_PARSE_ERROR",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"MANIFEST_INCOMPATIBLE_CODECS_ERROR",MANIFEST_UPDATE_ERROR:"MANIFEST_UPDATE_ERROR",MANIFEST_UNSUPPORTED_ADAPTATION_TYPE:"MANIFEST_UNSUPPORTED_ADAPTATION_TYPE",MEDIA_STARTING_TIME_NOT_FOUND:"MEDIA_STARTING_TIME_NOT_FOUND",MEDIA_TIME_BEFORE_MANIFEST:"MEDIA_TIME_BEFORE_MANIFEST",MEDIA_TIME_AFTER_MANIFEST:"MEDIA_TIME_AFTER_MANIFEST",MEDIA_TIME_NOT_FOUND:"MEDIA_TIME_NOT_FOUND",NO_PLAYABLE_REPRESENTATION:"NO_PLAYABLE_REPRESENTATION",MEDIA_IS_ENCRYPTED_ERROR:"MEDIA_IS_ENCRYPTED_ERROR",CREATE_MEDIA_KEYS_ERROR:"CREATE_MEDIA_KEYS_ERROR",MEDIA_KEYS_ATTACHMENT_ERROR:"MEDIA_KEYS_ATTACHMENT_ERROR",KEY_ERROR:"KEY_ERROR",KEY_STATUS_CHANGE_ERROR:"KEY_STATUS_CHANGE_ERROR",KEY_UPDATE_ERROR:"KEY_UPDATE_ERROR",KEY_LOAD_ERROR:"KEY_LOAD_ERROR",KEY_LOAD_TIMEOUT:"KEY_LOAD_TIMEOUT",KEY_GENERATE_REQUEST_ERROR:"KEY_GENERATE_REQUEST_ERROR",INCOMPATIBLE_KEYSYSTEMS:"INCOMPATIBLE_KEYSYSTEMS",INVALID_ENCRYPTED_EVENT:"INVALID_ENCRYPTED_EVENT",INVALID_KEY_SYSTEM:"INVALID_KEY_SYSTEM",LICENSE_SERVER_CERTIFICATE_ERROR:"LICENSE_SERVER_CERTIFICATE_ERROR",MULTIPLE_SESSIONS_SAME_INIT_DATA:"MULTIPLE_SESSIONS_SAME_INIT_DATA",BUFFER_APPEND_ERROR:"BUFFER_APPEND_ERROR",BUFFER_FULL_ERROR:"BUFFER_FULL_ERROR",BUFFER_TYPE_UNKNOWN:"BUFFER_TYPE_UNKNOWN",MEDIA_ERR_BLOCKED_AUTOPLAY:"MEDIA_ERR_BLOCKED_AUTOPLAY",MEDIA_ERR_PLAY_NOT_ALLOWED:"MEDIA_ERR_PLAY_NOT_ALLOWED",MEDIA_ERR_NOT_LOADED_METADATA:"MEDIA_ERR_NOT_LOADED_METADATA",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_UNKNOWN:"MEDIA_ERR_UNKNOWN",MEDIA_SOURCE_NOT_SUPPORTED:"MEDIA_SOURCE_NOT_SUPPORTED",MEDIA_KEYS_NOT_SUPPORTED:"MEDIA_KEYS_NOT_SUPPORTED",DISCONTINUITY_ENCOUNTERED:"DISCONTINUITY_ENCOUNTERED",NONE:"NONE"};function lt(n,e){return`${n}: ${e}`}var pe=class n extends Error{constructor(e,t,r){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="EncryptedMediaError",this.type=Xe.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)=="string"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var J=class n extends Error{constructor(e,t,r){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="MediaError",this.type=Xe.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var rt=class n extends Error{constructor(e,t){super(lt(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name="NetworkError",this.type=Xe.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===cn.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var De=class n extends Error{constructor(e,t){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="OtherError",this.type=Xe.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Wt(n){return(n instanceof pe||n instanceof J||n instanceof De||n instanceof rt)&&Object.keys(Xe).indexOf(n.type)>=0}function we(n,{defaultCode:e,defaultReason:t}){if(Wt(n))return n;let r=n instanceof Error?n.toString():t;return new De(e,r)}var it=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name="SourceBufferError",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var Up={aa:"aar",ab:"abk",ae:"ave",af:"afr",ak:"aka",am:"amh",an:"arg",ar:"ara",as:"asm",av:"ava",ay:"aym",az:"aze",ba:"bak",be:"bel",bg:"bul",bi:"bis",bm:"bam",bn:"ben",bo:"bod",br:"bre",bs:"bos",ca:"cat",ce:"che",ch:"cha",co:"cos",cr:"cre",cs:"ces",cu:"chu",cv:"chv",cy:"cym",da:"dan",de:"deu",dv:"div",dz:"dzo",ee:"ewe",el:"ell",en:"eng",eo:"epo",es:"spa",et:"est",eu:"eus",fa:"fas",ff:"ful",fi:"fin",fj:"fij",fo:"fao",fr:"fra",fy:"fry",ga:"gle",gd:"gla",gl:"glg",gn:"grn",gu:"guj",gv:"glv",ha:"hau",he:"heb",hi:"hin",ho:"hmo",hr:"hrv",ht:"hat",hu:"hun",hy:"hye",hz:"her",ia:"ina",id:"ind",ie:"ile",ig:"ibo",ii:"iii",ik:"ipk",io:"ido",is:"isl",it:"ita",iu:"iku",ja:"jpn",jv:"jav",ka:"kat",kg:"kon",ki:"kik",kj:"kua",kk:"kaz",kl:"kal",km:"khm",kn:"kan",ko:"kor",kr:"kau",ks:"kas",ku:"kur",kv:"kom",kw:"cor",ky:"kir",la:"lat",lb:"ltz",lg:"lug",li:"lim",ln:"lin",lo:"lao",lt:"lit",lu:"lub",lv:"lav",mg:"mlg",mh:"mah",mi:"mri",mk:"mkd",ml:"mal",mn:"mon",mr:"mar",ms:"msa",mt:"mlt",my:"mya",na:"nau",nb:"nob",nd:"nde",ne:"nep",ng:"ndo",nl:"nld",nn:"nno",no:"nor",nr:"nbl",nv:"nav",ny:"nya",oc:"oci",oj:"oji",om:"orm",or:"ori",os:"oss",pa:"pan",pi:"pli",pl:"pol",ps:"pus",pt:"por",qu:"que",rm:"roh",rn:"run",ro:"ron",ru:"rus",rw:"kin",sa:"san",sc:"srd",sd:"snd",se:"sme",sg:"sag",si:"sin",sk:"slk",sl:"slv",sm:"smo",sn:"sna",so:"som",sq:"sqi",sr:"srp",ss:"ssw",st:"sot",su:"sun",sv:"swe",sw:"swa",ta:"tam",te:"tel",tg:"tgk",th:"tha",ti:"tir",tk:"tuk",tl:"tgl",tn:"tsn",to:"ton",tr:"tur",ts:"tso",tt:"tat",tw:"twi",ty:"tah",ug:"uig",uk:"ukr",ur:"urd",uz:"uzb",ve:"ven",vi:"vie",vo:"vol",wa:"wln",wo:"wol",xh:"xho",yi:"yid",yo:"yor",za:"zha",zh:"zho",zu:"zul"},Zl=Up;var Bp={alb:"sqi",arm:"hye",baq:"eus",bur:"mya",chi:"zho",cze:"ces",dut:"nld",fre:"fra",geo:"kat",ger:"deu",gre:"ell",ice:"isl",mac:"mkd",mao:"mri",may:"msa",per:"fas",slo:"slk",rum:"ron",tib:"bod",wel:"cym"},Jl=Bp;function Fp(n){if(_(n)||n==="")return"und";let t=(""+n).toLowerCase().split("-")[0],r=Kp(t);return w(r)?r:n}function Kp(n){let e;switch(n.length){case 2:e=Zl[n];break;case 3:e=Jl[n];break}return e}var ec=Fp;var Tr=ec;function ge(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Ze(){let n="",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+="0",e=0),n+String(e)}}var Vp=Ze(),Xa=class{constructor(e,t,r){var o,a,s,d,u;this.id=e.id,this.uniqueId=Vp(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t==="audio"||t==="video"){if(e.supplementalCodecs!==void 0){let c=r.isSupported((o=this.mimeType)!=null?o:"",(a=e.supplementalCodecs)!=null?a:"",i);c!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=c)}this.isSupported!==!0&&(this.codecs.length>0?this.codecs.push((s=e.codecs)!=null?s:""):(this.codecs=e.codecs===void 0?[]:[e.codecs],this.isSupported=r.isSupported((d=this.mimeType)!=null?d:"",(u=e.codecs)!=null?u:"",i)))}else e.codecs!==void 0&&this.codecs.push(e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,d;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:"",o=(d=this.codecs)!=null?d:[];o.length===0&&(o=[""]);let a=!1;for(let u of o){if(r=e.isSupported(i,u,t),r===!0){this.codecs=[u];break}r===void 0&&(a=!0)}r===!0?this.isSupported=!0:a?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var e,t,r;return`${(e=this.mimeType)!=null?e:""};codecs="${(r=(t=this.codecs)==null?void 0:t[0])!=null?r:""}"`}getEncryptionData(e){var i,o;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let s=!1,d=t[a];for(let u=0;u<d.values.length;u++)if(d.values[u].systemId.toLowerCase()===e.toLowerCase())if(s)r[r.length-1].values.push(d.values[u]);else{let c=(o=(i=this.contentProtections)==null?void 0:i.keyIds)==null?void 0:o.map(l=>l.keyId);r.push({type:d.type,keyIds:c,values:[d.values[u]]}),s=!0}}return r}getAllEncryptionData(){var t,r;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(r=(t=this.contentProtections)==null?void 0:t.keyIds)==null?void 0:r.map(i=>i.keyId);return this.contentProtections.initData.map(i=>({type:i.type,keyIds:e,values:i.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[{keyId:t}]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let a=this.contentProtections.keyIds;if(a===void 0)this.contentProtections.keyIds=[{keyId:t}];else{let s=!1;for(let d of a)ge(d.keyId,t)&&(s=!0);s||(m.warn("Manifest: found unanounced key id."),a.push({keyId:t}))}}let o=this.contentProtections.initData;for(let a=0;a<o.length;a++)if(o[a].type===e){let s=o[a].values;for(let d=0;d<r.length;d++){let u=r[d],c;for(c=0;c<s.length;c++)if(u.systemId===s[c].systemId){if(ge(u.data,s[c].data))break;m.warn("Manifest: different init data for the same system ID")}c===s.length&&(s.push(u),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},tc=Xa;var _r=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:o,isManuallyAdded:a}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=Tr(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(u=>new n(u,t)));let s=e.representations,d=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let u=0;u<s.length;u++){let c=new tc(s[u],this.type,t),l=!0;if(!_(o)){let f={id:c.id,bitrate:c.bitrate,codecs:c.codecs,height:c.height,width:c.width,frameRate:c.frameRate,hdrInfo:c.hdrInfo};if(c.contentProtections!==void 0&&(f.contentProtections={},c.contentProtections.keyIds!==void 0)){let g=c.contentProtections.keyIds.map(({keyId:p})=>p);f.contentProtections.keyIds=g}l=o(f,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(d.push(c),c.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):c.isSupported&&(this.supportStatus.hasSupportedCodec=!0),c.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):c.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug("Filtering Representation due to representationFilter",this.type,`Adaptation: ${this.id}`,`Representation: ${c.id}`,`(${c.bitrate})`)}d.sort((u,c)=>u.bitrate-c.bitrate),this.representations=d,this.manuallyAdded=a===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return X(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};function Za(){return sn}function fn(n){return new Promise(e=>{setTimeout(e,n)})}function Ja(){return dr}function Er(n,e,t){let r=n.setMediaKeys(e,t).then(()=>{m.info("Compat: MediaKeys updated with success")}).catch(i=>{if(t===null){m.error("Compat: Could not reset MediaKeys",i instanceof Error?i:"Unknown Error");return}throw m.error("Compat: Could not update MediaKeys",i instanceof Error?i:"Unknown Error"),i});return Ja()?r:Promise.race([r,fn(1e3)])}var es=new WeakMap,Fe={setState(n,e){es.set(n,e)},getState(n){let e=es.get(n);return e===void 0?null:e},clearState(n){es.set(n,null)}};async function On(n){let e=Fe.getState(n);if(e===null)return;m.info("DRM: Disposing of the current MediaKeys");let{loadedSessionsStore:t}=e;return Fe.clearState(n),await t.closeAllSessions(),Er(e.emeImplementation,n,null)}function bo(n){if(m.info("DRM: Clearing-up DRM session."),Za())return m.info("DRM: disposing current MediaKeys."),On(n);let e=Fe.getState(n);return e!==null&&e.keySystemOptions.closeSessionsOnStop===!0?(m.info("DRM: closing all current sessions."),e.loadedSessionsStore.closeAllSessions()):(m.info("DRM: Nothing to clear. Returning right away. No state =",e===null),Promise.resolve())}function ot(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let o=!1;t=e(function(d){n.deregister(a),o=!0,r(d)},function(d){n.deregister(a),o=!0,i(d)}),o||n.register(a);function a(s){t!==void 0&&t(),i(s)}})}function Gt(n,e){return ot(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}function So(n){let e=new B;return Promise.race([n.close().then(()=>{e.cancel()}),n.closed.then(()=>{e.cancel()}),t()]);async function t(){try{await Gt(1e3,e.signal),await r()}catch(i){if(i instanceof Me)return;let o=i instanceof Error?i.message:"Unknown error made it impossible to close the session";m.error(`DRM: ${o}`)}}async function r(){try{await n.update(new Uint8Array(1))}catch(i){if(e.isUsed()||i instanceof Error&&i.message==="The session is already closed.")return;await Gt(1e3,e.signal)}if(!e.isUsed())throw new Error("Compat: Couldn't know if session is closed")}}var zp=["","webkit","moz","ms"];function Hp(n,e){let t=document.createElement(n.tagName),r="on"+e;return r in t?!0:(t.setAttribute(r,"return;"),typeof t[r]=="function")}function Wp(n,e){return e.filter(t=>Hp(n,t))[0]}function Gp(n,e){return n.reduce((t,r)=>t.concat((e===void 0?zp:e).map(i=>i+r)),[])}function _e(n,e){let t,r=Gp(n,e);return(i,o,a)=>{if(!a.isCancelled()){if(typeof HTMLElement!="undefined"&&i instanceof HTMLElement)if(typeof t=="undefined"&&(t=Wp(i,r)),w(t))i.addEventListener(t,o),a.register(()=>{t!==void 0&&i.removeEventListener(t,o)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: element ${i.tagName} does not support any of these events: `+r.join(", "));return}r.forEach(s=>{let d=!1;typeof i.addEventListener=="function"?i.addEventListener(s,o):(d=!0,i["on"+s]=o),a.register(()=>{typeof i.removeEventListener=="function"&&i.removeEventListener(s,o),d&&delete i["on"+s]})})}}}function qp(n){let e,t=document;_(t.hidden)?_(t.mozHidden)?_(t.msHidden)?_(t.webkitHidden)||(e="webkit"):e="ms":e="moz":e="";let r=w(e)?e+"Hidden":"hidden",i=w(e)?e+"visibilitychange":"visibilitychange",o=document[r],a=new G(!o,n);return mn(document,i,()=>{let s=!document[r];a.setValueIfChanged(s)},n),a}function nc(n,e){if(n.webkitSupportsPresentationMode===!0&&typeof n.webkitSetPresentationMode=="function"){let i=n.webkitPresentationMode==="picture-in-picture",o=new G({isEnabled:i,pipWindow:null},e);return mn(n,"webkitpresentationmodechanged",()=>{let a=n.webkitPresentationMode==="picture-in-picture";o.setValue({isEnabled:a,pipWindow:null})},e),o}let t=document.pictureInPictureElement===n,r=new G({isEnabled:t,pipWindow:null},e);return mn(n,"enterpictureinpicture",i=>{var o;r.setValue({isEnabled:!0,pipWindow:(o=i.pictureInPictureWindow)!=null?o:null})},e),mn(n,"leavepictureinpicture",()=>{r.setValue({isEnabled:!1,pipWindow:null})},e),r}function rc(n,e){let t=qp(e),r,i=new G(!0,e);return e.register(()=>{clearTimeout(r),r=void 0}),t.onUpdate(o,{clearSignal:e}),n.onUpdate(o,{clearSignal:e}),o(),i;function o(){if(clearTimeout(r),r=void 0,n.getValue().isEnabled||t.getValue())i.setValueIfChanged(!0);else{let{INACTIVITY_DELAY:a}=U.getCurrent();r=setTimeout(()=>{i.setValueIfChanged(!1)},a)}}}function ic(n){var o,a;let e=_(ee.devicePixelRatio)||ee.devicePixelRatio===0?1:ee.devicePixelRatio,t=new G({width:(o=ee.screen)==null?void 0:o.width,height:(a=ee.screen)==null?void 0:a.height,pixelRatio:e},n),r=setInterval(i,2e4);return n.register(function(){clearInterval(r)}),t;function i(){let s=t.getValue();(s.width!==screen.width||s.height!==screen.height||s.pixelRatio!==e)&&t.setValue({width:screen.width,height:screen.height,pixelRatio:e})}}function oc(n,e,t){let r=_(ee.devicePixelRatio)||ee.devicePixelRatio===0?1:ee.devicePixelRatio,i=new G({width:n.clientWidth,height:n.clientHeight,pixelRatio:r},t),o=Z;e.onUpdate(s,{clearSignal:t}),mn(ee,"resize",s,t),mn(n,"enterpictureinpicture",s,t),mn(n,"leavepictureinpicture",s,t);let a=setInterval(s,2e4);return s(),t.register(function(){o(),clearInterval(a)}),i;function s(){o();let d=e.getValue(),{pipWindow:u}=d;if(d.isEnabled)if(_(u)){let l=i.getValue();(l.width!==void 0||l.height!==void 0||l.pixelRatio!==r)&&i.setValue({width:void 0,height:void 0,pixelRatio:r})}else{let l=()=>{c()};u.addEventListener("resize",l),o=()=>{u.removeEventListener("resize",l),o=Z},c()}else{let l=i.getValue();(l.width!==n.clientWidth||l.height!==n.clientHeight||l.pixelRatio!==r)&&i.setValue({width:n.clientWidth,height:n.clientHeight,pixelRatio:r})}function c(){let l=i.getValue();(l.width!==(u==null?void 0:u.width)||l.height!==(u==null?void 0:u.height)||l.pixelRatio!==r)&&i.setValue({width:u==null?void 0:u.width,height:u==null?void 0:u.height,pixelRatio:r})}}}var xk=_e(["loadedmetadata"]),wk=_e(["timeupdate"]),Ok=_e(["addtrack"]),Dk=_e(["removetrack"]),Dn=_e(["sourceopen","webkitsourceopen"]),To=_e(["sourceclose","webkitsourceclose"]),_o=_e(["sourceended","webkitsourceended"]),ac=_e(["update"]),sc=_e(["removesourcebuffer"]),Eo=_e(["keymessage","message"]),dc=_e(["keyadded","ready"]),vo=_e(["keyerror","error"]),uc=_e(["keystatuseschange"]),lc=_e(["seeking"]),cc=_e(["seeked"]),fc=_e(["ended"]);function mn(n,e,t,r){n.addEventListener(e,t),r.register(()=>{n.removeEventListener(e,t)})}var ct,{WebKitMediaKeys:Ro}=ee;Ro!==void 0&&typeof Ro.isTypeSupported=="function"&&typeof Ro.prototype.createSession=="function"&&typeof HTMLMediaElement.prototype.webkitSetMediaKeys=="function"&&(ct=Ro);function ts(){return(Da||un)&&ct!==void 0}var vr=class{constructor(e,t,r){this._keyType=e;this._mediaKeys=t;this._configuration=r}get keySystem(){return this._keyType}createMediaKeys(){return new Promise(e=>e(this._mediaKeys))}getConfiguration(){return this._configuration}};function Et(n){try{let e=n();return typeof e=="object"&&e!==null&&typeof e.then=="function"?e:Promise.resolve(e)}catch(e){return Promise.reject(e)}}var vt,{MSMediaKeys:Rr}=ee;Rr!==void 0&&Rr.prototype!==void 0&&typeof Rr.isTypeSupported=="function"&&typeof Rr.prototype.createSession=="function"&&(vt=Rr);var ns=class extends oe{constructor(e){super(),this.expiration=NaN,this.keyStatuses=new Map,this._mk=e,this._sessionClosingCanceller=new B,this.closed=new Promise(t=>{this._sessionClosingCanceller.signal.register(()=>t())}),this.update=t=>new Promise((r,i)=>{if(this._ss===void 0)return i("MediaKeySession not set.");try{r(this._ss.update(t,""))}catch(o){i(o)}})}generateRequest(e,t){return new Promise(r=>{let i;t instanceof Uint8Array?i=t:t instanceof ArrayBuffer?i=new Uint8Array(t):i=new Uint8Array(t.buffer),this._ss=this._mk.createSession("video/mp4",i),Eo(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"message",o)},this._sessionClosingCanceller.signal),dc(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"keyadded",o)},this._sessionClosingCanceller.signal),vo(this._ss,o=>{var a;this.trigger((a=o.type)!=null?a:"keyerror",o)},this._sessionClosingCanceller.signal),r()})}close(){return new Promise(e=>{_(this._ss)||(this._ss.close(),this._ss=void 0),this._sessionClosingCanceller.cancel(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}get sessionId(){var e,t;return(t=(e=this._ss)==null?void 0:e.sessionId)!=null?t:""}},ko=class{constructor(e){if(vt===void 0)throw new Error("No MSMediaKeys API.");this._mediaKeys=new vt(e)}_setVideo(e){return Et(()=>{this._videoElement=e,this._videoElement.msSetMediaKeys!==void 0&&this._videoElement.msSetMediaKeys(this._mediaKeys)})}createSession(){if(this._videoElement===void 0||this._mediaKeys===void 0)throw new Error("Video not attached to the MediaKeys");return new ns(this._mediaKeys)}setServerCertificate(){throw new Error("Server certificate is not implemented in your browser")}};function rs(){return{isTypeSupported:(r,i)=>{if(vt===void 0)throw new Error("No MSMediaKeys API.");return i!==void 0?vt.isTypeSupported(r,i):vt.isTypeSupported(r)},createCustomMediaKeys:r=>new ko(r),setMediaKeys:(r,i)=>{if(i===null)return Promise.resolve(void 0);if(!(i instanceof ko))throw new Error("Custom setMediaKeys is supposed to be called with IE11 custom MediaKeys.");return i._setVideo(r)}}}var qt,{MozMediaKeys:kr}=ee;kr!==void 0&&kr.prototype!==void 0&&typeof kr.isTypeSupported=="function"&&typeof kr.prototype.createSession=="function"&&(qt=kr);function is(){return{isTypeSupported:(r,i)=>{if(qt===void 0)throw new Error("No MozMediaKeys API.");return i!==void 0?qt.isTypeSupported(r,i):qt.isTypeSupported(r)},createCustomMediaKeys:r=>{if(qt===void 0)throw new Error("No MozMediaKeys API.");return new qt(r)},setMediaKeys:(r,i)=>Et(()=>{if(r.mozSetMediaKeys===void 0||typeof r.mozSetMediaKeys!="function")throw new Error("Can't set video on MozMediaKeys.");return r.mozSetMediaKeys(i)})}}var Rt=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],mc=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function Co(n){if(n>=mc.length)throw new Error("Unable to parse base64 string.");let e=mc[n];if(e===255)throw new Error("Unable to parse base64 string.");return e}function Po(n){let e="",t,r=n.length;for(t=2;t<r;t+=3)e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4|n[t-1]>>4],e+=Rt[(n[t-1]&15)<<2|n[t]>>6],e+=Rt[n[t]&63];return t===r+1&&(e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4],e+="=="),t===r&&(e+=Rt[n[t-2]>>2],e+=Rt[(n[t-2]&3)<<4|n[t-1]>>4],e+=Rt[(n[t-1]&15)<<2],e+="="),e}function ft(n){let e=n.length%4,t=n;e!==0&&(m.warn("base64ToBytes: base64 given miss padding"),t+=e===3?"=":e===2?"==":"===");let r=t.indexOf("=");if(r!==-1&&r<t.length-2)throw new Error("Unable to parse base64 string.");let i=t.endsWith("==")?2:t.endsWith("=")?1:0,o=t.length,a=new Uint8Array(o/4*3),s;for(let d=0,u=0;d<o;d+=4,u+=3)s=Co(t.charCodeAt(d))<<18|Co(t.charCodeAt(d+1))<<12|Co(t.charCodeAt(d+2))<<6|Co(t.charCodeAt(d+3)),a[u]=s>>16,a[u+1]=s>>8&255,a[u+2]=s&255;return a.subarray(0,a.length-i)}var gc=typeof ee=="object"&&typeof ee.TextDecoder=="function",Yp=typeof ee=="object"&&typeof ee.TextEncoder=="function";function Mo(n){let e=new ArrayBuffer(n.length*2),t=new Uint8Array(e);for(let r=0;r<t.length;r+=2){let i=n.charCodeAt(r/2);t[r]=i&255,t[r+1]=i>>8&255}return t}function Ao(n){if(gc)try{return new TextDecoder("utf-16le").decode(n)}catch(t){let r=t instanceof Error?t:"";m.warn("Utils: could not use TextDecoder to parse UTF-16LE, fallbacking to another implementation",r)}let e="";for(let t=0;t<n.length;t+=2)e+=String.fromCharCode((n[t+1]<<8)+n[t]);return e}function ve(n){if(Yp)try{return new TextEncoder().encode(n)}catch(i){let o=i instanceof Error?i:"";m.warn("Utils: could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation",o)}let e,t=encodeURIComponent(n);if(typeof unescape=="function")e=unescape(t);else{let i=/[0-9a-fA-F]/,o=t.length;e="";for(let a=0;a<t.length;a++){let s=!1;if(t[a]==="%"){if(a<=o-6&&t[a+1]==="u"&&i.test(t[a+2])&&i.test(t[a+3])&&i.test(t[a+4])&&i.test(t[a+5])){let d=parseInt(t.substring(a+1,a+6),16);e+=String.fromCharCode(d),s=!0,a+=5}else if(a<=o-3&&i.test(t[a+1])&&i.test(t[a+2])){let d=parseInt(t.substring(a+1,a+3),16);e+=String.fromCharCode(d),s=!0,a+=2}}s||(e+=t[a])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function $p(n){let t="";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function pc(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join("0")+t}function Le(n){if(gc)try{return new TextDecoder().decode(n)}catch(i){let o=i instanceof Error?i:"";m.warn("Utils: could not use TextDecoder to parse UTF-8, fallbacking to another implementation",o)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=$p(e),r;if(typeof escape=="function")r=escape(t);else{let i=/[A-Za-z0-9*_\+-\.\/]/;r="";for(let o=0;o<t.length;o++)if(i.test(t[o]))r+=t[o];else{let a=t.charCodeAt(o);r+=a>=256?"%u"+pc(a,4):"%"+pc(a,2)}}return decodeURIComponent(r)}function qe(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function Ne(n,e=""){let t="";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function xo(n){te(n.length===16,"GUID length should be 16");let e=n[0],t=n[1],r=n[2],i=n[3],o=n[4],a=n[5],s=n[6],d=n[7],u=new Uint8Array(16);return u[0]=i,u[1]=r,u[2]=t,u[3]=e,u[4]=a,u[5]=o,u[6]=d,u[7]=s,u.set(n.subarray(8,16),8),u}function os(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Le(r)}}function ss(n){return typeof(n==null?void 0:n.webkitGenerateKeyRequest)=="function"}var as=class extends oe{constructor(e,t){super(),this._vid=e,this._key=t,this.sessionId="",this._closeSession=Z,this.keyStatuses=new Map,this.expiration=NaN;let r=i=>{this.trigger(i.type,i)};this.closed=new Promise(i=>{this._closeSession=()=>{["keymessage","message","keyadded","ready","keyerror","error"].forEach(o=>{e.removeEventListener(o,r),e.removeEventListener(`webkit${o}`,r)}),i()}}),["keymessage","message","keyadded","ready","keyerror","error"].forEach(i=>{e.addEventListener(i,r),e.addEventListener(`webkit${i}`,r)})}update(e){return new Promise((t,r)=>{try{if(this._key.indexOf("clearkey")>=0){let i=e instanceof ArrayBuffer?new Uint8Array(e):e,o=JSON.parse(Le(i)),a=ft(o.keys[0].k),s=ft(o.keys[0].kid);t(this._vid.webkitAddKey(this._key,a,s,""))}else t(this._vid.webkitAddKey(this._key,e,null,""))}catch(i){r(i)}})}generateRequest(e,t){return new Promise(r=>{this._vid.webkitGenerateKeyRequest(this._key,t),r()})}close(){return new Promise(e=>{this._closeSession(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}},wo=class{constructor(e){this._keySystem=e}_setVideo(e){return Et(()=>{if(!ss(e))throw new Error("Video not attached to the MediaKeys");this._videoElement=e})}createSession(){if(_(this._videoElement))throw new Error("Video not attached to the MediaKeys");return new as(this._videoElement,this._keySystem)}setServerCertificate(){throw new Error("Server certificate is not implemented in your browser")}};function ds(){return{isTypeSupported:function(r){let i=document.querySelector("video");return _(i)&&(i=document.createElement("video")),!_(i)&&typeof i.canPlayType=="function"?!!i.canPlayType("video/mp4",r):!1},createCustomMediaKeys:r=>new wo(r),setMediaKeys:(r,i)=>{if(i===null)return Promise.resolve(void 0);if(!(i instanceof wo))throw new Error("Custom setMediaKeys is supposed to be called with old webkit custom MediaKeys.");return i._setVideo(r)}}}function Je(n,e,t){if(typeof String.prototype.startsWith=="function")return n.startsWith(e,t);let r=typeof t=="number"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function re(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i=="number"?i:i.length;let o=new Uint8Array(r),a=0;for(t=-1;++t<e;)i=n[t],typeof i=="number"?a+=i:i.length>0&&(o.set(i,a),a+=i.length);return o}function Oo(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function us(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function ne(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function Ke(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function fe(n){return new Uint8Array([n>>>8&255,n&255])}function be(n){return new Uint8Array([n>>>24&255,n>>>16&255,n>>>8&255,n&255])}function jt(n){let e=n%4294967296,t=(n-e)/4294967296;return new Uint8Array([t>>>24&255,t>>>16&255,t>>>8&255,t&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255])}function hc(n,e){return(n[e+0]<<0)+(n[e+1]<<8)}function yc(n,e){return n[e+0]+n[e+1]*256+n[e+2]*65536+n[e+3]*16777216}function Ic(n){return new Uint8Array([n&255,n>>>8&255])}function Cr(n){return new Uint8Array([n&255,n>>>8&255,n>>>16&255,n>>>24&255])}function ls(n,e){let t=n instanceof Uint8Array?n:new Uint8Array(n),r=e instanceof Uint8Array?e:new Uint8Array(e);if(yc(t,0)+4!==t.length)throw new Error("Unsupported WebKit initData.");let o=Ao(t),a=o.indexOf("skd://"),s=a>-1?o.substring(a+6):o,d=Mo(s),u=0,c=new Uint8Array(t.byteLength+4+d.byteLength+4+r.byteLength);return c.set(t),u+=t.length,c.set(Cr(d.byteLength),u),u+=4,c.set(d,u),u+=d.byteLength,c.set(Cr(r.byteLength),u),u+=4,c.set(r,u),c}function Qp(n){return Je(n,"com.apple.fps")}function bc(n,e){return Et(()=>{if(n.webkitSetMediaKeys===void 0)throw new Error("No webKitMediaKeys API.");n.webkitSetMediaKeys(e)})}var cs=class extends oe{constructor(e,t,r){super(),this._serverCertificate=r,this._videoElement=e,this._keyType=t,this._unbindSession=Z,this._closeSession=Z,this.closed=new Promise(i=>{this._closeSession=i}),this.keyStatuses=new Map,this.expiration=NaN}update(e){return new Promise((t,r)=>{if(this._nativeSession===void 0||this._nativeSession.update===void 0||typeof this._nativeSession.update!="function")return r("Unavailable WebKit key session.");try{let i;e instanceof ArrayBuffer?i=new Uint8Array(e):e instanceof Uint8Array?i=e:i=new Uint8Array(e.buffer),t(this._nativeSession.update(i))}catch(i){r(i)}})}generateRequest(e,t){return new Promise(r=>{var s;let i=this._videoElement;if(((s=i.webkitKeys)==null?void 0:s.createSession)===void 0)throw new Error("No WebKitMediaKeys API.");let o;if(Qp(this._keyType)){if(this._serverCertificate===void 0)throw new Error("A server certificate is needed for creating fairplay session.");o=ls(t,this._serverCertificate)}else o=t;let a=i.webkitKeys.createSession("video/mp4",o);if(a==null)throw new Error("Impossible to get the key sessions");this._listenEvent(a),this._nativeSession=a,r()})}close(){return new Promise((e,t)=>{if(this._unbindSession(),this._closeSession(),this._nativeSession===void 0){t("No session to close.");return}this._nativeSession.close(),e()})}load(){return Promise.resolve(!1)}remove(){return Promise.resolve()}get sessionId(){var e,t;return(t=(e=this._nativeSession)==null?void 0:e.sessionId)!=null?t:""}_listenEvent(e){this._unbindSession();let t=r=>{this.trigger(r.type,r)};["keymessage","message","keyadded","ready","keyerror","error"].forEach(r=>{e.addEventListener(r,t),e.addEventListener(`webkit${r}`,t)}),this._unbindSession=()=>{["keymessage","message","keyadded","ready","keyerror","error"].forEach(r=>{e.removeEventListener(r,t),e.removeEventListener(`webkit${r}`,t)})}}},Do=class{constructor(e){if(ct===void 0)throw new Error("No WebKitMediaKeys API.");this._keyType=e,this._mediaKeys=new ct(e)}_setVideo(e){if(this._videoElement=e,this._videoElement===void 0)throw new Error("Video not attached to the MediaKeys");return bc(this._videoElement,this._mediaKeys)}createSession(){if(this._videoElement===void 0||this._mediaKeys===void 0)throw new Error("Video not attached to the MediaKeys");return new cs(this._videoElement,this._keyType,this._serverCertificate)}setServerCertificate(e){return this._serverCertificate=e,Promise.resolve()}};function Lo(){if(ct===void 0)throw new Error("No WebKitMediaKeys API.");return{isTypeSupported:ct.isTypeSupported,createCustomMediaKeys:r=>new Do(r),setMediaKeys:(r,i)=>{if(i===null)return bc(r,i);if(!(i instanceof Do))throw new Error("Custom setMediaKeys is supposed to be called with webkit custom MediaKeys.");return i._setVideo(r)}}}var Xp=Zp("auto"),Tc=Xp;function Zp(n){var o;let e,t,r=Jp,i;if((n==="standard"||n==="auto"&&!ts())&&(Kt||!_(navigator.requestMediaKeySystemAccess)))e=(...a)=>navigator.requestMediaKeySystemAccess(...a),t=_e(["encrypted"]),i="standard";else{let a,s;if(n==="webkit"&&ct!==void 0){let d=Lo();t=Sc(),a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="webkit"}else if(ss((o=ee.HTMLVideoElement)==null?void 0:o.prototype)){t=_e(["needkey"]);let d=ds();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="older-webkit"}else if(ct!==void 0){t=Sc();let d=Lo();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="webkit"}else if(sn&&vt!==void 0){t=_e(["encrypted","needkey"]);let d=rs();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="ms"}else if(qt!==void 0){t=_e(["encrypted","needkey"]);let d=is();a=d.isTypeSupported,s=d.createCustomMediaKeys,r=d.setMediaKeys,i="moz"}else{t=_e(["encrypted","needkey"]);let d=ee.MediaKeys,u=()=>{if(d===void 0)throw new J("MEDIA_KEYS_NOT_SUPPORTED","No `MediaKeys` implementation found in the current browser.");if(typeof d.isTypeSupported=="undefined"){let c="This browser seems to be unable to play encrypted contents currently.Note: Some browsers do not allow decryption in some situations, like when not using HTTPS.";throw new Error(c)}};a=c=>(u(),te(typeof d.isTypeSupported=="function"),d.isTypeSupported(c)),s=c=>(u(),new d(c)),i="unknown"}e=function(d,u){if(!a(d))return Promise.reject(new Error("Unsupported key type"));for(let c=0;c<u.length;c++){let l=u[c],{videoCapabilities:f,audioCapabilities:g,initDataTypes:p,distinctiveIdentifier:h}=l,y=!0;if(y=y&&(_(p)||p.some(b=>b==="cenc")),y=y&&h!=="required",y){let b={initDataTypes:["cenc"],distinctiveIdentifier:"not-allowed",persistentState:"required",sessionTypes:["temporary","persistent-license"]};f!==void 0&&(b.videoCapabilities=f),g!==void 0&&(b.audioCapabilities=g);let T=s(d);return Promise.resolve(new vr(d,T,b))}}return Promise.reject(new Error("Unsupported configuration"))}}return{requestMediaKeySystemAccess:e,onEncrypted:t,setMediaKeys:r,implementation:i}}function Sc(){let n=_e(["needkey"],void 0);return(t,r,i)=>{n(t,o=>{let a=j({forceSessionRecreation:!0},o);r(a)},i)}}function Jp(n,e){try{let t;return typeof n.setMediaKeys=="function"?t=n.setMediaKeys(e):typeof n.webkitSetMediaKeys=="function"?t=n.webkitSetMediaKeys(e):typeof n.mozSetMediaKeys=="function"?t=n.mozSetMediaKeys(e):typeof n.msSetMediaKeys=="function"&&e!==null&&(t=n.msSetMediaKeys(e)),typeof t=="object"&&t!==null&&typeof t.then=="function"?t:Promise.resolve(t)}catch(t){return Promise.reject(t)}}function yt(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=ne(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=Ke(n,r+8)}if(isNaN(i)||i<=0)return-1;if(ne(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function No(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=yt(r,1836019558);if(i<0)break;let o=ne(n,i+e),a=e+i+o;if(a>n.length)break;let s=yt(r,1835295092);if(s<0)break;let d=ne(n,s+e),u=e+s+d;if(u>n.length)break;let c=Math.max(a,u),l=n.subarray(e,c);t.push(l),e=c}return t.length===0?[null,r]:[t,r]}function eg(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function tg(n,e,t){return n.slice(e,t)}var fs=typeof Uint8Array.prototype.slice=="function"?tg:eg;function ms(n,e){let t=n;for(let r of e){let i=Re(t,r);if(i===null)return null;t=i}return t}function Re(n,e){let t=Ve(n,e);return t!==null?n.subarray(t[1],t[2]):null}function _c(n,e){let t=[],r=n;for(;;){let i=Ve(r,e);if(i===null)return t;te(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function ps(n,e){let t=Ve(n,e);return t!==null?n.subarray(t[0],t[2]):null}function Ve(n,e){let t=n.length,r=0,i,o=0,a;for(;r+8<=t;){if(a=r,o=ne(n,a),a+=4,i=ne(n,a),a+=4,o===0)o=t-r;else if(o===1){if(a+8>t)return null;o=Ke(n,a),a+=8}if(o<0)throw new Error("ISOBMFF: Size out of range");if(i===e)return e===1970628964&&(a+=16),[r,a,r+o];r+=o}return null}function pn(n,e,t,r,i){let o=n.length,a;for(let s=0;s<o;s+=a){let d=s;a=ne(n,d),d+=4;let u=ne(n,d);if(d+=4,a===0)a=o-s;else if(a===1){if(d+8>o)return;a=Ke(n,d),d+=8}if(u===1970628964&&d+16<=o&&ne(n,d)===e&&ne(n,d+4)===t&&ne(n,d+8)===r&&ne(n,d+12)===i)return d+=16,n.subarray(d,s+a)}}function gs(n){let e=n.length;if(e<8)return m.warn("ISOBMFF: box inferior to 8 bytes, cannot find offsets"),null;let t=0,r=ne(n,t);t+=4;let i=ne(n,t);if(t+=4,r===0)r=e;else if(r===1){if(t+8>e)return m.warn("ISOBMFF: box too short, cannot find offsets"),null;r=Ke(n,t),t+=8}if(r<0)throw new Error("ISOBMFF: Size out of range");return i===1970628964&&(t+=16),[0,t,r]}function Uo(n){let e=0,t=Re(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Ve(t,1886614376)}catch(s){let d=s instanceof Error?s:"";return m.warn("Error while removing PSSH from ISOBMFF",d),r}if(i===null)return r;let o=fs(t,i[0],i[2]),a=Bo(o,i[1]-i[0]);a!==void 0&&r.push({systemId:a,data:o}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function Bo(n,e){if(n[e]>1){m.warn("ISOBMFF: un-handled PSSH version");return}let t=e+4;if(t+16>n.length)return;let r=fs(n,t,t+16);return Ne(r)}var Pr=Math.pow(2,32)-1;var hs={};function Ec(n){if(hs[n]!==void 0)return hs[n];let e=ve(n);return hs[n]=e,e}function ue(n,e){let t=e.length+8;return t<=Pr?re(be(t),Ec(n),e):re(be(1),Ec(n),jt(t+8),e)}function Ae(n,e){return ue(n,re(...e))}function Mr(n){let e=Re(n,1836019558);return e===null?null:Re(e,1953653094)}function vc(n){return _c(n,1836019558).reduce((t,r)=>{let i=Re(r,1953653094);return i!==null&&t.push(i),t},[])}function Ar(n){return Re(n,1835295092)}function ys(n){let e=Re(n,1836019574);if(e===null)return null;let t=Re(e,1953653099);return t===null?null:Re(t,1835297121)}function Rc(n,e=0){return Re(n.subarray(e),1701671783)}function xr(n){let e=hc(n,8),t=Ao(n.subarray(10,e+10)),i=new DOMParser().parseFromString(t,"application/xml").querySelector("KID");if(i===null)throw new Error("Cannot parse PlayReady private data: invalid XML");let o=i.textContent===null?"":i.textContent,a=xo(ft(o));return Ne(a).toLowerCase()}function wr(n,e){let t=Ve(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],o=t[1],a=n[o];o+=8;let s=ne(n,o);o+=4;let d;if(a===0)d=ne(n,o),o+=4,r+=ne(n,o)+i,o+=4;else if(a===1)d=Ke(n,o),o+=8,r+=Ke(n,o)+i,o+=8;else return null;let u=[];o+=2;let c=Oo(n,o);for(o+=2;--c>=0;){let l=ne(n,o);o+=4;let f=(l&2147483648)>>>31,g=l&2147483647;if(f===1)throw new Error("sidx with reference_type `1` not yet implemented");let p=ne(n,o);o+=4,o+=4,u.push({time:d,duration:p,timescale:s,range:[r,r+g-1]}),d+=p,r+=g}return u}function Is(n){let e=Mr(n);if(e===null)return;let t=Re(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return Ke(t,4);if(r===0)return ne(t,4)}function ng(n){let e=Re(n,1952868452);if(e===null)return;let t=1,r=us(e,t);t+=3;let i=(r&1)>0,o=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),o&&(t+=4),ne(e,t)):void 0}function Or(n){let e=vc(n);if(e.length===0)return;let t=0;for(let r of e){let i=Re(r,1953658222);if(i===null)return;let o=0,a=i[o];if(o+=1,a>1)return;let s=us(i,o);o+=3;let d=(s&256)>0,u=0;if(!d&&(u=ng(r),u===void 0))return;let c=(s&1)>0,l=(s&4)>0,f=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,h=ne(i,o);o+=4,c&&(o+=4),l&&(o+=4);let y=h,b=0;for(;y-- >0;)d?(b+=ne(i,o),o+=4):b+=u,f&&(o+=4),g&&(o+=4),p&&(o+=4);t+=b}return t}function Dr(n){let e=ys(n);if(e===null)return;let t=Re(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return ne(t,r+16);if(i===0)return ne(t,r+8)}function bs(n){let e=n.length;if(e<4)throw new Error("Cannot update box length: box too short");let t=ne(n,0);if(t===0)if(e>Pr){let r=new Uint8Array(e+8);return r.set(be(1),0),r.set(n.subarray(4,8),4),r.set(jt(e+8),8),r.set(n.subarray(8,e),16),r}else return n.set(be(e),0),n;else if(t===1){if(e<16)throw new Error("Cannot update box length: box too short");return n.set(jt(e),8),n}else{if(e<=Pr)return n.set(be(e),0),n;{let r=new Uint8Array(e+8);return r.set(be(1),0),r.set(n.subarray(4,8),4),r.set(jt(e+8),8),r.set(n.subarray(8,e),16),r}}}function kc(n){let e=[],t=0;for(;t<n.length;){let r=Rc(n,t);if(r===null)break;let i=r.length;t+=i;let o=r[0];if(o!==0)m.warn("ISOBMFF: EMSG version "+o.toString()+" not supported.");else{let a=4,{end:s,string:d}=os(r,a);a=s;let{end:u,string:c}=os(r,a);a=u;let l=ne(r,a);a+=4;let f=ne(r,a);a+=4;let g=ne(r,a);a+=4;let p=ne(r,a);a+=4;let h=r.subarray(a,i),y={schemeIdUri:d,value:c,timescale:l,presentationTimeDelta:f,eventDuration:g,id:p,messageData:h};e.push(y)}}if(e.length!==0)return e}function Cc(n){let e=ms(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=Re(t,1701733238),i=0;if(r===null?(i=28,r=Re(t,1701733217)):i=78,r===null)return null;let o=ms(r.subarray(i),[1936289382,1935894633,1952804451]);if(o===null||o.byteLength<24)return null;let a=o.subarray(8,24);return a.every(s=>s===0)?null:a}var Fo=ne(ve("pssh"),0);function rg(n){m.info("Compat: Trying to move CENC PSSH from init data at the end of it.");let e=!1,t=new Uint8Array,r=new Uint8Array,i=0;for(;i<n.length;){if(n.length<i+8||ne(n,i+4)!==Fo)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");let o=ne(new Uint8Array(n),i);if(i+o>n.length)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");let a=n.subarray(i,i+o);if(n[i+12]===16&&n[i+13]===119&&n[i+14]===239&&n[i+15]===236&&n[i+16]===192&&n[i+17]===178&&n[i+18]===77&&n[i+19]===2&&n[i+20]===172&&n[i+21]===227&&n[i+22]===60&&n[i+23]===30&&n[i+24]===82&&n[i+25]===226&&n[i+26]===251&&n[i+27]===75){let s=gs(a),d=s===null?void 0:a[s[1]];m.info("Compat: CENC PSSH found with version",d),d===void 0?m.warn("Compat: could not read version of CENC PSSH"):e===(d===1)?t=re(t,a):d===1?(m.warn("Compat: cenc version 1 encountered, removing every other cenc pssh box."),t=a,e=!0):m.warn("Compat: filtering out cenc pssh box with wrong version",d)}else r=re(r,a);i+=o}if(i!==n.length)throw m.warn("Compat: unrecognized initialization data. Cannot patch it."),new Error("Compat: unrecognized initialization data. Cannot patch it.");return re(r,t)}function Lr(n,e,t){m.debug("Compat: Calling generateRequest on the MediaKeySession");let r;try{r=rg(t)}catch(o){r=t}let i=e!=null?e:"";return n.generateRequest(i,r).catch(o=>{if(i!==""||!(o instanceof TypeError))throw o;return m.warn('Compat: error while calling `generateRequest` with an empty initialization data type. Retrying with a default "cenc" value.',o),n.generateRequest("cenc",r)})}function ig(n){let e=[],t=0;for(;t<n.length;){if(n.length<t+8||ne(n,t+4)!==Fo)return m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}];let r=ne(new Uint8Array(n),t);if(t+r>n.length)return m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}];let i=n.subarray(t,t+r),a={systemId:Bo(i,8),data:i};og(e,a)?m.warn("Compat: Duplicated PSSH found in initialization data, removing it."):e.push(a),t+=r}return t!==n.length?(m.warn("Compat: Unrecognized initialization data. Use as is."),[{systemId:void 0,data:n}]):e}function og(n,e){for(let t=0;t<n.length;t++){let r=n[t];if((e.systemId===void 0||r.systemId===void 0||e.systemId===r.systemId)&&ge(e.data,r.data))return!0}return!1}function Ko(n){let{initData:e,initDataType:t,forceSessionRecreation:r}=n;if(_(e))return m.warn("Compat: No init data found on media encrypted event."),null;let i=new Uint8Array(e),o=ig(i);return{type:t,values:o,forceSessionRecreation:r}}var ag=100;async function Nr(n,e){m.info("DRM: Load persisted session",e);let t=await n.load(e);return!t||n.keyStatuses.size>0?t:new Promise(r=>{n.addEventListener("keystatuseschange",o);let i=setTimeout(o,ag);function o(){a(),r(t)}function a(){clearTimeout(i),n.removeEventListener("keystatuseschange",o)}})}var It=Tc;function Q(n,e,t){if(typeof Array.prototype.includes=="function")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,o=i>=0?Math.min(i,r-1):Math.max(r+i,0),a=(s,d)=>s===d||typeof s=="number"&&typeof d=="number"&&isNaN(s)&&isNaN(d);for(;o<r;){if(a(n[o],e))return!0;o++}return!1}function Pc(n){var t;let e=Fe.getState(n);return Fe.setState(n,null),Er((t=e==null?void 0:e.emeImplementation)!=null?t:It,n,null)}async function Ss(n,{emeImplementation:e,keySystemOptions:t,askedConfiguration:r,loadedSessionsStore:i,mediaKeySystemAccess:o,mediaKeys:a},s){let d=Fe.getState(n);if(await(d!==null&&d.loadedSessionsStore!==i?d.loadedSessionsStore.closeAllSessions():Promise.resolve()),s.isCancelled())throw s.cancellationError;if(Fe.setState(n,{emeImplementation:e,keySystemOptions:t,mediaKeySystemAccess:o,mediaKeys:a,loadedSessionsStore:i,askedConfiguration:r}),n.mediaKeys!==a)return m.info("DRM: Attaching MediaKeys to the media element"),Er(e,n,a).then(()=>{m.info("DRM: MediaKeys attached with success")}).catch(c=>{let l=c instanceof Error?c.toString():"Unknown Error";throw new pe("MEDIA_KEYS_ATTACHMENT_ERROR","Could not attach the MediaKeys to the media element: "+l)})}function Ur(n){if(n.sessionId==="")return!1;let e=n.keyStatuses,t=[];return e.forEach(r=>{t.push(r)}),t.length<=0?(m.debug("DRM: isSessionUsable: MediaKeySession given has an empty keyStatuses",n.sessionId),!1):Q(t,"expired")?(m.debug("DRM: isSessionUsable: MediaKeySession given has an expired key",n.sessionId),!1):Q(t,"internal-error")?(m.debug("DRM: isSessionUsable: MediaKeySession given has a key with an internal-error",n.sessionId),!1):(m.debug("DRM: isSessionUsable: MediaKeySession is usable",n.sessionId),!0)}function Ts(n,e,t,r){let{loadedSessionsStore:i,persistentSessionsStore:o}=n;return t==="temporary"?Mc(i,e):o===null?(m.warn("DRM: Cannot create persistent MediaKeySession, PersistentSessionsStore not created."),Mc(i,e)):sg(i,o,e,r)}function Mc(n,e){m.info("DRM: Creating a new temporary session");let t=n.createSession(e,"temporary");return Promise.resolve({type:"created-session",value:t})}async function sg(n,e,t,r){if(r.cancellationError!==null)throw r.cancellationError;m.info("DRM: Creating persistent MediaKeySession");let i=n.createSession(t,"persistent-license"),o=e.getAndReuse(t);if(o===null)return{type:"created-session",value:i};try{let s=await n.loadPersistentSession(i.mediaKeySession,o.sessionId);if(!s){m.warn("DRM: No data stored for the loaded session"),e.delete(o.sessionId),n.removeSessionWithoutClosingIt(i.mediaKeySession);let d=n.createSession(t,"persistent-license");return{type:"created-session",value:d}}return s&&Ur(i.mediaKeySession)?(e.add(t,t.keyIds,i.mediaKeySession),m.info("DRM: Succeeded to load persistent session."),{type:"loaded-persistent-session",value:i}):(m.warn("DRM: Previous persistent session not usable anymore."),a())}catch(s){return m.warn("DRM: Unable to load persistent session: "+(s instanceof Error?s.toString():"Unknown Error")),a()}async function a(){if(r.cancellationError!==null)throw r.cancellationError;m.info("DRM: Removing previous persistent session.");let s=e.get(t);s!==null&&e.delete(s.sessionId);try{await n.closeSession(i.mediaKeySession)}catch(u){if(i.mediaKeySession.sessionId!=="")throw u;n.removeSessionWithoutClosingIt(i.mediaKeySession)}if(r.cancellationError!==null)throw r.cancellationError;let d=n.createSession(t,"persistent-license");return{type:"created-session",value:d}}}async function _s(n,e){if(e<0||e>=n.getLength())return;m.info("DRM: LSS cache limit exceeded",e,n.getLength());let t=[],r=n.getAll().slice(),i=r.length-e;for(let o=0;o<i;o++){let a=r[o];t.push(n.closeSession(a.mediaKeySession))}await Promise.all(t)}async function Es(n,e,t,r,i){let o=null,{loadedSessionsStore:a,persistentSessionsStore:s}=e,d=a.reuse(n);if(d!==null){if(o=d.mediaKeySession,Ur(o))return m.info("DRM: Reuse loaded session",o.sessionId),{type:"loaded-open-session",value:{mediaKeySession:o,sessionType:d.sessionType,keySessionRecord:d.keySessionRecord}};s!==null&&d.mediaKeySession.sessionId!==""&&s.delete(d.mediaKeySession.sessionId)}if(o!==null&&(await a.closeSession(o),i.cancellationError!==null)||(await _s(a,r),i.cancellationError!==null))throw i.cancellationError;let u=await Ts(e,n,t,i);return{type:u.type,value:{mediaKeySession:u.value.mediaKeySession,sessionType:u.value.sessionType,keySessionRecord:u.value.keySessionRecord}}}function vs(){return!dr&&!Na}function Ac(n){return!(ar&&n.indexOf("playready")!==-1)}var xc='<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>ckB07BNLskeUq0qd83fTbA==</KID><DS_ID>yYIPDBca1kmMfL60IsfgAQ==</DS_ID><CUSTOMATTRIBUTES xmlns=""><encryptionref>312_4024_2018127108</encryptionref></CUSTOMATTRIBUTES><CHECKSUM>U/tsUYRgMzw=</CHECKSUM></DATA></WRMHEADER>';function wc(n){let e=Mo(n),t=Ic(e.length),r=new Uint8Array([1,0]),i=new Uint8Array([1,0]),o=Cr(e.length+6),a=re(o,i,r,t,e),s=qe("9a04f07998404286ab92e65be0885f95");return dg(a,s)}function dg(n,e){let t=ve("pssh"),r=new Uint8Array([0,0,0,0]),i=be(n.length),o=be(32+n.length);return re(o,t,r,e,i,n)}function Rs(){return sn}function ug(n,e){let{mimeType:t,codecs:r}=Vo(n),{mimeType:i,codecs:o}=Vo(e);return!(t!==i||r===""||o===""||r.split(".")[0]!==o.split(".")[0])}var lg=7;function Vo(n){var i;let[e,...t]=n.split(";"),r=(i=X(t,o=>Je(o,"codecs=")))!=null?i:"";return r=r.substring(lg),r[0]==='"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var zo=ug;function Ln(n,e){return typeof Array.prototype.flatMap=="function"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function cg(n,e,t,r){let i=t.getConfiguration();if(Rs()||_(i))return null;let o=n.filter(a=>!(a.type!==r.type||(!_(a.persistentLicenseConfig)||a.persistentState==="required")&&i.persistentState!=="required"||a.distinctiveIdentifier==="required"&&i.distinctiveIdentifier!=="required"))[0];return o!==void 0?{keySystemOptions:o,keySystemAccess:t,askedConfiguration:e}:null}function fg(n){let{EME_KEY_SYSTEMS:e}=U.getCurrent();for(let t of Object.keys(e))if(Q(e[t],n))return t}function mg(n){let{keyName:e,keyType:t,keySystemOptions:r}=n,i=["temporary"],o="optional",a="optional";_(r.persistentLicenseConfig)||(o="required",i.push("persistent-license")),_(r.persistentState)||(o=r.persistentState),_(r.distinctiveIdentifier)||(a=r.distinctiveIdentifier);let{EME_DEFAULT_AUDIO_CODECS:s,EME_DEFAULT_VIDEO_CODECS:d,EME_DEFAULT_WIDEVINE_ROBUSTNESSES:u,EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:c}=U.getCurrent(),l,f,{audioCapabilitiesConfig:g,videoCapabilitiesConfig:p}=r;if((g==null?void 0:g.type)==="full")l=g.value;else{let y;(g==null?void 0:g.type)==="robustness"?y=g.value:e==="widevine"?y=u:t==="com.microsoft.playready.recommendation"?y=c:y=[],y.length===0&&y.push(void 0);let b=(g==null?void 0:g.type)==="contentType"?g.value:s;l=Ln(y,T=>b.map(v=>T!==void 0?{contentType:v,robustness:T}:{contentType:v}))}if((p==null?void 0:p.type)==="full")f=p.value;else{let y;(p==null?void 0:p.type)==="robustness"?y=p.value:e==="widevine"?y=u:t==="com.microsoft.playready.recommendation"?y=c:y=[],y.length===0&&y.push(void 0);let b=(p==null?void 0:p.type)==="contentType"?p.value:d;f=Ln(y,T=>b.map(v=>T!==void 0?{contentType:v,robustness:T}:{contentType:v}))}let h={initDataTypes:["cenc"],videoCapabilities:f,audioCapabilities:l,distinctiveIdentifier:a,persistentState:o,sessionTypes:i};return g!==void 0?p!==void 0?[h]:[h,de(ie({},h),{videoCapabilities:void 0})]:p!==void 0?[h,de(ie({},h),{audioCapabilities:void 0})]:[h,de(ie({},h),{audioCapabilities:void 0,videoCapabilities:void 0})]}function Oc(n,e){var u,c,l,f,g,p;let t=(c=(u=n.audioCapabilities)==null?void 0:u.map(h=>h.contentType))!=null?c:[],r=(f=(l=n.videoCapabilities)==null?void 0:l.map(h=>h.contentType))!=null?f:[],i=t.concat(r).filter(h=>h!==void 0),o=(g=e.videoCapabilities)==null?void 0:g.map(h=>h.contentType),a=(p=e.audioCapabilities)==null?void 0:p.map(h=>h.contentType),s=[...o!=null?o:[],...a!=null?a:[]].filter(h=>h!==void 0);return s.length===0?[]:i.map(h=>{let{codecs:y,mimeType:b}=Vo(h),T=Q(s,h);return{codec:y,mimeType:b,result:T}})}function ks(n,e,t){m.info("DRM: Searching for compatible MediaKeySystemAccess");let r=Fe.getState(n);if(r!==null&&It.implementation===r.emeImplementation.implementation){let a=cg(e,r.askedConfiguration,r.mediaKeySystemAccess,r.keySystemOptions);if(a!==null)return m.info("DRM: Found cached compatible keySystem"),Promise.resolve({type:"reuse-media-key-system-access",value:{mediaKeySystemAccess:a.keySystemAccess,askedConfiguration:a.askedConfiguration,options:a.keySystemOptions,codecSupport:Oc(a.askedConfiguration,a.keySystemAccess.getConfiguration())}})}let i=e.reduce((a,s)=>{let{EME_KEY_SYSTEMS:d}=U.getCurrent(),u=d[s.type],c;if(!_(u))c=u.map(l=>({keyName:s.type,keyType:l,keySystemOptions:s}));else{let l=fg(s.type),f=s.type;c=[{keyName:l,keyType:f,keySystemOptions:s}]}return a.concat(c)},[]);return o(0);async function o(a){if(a>=i.length)throw new pe("INCOMPATIBLE_KEYSYSTEMS","No key system compatible with your wanted configuration has been found in the current browser.");if(_(It.requestMediaKeySystemAccess))throw new Error("requestMediaKeySystemAccess is not implemented in your browser.");let s=i[a],{keyType:d,keySystemOptions:u}=s,c=mg(s);m.debug(`DRM: Request keysystem access ${d},${a+1} of ${i.length}`);let l;for(let f=0;f<c.length;f++){let g=c[f];try{return l=await pg(d,[g]),m.info("DRM: Found compatible keysystem",d,a+1),{type:"create-media-key-system-access",value:{options:u,mediaKeySystemAccess:l,askedConfiguration:g,codecSupport:Oc(g,l.getConfiguration())}}}catch(p){if(m.debug("DRM: Rejected access to keysystem",d,a+1,f),t.cancellationError!==null)throw t.cancellationError}}return o(a+1)}}async function pg(n,e){let t=await It.requestMediaKeySystemAccess(n,e);if(!Ac(n))try{let i=(await t.createMediaKeys()).createSession(),o=wc(xc);await i.generateRequest("cenc",o)}catch(r){throw m.debug("DRM: KeySystemAccess was granted but it is not usable"),r}return t}function Nn(n,e){for(let t of n)if(!e.some(i=>ge(i,t)))return!1;return!0}function Dc(n,e){for(let t of n)if(e.some(i=>ge(i,t)))return!0;return!1}var Br=class{constructor(e){this._initializationData=e,this._keyIds=null}associateKeyIds(e){this._keyIds===null&&(this._keyIds=[]);let t=Array.from(e);for(let r of t)this.isAssociatedWithKeyId(r)||this._keyIds.push(r)}isAssociatedWithKeyId(e){if(this._keyIds===null)return!1;for(let t of this._keyIds)if(ge(t,e))return!0;return!1}getAssociatedKeyIds(){return this._keyIds===null?[]:this._keyIds}isCompatibleWith(e){let{keyIds:t}=e;if(t!==void 0&&t.length>0){if(this._keyIds!==null&&Nn(t,this._keyIds))return!0;if(this._initializationData.keyIds!==void 0)return Nn(t,this._initializationData.keyIds)}return this._checkInitializationDataCompatibility(e)}_checkInitializationDataCompatibility(e){return e.keyIds!==void 0&&e.keyIds.length>0&&this._initializationData.keyIds!==void 0?Nn(e.keyIds,this._initializationData.keyIds):this._initializationData.type!==e.type?!1:this._initializationData.values.isCompatibleWith(e.values)}};var Fr=class{constructor(e){this._mediaKeys=e,this._storage=[]}createSession(e,t){let r=new Br(e);m.debug("DRM-LSS: calling `createSession`",t);let i=this._mediaKeys.createSession(t),o={mediaKeySession:i,sessionType:t,keySessionRecord:r,isGeneratingRequest:!1,isLoadingPersistentSession:!1,closingStatus:{type:"none"}};return _(i.closed)||i.closed.then(()=>{m.info("DRM-LSS: session was closed, removing it.",i.sessionId);let a=this.getIndex(r);a>=0&&this._storage[a].mediaKeySession===i&&this._storage.splice(a,1)}).catch(a=>{m.warn(`DRM-LSS: MediaKeySession.closed rejected: ${a}`)}),this._storage.push(ie({},o)),m.debug("DRM-LSS: MediaKeySession added",o.sessionType,this._storage.length),o}reuse(e){for(let t=this._storage.length-1;t>=0;t--){let r=this._storage[t];if(r.keySessionRecord.isCompatibleWith(e))return this._storage.splice(t,1),this._storage.push(r),m.debug("DRM-LSS: Reusing session:",r.mediaKeySession.sessionId,r.sessionType),ie({},r)}return null}getEntryForSession(e){for(let t=this._storage.length-1;t>=0;t--){let r=this._storage[t];if(r.mediaKeySession===e)return ie({},r)}return null}async generateLicenseRequest(e,t,r){let i;for(let o of this._storage)if(o.mediaKeySession===e){i=o;break}if(i===void 0)return m.error("DRM-LSS: generateRequest error. No MediaKeySession found with the given initData and initDataType"),Lr(e,t,r);if(i.isGeneratingRequest=!0,i.closingStatus.type!=="none")throw new Error("The `MediaKeySession` is being closed.");try{await Lr(e,t,r)}catch(o){throw i===void 0||(i.isGeneratingRequest=!1,i.closingStatus.type==="awaiting"&&i.closingStatus.start()),o}i!==void 0&&(i.isGeneratingRequest=!1,i.closingStatus.type==="awaiting"&&i.closingStatus.start())}async loadPersistentSession(e,t){let r;for(let o of this._storage)if(o.mediaKeySession===e){r=o;break}if(r===void 0)return m.error("DRM-LSS: loadPersistentSession error. No MediaKeySession found with the given initData and initDataType"),Nr(e,t);if(r.isLoadingPersistentSession=!0,r.closingStatus.type!=="none")throw new Error("The `MediaKeySession` is being closed.");let i;try{i=await Nr(e,t)}catch(o){throw r===void 0||(r.isLoadingPersistentSession=!1,r.closingStatus.type==="awaiting"&&r.closingStatus.start()),o}return r===void 0||(r.isLoadingPersistentSession=!1,r.closingStatus.type==="awaiting"&&r.closingStatus.start()),i}async closeSession(e){let t;for(let r of this._storage)if(r.mediaKeySession===e){t=r;break}return t===void 0?(m.warn("DRM-LSS: No MediaKeySession found with the given initData and initDataType"),Promise.resolve(!1)):this._closeEntry(t)}getLength(){return this._storage.length}getAll(){return this._storage}async closeAllSessions(){let e=this._storage;m.debug("DRM-LSS: Closing all current MediaKeySessions",e.length),this._storage=[];let t=e.map(r=>this._closeEntry(r));await Promise.all(t)}removeSessionWithoutClosingIt(e){te(e.sessionId==="","Initialized `MediaKeySession`s should always be properly closed");for(let t=this._storage.length-1;t>=0;t--)if(this._storage[t].mediaKeySession===e)return m.debug("DRM-LSS: Removing session without closing it",e.sessionId),this._storage.splice(t,1),!0;return!1}getIndex(e){for(let t=0;t<this._storage.length;t++)if(this._storage[t].keySessionRecord===e)return t;return-1}async _closeEntry(e){let{mediaKeySession:t}=e;return new Promise((r,i)=>{e!==void 0&&(e.isLoadingPersistentSession||e.isGeneratingRequest)?e.closingStatus={type:"awaiting",start:o}:o();function o(){e!==void 0&&(e.closingStatus={type:"pending"}),gg(t).then(()=>{e!==void 0&&(e.closingStatus={type:"done"}),r(!0)}).catch(a=>{e!==void 0&&(e.closingStatus={type:"failed"}),i(a)})}})}};async function gg(n){m.debug("DRM: Trying to close a MediaKeySession",n.sessionId);try{await So(n),m.debug("DRM: Succeeded to close MediaKeySession");return}catch(e){m.error("DRM: Could not close MediaKeySession: "+(e instanceof Error?e.toString():"Unknown error"));return}}function Yt(n){let e=0,t;for(let r=0;r<n.length;r++)t=n[r],e=(e<<5)-e+t,e=e&e;return e}var at=class{constructor(e){this.initData=e}toJSON(){return Po(this.initData)}static decode(e){return ft(e)}};function Un(n,e){var t,r;return(r=(t=Lc(n,e))!=null?t:Lc(e,n))!=null?r:!1}function Lc(n,e){if(n.length===0)return!1;if(e.length<n.length)return null;let t=n[0],r=0,i=0;for(;i<e.length;i++){let o=e[i];if(o.systemId!==t.systemId)continue;if(o.hash!==t.hash)return!1;let a;t.data instanceof Uint8Array?a=t.data:typeof t.data=="string"?a=at.decode(t.data):a=t.data.initData;let s;if(o.data instanceof Uint8Array?s=o.data:typeof o.data=="string"?s=at.decode(o.data):s=o.data.initData,!ge(a,s))return!1;if(e.length-i<n.length)return null;for(r=1;r<n.length;r++){let d=n[r];for(i+=1;i<e.length;i++){let u=e[i];if(d.systemId!==u.systemId)continue;if(d.hash!==u.hash)return!1;let c;d.data instanceof Uint8Array?c=d.data:typeof d.data=="string"?c=at.decode(d.data):c=d.data.initData;let l;if(u.data instanceof Uint8Array?l=u.data:typeof u.data=="string"?l=at.decode(u.data):l=u.data.initData,!ge(c,l))return!1;break}if(r===e.length)return null}return!0}return null}function hg(n){Wl(n,{save:"function",load:"function"},"persistentLicenseConfig")}var Kr=class{constructor(e){hg(e),this._entries=[],this._storage=e;try{let t=this._storage.load();Array.isArray(t)||(t=[]),this._entries=t}catch(t){m.warn("DRM-PSS: Could not get entries from license storage",t instanceof Error?t:""),this.dispose()}}getLength(){return this._entries.length}getAll(){return this._entries}get(e){let t=this._getIndex(e);return t===-1?null:this._entries[t]}getAndReuse(e){let t=this._getIndex(e);if(t===-1)return null;let r=this._entries.splice(t,1)[0];return this._entries.push(r),r}add(e,t,r){var s;if(_(r)||!w(r.sessionId)){m.warn("DRM-PSS: Invalid Persisten Session given.");return}let{sessionId:i}=r,o=this._getIndex(e);if(o>=0){let d=t===void 0?3:4,u=this._entries[o];if(((s=u.version)!=null?s:-1)>=d&&i===u.sessionId)return;m.info("DRM-PSS: Updating session info.",i),this._entries.splice(o,1)}else m.info("DRM-PSS: Add new session",i);let a=yg(e.values.getFormattedValues());t===void 0?this._entries.push({version:3,sessionId:i,values:a,initDataType:e.type}):this._entries.push({version:4,sessionId:i,keyIds:t.map(d=>new at(d)),values:a,initDataType:e.type}),this._save()}delete(e){let t=-1;for(let i=0;i<this._entries.length;i++)if(this._entries[i].sessionId===e){t=i;break}if(t===-1){m.warn("DRM-PSS: initData to delete not found.");return}let r=this._entries[t];m.warn("DRM-PSS: Delete session from store",r.sessionId),this._entries.splice(t,1),this._save()}deleteOldSessions(e){m.info(`DRM-PSS: Deleting last ${e} sessions.`),!(e<=0)&&(e<=this._entries.length?this._entries.splice(0,e):(m.warn("DRM-PSS: Asked to remove more information that it contains",e,this._entries.length),this._entries=[]),this._save())}dispose(){this._entries=[],this._save()}_getIndex(e){let t=null;function r(){if(t===null){let i=e.values.constructRequestData();t={initData:i,initDataHash:Yt(i)}}return t}for(let i=0;i<this._entries.length;i++){let o=this._entries[i];if(o.initDataType===e.type)switch(o.version){case 4:if(e.keyIds!==void 0){if(e.keyIds.every(d=>{let u=Po(d);for(let c of o.keyIds)if(typeof c=="string"){if(u===c)return!0}else if(ge(c.initData,d))return!0;return!1}))return i}else{let s=e.values.getFormattedValues();if(Un(s,o.values))return i}break;case 3:let a=e.values.getFormattedValues();if(Un(a,o.values))return i;break;case 2:{let{initData:s,initDataHash:d}=r();if(o.initDataHash===d)try{let u=typeof o.initData=="string"?at.decode(o.initData):o.initData.initData;if(ge(u,s))return i}catch(u){m.warn("DRM-PSS: Could not decode initialization data.",u instanceof Error?u:"")}break}case 1:{let{initData:s,initDataHash:d}=r();if(o.initDataHash===d){if(typeof o.initData.length=="undefined")return i;if(ge(o.initData,s))return i}break}default:{let{initDataHash:s}=r();if(o.initData===s)return i}}}return-1}_save(){try{this._storage.save(this._entries)}catch(e){let t=e instanceof Error?e:void 0;m.warn("DRM-PSS: Could not save MediaKeySession information",t)}}};function yg(n){return n.map(({systemId:e,data:t,hash:r})=>({systemId:e,hash:r,data:new at(t)}))}var Ho=new WeakMap,gn={prepare(n){Ho.set(n,null)},set(n,e){let t=e instanceof Uint8Array?e:new Uint8Array(e instanceof ArrayBuffer?e:e.buffer),r=Yt(t);Ho.set(n,{hash:r,serverCertificate:t})},hasOne(n){let e=Ho.get(n);if(e===void 0)return!1;if(e!==null)return!0},has(n,e){let t=Ho.get(n);if(t==null)return!1;let{hash:r,serverCertificate:i}=t,o=e instanceof Uint8Array?e:new Uint8Array(e instanceof ArrayBuffer?e:e.buffer);if(Yt(o)!==r||i.length!==o.length)return!1;for(let s=0;s<i.length;s++)if(i[s]!==o[s])return!1;return!0}};function Ig(n){let{persistentLicenseConfig:e}=n;return _(e)?null:(m.debug("DRM: Set the given license storage"),new Kr(e))}async function Cs(n,e,t){let r=await ks(n,e,t);if(t.cancellationError!==null)throw t.cancellationError;let{options:i,mediaKeySystemAccess:o,askedConfiguration:a,codecSupport:s}=r.value,d=Fe.getState(n),u=Ig(i);if(vs()&&d!==null&&r.type==="reuse-media-key-system-access"){let{mediaKeys:f,loadedSessionsStore:g}=d;if(gn.hasOne(f)===!1||!_(i.serverCertificate)&&gn.has(f,i.serverCertificate))return{mediaKeys:f,mediaKeySystemAccess:o,askedConfiguration:a,stores:{loadedSessionsStore:g,persistentSessionsStore:u},options:i,codecSupport:s}}let c=await bg(o);m.info("DRM: MediaKeys created with success");let l=new Fr(c);return{mediaKeys:c,mediaKeySystemAccess:o,askedConfiguration:a,stores:{loadedSessionsStore:l,persistentSessionsStore:u},options:i,codecSupport:s}}async function bg(n){m.info("DRM: Calling createMediaKeys on the MediaKeySystemAccess");try{return await n.createMediaKeys()}catch(e){let t=e instanceof Error?e.message:"Unknown error when creating MediaKeys.";throw new pe("CREATE_MEDIA_KEYS_ERROR",t)}}async function Ps(n,e,t){let r=await Cs(n,e,t),{mediaKeys:i}=r;return n.mediaKeys!==null&&n.mediaKeys!==void 0&&i!==n.mediaKeys&&(m.debug("DRM: Disabling old MediaKeys"),await Pc(n)),r}function Vr(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function Ms(n,e,t){let{baseDelay:r,maxDelay:i,totalRetry:o,shouldRetry:a,onRetry:s}=e,d=0;return u();async function u(){if(t.cancellationError!==null)throw t.cancellationError;try{return await n()}catch(c){if(t.cancellationError!==null)throw t.cancellationError;if(!_(a)&&!a(c)||d++>=o)throw c;typeof s=="function"&&s(c,d);let l=Sg(r,d,i);return await fn(l),u()}}}function Sg(n,e,t){let r=n*Math.pow(2,e-1),i=Vr(r);return Math.min(i,t)}function As(n,e){return n.indexOf("playready")!==-1&&(zt||ar)?xo(e):e}var Bn=class n extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,n.prototype),this.reason=e}},xs={EXPIRED:"expired",INTERNAL_ERROR:"internal-error",OUTPUT_RESTRICTED:"output-restricted"};function ws(n,e,t){let{onKeyInternalError:r,onKeyOutputRestricted:i,onKeyExpiration:o}=e,a=[],s=[],d=[];n.keyStatuses.forEach((c,l)=>{let[f,g]=typeof c=="string"?[c,l]:[l,c],p=As(t,new Uint8Array(g)),h={keyId:p.buffer,keyStatus:f};switch(m.hasLevel("DEBUG")&&m.debug(`DRM: key status update (${Ne(p)}): ${f}`),f){case xs.EXPIRED:{let y=new pe("KEY_STATUS_CHANGE_ERROR",`A decryption key expired (${Ne(p)})`,{keyStatuses:[h,...d]});if(o==="error"||o===void 0)throw y;switch(o){case"close-session":throw new Bn(y);case"fallback":a.push(p);break;default:o==="continue"||o===void 0?s.push(p):Qe(o);break}d.push(h);break}case xs.INTERNAL_ERROR:{let y=new pe("KEY_STATUS_CHANGE_ERROR",`A "${f}" status has been encountered (${Ne(p)})`,{keyStatuses:[h,...d]});switch(r){case void 0:case"error":throw y;case"close-session":throw new Bn(y);case"fallback":a.push(p);break;case"continue":s.push(p);break;default:if(r!==void 0)Qe(r);else throw y}d.push(h);break}case xs.OUTPUT_RESTRICTED:{let y=new pe("KEY_STATUS_CHANGE_ERROR",`A "${f}" status has been encountered (${Ne(p)})`,{keyStatuses:[h,...d]});switch(i){case void 0:case"error":throw y;case"fallback":a.push(p);break;case"continue":s.push(p);break;default:if(i!==void 0)Qe(i);else throw y}d.push(h);break}default:s.push(p);break}});let u;return d.length>0&&(u=new pe("KEY_STATUS_CHANGE_ERROR","One or several problematic key statuses have been encountered",{keyStatuses:d})),{warning:u,blacklistedKeyIds:a,whitelistedKeyIds:s}}function Os(n,e,t,r,i){m.info("DRM: Binding session events",n.sessionId);let{getLicenseConfig:o={}}=e,a=new B;a.linkToSignal(i),_(n.closed)||n.closed.then(()=>a.cancel()).catch(c=>{i.isCancelled()||(a.cancel(),r.onError(c))}),vo(n,c=>{a.cancel(),r.onError(new pe("KEY_ERROR",c.type))},a.signal),uc(n,()=>{m.info("DRM: keystatuseschange event received",n.sessionId);try{s()}catch(c){if(i.isCancelled()||a.isUsed()&&c instanceof lr)return;a.cancel(),r.onError(c)}},a.signal),Eo(n,c=>{let l=c,f=new Uint8Array(l.message),g=w(l.messageType)?l.messageType:"license-request";m.info(`DRM: Received message event, type ${g}`,n.sessionId);let p=u(o.retry);Ms(()=>d(f,g),p,a.signal).then(h=>{if(a.isUsed())return Promise.resolve();if(_(h))m.info("DRM: No license given, skipping session.update");else try{return Tg(n,h)}catch(y){a.cancel(),r.onError(y)}}).catch(h=>{if(a.isUsed())return;a.cancel();let y=Nc(h);if(!_(h)){let{fallbackOnLastTry:b}=h;if(b===!0){m.warn("DRM: Last `getLicense` attempt failed. Blacklisting the current session."),r.onError(new Fn(y));return}}r.onError(y)})},a.signal),m.info("DRM: transmitting current keystatuses",n.sessionId),s();return;function s(){if(a.isUsed()||n.keyStatuses.size===0)return;let{warning:c,blacklistedKeyIds:l,whitelistedKeyIds:f}=ws(n,e,t);c!==void 0&&(r.onWarning(c),a.isUsed())||r.onKeyUpdate({whitelistedKeyIds:f,blacklistedKeyIds:l})}function d(c,l){let f;return new Promise((g,p)=>{try{m.debug("DRM: Calling `getLicense`",l);let b=e.getLicense(c,l),T=_(o.timeout)?10*1e3:o.timeout;T>=0&&(f=setTimeout(()=>{p(new zr(`"getLicense" timeout exceeded (${T} ms)`))},T)),Promise.resolve(b).then(h,y)}catch(b){y(b)}function h(b){f!==void 0&&clearTimeout(f),g(b)}function y(b){f!==void 0&&clearTimeout(f),p(b)}})}function u(c){return{totalRetry:c!=null?c:2,baseDelay:200,maxDelay:3e3,shouldRetry:l=>l instanceof zr||_(l)||l.noRetry!==!0,onRetry:l=>r.onWarning(Nc(l))}}}function Nc(n){if(n instanceof zr)return new pe("KEY_LOAD_TIMEOUT","The license server took too much time to respond.");let e=new pe("KEY_LOAD_ERROR","An error occured when calling `getLicense`.");return!_(n)&&w(n.message)&&(e.message=n.message),e}async function Tg(n,e){m.info("DRM: Updating MediaKeySession with message");try{await n.update(e)}catch(t){let r=t instanceof Error?t.toString():"`session.update` failed";throw new pe("KEY_UPDATE_ERROR",r)}m.info("DRM: MediaKeySession update succeeded.")}var Fn=class n extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,n.prototype),this.sessionError=e}},zr=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Fn.prototype),this.message=e}};async function _g(n,e){try{return await n.setServerCertificate(e)}catch(t){m.warn("DRM: mediaKeys.setServerCertificate returned an error",t instanceof Error?t:"");let r=t instanceof Error?t.toString():"`setServerCertificate` error";throw new pe("LICENSE_SERVER_CERTIFICATE_ERROR",r)}}async function Ds(n,e){if(gn.hasOne(n)===!0)return m.info("DRM: The MediaKeys already has a server certificate, skipping..."),{type:"already-has-one"};if(typeof n.setServerCertificate!="function")return m.warn("DRM: Could not set the server certificate. mediaKeys.setServerCertificate is not a function"),{type:"method-not-implemented"};m.info("DRM: Setting server certificate on the MediaKeys"),gn.prepare(n);try{let t=await _g(n,e);return gn.set(n,e),{type:"success",value:t}}catch(t){return{type:"error",value:Wt(t)?t:new pe("LICENSE_SERVER_CERTIFICATE_ERROR","Unknown error when setting the server certificate.")}}}function Ls(n,e){if(isNaN(e)||e<0||e>=n.getLength())return;let t=n.getLength(),r=t-e;m.info("DRM: Too many stored persistent sessions, removing some.",t,r),n.deleteOldSessions(r)}function Ns(n){if(Je(n,"com.microsoft.playready")||n==="com.chromecast.playready"||n==="com.youtube.playready")return"9a04f07998404286ab92e65be0885f95";if(n==="com.widevine.alpha")return"edef8ba979d64acea3c827dcd51d21ed";if(Je(n,"com.apple.fps"))return"94ce86fb07ff4f43adb893d2fa968ca2";if(Je(n,"com.nagra."))return"adb41c242dbf4a6d958b4457c0d27b95"}var Hr=class n{constructor(e){this._innerValues=e,this._lazyFormattedValues=null}constructRequestData(){return re(...this._innerValues.map(e=>e.data))}isCompatibleWith(e){let t=e instanceof n?e.getFormattedValues():e;return Un(this.getFormattedValues(),t)}getFormattedValues(){return this._lazyFormattedValues===null&&(this._lazyFormattedValues=Eg(this._innerValues)),this._lazyFormattedValues}};function Eg(n){return n.slice().sort((e,t)=>e.systemId===t.systemId?0:e.systemId===void 0?1:t.systemId===void 0||e.systemId<t.systemId?-1:1).map(({systemId:e,data:t})=>({systemId:e,data:t,hash:Yt(t)}))}function Us(n,e,t){let r=`${n};codecs="${e}"`,i=t.filter(o=>o.mimeType===n);if(i.length!==0)for(let{codec:o,mimeType:a,result:s}of i){let d=`${a};codecs="${o}"`;if(zo(r,d))return s}}var Wr=class extends oe{static hasEmeApis(){return!_(It.requestMediaKeySystemAccess)}constructor(e,t){super(),m.debug("DRM: Starting ContentDecryptor logic.");let r=new B;this._currentSessions=[],this._canceller=r,this._initDataQueue=[],this._stateData={state:0,isMediaKeysAttached:0,isInitDataQueueLocked:!0,data:null},this._supportedCodecWhenEncrypted=[],this.error=null,It.onEncrypted(e,i=>{m.debug("DRM: Encrypted event received from media element.");let o=Ko(i);o!==null&&this.onInitializationData(o)},r.signal),Ps(e,t,r.signal).then(i=>{let{options:o,mediaKeySystemAccess:a}=i;this._supportedCodecWhenEncrypted=i.codecSupport;let s;(_(o.persistentLicenseConfig)||o.persistentLicenseConfig.disableRetroCompatibility===!0)&&(s=Ns(a.keySystem)),this.systemId=s,this._stateData.state===0&&(this._stateData={state:1,isInitDataQueueLocked:!0,isMediaKeysAttached:0,data:{mediaKeysInfo:i,mediaElement:e}},this.trigger("stateChange",this._stateData.state))}).catch(i=>{this._onFatalError(i)})}getState(){return this._stateData.state}attach(){if(this._stateData.state!==1)throw new Error("`attach` should only be called when in the WaitingForAttachment state");if(this._stateData.isMediaKeysAttached!==0){m.warn("DRM: ContentDecryptor's `attach` method called more than once.");return}let{mediaElement:e,mediaKeysInfo:t}=this._stateData.data,{options:r,mediaKeys:i,mediaKeySystemAccess:o,stores:a,askedConfiguration:s}=t;if(r.disableMediaKeysAttachmentLock===!0&&(this._stateData={state:2,isInitDataQueueLocked:!0,isMediaKeysAttached:1,data:{mediaKeysInfo:t,mediaElement:e}},this.trigger("stateChange",this._stateData.state),this._isStopped()))return;this._stateData.isMediaKeysAttached=1;let u={emeImplementation:It,loadedSessionsStore:a.loadedSessionsStore,mediaKeySystemAccess:o,mediaKeys:i,askedConfiguration:s,keySystemOptions:r};m.debug("DRM: Attaching current MediaKeys"),Ss(e,u,this._canceller.signal).then(async()=>{this._stateData.isMediaKeysAttached=2;let{serverCertificate:c}=r;if(!_(c)){let f=await Ds(i,c);f.type==="error"&&this.trigger("warning",f.value)}if(this._isStopped())return;let l=this._stateData.state;this._stateData={state:2,isMediaKeysAttached:2,isInitDataQueueLocked:!1,data:{mediaKeysData:t}},l!==2&&this.trigger("stateChange",2),this._isStopped()||this._processCurrentInitDataQueue()}).catch(c=>{this._onFatalError(c)})}dispose(){this.removeEventListener(),this._stateData={state:4,isMediaKeysAttached:void 0,isInitDataQueueLocked:void 0,data:null},this._canceller.cancel(),this.trigger("stateChange",this._stateData.state)}isCodecSupported(e,t){if(this._stateData.state===0){m.error("DRM: Asking for codec support while the ContentDecryptor is still initializing");return}return(this._stateData.state===3||this._stateData.state===4)&&m.error("DRM: Asking for codec support while the ContentDecryptor is disposed"),Us(e,t,this._supportedCodecWhenEncrypted)}onInitializationData(e){if(this._stateData.isInitDataQueueLocked!==!1){if(this._isStopped())throw new Error("ContentDecryptor either disposed or stopped.");this._initDataQueue.push(e);return}let{mediaKeysData:t}=this._stateData.data,r=de(ie({},e),{values:new Hr(e.values)});this._processInitializationData(r,t).catch(i=>{this._onFatalError(i)})}async _processInitializationData(e,t){var h,y,b;m.hasLevel("DEBUG")&&m.debug("DRM: processing init data",(h=e.content)==null?void 0:h.adaptation.type,(y=e.content)==null?void 0:y.representation.bitrate,((b=e.keyIds)!=null?b:[]).map(T=>Ne(T)).join(", "));let{mediaKeySystemAccess:r,stores:i,options:o}=t;if(this._tryToUseAlreadyCreatedSession(e,t)||this._isStopped())return;if(o.singleLicensePer==="content"){let T=X(this._currentSessions,v=>v.source==="created-session");if(T!==void 0){let v=e.keyIds;if(v===void 0){e.content===void 0?m.warn("DRM: Unable to fallback from a non-decipherable quality."):(m.debug("DRM: Blacklisting new init data (due to singleLicensePer content policy)"),this.trigger("blackListProtectionData",e));return}if(T.record.associateKeyIds(v),e.content===void 0)m.warn("DRM: Unable to fallback from a non-decipherable quality.");else{if(m.hasLevel("DEBUG")){let E=v.reduce((R,k)=>`${R}, ${Ne(k)}`,"");m.debug("DRM: Blacklisting new key ids",E)}this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:v,delistedKeyIds:[]})}return}}else if(o.singleLicensePer==="periods"&&e.content!==void 0){let{period:T}=e.content,v=this._currentSessions.filter(R=>R.source==="created-session"),E=new Set;Fs(E,T);for(let R of v){let k=Array.from(E);for(let A of k)if(R.record.isAssociatedWithKeyId(A)){R.record.associateKeyIds(E.values());for(let M of k)!R.keyStatuses.whitelisted.some(x=>ge(x,M))&&!R.keyStatuses.blacklisted.some(x=>ge(x,M))&&R.keyStatuses.blacklisted.push(M);m.hasLevel("DEBUG")&&m.debug("DRM: Session already created for",Ne(A),'under singleLicensePer "periods" policy'),this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:R.keyStatuses.whitelisted,blacklistedKeyIds:R.keyStatuses.blacklisted,delistedKeyIds:[]});return}}}this._lockInitDataQueue();let a;_(o.persistentLicenseConfig)?a="temporary":vg(r)?a="persistent-license":(m.warn('DRM: Cannot create "persistent-license" session: not supported'),a="temporary");let{EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:s,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:d}=U.getCurrent(),u=typeof o.maxSessionCacheSize=="number"?o.maxSessionCacheSize:s,c=await Es(e,i,a,u,this._canceller.signal);if(this._isStopped())return;let l={record:c.value.keySessionRecord,source:c.type,keyStatuses:{whitelisted:[],blacklisted:[]},blacklistedSessionError:null};this._currentSessions.push(l);let{mediaKeySession:f,sessionType:g}=c.value,p=!1;if(Os(f,o,r.keySystem,{onKeyUpdate:T=>{let v=Cg(e,l.record,o.singleLicensePer,l.source==="created-session",T.whitelistedKeyIds,T.blacklistedKeyIds);if(l.record.associateKeyIds(v.whitelisted),l.record.associateKeyIds(v.blacklisted),l.keyStatuses={whitelisted:v.whitelisted,blacklisted:v.blacklisted},l.record.getAssociatedKeyIds().length!==0&&g==="persistent-license"&&i.persistentSessionsStore!==null&&!p){let{persistentSessionsStore:E}=i;Ls(E,d-1),E.add(e,l.record.getAssociatedKeyIds(),f),p=!0}e.content!==void 0&&this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:v.whitelisted,blacklistedKeyIds:v.blacklisted,delistedKeyIds:[]}),this._unlockInitDataQueue()},onWarning:T=>{this.trigger("warning",T)},onError:T=>{var v;if(T instanceof Bn){m.warn("DRM: A session's closing condition has been triggered"),this._lockInitDataQueue();let E=this._currentSessions.indexOf(l);E>=0&&this._currentSessions.splice(E),e.content!==void 0&&this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:[],delistedKeyIds:l.record.getAssociatedKeyIds()}),(v=i.persistentSessionsStore)==null||v.delete(f.sessionId),i.loadedSessionsStore.closeSession(f).catch(R=>{let k=R instanceof Error?R:"unknown error";m.warn("DRM: failed to close expired session",k)}).then(()=>this._unlockInitDataQueue()).catch(R=>this._onFatalError(R)),this._isStopped()||this.trigger("warning",T.reason);return}if(!(T instanceof Fn)){this._onFatalError(T);return}l.blacklistedSessionError=T,e.content!==void 0&&(m.info("DRM: blacklisting Representations based on protection data."),this.trigger("blackListProtectionData",e)),this._unlockInitDataQueue()}},this._canceller.signal),(o.singleLicensePer===void 0||o.singleLicensePer==="init-data")&&this._unlockInitDataQueue(),c.type==="created-session"){let T=e.values.constructRequestData();try{await i.loadedSessionsStore.generateLicenseRequest(f,e.type,T)}catch(v){let E=i.loadedSessionsStore.getEntryForSession(f);if(E===null||E.closingStatus.type!=="none"){let R=this._currentSessions.indexOf(l);return R>=0&&this._currentSessions.splice(R,1),Promise.resolve()}throw new pe("KEY_GENERATE_REQUEST_ERROR",v instanceof Error?v.toString():"Unknown error")}}return Promise.resolve()}_tryToUseAlreadyCreatedSession(e,t){let{stores:r,options:i}=t,o=X(this._currentSessions,c=>c.record.isCompatibleWith(e));if(o===void 0)return!1;if(e.forceSessionRecreation===!0)return this.removeSessionForInitData(e,t),!1;let s=o.blacklistedSessionError;if(!_(s))return e.type===void 0||e.content===void 0?(m.error("DRM: This initialization data has already been blacklisted but the current content is not known."),!0):(m.info("DRM: This initialization data has already been blacklisted. Blacklisting the related content."),this.trigger("blackListProtectionData",e),!0);if(e.keyIds!==void 0){let c;if(i.singleLicensePer===void 0||i.singleLicensePer==="init-data"){let{blacklisted:l}=o.keyStatuses;c=Dc(e.keyIds,l)}else{let{whitelisted:l}=o.keyStatuses;c=!Nn(e.keyIds,l)}if(c)return e.content===void 0?(m.error("DRM: Cannot forbid key id, the content is unknown."),!0):(m.info("DRM: Current initialization data is linked to blacklisted keys. Marking Representations as not decipherable"),this.trigger("keyIdsCompatibilityUpdate",{whitelistedKeyIds:[],blacklistedKeyIds:e.keyIds,delistedKeyIds:[]}),!0)}if(r.loadedSessionsStore.reuse(e)!==null)return m.debug("DRM: Init data already processed. Skipping it."),!0;let u=this._currentSessions.indexOf(o);return u===-1?m.error("DRM: Unable to remove processed init data: not found."):(m.debug("DRM: A session from a processed init data is not available anymore. Re-processing it."),this._currentSessions.splice(u,1)),!1}removeSessionForInitData(e,t){let{stores:r}=t,i=r.loadedSessionsStore.reuse(e);i!==null&&r.loadedSessionsStore.closeSession(i.mediaKeySession).catch(()=>m.error("DRM: Cannot close the session from the loaded session store"));let o=X(this._currentSessions,s=>s.record.isCompatibleWith(e));if(o===void 0)return;let a=this._currentSessions.indexOf(o);a!==-1&&(m.debug("DRM: A session from a processed init is removed due to forceSessionRecreation policy."),this._currentSessions.splice(a,1))}_onFatalError(e){if(this._canceller.isUsed())return;let t=e instanceof Error?e:new De("NONE","Unknown decryption error");this.error=t,this._initDataQueue.length=0,this._stateData={state:3,isMediaKeysAttached:void 0,isInitDataQueueLocked:void 0,data:null},this._canceller.cancel(),this.trigger("error",t),this._stateData.state===3&&this.trigger("stateChange",this._stateData.state)}_isStopped(){return this._stateData.state===4||this._stateData.state===3}_processCurrentInitDataQueue(){for(;this._stateData.isInitDataQueueLocked===!1;){let e=this._initDataQueue.shift();if(e===void 0)return;this.onInitializationData(e)}}_lockInitDataQueue(){this._stateData.isInitDataQueueLocked===!1&&(this._stateData.isInitDataQueueLocked=!0)}_unlockInitDataQueue(){if(this._stateData.isMediaKeysAttached!==2){m.error("DRM: Trying to unlock in the wrong state");return}this._stateData.isInitDataQueueLocked=!1,this._processCurrentInitDataQueue()}};function vg(n){let{sessionTypes:e}=n.getConfiguration();return e!==void 0&&Q(e,"persistent-license")}function Uc(n,e){return n.filter(t=>!e.some(r=>ge(r,t)))}function Rg(n,e){let t=n.getAssociatedKeyIds(),r=Uc(t,e);return r.length>0&&m.hasLevel("DEBUG")&&m.debug("DRM: KeySessionRecord's keys missing in the license, blacklisting them",r.map(i=>Ne(i)).join(", ")),r}function kg(n,e){let t=[],{keyIds:r}=n;return r!==void 0&&(t=Uc(r,e)),t.length>0&&m.hasLevel("DEBUG")&&m.debug("DRM: init data keys missing in the license, blacklisting them",t.map(i=>Ne(i)).join(", ")),t}function Cg(n,e,t,r,i,o){var u;let a=[...i,...o],s=Rg(e,a),d=a.concat(s);if(t!==void 0&&t!=="init-data"){let c=kg(n,d);d.push(...c);let{content:l}=n;if(r&&l!==void 0){if(t==="content"){let f=new Set,{manifest:g}=l;for(let p of g.periods)Fs(f,p);Bs(f,d)}else if(t==="periods"){let{manifest:f}=l;for(let g of f.periods){let p=new Set;if(Fs(p,g),((u=n.content)==null?void 0:u.period.id)===g.id)Bs(p,d);else{let h=Array.from(p);for(let y of h)if(d.some(T=>ge(T,y))){Bs(p,d);break}}}}}}return{whitelisted:i,blacklisted:d.slice(i.length)}}function Bs(n,e){let t=Array.from(n.values());for(let r of t)e.some(o=>ge(o,r))||e.push(r)}function Fs(n,e){let t=e.adaptations,r=yr(t).reduce((i,o)=>_(o)?i:i.concat(o),[]);for(let i of r)for(let o of i.representations)if(o.contentProtections!==void 0&&o.contentProtections.keyIds!==void 0)for(let a of o.contentProtections.keyIds)n.add(a.keyId)}function Kn(n){let e=Fe.getState(n);return e===null?null:[e.mediaKeySystemAccess.keySystem,e.mediaKeySystemAccess.getConfiguration()]}var Bc=Wr;function Fc(n){var t,r,i,o,a;let e=[];for(let s of n.periods){let d=[...(t=s.adaptations.video)!=null?t:[],...(r=s.adaptations.audio)!=null?r:[]];for(let u of d)if(u.supportStatus.hasCodecWithUndefinedSupport)for(let c of u.representations)c.isSupported===void 0&&e.push({mimeType:(i=c.mimeType)!=null?i:"",codec:(a=(o=c.codecs)==null?void 0:o[0])!=null?a:""})}return e}var Kc=[];function kt(n){Q(Kc,n)||(console.warn(n),Kc.push(n))}var $t=["audio","video","text"];function hn(n){var o,a;let e=n.timeBounds;if(e.timeshiftDepth===null)return(o=e.minimumSafePosition)!=null?o:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=K()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((a=e.minimumSafePosition)!=null?a:0,i)}function yn(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=K()-e.time;return e.livePosition+t/1e3}function bt(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=K()-e.time;return e.maximumSafePosition+t/1e3}function mt(n,e){if(e===void 0)return Vs(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function zc(n,e){let t=null;for(let r=n.periods.length-1;r>=0;r--){let i=n.periods[r];if(Ks(i,e,t))return i;t=i}}function Wo(n,e){let t=e.end;if(t===void 0)return null;let r=X(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function Ks(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Vs(n){let e=n.adaptations;return yr(e).reduce((t,r)=>_(r)?t:t.concat(r),[])}function Go(n,e){var r,i;let t={language:(r=n.language)!=null?r:"",normalized:(i=n.normalizedLanguage)!=null?i:"",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(o=>o.isSupported===!0&&o.decipherable!==!1):n.representations).map(Pg),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function qo(n){var e,t;return{language:(e=n.language)!=null?e:"",normalized:(t=n.normalizedLanguage)!=null?t:"",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function jo(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let o=(e?i.representations.filter(s=>s.isSupported===!0&&s.decipherable!==!1):i.representations).map(Vc),a={id:i.id,representations:o,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(a.signInterpreted=!0),a}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>i.isSupported===!0&&i.decipherable!==!1):n.representations).map(Vc),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Pg(n){let{id:e,bitrate:t,codecs:r,isSpatialAudio:i,isSupported:o,decipherable:a}=n;return{id:e,bitrate:t,codec:r==null?void 0:r[0],isSpatialAudio:i,isCodecSupported:o,decipherable:a}}function Vc(n){let{id:e,bitrate:t,frameRate:r,width:i,height:o,codecs:a,hdrInfo:s,isSupported:d,decipherable:u}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:o,codec:a==null?void 0:a[0],hdrInfo:s,isCodecSupported:d,decipherable:u}}function Qt(n){switch(n.type){case"audio":return{type:"audio",track:Go(n,!1)};case"video":return{type:"video",track:jo(n,!1)};case"text":return{type:"text",track:qo(n)}}}function Hc(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var Gr=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let o=i.get(t);if(o!==void 0)return r?o.supportedIfEncrypted:o.supported}};var qr=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((o,a)=>{let s=e.adaptations[a];if(_(s))return o;let d=s.map(u=>{let c=new _r(u,r,{representationFilter:i});return c.representations.length>0&&c.supportStatus.hasSupportedCodec===!1&&t.push(c),c}).filter(u=>u.representations.length>0);if(d.every(u=>u.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(a==="video"||a==="audio"))throw new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","No supported "+a+" adaptations",{tracks:void 0});return d.length>0&&(o[a]=d),o},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new J("MANIFEST_PARSE_ERROR","No supported audio and video tracks.");this.duration=e.duration,this.start=e.start,!_(this.duration)&&!_(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i===void 0)return;let o=!1;for(let a of i){if(!a.supportStatus.hasCodecWithUndefinedSupport){a.supportStatus.hasSupportedCodec===!0&&(o=!0);continue}let s=a.supportStatus.hasSupportedCodec;a.refreshCodecSupport(t),s!==!1&&a.supportStatus.hasSupportedCodec===!1&&e.push(a),o===!1?o=a.supportStatus.hasSupportedCodec:o===void 0&&a.supportStatus.hasSupportedCodec===!0&&(o=!0)}if((r==="video"||r==="audio")&&o===!1)throw new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","No supported "+r+" adaptations",{tracks:void 0})},{})}getAdaptations(){return Vs(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return X(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return mt(this,e)}containsTime(e,t){return Ks(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e}}};function jr(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),o=e.getAdaptations();for(let a=0;a<i.length;a++){let s=i[a],d=ye(o,u=>u.id===s.id);if(d===-1){m.warn('Manifest: Adaptation "'+i[a].id+'" not found when merging.');let[u]=i.splice(a,1);a--,r.removedAdaptations.push({id:u.id,trackType:u.type})}else{let[u]=o.splice(d,1),c=[],l=[],f=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:c,addedRepresentations:l,removedRepresentations:f});let g=s.representations,p=u.representations.slice();for(let h=0;h<g.length;h++){let y=g[h],b=ye(p,T=>T.id===y.id);if(b===-1){m.warn(`Manifest: Representation "${g[h].id}" not found when merging.`);let[T]=g.splice(h,1);h--,f.push(T.id)}else{let[T]=p.splice(b,1);c.push(y.getMetadataSnapshot()),y.cdnMetadata=T.cdnMetadata,t===0?y.index._replace(T.index):y.index._update(T.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(h=>h.getMetadataSnapshot())))}}if(o.length>0){m.warn(`Manifest: ${o.length} new Adaptations found when merging.`);for(let a of o){let s=n.adaptations[a.type];s===void 0?n.adaptations[a.type]=[a]:s.push(a),r.addedAdaptations.push(a.getMetadataSnapshot())}}return r}function Wc(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let o=0;o<e.length;o++){let a=e[o],s=r,d=n[s];for(;d!==void 0&&d.id!==a.id;)s++,d=n[s];if(d!==void 0){let u=jr(d,a,0);t.updatedPeriods.push({period:{id:d.id,start:d.start,end:d.end,duration:d.duration,streamEvents:d.streamEvents},result:u});let c=e.slice(r,o),l=s-r,f=n.splice(r,l,...c);t.removedPeriods.push(...f.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...c.map(g=>g.getMetadataSnapshot())),r=o+1}}if(r>n.length)return m.error("Manifest: error when updating Periods"),t;if(r<n.length){let o=n.splice(r,n.length-r);t.removedPeriods.push(...o.map(a=>({id:a.id,start:a.start,end:a.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(o=>o.getMetadataSnapshot()))),t}function Gc(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: not enough data");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=ye(n,({id:s})=>s===e[0].id);if(i<0)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: incoherent data");let o=jr(n[i],e[0],1);t.updatedPeriods.push({period:j(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:o});let a=i+1;for(let s=1;s<e.length;s++){let d=e[s],u=-1;for(let c=a;c<n.length;c++)if(d.id===n[c].id){u=c;break}if(u<0){let c=-1;for(let g=a;g<n.length;g++)if(d.start<n[g].start){c=g;break}let l=c-a,f=n.splice(a,l,d);t.addedPeriods.push(d.getMetadataSnapshot()),t.removedPeriods.push(...f.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(u>a){m.warn("Manifest: old Periods not found in new when updating, removing");let l=n.splice(a,u-a);t.removedPeriods.push(...l.map(f=>({id:f.id,start:f.start,end:f.end}))),u=a}let c=jr(n[u],d,0);t.updatedPeriods.push({period:j(n[u].getMetadataSnapshot(),{adaptations:void 0}),result:c})}a++}if(a<n.length){m.warn("Manifest: Ending Periods not found in new when updating, removing");let s=n.splice(a,n.length-a);t.removedPeriods.push(...s.map(d=>({id:d.id,start:d.start,end:d.end})))}return t}var Mg=Ze(),Yr=class extends oe{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:o}=t;this.manifestFormat=0,this.id=Mg(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new Gr([]);let a=[];if(this.periods=e.periods.map(d=>new qr(d,a,this._cachedCodecSupport,i)).sort((d,u)=>d.start-u.start),a.length>0){let d=new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","An Adaptation contains only incompatible codecs.",{tracks:a.map(Qt)});r.push(d)}this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=o,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger("supportUpdate",null),t.length>0?new J("MANIFEST_INCOMPATIBLE_CODECS_ERROR","An Adaptation contains only incompatible codecs.",{tracks:t.map(Qt)}):null}getPeriod(e){return X(this.periods,t=>e===t.id)}getPeriodForTime(e){return zc(this,e)}getNextPeriod(e){return X(this.periods,t=>t.start>e)}getPeriodAfter(e){return Wo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return hn(this)}getLivePosition(){return yn(this)}getMaximumSafePosition(){return bt(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Ag(this,e);t.length>0&&this.trigger("decipherabilityUpdate",t)}getAdaptations(){kt("manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];r.push(...o)}return r}getAdaptationsForType(e){kt("manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return kt("manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead"),X(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return Fc(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=Wc(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Gc(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let o=this.periods[0];if(o.end===void 0||o.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger("manifestUpdate",r)}};function Ag(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let o=!0;for(let a of i.representations){let s={manifest:n,period:r,adaptation:i,representation:a},d=e(s);d!==!1&&(o=!1),d!==a.decipherable&&(t.push(s),a.decipherable=d,d===!0?i.supportStatus.isDecipherable=!0:d===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),m.debug(`Decipherability changed for "${a.id}"`,`(${a.bitrate})`,String(a.decipherable)))}o&&(i.supportStatus.isDecipherable=!1)}return t}function Ct(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function In(n){if(_(n))return"";let{period:e,adaptation:t,representation:r,segment:i}=n,o;return i.isInit?o="init":i.complete?o=`${i.time}-${i.duration}`:o=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${o}`}var Vn=Yr;function Pt(n){return n instanceof Ee?new rt("PIPELINE_LOAD_ERROR",n):we(n,{defaultCode:"PIPELINE_LOAD_ERROR",defaultReason:"Unknown error when fetching the Manifest"})}function xg(n){return n instanceof Ee?n.type===cn.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===cn.TIMEOUT||n.type===cn.ERROR_EVENT:n instanceof nt?typeof n.canRetry=="boolean"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412:!1:Wt(n)&&n.code==="INTEGRITY_ERROR"}async function zs(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:o,maxDelay:a,maxRetry:s,onRetry:d}=r;n!==null&&n.length===0&&m.warn("Fetchers: no CDN given to `scheduleRequestWithCdns`.");let u=new Map,c=l();if(c===void 0)throw new Error("No CDN to request");return f(c);function l(){if(n===null){let y=u.get(null);return y!==void 0&&y.isBlacklisted?void 0:null}else{if(e===null)return h(n);{let y=e.getCdnPreferenceForResource(n);return h(y)}}}async function f(y){try{return await t(y,i)}catch(b){if(B.isCancellationError(b))throw b;y!==null&&e!==null&&e.downgradeCdn(y);let T=u.get(y);if(T===void 0?(T={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},u.set(y,T)):T.errorCounter++,!xg(b))return T.blockedUntil=void 0,T.isBlacklisted=!0,g(b);if(T.errorCounter>s)T.blockedUntil=void 0,T.isBlacklisted=!0;else{let v=T.errorCounter,E=Math.min(o*Math.pow(2,v-1),a),R=Vr(E);T.blockedUntil=K()+R}return g(b)}}async function g(y){let b=l();if(i.isCancelled())throw i.cancellationError;if(b===void 0)throw y;if(d(y),i.isCancelled())throw i.cancellationError;return p(b,y)}function p(y,b){let T=u.get(y);if(T===void 0||T.blockedUntil===void 0)return f(y);let v=K(),E=T.blockedUntil-v;if(E<=0)return f(y);let R=new B,k=R.linkToSignal(i);return new Promise((A,M)=>{e==null||e.addEventListener("priorityChange",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return L(b);O!==y&&(R.cancel(),p(O,b).then(x,L))},R.signal),Gt(E,R.signal).then(()=>f(y).then(x,L),Z);function x(O){k(),A(O)}function L(O){k(),M(O)}})}function h(y){var T;if(u.size===0)return y[0];let b=K();return(T=y.filter(v=>{var E;return((E=u.get(v))==null?void 0:E.isBlacklisted)!==!0}).reduce((v,E)=>{var k;let R=(k=u.get(E))==null?void 0:k.blockedUntil;return R!==void 0&&R<=b&&(R=void 0),v===void 0?[E,R]:v[1]===void 0?v:R===void 0?[E,void 0]:R<v[1]?[E,R]:v},void 0))==null?void 0:T[0]}}function Hs(n,e,t){return zs(null,null,n,e,t)}var $r=class extends oe{constructor(e,t,r){super(),this.scheduleManualRefresh=Z,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new B,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Vn?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger("manifestReady",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var u;let t=this._canceller.signal,r=this._settings,i=this._transportName,o=this._pipelines,a=e!=null?e:(u=this._manifestUrls)==null?void 0:u[0],s=this._getBackoffSetting(c=>{this.trigger("warning",Pt(c))});try{let c=await d(a);return{parse:l=>this._parseLoadedManifest(c,l,a)}}catch(c){throw Pt(c)}function d(c){var y;let{loadManifest:l}=o,f=r.requestTimeout===void 0?U.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?U.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;f<0&&(f=void 0),g<0&&(g=void 0);let p={timeout:f,connectionTimeout:g,cmcdPayload:(y=r.cmcdDataBuilder)==null?void 0:y.getCmcdDataForManifest(i)};return Hs(()=>l(c,p,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var h;let i=K(),o=this._canceller.signal,a=this.trigger.bind(this),{sendingTime:s,receivedTime:d}=e,u=this._getBackoffSetting(y=>{this.trigger("warning",Pt(y))}),c=r!=null?r:(h=this._manifestUrls)==null?void 0:h[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:c};try{let y=this._pipelines.parseManifest(e,l,g,o,f);if(wg(y)){let{manifest:b,warnings:T}=await y;return p(b,T)}else return p(y.manifest,y.warnings)}catch(y){throw we(y,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown error when parsing the Manifest"})}async function f(y){try{return await Hs(y,u,o)}catch(b){throw Pt(b)}}function g(y){for(let b of y){if(o.isCancelled())return;let T=we(b,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown error when parsing the Manifest"});a("warning",T)}}function p(y,b){g(b);let T=K()-i;return m.info(`MF: Manifest parsed in ${T}ms`),{manifest:y,sendingTime:s,receivedTime:d,parsingTime:T}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=U.getCurrent(),{lowLatencyMode:o,maxRetry:a}=this._settings,s=o?r.LOW_LATENCY:r.REGULAR,d=o?i.LOW_LATENCY:i.REGULAR,u=a!=null?a:t;return{onRetry:e,baseDelay:s,maxDelay:d,maxRetry:u}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:o,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:a}=U.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,d=!1;this._consecutiveUnsafeMode>0?d=this._consecutiveUnsafeMode<o:s!==void 0&&(d=s>=a);let u=t===void 0?0:K()-t,c=Math.max(this._settings.minimumManifestUpdateInterval-u,0),l=new B;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=f=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:h}=f,y=h&&d,b=t===void 0?0:K()-t,T=Math.max(this._settings.minimumManifestUpdateInterval-b,0),v=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:y})},Math.max((p!=null?p:0)-b,T));l.signal.register(()=>{clearTimeout(v)})},e.expired!==null){let f=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Z)},c);l.signal.register(()=>{clearTimeout(f)})}if(e.lifetime!==void 0&&e.lifetime>=0){let f=e.lifetime*1e3-u,g;s===void 0?g=f:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-u,Math.max(f,0)+s),f*6),m.info("MUS: Manifest update rythm is too frequent. Postponing next request.",f,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(f,0)+s,f*6),m.info("MUS: Manifest took too long to parse. Postponing next request",g,g)):g=f;let p=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Math.max(g,c));l.signal.register(()=>{clearTimeout(p)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,o,a;this._prioritizedContentUrl!==null?(o=!0,a=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(o=!t||i===void 0,a=o?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,m.info('Init: Refreshing the Manifest in "unsafeMode" for the '+String(this._consecutiveUnsafeMode)+" consecutive time.")):this._consecutiveUnsafeMode>0&&(m.info('Init: Not parsing the Manifest in "unsafeMode" anymore after '+String(this._consecutiveUnsafeMode)+" consecutive times."),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(a).then(d=>d.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(d=>{this._isRefreshPending=!1;let{manifest:u,sendingTime:c,parsingTime:l}=d,f=K();if(o)e.replace(u);else try{e.update(u)}catch(p){let h=p instanceof Error?p.message:"unknown error";m.warn(`MUS: Attempt to update Manifest failed: ${h}`,"Re-downloading the Manifest fully");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:y}=U.getCurrent(),b=c===void 0?0:K()-c,T=Math.max(this._settings.minimumManifestUpdateInterval-b,0),v=Z,E=setTimeout(()=>{v(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(y-b,T));v=this._canceller.signal.register(()=>{clearTimeout(E)});return}let g=K()-f;this._recursivelyRefreshManifest(e,{sendingTime:c,parsingTime:l,updatingTime:g})}).catch(d=>{this._isRefreshPending=!1,this._onFatalError(d)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger("error",e),this.dispose())}};function wg(n){return n instanceof Promise}var Ws=$r;var Qr=class extends oe{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=qc(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=U.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let o=setTimeout(()=>{let a=qc(this._downgradedCdnList.metadata,e);a>=0&&this._removeIndexFromDowngradeList(a),this.trigger("priorityChange",null)},i);this._downgradedCdnList.timeouts.push(o),this.trigger("priorityChange",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,o)=>(this._downgradedCdnList.metadata.some(a=>a.id===o.id&&a.baseUrl===o.baseUrl)?i[1].push(o):i[0].push(o),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function qc(n,e){return n.length===0?-1:e.id!==void 0?ye(n,t=>t.id===e.id):ye(n,t=>t.baseUrl===e.baseUrl)}function Gs(n,e){let t=new WeakMap;return{createRequest(r,i,o,a){let s=u=>e(r,o,u),d=n.create(s,i,o,a);return t.set(d,s),d},updatePriority(r,i){let o=t.get(r);if(o===void 0){m.warn("Fetchers: Cannot update the priority of a request: task not found.");return}n.updatePriority(o,i)}}}var qs=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},jc=qs;var Og=Ze();function js({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:o}){let a;o.connectionTimeout===void 0||o.connectionTimeout<0?a=void 0:a=o.connectionTimeout;let s={timeout:o.requestTimeout<0?void 0:o.requestTimeout,connectionTimeout:a,cmcdPayload:void 0},d=Q(["audio","video"],n)?new jc:void 0,{loadSegment:u,parseSegment:c}=e;return async function(f,g,p){var $,q,W;let{segment:h,adaptation:y,representation:b,manifest:T,period:v}=f,E=In(f),R=Og(),k,A=[],M=0,x=!1,L={segment:h,type:y.type,language:y.language,isLive:T.isLive,periodStart:v.start,periodEnd:v.end,mimeType:b.mimeType,codecs:b.codecs[0],manifestPublishTime:T.publishTime},O={onProgress(z){var H;k===void 0&&z.totalSize!==void 0&&z.size<z.totalSize&&((H=i.onProgress)==null||H.call(i,{duration:z.duration,size:z.size,totalSize:z.totalSize,timestamp:K(),id:R}))},onNewChunk(z){g.onChunk(D(z,!0))}},N=d!==void 0?d.get(f):null;if(N!==null)return m.debug("SF: Found wanted segment in cache",E),g.onChunk(D(N,!1)),Promise.resolve();m.debug("SF: Beginning request",E),($=i.onRequestBegin)==null||$.call(i,{requestTimestamp:K(),id:R,content:f}),p.register(C);try{let z=await zs(f.representation.cdnMetadata,t,P,j({onRetry:F},o),p);if(z.resultType==="segment-loaded"){let H=z.resultData.responseData;d!==void 0&&d.add(f,z.resultData.responseData),g.onChunk(D(H,!1))}else z.resultType==="segment-created"&&g.onChunk(D(z.resultData,!1));m.debug("SF: Segment request ended with success",E),g.onAllChunksReceived(),z.resultType!=="segment-created"?(k=z.resultData,V()):k=null,p.isCancelled()||(q=i.onRequestEnd)==null||q.call(i,{id:R}),p.deregister(C)}catch(z){throw p.deregister(C),k=null,z instanceof Me?(m.debug("SF: Segment request aborted",E),z):(m.debug("SF: Segment request failed",E),(W=i.onRequestEnd)==null||W.call(i,{id:R}),Pt(z))}function C(){var z;k===void 0&&(m.debug("SF: Segment request cancelled",E),k=null,(z=i.onRequestEnd)==null||z.call(i,{id:R}))}function P(z){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(f),u(z,L,s,p,O)}function D(z,H){A.push(!1);let se=A.length-1;return function(le){let he={data:z,isChunked:H};try{let Y=c(he,L,le);return A[se]||(M=M!==void 0&&Y.segmentType==="media"&&Y.chunkInfos!==null&&Y.chunkInfos.duration!==void 0?M+Y.chunkInfos.duration:void 0,A[se]=!0,V()),Y}catch(Y){throw we(Y,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"Unknown parsing error"})}}}function F(z){g.onRetry(Pt(z))}function V(){var z;x||!_(k)&&k.size!==void 0&&k.requestDuration!==void 0&&A.length>0&&A.every(H=>H)&&(x=!0,(z=i.onMetrics)==null||z.call(i,{size:k.size,requestDuration:k.requestDuration,content:f,segmentDuration:M}))}}}function Yc({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:o,DEFAULT_CONNECTION_TIMEOUT:a,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:d}=U.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?d.LOW_LATENCY:d.REGULAR,requestTimeout:t===void 0?o:t,connectionTimeout:r===void 0?a:r}}var Zr=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error("TP: the max high level priority should be given a lowerpriority number than the min low priority.")}create(e,t,r,i){let o;return ot(i,(a,s)=>(o={hasEnded:!1,priority:t,trigger:()=>{if(o.hasEnded)return;let u=()=>{g(),this._endTask(o)},c=p=>{r.beforeEnded(),u(),a(p)},l=p=>{u(),s(p)},f=new B,g=f.linkToSignal(i);o.interrupter=f,f.signal.register(()=>{o.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?o.priority:Math.min(this._minPendingPriority,o.priority),this._pendingTasks.push(o),o.taskFn(f.signal).then(c).catch(p=>{!i.isCancelled()&&f.isUsed()&&p instanceof Me||l(p)})},taskFn:e,interrupter:null},this._canBeStartedNow(o)?(o.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(o),()=>this._endTask(o)))}_endTask(e){e.hasEnded=!0;let t=Xr(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Xr(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Xr(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Xr(e,this._pendingTasks);if(i<0){m.warn("TP: request to update the priority of a non-existent task");return}let o=this._pendingTasks[i];if(o.priority===t)return;let a=o.priority;o.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===a&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e=0;e<this._pendingTasks.length;e++){let t=this._pendingTasks[e];if(t.priority>=this._prioritySteps.low)return this._interruptPendingTask(t),this._interruptCancellableTasks()}}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn("TP : Tried to start a non existing task"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Xr(e.taskFn,this._pendingTasks);if(t<0){m.warn("TP: Interrupting a non-existent pending task. Aborting...");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel()}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Xr(n,e){return ye(e,t=>t.taskFn===n)}var Jr=class{constructor(e,t,r,i){let o=new Qr(i),{MIN_CANCELABLE_PRIORITY:a,MAX_HIGH_PRIORITY_LEVEL:s}=U.getCurrent();this._transport=e,this._prioritizer=new Zr({prioritySteps:{high:s,low:a}}),this._cdnPrioritizer=o,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentFetcher(e,t){let r=Yc(this._backoffOptions),i=this._transport[e],o=js({bufferType:e,pipeline:i,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:r});return Gs(this._prioritizer,o)}};var Ys=Jr;var bn=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],o=!1;for(;!o&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),o=!0):t++;o||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error("Invalid index.");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return X(this._array,e)}has(e){return Q(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var ei=class extends oe{constructor(e,t,r){super(),this._canceller=new B,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new $s(e);this._maximumPositionCalculator=i;let o=this._canceller.signal;t.listen(({position:a})=>{let s=a.getWanted();if(s<e.getMinimumSafePosition()){let d=new J("MEDIA_TIME_BEFORE_MANIFEST","The current position is behind the earliest time announced in the Manifest.");this.trigger("warning",d)}else if(s>i.getMaximumAvailablePosition()){let d=new J("MEDIA_TIME_AFTER_MANIFEST","The current position is after the latest time announced in the Manifest.");this.trigger("warning",d)}},{includeLastObservation:!0,clearSignal:o}),e.addEventListener("manifestUpdate",()=>{this.trigger("endingPositionChange",this._getManifestEndTime()),!o.isCancelled()&&this._checkEndOfStream()},o)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e==="audio"||e==="video")){e==="audio"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let o=this._maximumPositionCalculator.getEndingPosition(),a=o!==void 0?{isEnd:!0,endingPosition:o}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger("endingPositionChange",a)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(){this.removeEventListener(),this._canceller.cancel()}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let o=this._activeStreams.get(i);if(o===void 0)return;if(!o.activePeriods.toArray().some(d=>d.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger("periodChange",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new bn((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger("endOfStream",null):this.trigger("resumeStream",null)}},$s=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Yo(this._lastVideoAdaptation);return typeof e!="number"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Yo(this._lastAudioAdaptation);return typeof e!="number"?this._manifest.getMaximumSafePosition():e}else{let e=Yo(this._lastAudioAdaptation),t=Yo(this._lastVideoAdaptation);return typeof e!="number"||typeof t!="number"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=$o(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=$o(this._lastAudioAdaptation))!=null?t:void 0;{let r=$o(this._lastAudioAdaptation),i=$o(this._lastVideoAdaptation);return typeof r!="number"||typeof i!="number"?void 0:Math.min(r,i)}}}};function Yo(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let o=i.index.getLastAvailablePosition();if(o===void 0)return;o!==null&&(t=_(t)?o:Math.min(t,o))}return t}function $o(n){let{representations:e}=n,t=null,r;for(let i=0;i<e.length;i++)if(e[i].index!==r){r=e[i].index;let o=e[i].index.getEnd();if(o===void 0)return;o!==null&&(t=_(t)?o:Math.min(t,o))}return t}function Qs(n,e,t,r,i,o){o.register(()=>{e.interruptDurationSetting()});let a=new ei(n,t,r.getBufferTypes());o.register(()=>{a.dispose()}),a.addEventListener("warning",d=>i.onWarning(d)),a.addEventListener("periodChange",d=>i.onPeriodChanged(d)),a.addEventListener("endingPositionChange",d=>{e.setDuration(d.endingPosition,d.isEnd)}),a.addEventListener("endOfStream",()=>{m.debug("Init: end-of-stream order received."),e.maintainEndOfStream()}),a.addEventListener("resumeStream",()=>{e.stopEndOfStream()});let s=a.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),a}var ti=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let a=K();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=a);let s=r!==null&&a-r.timestamp>4e3,d=i!==null&&a-i.timestamp>4e3;if((s||d)&&K()-this._currentFreezeTimestamp>4e3){let u=this._segmentSinksStore.getStatus("audio"),c=this._segmentSinksStore.getStatus("video"),l=!0,f=!0;for(let g of[u,c])if(g.type==="initialized")for(let p of g.value.getLastKnownInventory()){let{representation:h}=p.infos;if(h.decipherable===!1)return m.warn("Init: we have undecipherable segments left in the buffer, reloading"),this._currentFreezeTimestamp=null,!0;h.contentProtections!==void 0&&(f=!1,h.decipherable!==!0&&(l=!1))}if(!f&&l)return m.warn("Init: we are frozen despite only having decipherable segments left in the buffer, reloading"),this._currentFreezeTimestamp=null,!0}return!1}};function Qo({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let o,a=[];e.listen(d=>{o=d.position.getWanted(),a=d.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){a!==null&&Dg(n,o,a,t.getValue(),r.getValue(),i).catch(d=>{let u=d instanceof Error?d.message:"Unknown error";m.error("Could not run BufferGarbageCollector:",u)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function Dg(n,e,t,r,i,o){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let a=[],{innerRange:s,outerRanges:d}=Kl(t,e),u=()=>{if(isFinite(r)){for(let l of d)e-r>=l.end?a.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&a.push({start:l.start,end:e-r});_(s)||e-r>s.start&&a.push({start:s.start,end:e-r})}},c=()=>{if(isFinite(i)){for(let l of d)e+i<=l.start?a.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&a.push({start:e+i,end:l.end});_(s)||e+i<s.end&&a.push({start:e+i,end:s.end})}};u(),c();for(let l of a)if(l.start<l.end){if(m.debug("GC: cleaning range from SegmentSink",l.start,l.end),o.cancellationError!==null)throw o.cancellationError;await n.removeBuffer(l.start,l.end)}}var ni=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=K();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>Ct(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var ri=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=U.getCurrent();this._inventory=[],this._bufferedHistory=new ni(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var d,u,c,l,f,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:o}=U.getCurrent(),a=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel("DEBUG")){let h=e.map(y=>`${y.start}-${y.end}`).join(",");m.debug(`SI: synchronizing ${a!=null?a:"unknown"} buffered ranges:`,h)}let s=e.length;for(let h=0;h<s;h++){if(i===void 0)return;let y=e[h].start,b=e[h].end;if(b-y<o){m.warn("SI: skipped range when synchronizing because it was too small",a,y,b);continue}let T=r;for(;i!==void 0&&((d=i.bufferedEnd)!=null?d:i.end)-y<o;)i=t[++r];let v=null,E=r-T;if(E>0){let k=t[T+E-1];v={end:(u=k.bufferedEnd)!=null?u:k.end,precizeEnd:k.precizeEnd},m.debug(`SI: ${E} segments GCed.`,a);let A=t.splice(T,E);for(let M of A)M.bufferedStart===void 0&&M.bufferedEnd===void 0&&M.status!==2&&this._bufferedHistory.addBufferedSegment(M.infos,null);r=T}if(i===void 0)return;if(b-((c=i.bufferedStart)!=null?c:i.start)>=o){if(Lg(i,y,v,a),r===t.length-1){Qc(i,b,a);return}i=t[++r];let k=(l=i.bufferedStart)!=null?l:i.start,A=(f=i.bufferedEnd)!=null?f:i.end,M=h<s-1?e[h+1].start:void 0;for(;i!==void 0&&!(b<k||b-k<o&&A-b>=o||M!==void 0&&b-k<A-M);){let x=t[r-1];x.bufferedEnd===void 0&&(i.precizeStart?x.bufferedEnd=i.start:x.infos.segment.complete?x.bufferedEnd=x.end:x.bufferedEnd=i.start,m.debug("SI: calculating buffered end of contiguous segment",a,x.bufferedEnd,x.end)),i.bufferedStart=x.bufferedEnd,i=t[++r],i!==void 0&&(k=(g=i.bufferedStart)!=null?g:i.start,A=(p=i.bufferedEnd)!=null?p:i.end)}}let R=t[r-1];R!==void 0&&Qc(R,b,a)}if(!_(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:h}=U.getCurrent(),y=K();for(let b=r;b<t.length;b++){let T=t[b];y-T.insertionTs>=h&&(m.debug("SI: A segment at the end has been completely GCed",a,`${T.start}-${T.end}`),T.bufferedStart===void 0&&T.bufferedEnd===void 0&&T.status!==2&&this._bufferedHistory.addBufferedSegment(T.infos,null),t.splice(b,1),b--)}}a!==void 0&&m.hasLevel("DEBUG")&&m.debug(`SI: current ${a} inventory timeline:
2
+ `+Ng(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:o,start:a,end:s},d,u){if(i.isInit)return;let c=t.type;if(a>=s){m.warn("SI: Invalid chunked inserted: starts before it ends",c,a,s);return}let l=this._inventory,f={status:d?0:2,insertionTs:u,chunkSize:o,splitted:!1,start:a,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let p=l.length-1;p>=0;p--){let h=l[p];if(h.start<=a)if(h.end<=a){for(m.debug("SI: Pushing segment strictly after previous one.",c,a,h.end),this._inventory.splice(p+1,0,f),p+=2;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(h.start===a)if(h.end<=s){for(m.debug("SI: Segment pushed replace another one",c,a,s,h.end),this._inventory.splice(p,1,f),p+=1;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug("SI: Segment pushed ends before another with the same start",c,a,s,h.end),l.splice(p,0,f),h.start=f.end,h.bufferedStart=void 0,h.precizeStart=h.precizeStart&&f.precizeEnd;return}else if(h.end<=f.end){for(m.debug("SI: Segment pushed updates end of previous one",c,a,s,h.start,h.end),this._inventory.splice(p+1,0,f),h.end=f.start,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&f.precizeStart,p+=2;p<l.length&&l[p].start<f.end;){if(l[p].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[p].start),l[p].start=f.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn("SI: Segment pushed is contained in a previous one",c,a,s,h.start,h.end);let y={status:h.status,insertionTs:h.insertionTs,chunkSize:h.chunkSize,splitted:!0,start:f.end,end:h.end,precizeStart:h.precizeStart&&h.precizeEnd&&f.precizeEnd,precizeEnd:h.precizeEnd,bufferedStart:void 0,bufferedEnd:h.end,infos:h.infos};h.end=f.start,h.splitted=!0,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&f.precizeStart,l.splice(p+1,0,f),l.splice(p+2,0,y);return}}let g=this._inventory[0];if(g===void 0){m.debug("SI: first segment pushed",c,a,s),this._inventory.push(f);return}if(g.start>=s)m.debug("SI: Segment pushed comes before all previous ones",c,a,s,g.start),this._inventory.splice(0,0,f);else if(g.end<=s){for(m.debug("SI: Segment pushed starts before and completely recovers the previous first one",c,a,s,g.start,g.end),this._inventory.splice(0,1,f);l.length>1&&l[1].start<f.end;){if(l[1].end>f.end){m.debug("SI: Segment pushed updates the start of the next one",c,f.end,l[1].start),l[1].start=f.end,l[1].bufferedStart=void 0,l[1].precizeStart=f.precizeEnd;return}m.debug("SI: Segment pushed removes the next one",c,a,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug("SI: Segment pushed start of the next one",c,a,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=f.precizeEnd,this._inventory.splice(0,0,f);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(Ct(t[i].infos,e)){let o=!1;r.length>0&&(o=!0,r.length===1&&(m.warn("SI: Completed Segment is splitted.",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let a=i,s=t[i].chunkSize;for(i+=1;i<t.length&&Ct(t[i].infos,e);){let f=t[i].chunkSize;s!==void 0&&f!==void 0&&(s+=f),i++}let d=i-1,u=d-a,c=t[d].end,l=t[d].bufferedEnd;u>0&&(this._inventory.splice(a+1,u),i-=u),this._inventory[a].status===0&&(this._inventory[a].status=1),this._inventory[a].chunkSize=s,this._inventory[a].end=c,this._inventory[a].bufferedEnd=l,this._inventory[a].splitted=o,r.push(this._inventory[a])}if(r.length===0)m.warn("SI: Completed Segment not found",e.segment.id,e.segment.time);else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):m.debug("SI: buffered range not known after sync. Skipping history.",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function Xs(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:o}=U.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(o,r/3))}function $c(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:o}=U.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(o,r/3)}function Lg(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:o,SEGMENT_SYNCHRONIZATION_DELAY:a}=U.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug("SI: Segment partially GCed at the start",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&Xs(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug("SI: buffered start is precize start",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug("SI: buffered start is end of previous segment",r,e,n.start,t.end),n.bufferedStart=t.end,Xs(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=K();if(n.start-e>=o&&s-n.insertionTs<a){m.debug("SI: Ignored bufferedStart synchronization",r,e,n.start,s-n.insertionTs);return}m.debug("SI: found true buffered start",r,e,n.start),n.bufferedStart=e,Xs(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug("SI: range start too far from expected start",r,e,n.start),n.bufferedStart=n.start;else{let s=K();if(n.start-e>=o&&s-n.insertionTs<a){m.debug("SI: Ignored bufferedStart synchronization",r,e,n.start,s-n.insertionTs);return}m.debug("SI: Segment appears immediately garbage collected at the start",r,e,n.start),n.bufferedStart=e}}function Qc(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:o}=U.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug("SI: Segment partially GCed at the end",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&$c(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug("SI: buffered end is precize end",t,n.end),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let a=K();if(e-n.end>=i&&a-n.insertionTs<o){m.debug("SI: Ignored bufferedEnd synchronization",t,e,n.end,a-n.insertionTs);return}m.debug("SI: found true buffered end",t,e,n.end),n.bufferedEnd=e,$c(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug("SI: range end too far from expected end",t,e,n.end),n.bufferedEnd=n.end;else{let a=K();if(e-n.end>=i&&a-n.insertionTs<o){m.debug("SI: Ignored bufferedEnd synchronization",t,e,n.end,a-n.insertionTs);return}m.debug("SI: Segment appears immediately garbage collected at the end",t,n.bufferedEnd,e),n.bufferedEnd=e}}function Ng(n){let e=.016666666666666666,t={},r=[],i=null,o=null;function a(d){let u=String.fromCharCode(r.length+65);return r.push({letter:u,periodId:d.period.id,representationId:d.representation.id,bitrate:d.representation.bitrate}),u}let s="";for(let d=0;d<n.length;d++){let u=n[d];if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let c=u.infos.period.id,l=u.infos.representation.id,f=t[c],g;f===void 0?(g=a(u.infos),t[c]={[l]:g}):f[l]===void 0?(g=a(u.infos),f[l]=g):g=f[l],i===null?s+=`${u.bufferedStart.toFixed(2)}|${g}|`:o===g?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${g}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${g}|`,i=u,o=g}}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(d=>{var u;s+=`
3
+ [${d.letter}] P: ${d.periodId} || R: ${d.representationId}(${(u=d.bitrate)!=null?u:"unknown bitrate"})`}),s}function zn(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Hn(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var Xc=ri;var Wn=class{constructor(){this._segmentInventory=new Xc}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var ii=class extends Wn{constructor(e,t,r){super(),m.info("AVSB: calling `mediaSource.addSourceBuffer`",t);let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){Zc(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){Zc(e.data.chunk),m.debug("AVSB: receiving order to push data to the SourceBuffer",this.bufferType,In(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(a=>{let{codec:s,timestampOffset:d,appendWindow:u}=e.data;return m.debug("AVSB: pushing segment",this.bufferType,In(e.inventoryInfos)),this._sourceBuffer.appendBuffer(a,{codec:s,timestampOffset:d,appendWindow:u})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(a){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,K()),a}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,K());let o=i[i.length-1];return this._segmentInventory.synchronizeBuffered(o),o}async removeBuffer(e,t){m.debug("AVSB: receiving order to remove data from the SourceBuffer",this.bufferType,e,t);let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){try{m.debug("AVSB: Calling `dispose` on the SourceBufferInterface"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:"")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error("Invalid initialization segment uniqueId");let i=new ArrayBuffer(r.byteLength),o=new Uint8Array(i);o.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=o,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let o=this._pendingOperations.indexOf(r);o>=0&&this._pendingOperations.splice(o,1)};e.then(i,i)}};function Zc(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!="object"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error("Invalid data given to the AudioVideoSegmentSink")}var Zo=ii;var oi=class extends Wn{constructor(e){m.debug("HTSB: Creating TextSegmentSink"),super(),this.bufferType="text",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn("HTSB: Declaring initialization segment for Text SegmentSink",e)}freeInitSegment(e){m.warn("HTSB: Freeing initialization segment for Text SegmentSink",e)}async pushChunk(e){let{data:t}=e;Bg(t.chunk);let r=this._sender.pushTextData(de(ie({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,K()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){m.debug("HTSB: Disposing TextSegmentSink"),this._sender.reset()}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let o=this._pendingOperations.indexOf(r);o>=0&&this._pendingOperations.splice(o,1)};e.then(i,i)}};function Bg(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!="object"||n===null||typeof n.data!="string"||typeof n.type!="string"||n.language!==void 0&&typeof n.language!="string"||n.start!==void 0&&typeof n.start!="number"||n.end!==void 0&&typeof n.end!="number"))throw new Error("Invalid format given to a TextSegmentSink")}I.CURRENT_ENV===I.DEV&&(Fg=function(e){function t(r){}});var Fg;var Jc=oi;var Kg=["audio","video","text"],ai=class n{static isNative(e){return ef(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push("text"),e}getNativeBufferTypes(){return this._hasVideo?["video","audio"]:["audio"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:"uninitialized"}:t===null?{type:"disabled"}:{type:"initialized",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():ot(e,t=>{let r,i=()=>{let o=this._onNativeBufferAddedOrDisabled.indexOf(r);o>=0&&this._onNativeBufferAddedOrDisabled.splice(o,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){m.warn(`SBS: The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error("Cannot disable an active SegmentSink.");this._initializedSegmentSinks[e]=null,n.isNative(e)&&this._onNativeBufferAddedOrDisabled.forEach(r=>r())}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(ef(e)){if(!_(r))return r instanceof Zo&&r.codec!==t?m.warn("SB: Reusing native SegmentSink with codec",r.codec,"for codec",t):m.info("SB: Reusing native SegmentSink with codec",t),r;m.info("SB: Adding native SegmentSink with codec",t);let o=e==="audio"?"audio":"video",a=new Zo(o,t,this._mediaSource);return this._initializedSegmentSinks[e]=a,this._onNativeBufferAddedOrDisabled.forEach(s=>s()),a}if(!_(r))return m.info("SB: Reusing a previous custom SegmentSink for the type",e),r;let i;if(e==="text"){if(m.info("SB: Creating a new text SegmentSink"),this._textInterface===null)throw new Error("HTML Text track feature not activated");return i=new Jc(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error("SB: Unknown buffer type:",e),new J("BUFFER_TYPE_UNKNOWN","The player wants to create a SegmentSink of an unknown type.")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(_(t)){m.warn("SB: Trying to dispose a SegmentSink that does not exist");return}m.info("SB: Aborting SegmentSink",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){Kg.forEach(e=>{this.getStatus(e).type==="initialized"&&this.disposeSegmentSink(e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var t,r;return{bufferType:e,codec:(t=this._initializedSegmentSinks[e])==null?void 0:t.codec,segmentInventory:(r=this._initializedSegmentSinks[e])==null?void 0:r.getLastKnownInventory().map(i=>de(ie({},i),{infos:Vg(i.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType("audio"),video:this.createSegmentSinkMetricsForType("video"),text:this.createSegmentSinkMetricsForType("text")}}}};function ef(n){return n==="audio"||n==="video"}function Vg(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var Xt=ai;var si=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var di=class extends oe{constructor(e,t,r,i){super(),this._content=e,this._currentCanceller=null,this._downloadQueue=t,this._initSegmentRequest=null,this._mediaSegmentRequest=null,this._segmentFetcher=r,this._initSegmentInfoRef=new G(void 0),this._mediaSegmentAwaitingInitMetadata=null,i||this._initSegmentInfoRef.setValue(null)}getRequestedInitSegment(){return this._initSegmentRequest===null?null:this._initSegmentRequest.segment}getRequestedMediaSegment(){return this._mediaSegmentRequest===null?null:this._mediaSegmentRequest.segment}start(){this._currentCanceller===null&&(this._currentCanceller=new B,this._downloadQueue.onUpdate(e=>{let{segmentQueue:t}=e;if(t.length>0&&t[0].segment.id===this._mediaSegmentAwaitingInitMetadata)return;let r=this._mediaSegmentRequest;if(t.length===0){if(r===null)return;m.debug("Stream: no more media segment to request. Cancelling queue.",this._content.adaptation.type),this._restartMediaSegmentDownloadingQueue();return}else if(r===null){m.debug("Stream: Media segments now need to be requested. Starting queue.",this._content.adaptation.type,t.length),this._restartMediaSegmentDownloadingQueue();return}else{let i=t[0];if(r.segment.id!==i.segment.id){m.debug("Stream: Next media segment changed, cancelling previous",this._content.adaptation.type),this._restartMediaSegmentDownloadingQueue();return}r.priority!==i.priority&&(m.debug("Stream: Priority of next media segment changed, updating",this._content.adaptation.type,r.priority,i.priority),this._segmentFetcher.updatePriority(r.request,i.priority));return}},{emitCurrentValue:!0,clearSignal:this._currentCanceller.signal}),this._downloadQueue.onUpdate(e=>{var r;let t=this._initSegmentRequest;if(e.initSegment!==null&&t!==null){e.initSegment.priority!==t.priority&&this._segmentFetcher.updatePriority(t.request,e.initSegment.priority);return}else if(((r=e.initSegment)==null?void 0:r.segment.id)===(t==null?void 0:t.segment.id))return;e.initSegment===null&&m.debug("Stream: no more init segment to request. Cancelling queue.",this._content.adaptation.type),this._restartInitSegmentDownloadingQueue(e.initSegment)},{emitCurrentValue:!0,clearSignal:this._currentCanceller.signal}))}stop(){var e;(e=this._currentCanceller)==null||e.cancel(),this._currentCanceller=null}_restartMediaSegmentDownloadingQueue(){this._mediaSegmentRequest!==null&&this._mediaSegmentRequest.canceller.cancel();let{segmentQueue:e}=this._downloadQueue.getValue(),t=e[0],r=i=>{if(this._currentCanceller!==null&&this._currentCanceller.isUsed()){this._mediaSegmentRequest=null;return}if(i===void 0){this._mediaSegmentRequest=null,this.trigger("emptyQueue",null);return}let o=new B,a=this._currentCanceller===null?Z:o.linkToSignal(this._currentCanceller.signal),{segment:s,priority:d}=i,u=j({segment:s},this._content),c=!1,l=!1;o.signal.register(()=>{this._mediaSegmentRequest=null,!c&&(this._mediaSegmentAwaitingInitMetadata===s.id&&(this._mediaSegmentAwaitingInitMetadata=null),c=!0,l=!1)});let f=h=>{te(h.segmentType==="media","Should have loaded a media segment."),this.trigger("parsedMediaSegment",j({},h,{segment:s}))},g=()=>{let h=this._downloadQueue.getValue().segmentQueue;if(h.length===0){c=!0,this.trigger("emptyQueue",null);return}else h[0].segment.id===s.id&&h.shift();c=!0,r(h[0])},p=this._segmentFetcher.createRequest(u,d,{onRetry:h=>{this.trigger("requestRetry",{segment:s,error:h})},beforeInterrupted(){m.info("Stream: segment request interrupted temporarly.",s.id,s.time)},onChunk:h=>{let y=this._initSegmentInfoRef.getValue();y!==void 0?f(h(y!=null?y:void 0)):(l=!0,this._initSegmentInfoRef.waitUntilDefined(b=>{f(h(b!=null?b:void 0))},{clearSignal:o.signal}))},onAllChunksReceived:()=>{l?(this._mediaSegmentAwaitingInitMetadata=s.id,this._initSegmentInfoRef.waitUntilDefined(()=>{this._mediaSegmentAwaitingInitMetadata=null,l=!1,this.trigger("fullyLoadedSegment",s)},{clearSignal:o.signal})):this.trigger("fullyLoadedSegment",s)},beforeEnded:()=>{a(),this._mediaSegmentRequest=null,l?this._initSegmentInfoRef.waitUntilDefined(g,{clearSignal:o.signal}):g()}},o.signal);p.catch(h=>{a(),c||(c=!0,this.stop(),this.trigger("error",h))}),this._mediaSegmentRequest={segment:s,priority:d,request:p,canceller:o}};r(t)}_restartInitSegmentDownloadingQueue(e){if(this._currentCanceller!==null&&this._currentCanceller.isUsed()||(this._initSegmentRequest!==null&&this._initSegmentRequest.canceller.cancel(),e===null))return;let t=new B,r=this._currentCanceller===null?Z:t.linkToSignal(this._currentCanceller.signal),{segment:i,priority:o}=e,a=j({segment:i},this._content),s=!1,d=this._segmentFetcher.createRequest(a,o,{onRetry:u=>{this.trigger("requestRetry",{segment:i,error:u})},beforeInterrupted:()=>{m.info("Stream: init segment request interrupted temporarly.",i.id)},beforeEnded:()=>{r(),this._initSegmentRequest=null,s=!0},onChunk:u=>{var l;let c=u(void 0);te(c.segmentType==="init","Should have loaded an init segment."),this.trigger("parsedInitSegment",j({},c,{segment:i})),c.segmentType==="init"&&this._initSegmentInfoRef.setValue((l=c.initTimescale)!=null?l:null)},onAllChunksReceived:()=>{this.trigger("fullyLoadedSegment",i)}},t.signal);d.catch(u=>{r(),s||(s=!0,this.stop(),this.trigger("error",u))}),t.signal.register(()=>{this._initSegmentRequest=null,!s&&(s=!0)}),this._initSegmentRequest={segment:i,priority:o,request:d,canceller:t}}};function Zs(n,e,t,r,i){let{period:o,adaptation:a,representation:s}=n,d=zg(i,e);if(d===null){if(t===null){if(r&&o.end!==void 0&&e.end>=o.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let u=i[d];if(u.bufferedStart!==void 0&&u.bufferedStart>e.start&&(t===null||u.infos.segment.end<=t)){let l=u.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(m.debug("RS: current discontinuity encountered",a.type,u.bufferedStart),{start:void 0,end:l})}let c=Hg(i,e,d+1);if(c!==null){let l=i[c-1],f=i[c];if(t===null||f.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,f.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=f.bufferedStart;return m.debug("RS: future discontinuity encountered",a.type,g,p),{start:g,end:p}}}if(t===null){if(r&&o.end!==void 0){if(e.end<o.end)return null;let l=Wg(i,o.end);if(l!==null){let f=i[l];if(f.bufferedEnd!==void 0&&f.bufferedEnd<o.end)return m.debug("RS: discontinuity encountered at the end of the current period",a.type,f.bufferedEnd,o.end),{start:f.bufferedEnd,end:null}}}if(o.end!==void 0&&e.end>=o.end)return null;for(let l=i.length-1;l>=0;l--){let f=i[l];if(f.bufferedStart===void 0)break;if(f.bufferedStart<e.end){if(f.bufferedEnd!==void 0&&f.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:f.bufferedEnd,end:g}}return null}}}return null}function zg(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Hg(n,e,t){if(t<=0)return m.error("RS: Asked to check a discontinuity before the first chunk."),null;for(let r=t;r<n.length;r++){let i=n[r],o=n[r-1];if(i.bufferedStart===void 0||o.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-o.bufferedEnd>0)return r}return null}function Wg(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function Js({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:o,segmentsBeingPushed:a,maxBufferSize:s}){let{adaptation:d,representation:u}=e,c=Gg(n,a,s),l=u.index.getSegments(o.start,o.end-o.start),f=n.filter(R=>!tf(R.infos,e,t,r)),g=Zg(f,o,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:h}=U.getCurrent(),y=!1,b=Math.min(1/60,p),T=!1,v=[];return{segmentsToLoad:l.filter(R=>{let k=j({segment:R},e);if(a.length>0&&a.some(C=>Ct(k,C)))return!1;let{duration:A,time:M,end:x}=R;if(R.isInit)return!0;if(y)return v.push(R),!1;if(R.complete&&A<p||a.length>0&&a.some(C=>{if(C.period.id!==e.period.id||C.adaptation.id!==e.adaptation.id)return!1;let{segment:P}=C;if(P.time-b>M)return!1;if(P.complete){if(P.end+b<x)return!1}else if(Math.abs(M-P.time)>M)return!1;return!tf(C,k,t,r)}))return!1;for(let N=0;N<g.length;N++){let C=g[N],P=C.infos.period.id===e.period.id;if(C.status===1&&P){let D=C.infos.segment;if(M-D.time>-b){if(D.complete){if(D.end-x>-b)return!1}else if(Math.abs(M-D.time)<b)return!1}}}let L=A*e.representation.bitrate;if(c-L<0&&(T=!0,M>o.start+h))return y=!0,v.push(R),!1;let O=i(k);if(O.length>1){let N=O[O.length-1],C=O[O.length-2];if(N.buffered===null&&C.buffered===null)return m.warn("Stream: Segment GCed multiple times in a row, ignoring it.","If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering."+d.type,u.id,R.time),!1}for(let N=0;N<g.length;N++){let C=g[N];if(C.end+b>M){let P=C.start>M+b||qg(g,N).end<x-b;return P&&(c-=L),P}}return c-=L,!0}),segmentsOnHold:v,isBufferFull:T}}function Gg(n,e,t){let r=t*8e3;return r-=e.reduce((i,o)=>{let{bitrate:a}=o.representation,{duration:s}=o.segment;return i+a*s},0),n.reduce((i,o)=>o.chunkSize!==void 0?i-o.chunkSize*8:i,r)}function qg(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=U.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function tf(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=U.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:o}=n;return o.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:jg(n.representation,e.representation,r)}function jg(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=U.getCurrent();if(t===void 0){let o=r*i;return e.bitrate>o}return r<t&&e.bitrate>r}function Yg(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info("Stream: The start of the wanted segment has been garbage collected",n.start,n.bufferedStart),!0):!1}function $g(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(m.info("Stream: The end of the wanted segment has been garbage collected",n.end,n.bufferedEnd),!0):!1}function Qg(n,e){var a,s;if(n.length<2)return!0;let r=(a=n[n.length-1].buffered)==null?void 0:a.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let o=(s=n[n.length-2].buffered)==null?void 0:s.start;return o===void 0||r===void 0?!0:Math.abs(o-r)>.01}function Xg(n,e){var a,s;if(n.length<2)return!0;let r=(a=n[n.length-1].buffered)==null?void 0:a.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let o=(s=n[n.length-2].buffered)==null?void 0:s.end;return o===void 0||r===void 0?!0:Math.abs(o-r)>.01}function Zg(n,e,t){return n.filter((r,i,o)=>{let a=i===0?null:o[i-1],s=i>=o.length-1?null:o[i+1],d=null;if(Yg(r,a,e.start)){if(d=t(r.infos),Qg(d,r.bufferedStart))return!1;m.debug("Stream: skipping segment gc-ed at the start",r.start,r.bufferedStart)}if($g(r,s,e.end)){if(d=d!=null?d:t(r.infos),Xg(d,r.bufferedEnd))return!1;m.debug("Stream: skipping segment gc-ed at the end",r.end,r.bufferedEnd)}return!0})}function ui(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=U.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function ed(n,e,t,r,i,o,a){var M,x,L;let{representation:s}=n,d=(x=(M=t.getIsPaused())!=null?M:t.getReference().getValue().paused.pending)!=null?x:t.getReference().getValue().paused.last,u=(L=t.getPlaybackRate())!=null?L:t.getReference().getValue().speed,c=e;(d===void 0||u===void 0||d||u<=0)&&(c-=.1);let l=Jg(n,c,i),f=s.index.shouldRefresh(l.start,l.end),g=a.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=a.getLastKnownInventory(),h=t.getCurrentTime();h===void 0&&(h=t.getReference().getValue().position.getWanted());let y=a.getSegmentHistory.bind(a),{segmentsToLoad:b,segmentsOnHold:T,isBufferFull:v}=Js({content:n,bufferedSegments:p,currentPlaybackTime:h,fastSwitchThreshold:r,getBufferedHistory:y,neededRange:l,segmentsBeingPushed:g,maxBufferSize:o}),E=b.map(O=>({priority:ui(O.time,c),segment:O})),R=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&E.length===0&&T.length===0,k=null;return g.length>0&&(k=Math.min(...g.map(O=>O.segment.time))),T.length>0&&(k=k!==null?Math.min(k,T[0].time):T[0].time),E.length>0&&(k=k!==null?Math.min(k,E[0].segment.time):E[0].segment.time),{imminentDiscontinuity:Zs(n,l,k,R,p),hasFinishedLoading:R,neededSegments:E,isBufferFull:v,shouldRefreshManifest:f}}function Jg(n,e,t){var l;let r,{manifest:i,period:o,representation:a}=n,s=a.index.getLastAvailablePosition(),d=a.index;!_(s)&&Xt.isNative(n.adaptation.type)&&e>=s&&d.isInitialized()&&!d.isStillAwaitingFutureSegments()&&eh(i,o,e)?r=s-1:r=e-.1;let u=r+t,c;return!a.index.isInitialized()||a.index.isStillAwaitingFutureSegments()||o.end===void 0?c=!1:s===void 0?c=u>=o.end:s===null?c=!0:c=u>=s,{start:Math.max(r,o.start),end:Math.min(u,(l=o.end)!=null?l:1/0),hasReachedPeriodEnd:c}}function eh(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function li(n,e,t,r,i){try{return await e.pushChunk(t)}catch(o){if(i.isCancelled()&&o instanceof Me)throw o;if(!(o instanceof it)||!o.isBufferFull){let d=o instanceof Error?o.toString():"An unknown error happened when pushing content";throw new J("BUFFER_APPEND_ERROR",d,{tracks:[Qt(t.inventoryInfos.adaptation)]})}let{position:a}=n.getReference().getValue(),s=a.getWanted();try{m.warn("Stream: Running garbage collector");let d=Math.max(s-5,0),u=s+r.getValue()+12;if(await e.removeBuffer(0,d),await e.removeBuffer(u,Number.MAX_VALUE),await fn(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(d){if(d instanceof Me)throw d;let u=d instanceof Error?d.toString():"Could not clean the buffer";throw new J("BUFFER_FULL_ERROR",u,{tracks:[Qt(t.inventoryInfos.adaptation)]})}}}async function td({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:o},a){if(a.cancellationError!==null)throw a.cancellationError;let s=e.representation.getMimeTypeString(),d={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},u=j({segment:r,chunkSize:void 0,start:0,end:0},e),c=await li(n,i,{data:d,inventoryInfos:u},o,a);return{content:e,segment:r,buffered:c}}async function nd({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:o,segmentSink:a},s){var k,A;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:d,chunkInfos:u,chunkOffset:c,chunkSize:l,appendWindow:f}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=U.getCurrent(),h=[f[0]!==void 0?Math.max(0,f[0]-p.START):void 0,f[1]!==void 0?f[1]+p.END:void 0],y={initSegmentUniqueId:r,chunk:d,timestampOffset:c,appendWindow:h,codec:g},b=(k=u==null?void 0:u.time)!=null?k:o.time,T=(A=u==null?void 0:u.duration)!=null?A:o.duration,v=b+T;h[0]!==void 0&&(b=Math.max(b,h[0])),h[1]!==void 0&&(v=Math.min(v,h[1]));let E=j({segment:o,chunkSize:l,start:b,end:v},t),R=await li(n,a,{data:y,inventoryInfos:E},e,s);return{content:t,segment:o,buffered:R}}function rd({content:n,options:e,playbackObserver:t,segmentSink:r,segmentFetcher:i,terminate:o},a,s){let{period:d,adaptation:u,representation:c}=n,{bufferGoal:l,maxBufferSize:f,drmSystemId:g,fastSwitchThreshold:p}=e,h=u.type,y=new B;y.linkToSignal(s);let b=new B;b.linkToSignal(y.signal);let T={segment:c.index.getInitSegment(),uniqueId:null,isLoaded:!1};y.signal.register(()=>{T.uniqueId!==null&&r.freeInitSegment(T.uniqueId)});let v=new G({initSegment:null,segmentQueue:[]},b.signal),E=T.segment!==null;E||(T.isLoaded=!0);let R=!1;if(g!==void 0){let L=c.getEncryptionData(g);if(L.length>0&&L.every(O=>O.keyIds!==void 0)&&(R=!0,a.encryptionDataEncountered(L.map(O=>j({content:n},O))),y.isUsed()))return}let k=new di(n,v,i,E);k.addEventListener("error",L=>{b.signal.isCancelled()||(y.cancel(),a.error(L))}),k.addEventListener("parsedInitSegment",M),k.addEventListener("parsedMediaSegment",M),k.addEventListener("emptyQueue",A),k.addEventListener("requestRetry",L=>{if(a.warning(L.error),b.signal.isCancelled())return;let O=L.segment,{index:N}=c;N.isSegmentStillAvailable(O)===!1?A():N.canBeOutOfSyncError(L.error,O)&&a.manifestMightBeOufOfSync()}),k.addEventListener("fullyLoadedSegment",L=>{r.signalSegmentComplete(j({segment:L},n)).catch(x)}),k.start(),b.signal.register(()=>{k.removeEventListener(),k.stop()}),t.listen(A,{includeLastObservation:!1,clearSignal:b.signal}),n.manifest.addEventListener("manifestUpdate",A,b.signal),l.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),f.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),o.onUpdate(A,{emitCurrentValue:!1,clearSignal:b.signal}),A();return;function A(){if(b.isUsed())return;let L=t.getReference().getValue(),O=L.position.getWanted(),N=ed(n,O,t,p.getValue(),l.getValue(),f.getValue(),r),{neededSegments:C}=N,P=null;if(c.index.isInitialized()){if(C.length>0&&!T.isLoaded&&T.segment!==null){let V=C[0].priority;P={segment:T.segment,priority:V}}}else if(T.segment===null)m.warn("Stream: Uninitialized index without an initialization segment");else if(T.isLoaded)m.warn("Stream: Uninitialized index with an already loaded initialization segment");else{let V=L.position.getWanted();P={segment:T.segment,priority:ui(d.start,V)}}let D=o.getValue();if(D===null)v.setValue({initSegment:P,segmentQueue:C});else if(D.urgent){m.debug("Stream: Urgent switch, terminate now.",h),v.setValue({initSegment:null,segmentQueue:[]}),v.finish(),b.cancel(),a.terminating();return}else{let V=C[0],$=k.getRequestedInitSegment(),q=k.getRequestedMediaSegment(),W=q===null||V===void 0||q.id!==V.segment.id?[]:[V],z=$===null?null:P;if(v.setValue({initSegment:z,segmentQueue:W}),W.length===0&&z===null){m.debug("Stream: No request left, terminate",h),v.finish(),b.cancel(),a.terminating();return}}if(a.streamStatusUpdate({period:d,position:L.position.getWanted(),bufferType:h,imminentDiscontinuity:N.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:N.hasFinishedLoading,neededSegments:N.neededSegments}),b.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:F}=U.getCurrent();if(N.isBufferFull){let V=Math.max(0,O-F);V>0&&r.removeBuffer(0,V).catch(x)}N.shouldRefreshManifest&&a.needsManifestRefresh()}function M(L){if(!y.isUsed()){for(let O of L.protectionData)c.addProtectionData(O.initDataType,O.keyId,O.initData);if(!R){let O=c.getAllEncryptionData();if(O.length>0&&(a.encryptionDataEncountered(O.map(N=>j({content:n},N))),R=!0,y.isUsed()))return}if(L.segmentType==="init"){if(!c.index.isInitialized()&&L.segmentList!==void 0&&c.index.initialize(L.segmentList),T.isLoaded=!0,L.initializationData!==null){let O=c.uniqueId;T.uniqueId=O,r.declareInitSegment(O,L.initializationData),td({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:O,segment:L.segment,segmentData:L.initializationData,segmentSink:r},y.signal).then(N=>{N!==null&&a.addedSegment(N)}).catch(x)}A();return}else{let{inbandEvents:O,predictedSegments:N,needsManifestRefresh:C}=L;if(N!==void 0&&c.index.addPredictedSegments(N,L.segment),C===!0&&(a.needsManifestRefresh(),y.isUsed())||O!==void 0&&O.length>0&&(a.inbandEvent(O),y.isUsed()))return;let P=T.uniqueId;nd({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:P,parsedSegment:L,segment:L.segment,segmentSink:r},y.signal).then(D=>{D!==null&&a.addedSegment(D)}).catch(x)}}}function x(L){y.isUsed()&&L instanceof Me||(y.cancel(),a.error(L))}}var nf=rd;function id(n,e,t,r,i){var f,g,p,h;if(t.switchingMode==="lazy")return{type:"continue",value:void 0};let o=r.getLastKnownInventory(),a=[];for(let y of o)y.infos.period.id===n.id&&(y.infos.adaptation.id!==e.id||!Q(t.representationIds,y.infos.representation.id))&&Ht(a,{start:(f=y.bufferedStart)!=null?f:y.start,end:(g=y.bufferedEnd)!=null?g:y.end});let s=r.getPendingOperations();for(let y of s)if(y.type===0){let b=y.value.inventoryInfos;if(b.period.id===n.id&&(b.adaptation.id!==e.id||!Q(t.representationIds,b.representation.id))){let T=b.segment.time,v=T+b.segment.duration;Ht(a,{start:T,end:v})}}if(a.length===0)return{type:"continue",value:void 0};if(t.switchingMode==="reload"){let y=i.getReadyState();if(y===void 0||y>1)return{type:"needs-reload",value:void 0}}let d=t.switchingMode==="direct",u=[],c=zn(o,n);if(c!==null&&(c.bufferedEnd===void 0||n.start-c.bufferedEnd<1)&&u.push({start:0,end:n.start+1}),!d){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:y}=U.getCurrent(),b=e.type,T=(p=y[b].before)!=null?p:0,v=(h=y[b].after)!=null?h:0,E=i.getCurrentTime();E===void 0&&(E=i.getReference().getValue().position.getPolled()),u.push({start:E-T,end:E+v})}if(n.end!==void 0){let y=Hn(o,n);y!==null&&(y.bufferedStart===void 0||y.bufferedStart-n.end<1)&&u.push({start:n.end-1,end:Number.MAX_VALUE})}let l=mo(a,u);return l.length===0?{type:"continue",value:void 0}:d?{type:"flush-buffer",value:l}:{type:"clean-buffer",value:l}}function od({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentFetcherCreator:o,wantedBufferAhead:a,maxVideoBufferSize:s},d,u){let{manifest:c,period:l,adaptation:f}=e,g=new B;g.linkToSignal(u);let p=new Map,h=new G(null,g.signal),y,b=e.representations.getValue().representationIds,T=e.adaptation.representations.filter(C=>Q(b,C.id)&&C.decipherable!==!1&&C.isSupported!==!1),v=new G(T,g.signal),{estimates:E,callbacks:R}=r({manifest:c,period:l,adaptation:f},h,v,n,g.signal),k=o.createSegmentFetcher(f.type,{onRequestBegin:R.requestBegin,onRequestEnd:R.requestEnd,onProgress:R.requestProgress,onMetrics:R.metrics}),A=new G(0);E.onUpdate(({bitrate:C,knownStableBitrate:P})=>{t.enableFastSwitching&&A.setValueIfChanged(P),!(C===void 0||C===y)&&(y=C,m.debug(`Stream: new ${f.type} bitrate estimate`,C),d.bitrateEstimateChange({type:f.type,bitrate:C}))},{emitCurrentValue:!0,clearSignal:g.signal});let M;e.representations.onUpdate(C=>{M!==void 0&&M.cancel();let P=e.representations.getValue().representationIds,D=e.adaptation.representations.filter(F=>Q(P,F.id));v.setValueIfChanged(D),M=new B,M.linkToSignal(g.signal),x(C,M.signal).catch(F=>{(M==null?void 0:M.isUsed())===!0&&B.isCancellationError(F)||(g.cancel(),d.error(F))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function x(C,P){let D=id(l,f,C,i,n);switch(D.type){case"continue":break;case"needs-reload":return _t(()=>{n.listen(()=>{if(P.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:F}=U.getCurrent(),V=F.bitrateSwitch;return d.waitingMediaSourceReload({bufferType:f.type,period:l,timeOffset:V,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:P})});case"flush-buffer":case"clean-buffer":for(let F of D.value)if(await i.removeBuffer(F.start,F.end),P.isCancelled())return;if(D.type==="flush-buffer"&&(d.needsBufferFlush(),P.isCancelled()))return;break;default:Qe(D)}L(P)}function L(C){let P=new B;P.linkToSignal(C);let{representation:D}=E.getValue();if(D===null)return;let F=new G(null,P.signal);E.onUpdate(q=>{if(!(q.representation===null||q.representation.id===D.id))return q.urgent?(m.info("Stream: urgent Representation switch",f.type),F.setValue({urgent:!0})):(m.info("Stream: slow Representation switch",f.type),F.setValue({urgent:!1}))},{clearSignal:P.signal,emitCurrentValue:!0});let V={type:f.type,adaptation:f,period:l,representation:D};if(h.setValue(D),g.isUsed()||(d.representationChange(V),g.isUsed()))return;let $={streamStatusUpdate:d.streamStatusUpdate,encryptionDataEncountered:d.encryptionDataEncountered,manifestMightBeOufOfSync:d.manifestMightBeOufOfSync,needsManifestRefresh:d.needsManifestRefresh,inbandEvent:d.inbandEvent,warning:d.warning,error(q){g.cancel(),d.error(q)},addedSegment(q){R.addedSegment(q)},terminating(){if(!P.isUsed())return P.cancel(),L(C)}};O(D,F,$,C)}function O(C,P,D,F){let V=new B;V.linkToSignal(F);let $=on(a,z=>z*N(C),V.signal),q=f.type==="video"?s:new G(1/0);m.info("Stream: changing representation",f.type,C.id,C.bitrate);let W=j({},D,{error(z){var se;let H=we(z,{defaultCode:"NONE",defaultReason:"Unknown `RepresentationStream` error"});if(H.code!=="BUFFER_FULL_ERROR")D.error(z);else{let ae=a.getValue(),he=((se=p.get(C.id))!=null?se:1)*.7;if(he<=.05||ae*he<=2)throw H;p.set(C.id,he),Gt(4e3,g.signal).then(()=>O(C,P,D,F)).catch(Z)}},terminating(){V.cancel(),D.terminating()}});nf({playbackObserver:n,content:{representation:C,adaptation:f,period:l,manifest:c},segmentSink:i,segmentFetcher:k,terminate:P,options:{bufferGoal:$,maxBufferSize:q,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},W,F),c.addEventListener("manifestUpdate",z=>{for(let H of z.updatedPeriods)if(H.period.id===l.id){for(let se of H.result.updatedAdaptations)if(se.adaptation===f.id){for(let ae of se.removedRepresentations)if(ae===C.id)return F.isCancelled()?void 0:d.waitingMediaSourceReload({bufferType:f.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(H.period.start>l.start)break},F)}function N(C){let P=p.get(C.id),D=P!==void 0?P:1;return P===void 0&&p.set(C.id,D),D}}var rf=od;function ad(n,e,t,r,i,o){var g,p,h,y;if(n.codec!==void 0&&o.onCodecSwitch==="reload"&&!th(t,n.codec))return{type:"needs-reload",value:void 0};let a=n.getLastKnownInventory(),s=[];for(let b of a)b.infos.period.id===e.id&&b.infos.adaptation.id!==t.id&&Ht(s,{start:(g=b.bufferedStart)!=null?g:b.start,end:(p=b.bufferedEnd)!=null?p:b.end});let d=n.getPendingOperations();for(let b of d)if(b.type===0){let T=b.value.inventoryInfos;if(T.period.id===e.id&&T.adaptation.id!==t.id){let v=T.segment.time,E=v+T.segment.duration;Ht(s,{start:v,end:E})}}if(s.length===0)return{type:"continue",value:void 0};if(r==="reload"){let b=i.getReadyState();if(b===void 0||b>1)return{type:"needs-reload",value:void 0}}let u=r==="direct",c=[],l=zn(a,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&c.push({start:0,end:e.start+1}),!u){let b=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:T}=U.getCurrent(),v=(h=T[b].before)!=null?h:0,E=(y=T[b].after)!=null?y:0,R=i.getCurrentTime();R===void 0&&(R=i.getReference().getValue().position.getPolled()),c.push({start:R-v,end:R+E})}if(e.end!==void 0){let b=Hn(a,e);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-e.end<1)&&c.push({start:e.end-1,end:Number.MAX_VALUE})}let f=mo(s,c);return f.length===0?{type:"continue",value:void 0}:u&&t.type!=="text"?{type:"flush-buffer",value:f}:{type:"clean-buffer",value:f}}function th(n,e){return n.representations.some(t=>t.isSupported===!0&&t.decipherable!==!1&&zo(t.getMimeTypeString(),e))}function sd({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentFetcherCreator:o,segmentSinksStore:a,options:s,wantedBufferAhead:d,maxVideoBufferSize:u},c,l){let{manifest:f,period:g}=e,p=new G(void 0,l);if(c.periodStreamReady({type:n,manifest:f,period:g,adaptationRef:p}),l.isCancelled())return;let h,y=!0;p.onUpdate(v=>{(async()=>{var C;if(v===void 0)return;let E=new B;if(E.linkToSignal(l),h==null||h.cancel(),h=E,v===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let P=a.getStatus(n);if(P.type==="initialized"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),Xt.isNative(n))return T(0,!0,E.signal);{let D=(C=g.end)!=null?C:1/0;if(g.start>D)m.warn("Stream: Can't free buffer: period's start is after its end");else if(await P.value.removeBuffer(g.start,D),E.isUsed())return}}else if(P.type==="uninitialized"&&(a.disableSegmentSink(n),E.isUsed()))return;return c.adaptationChange({type:n,adaptation:null,period:g}),E.isUsed()?void 0:of(r,d,n,{period:g},c,E.signal)}let R=g.adaptations[n],k=X(R!=null?R:[],P=>P.id===v.adaptationId);if(k===void 0){h.cancel(),m.warn("Stream: Unfound chosen Adaptation choice",v.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:A}=U.getCurrent(),M=!1,x;if(y)x=0;else if(v.relativeResumingPosition!==void 0)x=v.relativeResumingPosition;else switch(M=!0,n){case"audio":x=A.trackSwitch.audio;break;case"video":x=A.trackSwitch.video;break;default:x=A.trackSwitch.other;break}if(y=!1,Xt.isNative(n)&&a.getStatus(n).type==="disabled")return T(x,!0,E.signal);f.addEventListener("manifestUpdate",P=>{for(let D of P.updatedPeriods)if(D.period.id===g.id){for(let F of D.result.removedAdaptations)if(F.id===k.id)return T(x,!0,E.signal)}else if(D.period.start>g.start)break},h.signal);let{representations:L}=v;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${k.id}`,`P: ${g.start}`),c.adaptationChange({type:n,adaptation:k,period:g}),E.isUsed())return;let O=nh(a,n,k),N=ad(O,g,k,v.switchingMode,r,s);if(N.type==="needs-reload")return T(x,!0,E.signal);if(await a.waitForUsableBuffers(E.signal),!E.isUsed()){if(N.type==="flush-buffer"||N.type==="clean-buffer"){for(let{start:P,end:D}of N.value)if(await O.removeBuffer(P,D),E.isUsed())return;if(N.type==="flush-buffer"&&(c.needsBufferFlush({relativeResumingPosition:x,relativePosHasBeenDefaulted:M}),E.isUsed()))return}t.get(O)(E.signal),b(k,L,O,E.signal)}})().catch(E=>{E instanceof Me||(h==null||h.cancel(),c.error(E))})},{clearSignal:l,emitCurrentValue:!0});function b(v,E,R,k){let A=ih(r,v.type);rf({content:{manifest:f,period:g,adaptation:v,representations:E},options:s,playbackObserver:A,representationEstimator:i,segmentSink:R,segmentFetcherCreator:o,wantedBufferAhead:d,maxVideoBufferSize:u},de(ie({},c),{error:M}),k);function M(x){if(!Xt.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,x instanceof Error?x:""),a.disposeSegmentSink(n);let L=we(x,{defaultCode:"NONE",defaultReason:"Unknown `AdaptationStream` error"});return c.warning(L),k.isCancelled()?void 0:of(r,d,n,{period:g},c,k)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,x instanceof Error?x:""),c.error(x)}}function T(v,E,R){_t(()=>{r.listen(()=>{R.isCancelled()||c.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:v,stayInPeriod:E})},{includeLastObservation:!0,clearSignal:R})})}}function nh(n,e,t){let r=n.getStatus(e);if(r.type==="initialized")return m.info("Stream: Reusing a previous SegmentSink for the type",e),r.value;let i=rh(t);return n.createSegmentSink(e,i)}function rh(n){let e=n.representations.filter(t=>t.isSupported===!0&&t.decipherable!==!1);if(e.length===0)throw new J("NO_PLAYABLE_REPRESENTATION","No Representation in the chosen "+n.type+" Adaptation can be played",{tracks:[Qt(n)]});return e[0].getMimeTypeString()}function ih(n,e){return n.deriveReadOnlyObserver(function(r,i){let o=new G(a(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),o;function a(){let d=r.getValue(),u=d.buffered[e],c=u!==null?fo(u,d.position.getWanted()):0;return j({},d,{bufferGap:c,buffered:u})}function s(){o.setValue(a())}})}function of(n,e,t,r,i,o){let{period:a}=r,s=!1;e.onUpdate(d,{emitCurrentValue:!1,clearSignal:o}),n.listen(d,{includeLastObservation:!1,clearSignal:o}),d();function d(){let u=n.getReference().getValue(),c=e.getValue(),l=u.position.getWanted();a.end!==void 0&&l+c>=a.end&&(m.debug('Stream: full "empty" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:a,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var af=sd;function Jo(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i=0;i<r.length;i++){let o=r[i];if(e.some(s=>o.infos.period.id===s.period.id&&o.infos.adaptation.id===s.adaptation.id&&o.infos.representation.id===s.representation.id)){let{bufferedStart:s,bufferedEnd:d}=o;if(s===void 0||d===void 0)return m.warn("SO: No buffered start or end found from a segment."),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===s?u.end=d:t.push({start:s,end:d})}}return t}function dd(n,e,t,r,i,o,a,s){let{manifest:d,initialPeriod:u}=n,{maxBufferAhead:c,maxBufferBehind:l,wantedBufferAhead:f,maxVideoBufferSize:g}=o,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_BEHIND:y}=U.getCurrent(),b=new si(E=>{var M,x;let{bufferType:R}=E,k=(M=y[R])!=null?M:1/0,A=(x=h[R])!=null?x:1/0;return L=>{Qo({segmentSink:E,playbackObserver:e,maxBufferBehind:on(l,O=>Math.min(O,k),L),maxBufferAhead:on(c,O=>{var C;let N=Math.max(O,(C=p[R])!=null?C:0);return Math.min(N,A)},L)},L)}});for(let E of r.getBufferTypes())T(E,u);function T(E,R){let k=new bn((N,C)=>N.start-C.start),A=!1,M=new B;return M.linkToSignal(s),e.listen(({position:N})=>{var D;let C=N.getWanted();if(!A||!L(C))return;for(m.info("Stream: Destroying all PeriodStreams due to out of bounds situation",E,C),A=!1;k.length()>0;){let F=k.get(k.length()-1);k.removeElement(F),a.periodStreamCleared({type:E,manifest:d,period:F})}M.cancel(),M=new B,M.linkToSignal(s);let P=(D=d.getPeriodForTime(C))!=null?D:d.getNextPeriod(C);if(P===void 0){m.warn("Stream: The wanted position is not found in the Manifest."),A=!0;return}x(P)},{clearSignal:s,includeLastObservation:!0}),d.addEventListener("decipherabilityUpdate",N=>{s.isCancelled()||O(N).catch(C=>{s.isCancelled()||(M.cancel(),a.error(C))})},s),x(R);function x(N){let C=de(ie({},a),{waitingMediaSourceReload(P){let D=k.head();D===void 0||D.id!==P.period.id?a.lockedStream({bufferType:P.bufferType,period:P.period}):a.needsMediaSourceReload({timeOffset:P.timeOffset,minimumPosition:P.stayInPeriod?P.period.start:void 0,maximumPosition:P.stayInPeriod?P.period.end:void 0})},periodStreamReady(P){A=!0,k.add(P.period),a.periodStreamReady(P)},periodStreamCleared(P){k.removeElement(P.period),a.periodStreamCleared(P)},error(P){M.cancel(),a.error(P)}});v(E,N,C,M.signal)}function L(N){let C=k.head(),P=k.last();return C===void 0||P===void 0?!0:C.start>N||(_(P.end)?1/0:P.end)<N}async function O(N){let C=r.getStatus(E),P=N.filter(W=>W.adaptation.type===E);if(P.length===0||C.type!=="initialized"||P.every(W=>W.representation.decipherable===!0))return;let D=C.value,F=P.filter(W=>W.representation.decipherable===void 0),V=P.filter(W=>W.representation.decipherable===!1),$=Jo(D,V),q=Jo(D,F);for(A=!1,m.info("Stream: Destroying all PeriodStreams for decipherability matters",E);k.length()>0;){let W=k.get(k.length()-1);k.removeElement(W),a.periodStreamCleared({type:E,manifest:d,period:W})}M.cancel(),M=new B,M.linkToSignal(s);for(let{start:W,end:z}of[...$,...q]){if(s.isCancelled())return;if(W<z){if(s.isCancelled())return;await D.removeBuffer(W,z)}}_t(()=>{if(s.isCancelled())return;let W=e.getReference().getValue();if(sf(W,$)){if(a.needsDecipherabilityFlush(),s.isCancelled())return}else if(sf(W,q)&&(a.needsBufferFlush(),s.isCancelled()))return;let z=W.position.getWanted(),H=d.getPeriodForTime(z);if(H===void 0){a.error(new J("MEDIA_TIME_NOT_FOUND","The wanted position is not found in the Manifest."));return}x(H)})}}function v(E,R,k,A){m.info("Stream: Creating new Stream for",E,R.start);let M=null,x=new B;x.linkToSignal(A),e.listen(({position:P},D)=>{if(R.end!==void 0&&P.getWanted()>=R.end){let F=d.getPeriodAfter(R);if(R.containsTime(P.getWanted(),F))return;m.info("Stream: Destroying PeriodStream as the current playhead moved above it",E,R.start,P.getWanted(),R.end),D(),k.periodStreamCleared({type:E,manifest:d,period:R}),x.cancel()}},{clearSignal:A,includeLastObservation:!0});let L={bufferType:E,content:{manifest:d,period:R},garbageCollectors:b,maxVideoBufferSize:g,segmentFetcherCreator:i,segmentSinksStore:r,options:o,playbackObserver:e,representationEstimator:t,wantedBufferAhead:f},O=de(ie({},k),{streamStatusUpdate(P){if(P.hasFinishedLoading){let D=d.getPeriodAfter(R);D!==null&&N(D)}else M!==null&&(m.info("Stream: Destroying next PeriodStream due to current one being active",E,M.period.start),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel(),M=null);k.streamStatusUpdate(P)},error(P){M!==null&&(M.canceller.cancel(),M=null),x.cancel(),k.error(P)}});af(L,O,x.signal),C(x.signal);function N(P){if(M!==null){if(M.period.id===P.id)return;m.warn("Stream: Creating next `PeriodStream` while one was already created.",E,P.id,M.period.id),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel()}let D=new B;D.linkToSignal(A),M={canceller:D,period:P},v(E,P,k,M.canceller.signal)}function C(P){d.addEventListener("manifestUpdate",D=>{for(let F of D.removedPeriods)if(F.id===R.id){if(d.periods.length>0&&d.periods[0].start<=F.start)return _t(()=>{if(!P.isCancelled())return a.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(F.start>R.start)break;if(D.addedPeriods.length>0&&M!==null){let F=d.getPeriodAfter(R);(F===null||M.period.id!==F.id)&&(m.warn("Stream: Destroying next PeriodStream due to new one being added",E,M.period.start),k.periodStreamCleared({type:E,manifest:d,period:M.period}),M.canceller.cancel(),M=null)}},P)}}}function sf(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var df=dd;var uf=df;var oh={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},ci=oh;function ea(n){for(let e=0;e<n.length;e++){let t=n[e];if(typeof t=="function")t(ci);else if(!_(t)&&typeof t._addFeature=="function")t._addFeature(ci);else throw new Error("Unrecognized feature")}}var me=ci;var ah={createSync(n){return{syncValue:n,getValueAsAsync(){return Promise.resolve(n)}}},createAsync(n){let e=null;return n.then(t=>{e=t},Z),{syncValue:e,getValueAsAsync(){return n}}}},lf=ah;var Gn=class extends oe{};function ud(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=X(n.sourceBuffers,s=>s.type==="audio"),i=X(n.sourceBuffers,s=>s.type==="video"),o=r==null?void 0:r.getBuffered();o!==void 0&&(t.audio=o);let a=i==null?void 0:i.getBuffered();return a!==void 0&&(t.video=a),t}function ld(n,{autoPlay:e,initialPlayPerformed:t,manifest:r,mediaSource:i,speed:o,textDisplayer:a},s){return n.deriveReadOnlyObserver(function(u,c){let l=new B;l.linkToSignal(c),l.linkToSignal(s);let f=new G(g(),l.signal);return o.onUpdate(p,{clearSignal:l.signal,emitCurrentValue:!1}),u.onUpdate(p,{clearSignal:l.signal,emitCurrentValue:!1}),f;function g(){let h=u.getValue(),y=o.getValue();return sh(h,r),{maximumPosition:bt(r),bufferGap:h.bufferGap,position:h.position,buffered:ud(i,a),duration:h.duration,rebuffering:h.rebuffering,freezing:h.freezing,paused:{last:h.paused,pending:dh(t,e)},readyState:h.readyState,speed:y}}function p(){f.setValue(g())}})}function sh(n,e){if(!e.isDynamic||e.isLastPeriodKnown){let t=e.periods[e.periods.length-1];if(t!==void 0&&t.end!==void 0){let r=n.position.getWanted();if(r>=t.start&&r>=t.end-1){let i=n.buffered;(i.length===0||i.end(i.length-1)<n.duration-1)&&n.position.forceWantedPosition(t.end-1)}}}}function dh(n,e){return n.getValue()?void 0:!e}function qn(n){let{textTracks:e}=n;if(!_(e)){for(let t=0;t<e.length;t++)e[t].mode="disabled";if(n.hasChildNodes()){let{childNodes:t}=n;for(let r=t.length-1;r>=0;r--)if(t[r].nodeName==="track")try{n.removeChild(t[r])}catch(i){m.warn("Compat: Could not remove text track child from element.")}}}n.src="",n.removeAttribute("src")}function cd(n,e){if(typeof n.changeType=="function"){try{n.changeType(e)}catch(t){return m.warn("Could not call 'changeType' on the given SourceBuffer:",t instanceof Error?t:""),!1}return!0}return!1}function uh(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function fi(n,e){if(m.debug("Init: Trying to call endOfStream"),n.readyState!=="open"){m.debug("Init: MediaSource not open, cancel endOfStream");return}let{sourceBuffers:t}=n,r=uh(t);if(r.length===0){m.info("Init: Triggering end of stream");try{n.endOfStream()}catch(o){m.error("Unable to call endOfStream",o instanceof Error?o:new Error("Unknown error"))}return}m.debug("Init: Waiting SourceBuffers to be updated before calling endOfStream.");let i=new B;i.linkToSignal(e);for(let o of r)ac(o,()=>{i.cancel(),fi(n,e)},i.signal);sc(t,()=>{i.cancel(),fi(n,e)},i.signal)}function cf(n,e){let t=new B;t.linkToSignal(e),Dn(n,()=>{m.debug("Init: MediaSource re-opened while end-of-stream is active"),t.cancel(),t=new B,t.linkToSignal(e),fi(n,t.signal)},e),fi(n,t.signal)}function fd(){return ln}var lh=365*24*3600,mi=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new B;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,o=mh(r,i),a=new B;a.linkToSignal(i),o.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(a.cancel(),!o.getValue())return;a=new B,a.linkToSignal(i);let d=fh(r.sourceBuffers,a.signal),u=new B;return u.linkToSignal(a.signal),d.onUpdate(c=>{u.cancel(),u=new B,u.linkToSignal(a.signal),!c&&mf(r,e,t,u.signal)},{clearSignal:a.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function ch(n,e,t){let r=e;t||(r=fd()?1/0:ff(e));let i=0;for(let o=0;o<n.sourceBuffers.length;o++){let a=n.sourceBuffers[o],s=a.buffered.length;s>0&&(i=Math.max(a.buffered.end(s-1)))}if(r===n.duration)return"success";if(i>r){if(i<n.duration)try{m.info("Init: Updating duration to what is currently buffered",i),n.duration=i}catch(o){return m.warn("Duration Updater: Can't update duration on the MediaSource.",o instanceof Error?o:""),"failed"}return"partial"}else{let o=n.duration;try{if(m.info("Init: Updating duration",r),n.duration=r,n.readyState==="open"&&!isFinite(r)){let s=ff(e);m.info("Init: calling `mediaSource.setLiveSeekableRange`",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn("Duration Updater: Can't update duration on the MediaSource.",s instanceof Error?s:""),"failed"}let a=Math.abs(n.duration-r);if(a>=.1){let s=Math.abs(n.duration-o);return a<s?"partial":"failed"}return"success"}}function fh(n,e){if(n.length===0){let i=new G(!1);return i.finish(),i}let t=new G(!1,e);r();for(let i=0;i<n.length;i++){let o=n[i];o.addEventListener("updatestart",r),o.addEventListener("update",r),e.register(()=>{o.removeEventListener("updatestart",r),o.removeEventListener("update",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function mh(n,e){let t=new G(n.readyState==="open",e);return Dn(n,()=>{m.debug("Init: Reacting to MediaSource open in duration updater"),t.setValueIfChanged(!0)},e),_o(n,()=>{m.debug("Init: Reacting to MediaSource ended in duration updater"),t.setValueIfChanged(!1)},e),To(n,()=>{m.debug("Init: Reacting to MediaSource close in duration updater"),t.setValueIfChanged(!1)},e),t}function mf(n,e,t,r){if(ch(n,e,t)==="success")return;let o=setTimeout(()=>{a(),mf(n,e,t,r)},2e3),a=r.register(()=>{clearTimeout(o)})}function ff(n){return Math.max(Math.pow(2,32),n+lh)}var pi=class extends oe{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new B,_(an))throw new J("MEDIA_SOURCE_NOT_SUPPORTED","No MediaSource Object was found in the current browser.");m.info("Init: Creating MediaSource");let t=new an,r=t.handle;this.handle=_(r)?{type:"media-source",value:t}:{type:"handle",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new mi(t),this._endOfStreamCanceller=null,Dn(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceOpen",null)},this._canceller.signal),_o(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceEnded",null)},this._canceller.signal),To(t,()=>{this.readyState=t.readyState,this.trigger("mediaSourceClose",null)},this._canceller.signal)}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new md(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(){this._durationUpdater.stopUpdating()}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new B,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug("Init: end-of-stream order received."),cf(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug("Init: resume-stream order received."),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),ph(this._mediaSource)}},md=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new B,this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=a=>{let s;a instanceof Error?s=a:a.error instanceof Error?s=a.error:s=new Error("Unknown SourceBuffer Error");let d=this._currentOperations;if(this._currentOperations=[],d.length===0)m.error("SBI: error for an unknown operation",s);else{let u=new it(s.name,s.message,s.name==="QuotaExceededError");for(let c of d)c.reject(u)}},o=()=>{let a=this._currentOperations;this._currentOperations=[];try{for(let s of a)s.resolve(Pe(this._sourceBuffer.buffered))}catch(s){for(let d of a)s instanceof Error&&s.name==="InvalidStateError"?d.resolve([]):d.reject(s)}this._performNextOperation()};r.addEventListener("updateend",o),r.addEventListener("error",i),this._canceller.signal.register(()=>{r.removeEventListener("updateend",o),r.removeEventListener("error",i)})}appendBuffer(...e){return m.debug("SBI: receiving order to push data to the SourceBuffer",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug("SBI: receiving order to remove data from the SourceBuffer",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return Pe(this._sourceBuffer.buffered)}catch(e){return m.error("Failed to get buffered time range of SourceBuffer",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug("Init: Failed to abort SourceBuffer:",e instanceof Error?e:null)}this._emptyCurrentQueue()}dispose(){try{this._sourceBuffer.abort()}catch(e){}this._emptyCurrentQueue()}_emptyCurrentQueue(){let e=new Me;this._currentOperations.length>0&&(this._currentOperations.forEach(t=>{t.reject(e)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(t=>{t.reject(e)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,o=j({resolve:t,reject:r},e);this._operationQueue.push(o),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,o,a;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],d=e.params[1],u=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let c;s instanceof ArrayBuffer?c=new Uint8Array(s):s instanceof Uint8Array?c=s:c=new Uint8Array(s.buffer);let l=[c];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let f=this._operationQueue[0],g=(r=d.appendWindow)!=null?r:[void 0,void 0],p=(i=f.params[1].appendWindow)!=null?i:[void 0,void 0],h=(o=d.timestampOffset)!=null?o:0,y=(a=f.params[1].timestampOffset)!=null?a:0;if(g[0]===p[0]&&g[1]===p[1]&&d.codec===f.params[1].codec&&h===y){let b=f.params[0],T;b instanceof ArrayBuffer?T=new Uint8Array(b):b instanceof Uint8Array?T=b:T=new Uint8Array(b.buffer),l.push(T),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:f.resolve,reject:f.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),u=re(...l))}try{this._appendBufferNow(u,d)}catch(c){let l=c instanceof Error?new it(c.name,c.message,c.name==="QuotaExceededError"):new it("Error","Unknown SourceBuffer Error during appendBuffer",!1);this._currentOperations.forEach(f=>{f.reject(l)}),this._currentOperations=[]}}else{this._currentOperations=[e];let[s,d]=e.params;m.debug("SBI: removing data from SourceBuffer",this.type,s,d);try{this._sourceBuffer.remove(s,d)}catch(u){let c=u instanceof Error?new it(u.name,u.message,!1):new it("Error","Unknown SourceBuffer Error during remove",!1);e.reject(c),this._currentOperations=[]}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:o,appendWindow:a=[]}=t;if(i!==void 0&&i!==this.codec&&(m.debug("SBI: updating codec",i),cd(r,i)?this.codec=i:m.debug("SBI: could not update codec",i,this.codec)),o!==void 0&&r.timestampOffset!==o){let s=o;m.debug("SBI: updating timestampOffset",i,r.timestampOffset,s),r.timestampOffset=s}if(a[0]===void 0)r.appendWindowStart>0&&(m.debug("SBI: re-setting `appendWindowStart` to `0`"),r.appendWindowStart=0);else if(a[0]!==r.appendWindowStart){if(a[0]>=r.appendWindowEnd){let s=a[0]+1;m.debug("SBI: pre-updating `appendWindowEnd`",s),r.appendWindowEnd=s}m.debug("SBI: setting `appendWindowStart`",a[0]),r.appendWindowStart=a[0]}a[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug("SBI: re-setting `appendWindowEnd` to `Infinity`"),r.appendWindowEnd=1/0):a[1]!==r.appendWindowEnd&&(m.debug("SBI: setting `appendWindowEnd`",a[1]),r.appendWindowEnd=a[1]),m.debug("SBI: pushing segment",this.type),r.appendBuffer(e)}};function ph(n){if(n.readyState!=="closed"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e==="open"){m.info("Init: Aborting SourceBuffer before removing");try{i.abort()}catch(o){}}m.info("Init: Removing SourceBuffer from mediaSource"),n.removeSourceBuffer(i)}catch(o){}}t.length>0&&m.info("Init: Not all SourceBuffers could have been removed.")}}var gh=Ze();function pd(n,e){if(e!==null&&n.src===e&&(m.info("Init: Clearing HTMLMediaElement's src"),qn(n)),e!==null)try{m.debug("Init: Revoking previous URL"),URL.revokeObjectURL(e)}catch(t){m.warn("Init: Error while revoking the media source URL",t instanceof Error?t:"")}}function hh(n,e){let t=w(n.src)?n.src:null;pd(n,t);let r=new pi(gh());return e.register(()=>{r.dispose()}),r}function ta(n,e){return ot(e,t=>{let r=hh(n,e);if(r.addEventListener("mediaSourceOpen",()=>{m.info("Init: MediaSource opened"),t(r)},e),m.info("MTCI: Attaching MediaSource URL to the media element"),r.handle.type==="handle")n.srcObject=r.handle.value,e.register(()=>{pd(n,null)});else{let i=URL.createObjectURL(r.handle.value);n.src=i,e.register(()=>{pd(n,i)})}})}function gd(n,e,t){var i;if(!_(t)){let o=hn(n),a=bt(n);if(_(t.position))if(_(t.wallClockTime))if(_(t.fromFirstPosition))if(_(t.fromLastPosition))if(_(t.fromLivePosition)){if(!_(t.percentage)){m.debug("Init: using startAt.percentage");let{percentage:s}=t;if(s>100)return a;if(s<0)return o;let d=+s/100,u=a-o;return o+u*d}}else{m.debug("Init: using startAt.fromLivePosition");let s=(i=yn(n))!=null?i:a,{fromLivePosition:d}=t;return d>=0?s:Math.max(o,s+d)}else{m.debug("Init: using startAt.fromLastPosition");let{fromLastPosition:s}=t;return s>=0?a:Math.max(o,a+s)}else{m.debug("Init: using startAt.fromFirstPosition");let{fromFirstPosition:s}=t;return s<=0?o:Math.min(a,o+s)}else{m.debug("Init: using startAt.wallClockTime");let s=n.availabilityStartTime===void 0?0:n.availabilityStartTime,d=t.wallClockTime-s;return Math.max(Math.min(d,a),o)}else return m.debug("Init: using startAt.minimumPosition"),Math.max(Math.min(t.position,a),o)}let r=hn(n);if(n.isLive){let{suggestedPresentationDelay:o,clockOffset:a}=n,s=bt(n),d,{DEFAULT_LIVE_GAP:u}=U.getCurrent();if(a===void 0)m.info("Init: no clock offset found for a live content, starting close to maximum available position"),d=s;else{m.info("Init: clock offset found for a live content, checking if we can start close to it");let l=n.availabilityStartTime===void 0?0:n.availabilityStartTime,f=(K()+a)/1e3-l;d=Math.min(s,f)}let c=o!=null?o:e?u.LOW_LATENCY:u.DEFAULT;return m.debug(`Init: ${d} defined as the live time, applying a live gap of ${c}`),Math.max(d-c,r)}return m.info("Init: starting at the minimum available position:",r),r}function gi(){return La}function hd(n){return!(n&&un)}function yd(){return ln}function hi(n,e,t,r){let i=new B;i.linkToSignal(r);let o=new G(!1,i.signal);return n.listen(a=>{if(a.rebuffering!==null||a.freezing!==null||a.readyState===0)return;if(!hd(t)){if(isNaN(e.duration))return;if(e.duration>0){o.setValue(!0),i.cancel();return}}let s=yd()?4:3;if(a.readyState>=s&&(a.currentRange!==null||a.ended)&&(!gi()||e.duration>0)){o.setValue(!0),i.cancel();return}},{includeLastObservation:!0,clearSignal:i.signal}),o}var yh=!un,pf=yh;var jn=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function yi({mediaElement:n,playbackObserver:e,startTime:t,mustAutoPlay:r,isDirectfile:i,onWarning:o},a){let s=new G(!1,a);return{autoPlayResult:new Promise((u,c)=>{let l=a.register(b=>{c(b)});if(a.isCancelled())return;let f=!1,g=b=>{e.setCurrentTime(b),f=!0};if(!i||typeof t=="number"){let b=typeof t=="number"?t:t();b!==0&&g(b),p()}else e.listen((b,T)=>{if(b.readyState>=1){T();let v=typeof t=="number"?t:t();v!==0&&(pf?g(v):setTimeout(()=>{g(v)},0)),p()}},{includeLastObservation:!0,clearSignal:a});function p(){let b=!1;e.listen((T,v)=>{if(!b&&(T.seeking!==0||T.event==="seeking"||T.event==="internal-seeking")&&(b=!0),!(f&&!b||T.readyState===0)){if(v(),gi()&&n.duration===0){let E=new J("MEDIA_ERR_NOT_LOADED_METADATA","Cannot load automatically: your browser falsely announced having loaded the content.");o(E)}a.isCancelled()||h()}},{includeLastObservation:!0,clearSignal:a})}function h(){e.listen((b,T)=>{b.seeking===0&&b.rebuffering===null&&b.readyState>=1&&(T(),y())},{includeLastObservation:!0,clearSignal:a})}function y(){var T;if(m.info("Init: Can begin to play content"),r){if(n.ended)return m.warn("Init: autoplay is enabled but the video is ended. Skipping autoplay to prevent video to start again"),s.setValue(!0),s.finish(),l(),u({type:"skipped"})}else return n.autoplay&&m.warn("Init: autoplay is enabled on HTML media element. Media will play as soon as possible."),s.setValue(!0),s.finish(),l(),u({type:"skipped"});let b;try{b=(T=n.play())!=null?T:Promise.resolve()}catch(v){return l(),c(v)}b.then(()=>{if(!a.isCancelled())return s.setValue(!0),s.finish(),l(),u({type:"autoplay"})}).catch(v=>{if(l(),!a.isCancelled())if(v instanceof Error&&v.name==="NotAllowedError"){m.warn("Init: Media element can't play. It may be due to browser auto-play policies.");let E=new J("MEDIA_ERR_BLOCKED_AUTOPLAY","Cannot trigger auto-play automatically: your browser does not allow it.");return o(E),a.isCancelled()?void 0:u({type:"autoplay-blocked"})}else c(v)})}}),initialPlayPerformed:s}}function Ii(n,e,t,r){if(e.length===0)return u("No `keySystems` option given.");if(me.decrypt===null)return u("EME feature not activated.");let i=new B;i.linkToSignal(r);let o=new G({initializationState:{type:"uninitialized",value:null},drmSystemId:void 0},r),a=me.decrypt;if(!a.hasEmeApis())return u("EME API not available on the current page.");m.debug("Init: Creating ContentDecryptor");let s=new a(n,e),d=c=>{var l;c>0&&((l=t.onCodecSupportUpdate)==null||l.call(t),s.removeEventListener("stateChange",d))};return s.addEventListener("stateChange",d),s.addEventListener("stateChange",c=>{if(c===1){let l=new G(!1);l.onUpdate((f,g)=>{f&&(g(),c===1&&s.attach())},{clearSignal:i.signal}),o.setValue({initializationState:{type:"awaiting-media-link",value:{isMediaLinked:l}},drmSystemId:s.systemId})}else c===2&&(o.setValue({initializationState:{type:"initialized",value:null},drmSystemId:s.systemId}),s.removeEventListener("stateChange"))}),s.addEventListener("error",c=>{i.cancel(),t.onError(c)}),s.addEventListener("warning",c=>{t.onWarning(c)}),s.addEventListener("blackListProtectionData",c=>{t.onBlackListProtectionData(c)}),s.addEventListener("keyIdsCompatibilityUpdate",c=>{t.onKeyIdsCompatibilityUpdate(c)}),i.signal.register(()=>{s.dispose()}),{statusRef:o,contentDecryptor:{enabled:!0,value:s}};function u(c){let l=new pe("MEDIA_IS_ENCRYPTED_ERROR",c),f=new G({initializationState:{type:"initialized",value:null},drmSystemId:void 0});return f.finish(),{statusRef:f,contentDecryptor:{enabled:!1,value:l}}}}var bi=class{constructor(e){this._displayer=e}pushTextData(e){try{return Promise.resolve(this._displayer.pushTextData(e))}catch(t){return Promise.reject(t)}}remove(e,t){try{return Promise.resolve(this._displayer.removeBuffer(e,t))}catch(r){return Promise.reject(r)}}reset(){this._displayer.reset()}stop(){this._displayer.stop()}};var Si=1/60,Sn=class extends oe{constructor(e,t,r){super(),this._playbackObserver=e,this._manifest=t,this._speed=r,this._discontinuitiesStore=[],this._isStarted=!1,this._canceller=new B}start(){if(this._isStarted)return;this._isStarted=!0;let e=new Sd(this._playbackObserver,this._speed);this._canceller.signal.register(()=>{e.dispose()});let t=null;this._playbackObserver.listen(r=>{let i=this._discontinuitiesStore,{buffered:o,position:a,readyState:s,rebuffering:d,freezing:u}=r,{BUFFER_DISCONTINUITY_THRESHOLD:c,FREEZING_STALLED_DELAY:l,UNFREEZING_SEEK_DELAY:f,UNFREEZING_DELTA_POSITION:g}=U.getCurrent();if(u!==null){let T=K(),v=t===null?u.timestamp:t.attemptTimestamp;if(!a.isAwaitingFuturePosition()&&T-v>f&&(m.warn("Init: trying to seek to un-freeze player"),this._playbackObserver.setCurrentTime(this._playbackObserver.getCurrentTime()+g),t={attemptTimestamp:T}),T-u.timestamp>l){d===null?e.stopRebuffering():e.startRebuffering(),this.trigger("stalled","freezing");return}}else t=null;if(d===null){if(e.stopRebuffering(),s===1){let T;r.seeking!==0?T=r.seeking===1?"internal-seek":"seeking":T="not-ready",this.trigger("stalled",T);return}this.trigger("unstalled",null);return}let p=d.reason==="seeking"&&r.seeking===1?"internal-seek":d.reason;if(a.isAwaitingFuturePosition()){e.stopRebuffering(),m.debug("Init: let rebuffering happen as we're awaiting a future position"),this.trigger("stalled",p);return}if(e.startRebuffering(),this._manifest===null){this.trigger("stalled",p);return}let{position:h}=d;if(h!=null&&this._speed.getValue()>0){let T=Ih(i,this._manifest,h);if(T!==null){let v=T+.001;if(v<=this._playbackObserver.getCurrentTime())m.info("Init: position to seek already reached, no seeking",this._playbackObserver.getCurrentTime(),v);else{m.warn("SA: skippable discontinuity found in the stream",a.getPolled(),v),this._playbackObserver.setCurrentTime(v),this.trigger("warning",bd(h,v));return}}}let y=h!=null?h:a.getPolled(),b=Fl(o,y);if(this._speed.getValue()>0&&b<c){let T=y+b+Si;if(this._playbackObserver.getCurrentTime()<T){m.warn("Init: discontinuity encountered inferior to the threshold",y,T,c),this._playbackObserver.setCurrentTime(T),this.trigger("warning",bd(y,T));return}}for(let T=this._manifest.periods.length-2;T>=0;T--){let v=this._manifest.periods[T];if(v.end!==void 0&&v.end<=y){if(this._manifest.periods[T+1].start>y&&this._manifest.periods[T+1].start>this._playbackObserver.getCurrentTime()){let E=this._manifest.periods[T+1];this._playbackObserver.setCurrentTime(E.start),this.trigger("warning",bd(y,E.start));return}break}}this.trigger("stalled",p)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}updateDiscontinuityInfo(e){this._isStarted||this.start();let t=this._playbackObserver.getReference().getValue();bh(this._discontinuitiesStore,e,t)}onLockedStream(e,t){var s;this._isStarted||this.start();let r=this._playbackObserver.getReference().getValue();if(!r.rebuffering||r.paused||this._speed.getValue()<=0||e!=="audio"&&e!=="video")return;let i=r.position.getWanted(),o=(s=r.rebuffering.position)!=null?s:i,a=t.start;i<a&&Math.abs(o-a)<1&&(m.warn(`Init: rebuffering because of a future locked stream.
4
+ Trying to unlock by seeking to the next Period`),this._playbackObserver.setCurrentTime(a+.001))}destroy(){this._canceller.cancel()}};function Ih(n,e,t){if(n.length===0)return null;let r=null;for(let i of n){let{period:o}=i;if(o.start>t)return r;let a;if(o.end===void 0||o.end>t){let{discontinuity:s,position:d}=i,{start:u,end:c}=s,l=u!=null?u:d;if(t>=l-Si)if(c===null){let f=Wo(e,o);f!==null?a=f.start+Si:m.warn("Init: discontinuity at Period's end but no next Period")}else t<c+Si&&(a=c+Si);a!==void 0&&(m.info("Init: discontinuity found",t,a),r=r!==null&&r>a?r:a)}}return r}function Id(n){return n.discontinuity!==null}function bh(n,e,t){let r=Math.min(t.position.getPolled(),t.position.getWanted());for(;n.length>0&&n[0].period.end!==void 0&&n[0].period.end+10<r;)n.shift();let{period:i,bufferType:o}=e;if(!(o!=="audio"&&o!=="video")){for(let a=0;a<n.length;a++)if(n[a].period.id===i.id){if(n[a].bufferType===o){Id(e)?n[a]=e:n.splice(a,1);return}}else if(n[a].period.start>i.start){Id(e)&&n.splice(a,0,e);return}Id(e)&&n.push(e)}}function bd(n,e){return new J("DISCONTINUITY_ENCOUNTERED","A discontinuity has been encountered at position "+String(n)+", seeked at position "+String(e))}var Sd=class{constructor(e,t){this._speedUpdateCanceller=new B,this._isRebuffering=!1,this._playbackObserver=e,this._isDisposed=!1,this._speed=t,this._updateSpeed()}startRebuffering(){this._isRebuffering||this._isDisposed||(this._isRebuffering=!0,this._speedUpdateCanceller.cancel(),m.info("Init: Pause playback to build buffer"),this._playbackObserver.setPlaybackRate(0))}stopRebuffering(){!this._isRebuffering||this._isDisposed||(this._isRebuffering=!1,this._speedUpdateCanceller=new B,this._updateSpeed())}dispose(){this._speedUpdateCanceller.cancel(),this._isDisposed=!0}_updateSpeed(){this._speed.onUpdate(e=>{m.info("Init: Resume playback speed",e),this._playbackObserver.setPlaybackRate(e)},{clearSignal:this._speedUpdateCanceller.signal,emitCurrentValue:!0})}};function Sh(n,e){return n.id===e.id&&n.start===e.start&&n.end===e.end}var gf=Sh;function Th(n,e){let t=[],{periods:r}=e;for(let i of r){let{streamEvents:o}=i;o.forEach(({start:a,end:s,id:d,data:u})=>{for(let f of n)if(gf(f,{id:d,start:a,end:s})){t.push(f);return}let c;if(u.value.element!==void 0)c=u.value.element;else if(u.value.xmlData!==void 0){let f=u.value.xmlData.namespaces.reduce((p,h)=>p+"xmlns:"+h.key+'="'+h.value+'" ',"<toremove ");f+=">";let g=new DOMParser().parseFromString(f+u.value.xmlData.data+"</toremove>","application/xml").documentElement;c=g.children.length>0?g.children[0]:g.childNodes[0]}else return;let l={type:u.type,value:de(ie({},u.value),{element:c})};if(s===void 0){let f={start:a,id:d,data:l,publicEvent:{start:a,data:l}};t.push(f)}else{let f={start:a,end:s,id:d,data:l,publicEvent:{start:a,end:s,data:l}};t.push(f)}})}return t}var Td=Th;var Ti=class extends oe{constructor(e,t,r){super(),this._manifest=e,this._mediaElement=t,this._playbackObserver=r,this._canceller=null,this._scheduledEventsRef=new G([]),this._eventsBeingPlayed=new WeakMap}start(){if(this._canceller!==null)return;this._canceller=new B;let e=this._canceller.signal,t=this._playbackObserver,r=this._mediaElement,i=!1,o=new B;o.linkToSignal(e),this._scheduledEventsRef.setValue(Td([],this._manifest)),this._scheduledEventsRef.onUpdate(({length:a})=>{if(a===0){i&&(o.cancel(),o=new B,o.linkToSignal(e),i=!1);return}else if(i)return;i=!0;let s=l(),d=()=>{let f=l();this._emitStreamEvents(this._scheduledEventsRef.getValue(),s,f,o.signal),s=f},{STREAM_EVENT_EMITTER_POLL_INTERVAL:u}=U.getCurrent(),c=setInterval(d,u);t.listen(d,{includeLastObservation:!1,clearSignal:o.signal}),o.signal.register(()=>{clearInterval(c)});function l(){let f=t.getReference().getValue(),g=r.currentTime,p=f.seeking!==0;return{currentTime:g,isSeeking:p}}},{emitCurrentValue:!0,clearSignal:e})}onManifestUpdate(e){let t=this._scheduledEventsRef.getValue();this._scheduledEventsRef.setValue(Td(t,e))}stop(){this._canceller!==null&&(this._canceller.cancel(),this._canceller=null)}_emitStreamEvents(e,t,r,i){let{currentTime:o}=t,{isSeeking:a,currentTime:s}=r,d=[],u=[];for(let c=0;c<e.length;c++){let l=e[c],f=l.start,g=_d(l)?l.end:void 0;this._eventsBeingPlayed.has(l)?(f>s||g!==void 0&&s>=g)&&(_d(l)&&u.push(l.publicEvent),this._eventsBeingPlayed.delete(l)):f<=s&&g!==void 0&&s<g?(d.push({type:"stream-event",value:l.publicEvent}),this._eventsBeingPlayed.set(l,!0)):o<f&&s>=(g!=null?g:f)&&(a?d.push({type:"stream-event-skip",value:l.publicEvent}):(d.push({type:"stream-event",value:l.publicEvent}),_d(l)&&u.push(l.publicEvent)))}if(d.length>0){for(let c of d)if(c.type==="stream-event"?this.trigger("event",c.value):this.trigger("eventSkip",c.value),i.isCancelled())return}if(u.length>0){for(let c of u)if(typeof c.onExit=="function"&&c.onExit(),i.isCancelled())return}}};function _d(n){return n.end!==void 0}var hf=Ti;function _i(n,e,t){if(t.isCancelled())return;n.addEventListener("error",r),t.register(()=>{n.removeEventListener("error",r)});function r(){let i=n.error,o,a;switch(_(i)||(o=i.code,a=i.message),o){case 1:return a=a!=null?a:"The fetching of the associated resource was aborted by the user's request.",e(new J("MEDIA_ERR_ABORTED",a));case 2:return a=a!=null?a:"A network error occurred which prevented the media from being successfully fetched",e(new J("MEDIA_ERR_NETWORK",a));case 3:return a=a!=null?a:"An error occurred while trying to decode the media resource",e(new J("MEDIA_ERR_DECODE",a));case 4:return a=a!=null?a:"The media resource has been found to be unsuitable.",e(new J("MEDIA_ERR_SRC_NOT_SUPPORTED",a));default:return a=a!=null?a:"The HTMLMediaElement errored due to an unknown reason.",e(new J("MEDIA_ERR_UNKNOWN",a))}}}var Tn=class extends Gn{constructor(e){super(),this._settings=e,this._initCanceller=new B,this._manifest=null,this._decryptionCapabilities={status:"uninitialized",value:null};let t=e.url===void 0?void 0:[e.url];this._cmcdDataBuilder=e.cmcd===void 0?null:new Xl(e.cmcd),this._manifestFetcher=new Ws(t,e.transport,de(ie({},e.manifestRequestSettings),{lowLatencyMode:e.lowLatencyMode,cmcdDataBuilder:this._cmcdDataBuilder}))}prepare(){this._manifest===null&&(this._manifest=lf.createAsync(ot(this._initCanceller.signal,(e,t)=>{this._manifestFetcher.addEventListener("warning",r=>this.trigger("warning",r)),this._manifestFetcher.addEventListener("error",r=>{this.trigger("error",r),t(r)}),this._manifestFetcher.addEventListener("manifestReady",r=>{e(r)})})),this._manifestFetcher.start(),this._initCanceller.signal.register(()=>{this._manifestFetcher.dispose()}))}start(e,t){this.prepare(),_i(e,r=>this._onFatalError(r),this._initCanceller.signal),this._initializeMediaSourceAndDecryption(e).then(r=>this._onInitialMediaSourceReady(e,r.mediaSource,t,r.drmSystemId,r.unlinkMediaSource)).catch(r=>{this._onFatalError(r)})}updateContentUrls(e,t){this._manifestFetcher.updateContentUrls(e,t)}dispose(){this._initCanceller.cancel()}_onFatalError(e){this._initCanceller.isUsed()||(this._initCanceller.cancel(),this.trigger("error",e))}_initializeMediaSourceAndDecryption(e){let t=this._initCanceller;return ot(t.signal,r=>{let{keySystems:i}=this._settings,{statusRef:o,contentDecryptor:a}=Ii(e,i,{onWarning:s=>this.trigger("warning",s),onError:s=>this._onFatalError(s),onBlackListProtectionData:s=>{(async()=>{var u;if(this._manifest===null)return;let d=(u=this._manifest.syncValue)!=null?u:await this._manifest.getValueAsAsync();Eh(d,s)})().catch(Z)},onKeyIdsCompatibilityUpdate:s=>{(async()=>{var u;if(this._manifest===null)return;let d=(u=this._manifest.syncValue)!=null?u:await this._manifest.getValueAsAsync();_h(d,s.whitelistedKeyIds,s.blacklistedKeyIds,s.delistedKeyIds)})().catch(Z)},onCodecSupportUpdate:()=>{var d,u;let s=(d=this._manifest)==null?void 0:d.syncValue;_(s)?(u=this._manifest)==null||u.getValueAsAsync().then(c=>{this._initCanceller.isUsed()||this._refreshManifestCodecSupport(c)},Z):this._refreshManifestCodecSupport(s)}},t.signal);a.enabled?this._decryptionCapabilities={status:"enabled",value:a.value}:this._decryptionCapabilities={status:"disabled",value:a.value},o.onUpdate((s,d)=>{if(s.initializationState.type==="uninitialized")return;d();let u=new B;u.linkToSignal(t.signal),ta(e,u.signal).then(c=>{let l=o.getValue();if(l.initializationState.type==="awaiting-media-link")l.initializationState.value.isMediaLinked.setValue(!0),o.onUpdate((f,g)=>{if(f.initializationState.type==="initialized"){g(),r({mediaSource:c,drmSystemId:f.drmSystemId,unlinkMediaSource:u});return}},{emitCurrentValue:!0,clearSignal:t.signal});else if(s.initializationState.type==="initialized"){r({mediaSource:c,drmSystemId:s.drmSystemId,unlinkMediaSource:u});return}}).catch(c=>{u.isUsed()||this._onFatalError(c)})},{emitCurrentValue:!0,clearSignal:t.signal})})}async _onInitialMediaSourceReady(e,t,r,i,o){var x;let{adaptiveOptions:a,autoPlay:s,bufferOptions:d,lowLatencyMode:u,segmentRequestOptions:c,speed:l,startAt:f,textTrackOptions:g,transport:p}=this._settings,h=this._initCanceller;te(this._manifest!==null);let y;try{y=(x=this._manifest.syncValue)!=null?x:await this._manifest.getValueAsAsync()}catch(L){return}y.addEventListener("manifestUpdate",L=>{this.trigger("manifestUpdate",L),this._refreshManifestCodecSupport(y)},h.signal),y.addEventListener("decipherabilityUpdate",L=>{this.trigger("decipherabilityUpdate",L)},h.signal),y.addEventListener("supportUpdate",()=>{this.trigger("codecSupportUpdate",null)},h.signal),m.debug("Init: Calculating initial time");let b=gd(y,u,f);m.debug("Init: Initial time calculated:",b);let T=Ql(a),v=j({textTrackOptions:g,drmSystemId:i},d),E=new Ys(p,this._cmcdDataBuilder,c,h.signal);if(this._refreshManifestCodecSupport(y),this.trigger("manifestReady",y),h.isUsed())return;let R=this._startBufferingOnMediaSource.bind(this),k=this.trigger.bind(this),A=this._onFatalError.bind(this);M(t,b,s,o);function M(L,O,N,C){R({mediaElement:e,playbackObserver:r,mediaSource:L,initialTime:O,autoPlay:N,manifest:y,representationEstimator:T,segmentFetcherCreator:E,speed:l,bufferOptions:v},D,C.signal);function D(F){if(C.cancel(),h.isUsed()||(k("reloadingMediaSource",F),h.isUsed()))return;let V=new B;V.linkToSignal(h.signal),ta(e,V.signal).then($=>{M($,F.position,F.autoPlay,V)}).catch($=>{V.isUsed()||A($)})}}}_startBufferingOnMediaSource(e,t,r){var O,N;let{autoPlay:i,bufferOptions:o,initialTime:a,manifest:s,mediaElement:d,mediaSource:u,playbackObserver:c,representationEstimator:l,segmentFetcherCreator:f,speed:g}=e,p=(O=s.getPeriodForTime(a))!=null?O:s.getNextPeriod(a);if(p===void 0){let C=new J("MEDIA_STARTING_TIME_NOT_FOUND","Wanted starting time not found in the Manifest.");return this._onFatalError(C)}let h=null,y=null;if(this._settings.textTrackOptions.textTrackMode==="html"&&me.htmlTextDisplayer!==null?y=new me.htmlTextDisplayer(d,this._settings.textTrackOptions.textTrackElement):me.nativeTextDisplayer!==null&&(y=new me.nativeTextDisplayer(d)),y!==null){let C=new bi(y);h=C,r.register(()=>{C.stop(),y==null||y.stop()})}let b=new Xt(u,d.nodeName==="VIDEO",h);r.register(()=>{b.disposeAll()});let{autoPlayResult:T,initialPlayPerformed:v}=yi({mediaElement:d,playbackObserver:c,startTime:a,mustAutoPlay:i,onWarning:C=>{this.trigger("warning",C)},isDirectfile:!1},r);if(r.isCancelled())return;v.onUpdate((C,P)=>{if(C){P();let D=new hf(s,d,c);s.addEventListener("manifestUpdate",()=>{D.onManifestUpdate(s)},r),D.addEventListener("event",F=>{this.trigger("streamEvent",F)},r),D.addEventListener("eventSkip",F=>{this.trigger("streamEventSkip",F)},r),D.start(),r.register(()=>{D.stop()})}},{clearSignal:r,emitCurrentValue:!0});let E=ld(c,{autoPlay:i,manifest:s,mediaSource:u,textDisplayer:y,initialPlayPerformed:v,speed:g},r);(N=this._cmcdDataBuilder)==null||N.startMonitoringPlayback(E),r.register(()=>{var C;(C=this._cmcdDataBuilder)==null||C.stopMonitoringPlayback()});let R=this._createRebufferingController(c,s,g,r),k=new ti(b);wl&&s.addEventListener("decipherabilityUpdate",C=>{C.some(P=>P.representation.decipherable!==!0)&&L(0,void 0,void 0)},r),c.listen(C=>{if(k.needToReload(C)){let P,D=c.getReference().getValue();D.position.isAwaitingFuturePosition()?P=D.position.getWanted():P=c.getCurrentTime();let F=v.getValue()?!c.getIsPaused():i;t({position:P,autoPlay:F})}},{clearSignal:r}),E.listen(C=>{["video","audio","text"].forEach(P=>{var F;let D=b.getStatus(P);D.type==="initialized"&&D.value.synchronizeInventory((F=C.buffered[P])!=null?F:[])})},{clearSignal:r});let A=Qs(s,u,E,b,{onWarning:C=>this.trigger("warning",C),onPeriodChanged:C=>this.trigger("activePeriodChanged",{period:C})},r);T.then(()=>{hi(c,d,!1,r).onUpdate((C,P)=>{C&&(P(),this.trigger("loaded",{getSegmentSinkMetrics:async()=>new Promise(D=>D(b.getSegmentSinksMetrics()))}))},{emitCurrentValue:!0,clearSignal:r})}).catch(C=>{r.isCancelled()||this._onFatalError(C)});let M=this;uf({manifest:s,initialPeriod:p},E,l,b,f,o,x(),r);function x(){return{needsBufferFlush:C=>{var $;let P,D=c.getCurrentTime(),F=($=C==null?void 0:C.relativeResumingPosition)!=null?$:0,V=!!(C!=null&&C.relativePosHasBeenDefaulted);F===0&&V?P=D+.001:P=D+F,c.setCurrentTime(P),c.listen((q,W)=>{(q.currentRange!==null||q.position.getPolled()>P+.1)&&(W(),c.setCurrentTime(q.position.getWanted()+.001))},{includeLastObservation:!1,clearSignal:r})},streamStatusUpdate(C){let{period:P,bufferType:D,imminentDiscontinuity:F,position:V}=C;R.updateDiscontinuityInfo({period:P,bufferType:D,discontinuity:F,position:V}),!r.isCancelled()&&s.isLastPeriodKnown&&C.period.id===s.periods[s.periods.length-1].id&&(C.hasFinishedLoading||C.isEmptyStream?A.onLastSegmentFinishedLoading(C.bufferType):A.onLastSegmentLoadingResume(C.bufferType))},needsManifestRefresh:()=>M._manifestFetcher.scheduleManualRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0}),manifestMightBeOufOfSync:()=>{let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:C}=U.getCurrent();M._manifestFetcher.scheduleManualRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:C})},lockedStream:C=>R.onLockedStream(C.bufferType,C.period),adaptationChange:C=>{M.trigger("adaptationChange",C),!r.isCancelled()&&A.onAdaptationChange(C.type,C.period,C.adaptation)},representationChange:C=>{M.trigger("representationChange",C),!r.isCancelled()&&A.onRepresentationChange(C.type,C.period)},inbandEvent:C=>M.trigger("inbandEvents",C),warning:C=>M.trigger("warning",C),periodStreamReady:C=>M.trigger("periodStreamReady",C),periodStreamCleared:C=>{A.onPeriodCleared(C.type,C.period),!r.isCancelled()&&M.trigger("periodStreamCleared",C)},bitrateEstimateChange:C=>{var P;(P=M._cmcdDataBuilder)==null||P.updateThroughput(C.type,C.bitrate),M.trigger("bitrateEstimateChange",C)},needsMediaSourceReload:C=>{L(C.timeOffset,C.minimumPosition,C.maximumPosition)},needsDecipherabilityFlush(){var P,D,F,V;let C=Kn(d);if(Ba(C==null?void 0:C[0])){let $=E.getReference().getValue(),q=$.position.isAwaitingFuturePosition()?$.position.getWanted():(P=E.getCurrentTime())!=null?P:$.position.getPolled(),W=(F=(D=$.paused.pending)!=null?D:E.getIsPaused())!=null?F:$.paused.last;t({position:q,autoPlay:!W})}else{let $=E.getReference().getValue(),q=$.position.isAwaitingFuturePosition()?$.position.getWanted():(V=E.getCurrentTime())!=null?V:$.position.getPolled();q+.001<$.duration?c.setCurrentTime(d.currentTime+.001):c.setCurrentTime(q)}},encryptionDataEncountered:C=>{if(M._decryptionCapabilities.status==="disabled"){M._onFatalError(M._decryptionCapabilities.value);return}else if(M._decryptionCapabilities.status==="uninitialized"){m.error("Init: received encryption data without known decryption capabilities");return}for(let P of C)if(M._decryptionCapabilities.value.onInitializationData(P),r.isCancelled())return},error:C=>M._onFatalError(C)}}function L(C,P,D){var W,z,H;let F=E.getReference().getValue(),V=F.position.isAwaitingFuturePosition()?F.position.getWanted():(W=E.getCurrentTime())!=null?W:F.position.getPolled(),$=(H=(z=F.paused.pending)!=null?z:E.getIsPaused())!=null?H:F.paused.last,q=V+C;P!==void 0&&(q=Math.max(P,q)),D!==void 0&&(q=Math.min(D,q)),t({position:q,autoPlay:!$})}}_createRebufferingController(e,t,r,i){let o=new Sn(e,t,r);return o.addEventListener("stalled",a=>this.trigger("stalled",a)),o.addEventListener("unstalled",()=>this.trigger("unstalled",null)),o.addEventListener("warning",a=>this.trigger("warning",a)),i.register(()=>o.destroy()),o.start(),o}getCodecsSupportInfo(e){return e.map(r=>{var s;let i=`${r.mimeType};codecs="${r.codec}"`,o=Oa(i);if(!o)return{mimeType:r.mimeType,codec:r.codec,supported:!1,supportedIfEncrypted:!1};let a;if(this._decryptionCapabilities.status==="uninitialized")a=void 0;else if(this._decryptionCapabilities.status==="disabled")a=!0;else{let d=this._decryptionCapabilities.value;d.getState()!==0&&(a=(s=d.isCodecSupported(r.mimeType,r.codec))!=null?s:!0)}return{mimeType:r.mimeType,codec:r.codec,supported:o,supportedIfEncrypted:a}})}_refreshManifestCodecSupport(e){let t=e.getCodecsWithUnknownSupport(),r=this.getCodecsSupportInfo(t);if(r.length>0)try{e.updateCodecSupport(r)}catch(i){this._onFatalError(i)}}};function _h(n,e,t,r){n.updateRepresentationsDeciperability(i=>{let{representation:o}=i;if(o.contentProtections===void 0)return o.decipherable;let a=o.contentProtections.keyIds;if(a!==void 0)for(let s of a){for(let d of t)if(ge(d,s.keyId))return!1;for(let d of e)if(ge(d,s.keyId))return!0;for(let d of r)if(ge(d,s.keyId))return}return o.decipherable})}function Eh(n,e){n.updateRepresentationsDeciperability(t=>{var o,a;let r=t.representation;if(r.decipherable===!1)return!1;let i=(a=(o=r.contentProtections)==null?void 0:o.initData)!=null?a:[];for(let s of i)if((e.type===void 0||s.type===e.type)&&e.values.getFormattedValues().every(u=>s.values.some(c=>(u.systemId===void 0||c.systemId===u.systemId)&&ge(c.data,u.data))))return!1;return r.decipherable})}function Ed(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return _(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function ke(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let o=Ed(n,e,t);return r+(o+1)*i}function He(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function St(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function yf(n,e,t){return[n*t,(n+e)*t]}function vh(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function na(n,e,t){let{timeline:r}=n,i=He(e,n);if(i<0)return null;let o=vh(r,i);if(o<0||o>=r.length-1)return null;let a=r[o];if(a.duration<=0)return null;let s=r[o+1];if(s===void 0)return null;let d=s.start,u=ke(a,s,t);return i>=u&&i<d?St(d,n):null}function Mt(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:"init",isInit:!0,time:0,end:0,duration:0,timescale:1,range:_(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function Rh(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join("0")+t).slice(-e)}function vd(n){return(e,t,r)=>{let i=w(r)?parseInt(r,10):1;return Rh(String(n),i)}}function st(n,e,t){return kh(n,e,t)}function kh(n,e,t){return n.indexOf("$")===-1?n:n.replace(/\$\$/g,"$").replace(/\$RepresentationID\$/g,String(e)).replace(/\$Bandwidth(\%0(\d+)d)?\$/g,vd(t===void 0?0:t))}function ra(n,e){return function(r){return r.indexOf("$")===-1?r:r.replace(/\$\$/g,"$").replace(/\$Number(\%0(\d+)d)?\$/g,(i,o,a)=>{if(e===void 0)throw new Error("Segment number not defined in a $Number$ scheme");return vd(e)(i,o,a)}).replace(/\$Time(\%0(\d+)d)?\$/g,(i,o,a)=>{if(n===void 0)throw new Error("Segment time not defined in a $Time$ scheme");return vd(n)(i,o,a)})}}function Ch(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function Ei(n,e,t,r,i,o){var T;let a=r.getEstimatedMaximumPosition((T=n.availabilityTimeOffset)!=null?T:0),s=Math.min(e+t,a!=null?a:1/0),d=He(e,n),u=He(s,n),{timeline:c,timescale:l,segmentUrlTemplate:f,startNumber:g,endNumber:p}=n,h=g!=null?g:1,y=[],b=c.length;for(let v=0;v<b;v++){let E=c[v],{duration:R,start:k,range:A}=E,M;a===void 0?M=i:M=Math.min(a*l,i!=null?i:1/0);let x=Ed(E,c[v+1],M),L=n.availabilityTimeComplete!==!1||v!==b-1&&x!==0,O=Ch(k,R,d),N=k+O*R;for(;N<u&&O<=x;){let C=h+O;if(p!==void 0&&C>p)break;let P=f===null?null:ra(N,C)(f),D=N-n.indexTimeOffset,F=R;D<0&&(F=R+D,D=0);let V={id:String(N),time:D/l,end:(D+F)/l,duration:F/l,isInit:!1,range:A,timescale:1,url:P,number:C,timestampOffset:-(n.indexTimeOffset/l),complete:L,privateInfos:{isEMSGWhitelisted:o}};y.push(V),O++,N=k+O*R}if(N>=u||(h+=x+1,p!==void 0&&h>p))return y}return y}function Ph(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var _n=class{constructor(e,t){var p,h,y,b;let{periodStart:r,periodEnd:i,representationId:o,representationBitrate:a,isEMSGWhitelisted:s}=t,d=(p=e.timescale)!=null?p:1,c=((h=e.presentationTimeOffset)!=null?h:0)-r*d,l=((y=e.initialization)==null?void 0:y.media)===void 0?null:st(e.initialization.media,o,a),f=e.media===void 0?null:st(e.media,o,a),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:c,initialization:{url:l,range:g},segmentUrlTemplate:f,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(b=e.timeline)!=null?b:[],timescale:d},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=He(r,this._index),this._scaledPeriodEnd=_(i)?void 0:He(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return Ei(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:St(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(ke(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return St(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)Ph(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn("Cannot add predicted segments to a `BaseRepresentationIndex`")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error("Base RepresentationIndex: Cannot update a SegmentList")}};var En=class{constructor(e,t){var g,p,h;if(e.duration===void 0)throw new Error("Invalid SegmentList: no duration");let{periodStart:r,periodEnd:i,representationId:o,representationBitrate:a,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let d=(g=e.presentationTimeOffset)!=null?g:0,u=(p=e.timescale)!=null?p:1,c=d-r*u,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:st(e.initialization.media,o,a),f=e.list.map(y=>({url:y.media===void 0?null:st(y.media,o,a),mediaRange:y.mediaRange}));this._index={list:f,timescale:u,duration:e.duration,indexTimeOffset:c,indexRange:e.indexRange,initialization:_(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=Mt(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:o,timescale:a}=r,s=i/a,d=e-this._periodStart,[u,c]=yf(d,t,a),l=Math.min(o.length-1,Math.floor(c/i)),f=[],g=Math.floor(u/i);for(;g<=l;){let p=o[g].mediaRange,h=o[g].url,y=g*s+this._periodStart,b={id:String(g),time:y,isInit:!1,range:p,duration:s,timescale:1,end:y+s,url:h,timestampOffset:-(r.indexTimeOffset/a),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};f.push(b),g++}return f}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){m.error("A `ListRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `ListRepresentationIndex`")}_replace(e){this._index=e._index}_update(){m.error("A `ListRepresentationIndex` cannot be updated")}};function Yn(n){return U.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vn=class{constructor(e,t){var b,T,v;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:o,periodEnd:a,periodStart:s,representationId:d,representationBitrate:u,isEMSGWhitelisted:c}=t,l=(b=e.timescale)!=null?b:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let f=(T=e.presentationTimeOffset)!=null?T:0,g=s*l,p=f-g;if(e.duration===void 0)throw new Error("Invalid SegmentTemplate: no duration");let h=((v=e.initialization)==null?void 0:v.media)===void 0?null:st(e.initialization.media,d,u),y=e.media===void 0?null:st(e.media,d,u);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:_(e.initialization)?void 0:{url:h,range:e.initialization.range},url:y,presentationTimeOffset:f,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=o,this._periodStart=s,this._scaledRelativePeriodEnd=a===void 0?void 0:(a-s)*l,this._isEMSGWhitelisted=c}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:o,endNumber:a,timescale:s,url:d}=r,u=this._periodStart*s,c=this._scaledRelativePeriodEnd,l=e*s-u,f=(e+t)*s-u,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(_(g)||_(p))return[];let h=Math.max(g,l),y=Math.min(p,f);if(y+i<=h)return[];let b=[],T=o!=null?o:1,v=Math.floor(h/i);for(let E=v*i;E<=y;E+=i){let R=v+T;if(a!==void 0&&R>a)return b;let k=!_(c)&&E+i>c?c-E:i,A=E+u,M=E+this._index.presentationTimeOffset,x=d===null?null:ra(M,R)(d),L={id:String(R),number:R,time:A/s,end:(A+k)/s,duration:k/s,timescale:1,isInit:!1,scaledDuration:k/s,url:x,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};b.push(L),v++}return b}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return _(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(_(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(te(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Yn(r),o=this._periodStart*r,a=e*r-o,s=t*r-o,d=this._getLastSegmentStart();if(_(d)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&a<l-i}let u=d+this._index.duration,c=this._estimateRelativeScaledEnd();return c===void 0?s>u-i:s>u-i&&a<c-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(_(r))return!0;let i=r+this._index.duration,o=Yn(t);return i+o<e}isInitialized(){return!0}initialize(){m.error("A `TemplateRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `TemplateRepresentationIndex`")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var a;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var o,a;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let d=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(d===void 0)return;let u=(d-this._periodStart)*t;if(u<0)return null;let c=Math.floor(u/e);return r!==void 0&&r-i+1<c&&(c=r-i+1),c<=0?null:(c-1)*e}else{let s=(a=this._scaledRelativePeriodEnd)!=null?a:0,d=Math.ceil(s/e);r!==void 0&&r-i+1<d&&(d=r-i+1);let u=(d-1)*e,c=U.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-u>c||d<2?u:(d-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function vi(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let o=r.start+r.duration,a=1;for(;o<e&&a<=r.repeatCount;)o+=r.duration,a++;if(a>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-a;return r.start=o,r.repeatCount=s,t+=a,t}}}}return t}function Ri(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(ke(i,e[0])<r)throw new J("MANIFEST_UPDATE_ERROR","Cannot perform partial update: not enough data");for(let c=t-1;c>=0;c--){let l=n[c].start;if(l===r){let f=t-c;return n.splice(c,f,...e),!1}else if(l<r){let f=n[c];if(f.start+f.duration>r)return m.warn("RepresentationIndex: Manifest update removed all previous segments"),n.splice(0,t,...e),!0;if(f.repeatCount===void 0||f.repeatCount<=0)return f.repeatCount<0&&(f.repeatCount=Math.floor((r-f.start)/f.duration)-1),n.splice(c+1,t-(c+1),...e),!1;if(f.start+f.duration*(f.repeatCount+1)<=r)return n.splice(c+1,t-(c+1),...e),!1;let p=(r-f.start)/f.duration-1;if(p%1===0&&f.duration===e[0].duration){let h=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(c,t-c,...e),n[c].start=f.start,n[c].repeatCount=h,!1}return m.warn("RepresentationIndex: Manifest update removed previous segments"),n[c].repeatCount=Math.floor(p),n.splice(c+1,t-(c+1),...e),!1}}let a=n[n.length-1],s=e[e.length-1];if(a.repeatCount!==void 0&&a.repeatCount<0)return a.start>s.start?(m.warn("RepresentationIndex: The new index is older than the previous one"),!1):(m.warn('RepresentationIndex: The new index is "bigger" than the previous one'),n.splice(0,t,...e),!0);let d=a.start+a.duration*(a.repeatCount+1),u=s.start+s.duration*(s.repeatCount+1);return d>=u?(m.warn("RepresentationIndex: The new index is older than the previous one"),!1):(m.warn('RepresentationIndex: The new index is "bigger" than the previous one'),n.splice(0,t,...e),!0)}function ki(n,e,t){let r=n.start,i=n.duration,o=n.repeatCount;return r===void 0&&(e===null?r=0:_(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(o===void 0||!isNaN(o))?{start:r,duration:i,repeatCount:o===void 0?0:o}:(m.warn('DASH: A "S" Element could not have been parsed.'),null)}function Ci(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!_(r))switch(t){case"t":let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid t ("${r}")`):e.start=i;break;case"d":let o=parseInt(r,10);isNaN(o)?m.warn(`DASH: invalid d ("${r}")`):e.duration=o;break;case"r":let a=parseInt(r,10);isNaN(a)?m.warn(`DASH: invalid r ("${r}")`):e.repeatCount=a;break}}return e}function Pi(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"t":let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t ("${r.value}")`):e.start=i;break;case"d":let o=parseInt(r.value,10);isNaN(o)?m.warn(`DASH: invalid d ("${r.value}")`):e.duration=o;break;case"r":let a=parseInt(r.value,10);isNaN(a)?m.warn(`DASH: invalid r ("${r.value}")`):e.repeatCount=a;break}}return e}function Zt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(Ci(n[r]));else for(let r=0;r<n.length;r++)e.push(Pi(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],o=t[t.length-1]===void 0?null:t[t.length-1],a=e[r+1]===void 0?null:e[r+1],s=ki(i,o,a);s!==null&&t.push(s)}return t}function Rd(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute("t"),i=_(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let o=n[0],a=0;for(;;){if(o.repeatCount>0){let s=i-o.start;if(s%o.duration===0&&s/o.duration<=o.repeatCount)return{repeatNumberInPrevSegments:s/o.duration,prevSegmentsIdx:a,newElementsIdx:0,repeatNumberInNewElements:0}}if(a++,a>=n.length)return null;if(o=n[a],o.start===i)return{prevSegmentsIdx:a,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(o.start>i)return null}}else{let o=0,a=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],d=i;for(;;){let u=a!==null?a.attributes.d:s==null?void 0:s.getAttribute("d"),c=_(u)?null:parseInt(u,10);if(c===null||Number.isNaN(c))return null;let l=a!==null?a.attributes.r:s==null?void 0:s.getAttribute("r"),f=_(l)?null:parseInt(l,10);if(f!==null){if(Number.isNaN(f)||f<0)return null;if(f>0){let h=t-d;if(h%c===0&&h/c<=f)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/c,prevSegmentsIdx:0,newElementsIdx:o}}d+=c*(f+1)}else d+=c;if(o++,o>=e.length)return null;Array.isArray(e)?a=e[o]:s=e[o];let g=a!==null?a.attributes.t:s==null?void 0:s.getAttribute("t"),p=_(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;d=p}if(d===t)return{newElementsIdx:o,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(d>i)return null}}}function kd(n,e){var h;let t=Rd(e,n);if(t===null)return m.warn('DASH: Cannot perform "based" update. Common segment not found.'),Zt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:o,repeatNumberInNewElements:a}=t,d=e.length-r+i-1;if(d>=n.length)return m.info('DASH: Cannot perform "based" update. New timeline too short'),Zt(n);let u=e.slice(r);if(o>0){let y=u[0];y.start+=y.duration*o,u[0].repeatCount-=o}if(a>0&&i!==0)return m.info('DASH: Cannot perform "based" update. The new timeline has a different form.'),Zt(n);let c=u[u.length-1],l=Array.isArray(n)?Ci(n[d]):Pi(n[d]),f=((h=l.repeatCount)!=null?h:0)-a;if(l.duration!==c.duration||c.repeatCount>f)return m.info('DASH: Cannot perform "based" update. The new timeline has a different form at the beginning.'),Zt(n);l.repeatCount!==void 0&&l.repeatCount>c.repeatCount&&(c.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let y=d+1;y<n.length;y++)p.push(Ci(n[y]));else for(let y=d+1;y<n.length;y++)p.push(Pi(n[y]));for(let y=0;y<p.length;y++){let b=p[y],T=g[g.length-1]===void 0?c:g[g.length-1],v=p[y+1]===void 0?null:p[y+1],E=ki(b,T,v);E!==null&&g.push(E)}return u.concat(g)}var Mi=class n{constructor(e,t){var E,R,k,A,M;if(!n.isTimelineIndexArgument(e))throw new Error("The given index is not compatible with a TimelineRepresentationIndex.");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:o,isDynamic:a,isLastPeriod:s,representationId:d,representationBitrate:u,periodStart:c,periodEnd:l,isEMSGWhitelisted:f}=t,g=(E=e.timescale)!=null?E:1,p=(R=e.presentationTimeOffset)!=null?R:0,h=c*g,y=p-h;this._manifestBoundsCalculator=o,this._isEMSGWhitelisted=f,this._isLastPeriod=s,this._lastUpdate=(k=t.receivedTime)!=null?k:K(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=a,this._parseTimeline=(A=e.timelineParser)!=null?A:null;let b=((M=e.initialization)==null?void 0:M.media)===void 0?null:st(e.initialization.media,d,u),T=e.media===void 0?null:st(e.media,d,u),v;i===void 0&&r===void 0?v=1/0:v=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:v,indexRange:e.indexRange,indexTimeOffset:y,initialization:_(e.initialization)?void 0:{url:b,range:e.initialization.range},segmentUrlTemplate:T,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Cd(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=He(c,this._index),this._scaledPeriodEnd=l===void 0?void 0:He(l,this._index)}getInitSegment(){return Mt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Ei(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:St(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return St(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(ke(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return St(t,this._index)}awaitSegmentBetween(e,t){var u,c;if(te(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,o=Yn(r),a=He(t,this._index),s=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(u=this._scaledPeriodEnd)!=null?u:1/0)+o>=Math.min(a,(c=this._scaledPeriodEnd)!=null?c:1/0))return!1;let d=He(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=ke(l,null,this._scaledPeriodEnd)+o;if(d<g+o)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?a+o>this._scaledPeriodStart?void 0:!1:d-o<this._scaledPeriodEnd&&a+o>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Mh(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),na({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof rt&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),Ri(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var a;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&He(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Yn(this._index.timescale),r=ia(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(a=this._scaledPeriodEnd)!=null?a:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return ke(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error("A `TimelineRepresentationIndex` does not need to be initialized")}addPredictedSegments(){m.warn("Cannot add predicted segments to a `TimelineRepresentationIndex`")}static isTimelineIndexArgument(e){return typeof e.timelineParser=="function"||Array.isArray(e.timeline)}_refreshTimeline(){var i,o;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((o=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?o:0)/this._index.timescale);if(_(e))return;let t=He(e,this._index),r=vi(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error("DASH: Timeline already lazily parsed."),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=U.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Cd(Zt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Cd(kd(e,r),this._index.startNumber,this._index.endNumber)}};function Cd(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let o=n[i];if(r+=o.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let a=n.slice(0,i),s=ie({},o),d=r-o.repeatCount-1;return s.repeatCount=Math.max(0,t-d),a.push(s),a}}}return n}function Mh(n,e,t,r){let i=ia(e,t,r);if(i===null)return!1;for(let o=0;o<e.timeline.length;o++){if(i.timelineIdx<o)return!1;let a=e.timeline[o],s=(a.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return a.range===void 0?n.range===void 0:!_(n.range)&&a.range[0]===n.range[0]&&a.range[1]===n.range[1];if(a.repeatCount>=0&&a.duration!==void 0){let u=(s-a.start)/a.duration-1;return u%1===0&&u<=i.newRepeatCount}}return!1}function ia(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,o=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:o.repeatCount,end:ke(o,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,o=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:o.repeatCount,end:ke(o,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let o=n.timeline[i],a=o.start+o.duration;if(St(a,n)<=r){let s=ke(o,n.timeline[i+1],t);if(St(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:o.repeatCount,end:a};{let u=He(r,n)-o.start,c=Math.floor(u/o.duration);return te(c>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:c-1,end:o.start+c*o.duration}}}}return null}var oa=Mi;var Ah=/^(?:[a-z]+:)?\/\//i,xh=/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$/;function xi(n){let e=n.lastIndexOf("/");if(e<0)return n.length;if(Ah.test(n)){let r=n.indexOf("/");if(r>=0&&e===r+1)return n.length}let t=n.indexOf("?");return t>=0&&t<e?xi(n.substring(0,t)):e+1}function wh(n,e){let t=If(n),r=If(e);if(r.scheme)return Pd(r);let i={scheme:t.scheme,authority:t.authority,path:"",query:r.query,fragment:r.fragment};return r.authority?(i.authority=r.authority,i.path=Md(r.path),Pd(i)):(r.path===""?(i.path=t.path,r.query||(i.query=t.query)):Je(r.path,"/")?i.path=Md(r.path):i.path=Md(Dh(t,r.path)),Pd(i))}var Ai=new Map,Oh=200;function If(n){var r,i,o,a,s;if(Ai.has(n))return Ai.get(n);let e=n.match(xh),t;return e===null?t={scheme:"",authority:"",path:"",query:"",fragment:""}:t={scheme:(r=e[1])!=null?r:"",authority:(i=e[2])!=null?i:"",path:(o=e[3])!=null?o:"",query:(a=e[4])!=null?a:"",fragment:(s=e[5])!=null?s:""},Ai.size>=Oh&&Ai.clear(),Ai.set(n,t),t}function Pd(n){let e="";return n.scheme&&(e+=n.scheme+":"),n.authority&&(e+="//"+n.authority),e+=n.path,n.query&&(e+="?"+n.query),n.fragment&&(e+="#"+n.fragment),e}function Md(n){let e=n.split(/(?=\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===".."||i==="."||i==="")){if(i==="/.."){t.pop(),r===e.length-1&&t.push("/");continue}if(i==="/."){r===e.length-1&&t.push("/");continue}t.push(i)}}return t.join("")}function Dh(n,e){if(n.authority&&n.path==="")return"/"+e;let t=n.path;return t.substring(0,t.lastIndexOf("/")+1)+e}function bf(...n){var r,i,o;let e=n.filter(a=>a!==""),t=e.length;if(t===0)return"";if(t===1)return(r=e[0])!=null?r:"";{let a=(i=e[0])!=null?i:"",s=(o=e[1])!=null?o:"",d=wh(a,s),u=e.slice(2);return bf(d,...u)}}var $n=bf;var wi=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return Ad(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn("DASH: forcing the parsing of a referencing ContentProtection"),Ad(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),Ad(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function Ad(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)==="urn:uuid:"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,"").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let a={keyId:e.attributes.keyId,systemId:t};n.contentProtections===void 0?n.contentProtections={keyIds:[a],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[a]:n.contentProtections.keyIds.push(a)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let a of r)i.push({systemId:t,data:a});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:"cenc",values:i}]};return}let o=X(n.contentProtections.initData,a=>a.type==="cenc");o===void 0?n.contentProtections.initData.push({type:"cenc",values:i}):o.values.push(...i)}function aa(n){let e=Date.parse(n)-K();if(isNaN(e)){m.warn("DASH Parser: Invalid clock received: ",n);return}return e}function xd(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri==="urn:mpeg:dash:utc:http-iso:2014"||t.schemeIdUri==="urn:mpeg:dash:utc:http-xsdate:2014")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function sa(n){let{representations:e}=n,t=null;for(let r=0;r<e.length;r++){let i=e[r].index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function wd(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let o=null,a=null;if(r!==void 0){let s=sa(r);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(i!==void 0){let s=sa(i);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(r!==void 0&&o===null||i!==void 0&&a===null)return m.info("Parser utils: found Period with no segment. ","Going to previous one to calculate last position"),{safe:void 0,unsafe:void 0};if(a!==null)return o!==null?{safe:Math.min(o,a),unsafe:Math.max(o,a)}:{safe:a,unsafe:a};if(o!==null)return{safe:o,unsafe:o}}}return{safe:void 0,unsafe:void 0}}function da(n){let{representations:e}=n,t=null;for(let r=0;r<e.length;r++){let i=e[r].index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function Od(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let o=null,a=null;if(r!==void 0){let s=da(r);if(s===void 0)return;o=s}if(i!==void 0){let s=da(i);if(s===void 0)return;a=s}if(r!==void 0&&o===null||i!==void 0&&a===null){m.info("Parser utils: found Period with no segment. ","Going to next one to calculate first position");return}if(a!==null)return o!==null?Math.max(o,a):a;if(o!==null)return o}}}function Dd(n){if(n.length===0)throw new Error("DASH Parser: no period available for a dynamic content");let e=Od(n),t=wd(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var Oi=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(K()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+K()/1e3,0):this._lastPosition}};function Ld(n,e){return n.type!=="dynamic"?0:_(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Nd(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn("DASH: Updating overlapping Periods.",i==null?void 0:i.start,r.start),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function Ud(n,e){let t=[];return n.forEach((r,i)=>{let o;if(!_(r.attributes.start))o=r.attributes.start;else if(i===0)o=!e.isDynamic||_(e.availabilityStartTime)?0:e.availabilityStartTime;else{let u=t[t.length-1];if(!_(u)&&!_(u.periodEnd))o=u.periodEnd;else throw new Error("Missing start time when parsing periods.")}let a,s=n[i+1];_(r.attributes.duration)?i===n.length-1?a=e.duration:_(s.attributes.start)||(a=s.attributes.start-o):a=r.attributes.duration;let d=_(a)?void 0:o+a;t.push({periodStart:o,periodDuration:a,periodEnd:d})}),t}function Lh(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let o of i)for(let a of $t){let s=n[a];if(s!==void 0)for(let d of s)d.id===o&&(d.trickModeTracks===void 0&&(d.trickModeTracks=[]),d.trickModeTracks.push(r))}}}var Sf=Lh;var Nh=["subtitle","caption"];function Bd(n,e,t,r){function i(a,s){let d=a.split("/")[0];if(Q($t,d))return d;if(a==="application/ttml+xml")return"text";if(a==="application/mp4")return s!==null&&X(s,u=>u.schemeIdUri==="urn:mpeg:dash:role:2011"&&Q(Nh,u.value))!==void 0?"text":void 0}function o(a){switch(a.substring(0,3)){case"avc":case"hev":case"hvc":case"vp8":case"vp9":case"av1":return"video";case"vtt":return"text"}switch(a.substring(0,4)){case"mp4a":return"audio";case"wvtt":case"stpp":return"text"}}if(e!==null){let a=i(e,r);if(a!==void 0)return a}if(t!==null){let a=o(t);if(a!==void 0)return a}for(let a=0;a<n.length;a++){let s=n[a],{mimeType:d,codecs:u}=s.attributes;if(d!==void 0){let c=i(d,r);if(c!==void 0)return c}if(u!==void 0){let c=o(u);if(c!==void 0)return c}}}var Uh=/[, ]+/g;function Tf(n){return w(n)?n.trim().replace(Uh,", "):""}function _f(n){let[e,t,r,i,o,a,s,d]=n.split(".");if(e!=="vp08"&&e!=="vp09"&&e!=="vp10")return;let u,c,l;if((i!==void 0&&i==="10"||i==="12")&&(u=parseInt(i,10)),s!==void 0&&(s==="16"?c="pq":s==="18"&&(c="hlg")),a!==void 0&&d!==void 0&&a==="09"&&d==="09"&&(l="rec2020"),!(u===void 0||c===void 0))return{colorDepth:u,eotf:c,colorSpace:l}}function Fd(n,e){var p,h,y;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:o,start:a,receivedTime:s,unsafelyBaseOnPreviousRepresentation:d,inbandEventStreams:u,isLastPeriod:c}=e,f={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:d,isEMSGWhitelisted:b=>u===void 0?!1:u.some(({schemeIdUri:T})=>T===b.schemeIdUri),isLastPeriod:c,manifestBoundsCalculator:r,isDynamic:i,periodEnd:o,periodStart:a,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:b}=n.children;g=new _n(b,f)}else if(n.children.segmentList!==void 0){let{segmentList:b}=n.children;g=new En(b,f)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let b=e.parentSegmentTemplates.slice(),T=n.children.segmentTemplate;T!==void 0&&b.push(T);let v=j({},...b);(v.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(f.availabilityTimeOffset=((p=v.availabilityTimeOffset)!=null?p:0)+((h=e.availabilityTimeOffset)!=null?h:0)),(v.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(f.availabilityTimeComplete=(y=v.availabilityTimeComplete)!=null?y:e.availabilityTimeComplete),g=oa.isTimelineIndexArgument(v)?new oa(v,f):new vn(v,f)}else{let b=e.adaptation.children;if(b.segmentBase!==void 0){let{segmentBase:T}=b;g=new _n(T,f)}else if(b.segmentList!==void 0){let{segmentList:T}=b;g=new En(T,f)}else g=new vn({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:""},f)}return g}function At(n,e){var i;if(e.length===0)return n;let t=e.map(o=>({url:o.value}));if(n.length===0)return t;let r=[];for(let o=0;o<n.length;o++){let a=n[o];for(let s=0;s<t.length;s++){let d=t[s],u=$n(a.url,d.url);r.push({url:u,serviceLocation:(i=d.serviceLocation)!=null?i:a.serviceLocation})}}return r}function Bh(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Fh({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:"")+(r!=null?r:"")).indexOf("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")!==-1&&(i==="hvc1.2.4.L153.B0"||i==="hev1.2.4.L153.B0"))return{colorDepth:10,eotf:"pq",colorSpace:"rec2020"};let a=X([...e!=null?e:[],...t!=null?t:[]],s=>s.schemeIdUri==="urn:mpeg:mpegB:cicp:TransferCharacteristics");if(a!==void 0)switch(a.value){case"15":return;case"16":return{eotf:"pq"};case"18":return{eotf:"hlg"}}if(i!==void 0&&/^vp(08|09|10)/.exec(i))return _f(i)}function Kd(n,e,t){var i,o,a,s,d,u,c;let r=[];for(let l of n){let f=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:"")+(l.attributes.width!==void 0?`-${l.attributes.width}`:"")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:"")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:"");for(;r.some(x=>x.id===f);)f+="-dup";let g=(o=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(f))!=null?o:null,p=Bh(l,e),h=(a=l.attributes.availabilityTimeComplete)!=null?a:t.availabilityTimeComplete,y;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(y=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((d=t.availabilityTimeOffset)!=null?d:0));let b=j({},t,{availabilityTimeOffset:y,availabilityTimeComplete:h,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),T=Fd(l,b),v;l.attributes.bitrate===void 0?(m.warn("DASH: No usable bitrate found in the Representation."),v=0):v=l.attributes.bitrate;let E=At(t.baseURLs,l.children.baseURLs),R=E.length===0?[{baseUrl:"",id:void 0}]:E.map(x=>({baseUrl:x.url,id:x.serviceLocation})),k={bitrate:v,cdnMetadata:R,index:T,id:f};l.children.supplementalProperties!==void 0&&X(l.children.supplementalProperties,x=>x.schemeIdUri==="tag:dolby.com,2018:dash:EC3_ExtensionType:2018"&&x.value==="JOC")&&(k.isSpatialAudio=!0);let A;l.attributes.codecs!==void 0?A=l.attributes.codecs:e.attributes.codecs!==void 0&&(A=e.attributes.codecs),A!==void 0&&(A=A==="mp4a.40.02"?"mp4a.40.2":A,k.codecs=A);let M;l.attributes.supplementalCodecs!==void 0?M=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(M=e.attributes.supplementalCodecs),M!==void 0&&(k.supplementalCodecs=Tf(M)),l.attributes.frameRate!==void 0?k.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(k.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?k.height=l.attributes.height:e.attributes.height!==void 0&&(k.height=e.attributes.height),l.attributes.mimeType!==void 0?k.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(k.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?k.width=l.attributes.width:e.attributes.width!==void 0&&(k.width=e.attributes.width);{let x=[...(u=e.children.contentProtections)!=null?u:[],...(c=l.children.contentProtections)!=null?c:[]];for(let L of x)t.contentProtectionParser.add(k,L)}k.hdrInfo=Fh({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:A}),r.push(k)}return r}function Kh(n){if(n===void 0)return!1;let e=n.schemeIdUri==="urn:tva:metadata:cs:AudioPurposeCS:2007"&&n.value==="1",t=n.schemeIdUri==="urn:mpeg:dash:role:2011"&&n.value==="description";return e||t}function Vh(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri==="urn:tva:metadata:cs:AudioPurposeCS:2007"&&r.value==="2")||e!==void 0&&e.some(r=>r.schemeIdUri==="urn:mpeg:dash:role:2011"&&r.value==="caption"))}function zh(n){return n===void 0?!1:n.schemeIdUri==="urn:mpeg:dash:role:2011"&&n.value==="sign"}function Hh(n,e){if(w(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:o,isTrickModeTrack:a,type:s}=e,d=s;return w(n.attributes.language)&&(d+=`-${n.attributes.language}`),t===!0&&(d+="-cc"),r===!0&&(d+="-cc"),i===!0&&(d+="-ad"),o===!0&&(d+="-si"),a&&(d+="-trickMode"),w(n.attributes.contentType)&&(d+=`-${n.attributes.contentType}`),w(n.attributes.codecs)&&(d+=`-${n.attributes.codecs}`),w(n.attributes.mimeType)&&(d+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(d+=`-${String(n.attributes.frameRate)}`),d}function Wh(n){if(!_(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri==="urn:mpeg:dash:adaptation-set-switching:2016"&&!_(t.value))return t.value.split(",").map(r=>r.trim()).filter(r=>r)}return[]}function Vd(n,e){var s,d,u,c,l,f,g;let t={video:[],audio:[],text:[]},r=[],i={},o=[];for(let p=0;p<n.length;p++){let h=n[p],y=h.children,{essentialProperties:b,roles:T,label:v}=y,E=Array.isArray(T)&&T.some(Ie=>Ie.value==="main")&&T.some(Ie=>Ie.schemeIdUri==="urn:mpeg:dash:role:2011"),R=h.children.representations,k=(s=h.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,A;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(A=((d=h.attributes.availabilityTimeOffset)!=null?d:0)+((u=e.availabilityTimeOffset)!=null?u:0));let M=h.attributes.mimeType,x=h.attributes.codecs,L=Bd(R,w(M)?M:null,w(x)?x:null,_(y.roles)?null:y.roles);if(L===void 0)continue;let O=(c=h.attributes.selectionPriority)!=null?c:1,N=h.attributes.id,C=Wh(h),P=[];e.segmentTemplate!==void 0&&P.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&P.push(h.children.segmentTemplate);let D={availabilityTimeComplete:k,availabilityTimeOffset:A,baseURLs:At(e.baseURLs,y.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:P,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},F=Array.isArray(b)?X(b,Ie=>Ie.schemeIdUri==="http://dashif.org/guidelines/trickmode"):void 0,V=(l=F==null?void 0:F.value)==null?void 0:l.split(" "),$=V!==void 0,{accessibilities:q}=y,W;T!==void 0&&T.some(Ie=>Ie.value==="dub")&&(W=!0);let z;L!=="text"?z=!1:z=Vh(q,T);let H;L==="text"&&T!==void 0&&T.some(Ie=>Ie.value==="forced-subtitle"||Ie.value==="forced_subtitle")&&(H=!0);let se;L!=="audio"?se=!1:q!==void 0&&(se=q.some(Kh));let ae;L!=="video"?ae=!1:q!==void 0&&(ae=q.some(zh));let le=Hh(h,{isAudioDescription:se,isForcedSubtitle:H,isClosedCaption:z,isSignInterpreted:ae,isTrickModeTrack:$,type:L});for(;Q(o,le);)le+="-dup";let he=le;o.push(le),D.unsafelyBaseOnPreviousAdaptation=(g=(f=e.unsafelyBaseOnPreviousPeriod)==null?void 0:f.getAdaptation(le))!=null?g:null;let Y=Kd(R,h,D),ce={id:le,representations:Y,type:L,isTrickModeTrack:$};if(_(h.attributes.language)||(ce.language=h.attributes.language),_(z)||(ce.closedCaption=z),_(se)||(ce.audioDescription=se),W===!0&&(ce.isDub=!0),H!==void 0&&(ce.forcedSubtitles=H),ae===!0&&(ce.isSignInterpreted=!0),v!==void 0&&(ce.label=v),V!==void 0)r.push({adaptation:ce,trickModeAttachedAdaptationIds:V});else{let Ie=-1;for(let Bt of C){let $e=i[Bt];if($e!==void 0&&$e.newID!==he&&Q($e.adaptationSetSwitchingIDs,N)){Ie=ye(t[L],Tt=>Tt[0].id===Bt);let Ue=t[L][Ie];if(Ue!==void 0&&Ue[0].audioDescription===ce.audioDescription&&Ue[0].closedCaption===ce.closedCaption&&Ue[0].language===ce.language){m.info('DASH Parser: merging "switchable" AdaptationSets',N,Bt),Ue[0].representations.push(...ce.representations),Ue[1]={priority:Math.max(O,Ue[1].priority),isMainAdaptation:E||Ue[1].isMainAdaptation,indexInMpd:Math.min(p,Ue[1].indexInMpd)};break}}}Ie<0&&t[L].push([ce,{priority:O,isMainAdaptation:E,indexInMpd:p}])}!_(N)&&_(i[N])&&(i[N]={newID:he,adaptationSetSwitchingIDs:C})}let a=$t.reduce((p,h)=>{let y=t[h];return y.length>0&&(y.sort(Ef),p[h]=y.map(([b])=>b)),p},{});return t.video.sort(Ef),Sf(a,r),a}function Ef(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var Gh=Ze();function zd(n,e){var a,s,d,u,c;let t=[],r=Ud(n,e);if(r.length!==n.length)throw new Error("MPD parsing error: the time information are incoherent.");let{isDynamic:i,manifestBoundsCalculator:o}=e;!i&&!_(e.duration)&&o.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let f=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),h=At(e.baseURLs,g.children.baseURLs),{periodStart:y,periodDuration:b,periodEnd:T}=r[l],v;for(_(g.attributes.id)?(m.warn("DASH: No usable id found in the Period. Generating one."),v="gen-dash-period-"+Gh()):v=g.attributes.id;t.some(F=>F.id===v);)v+="-dup";let E=p!==void 0?p.receivedTime:e.receivedTime,R=(s=(a=e.unsafelyBaseOnPreviousManifest)==null?void 0:a.getPeriod(v))!=null?s:null,k=g.attributes.availabilityTimeComplete,A=g.attributes.availabilityTimeOffset,{manifestProfiles:M,contentProtectionParser:x}=e,{segmentTemplate:L}=g.children;x.addReferences((d=g.children.contentProtections)!=null?d:[]);let O={availabilityTimeComplete:k,availabilityTimeOffset:A,baseURLs:h,contentProtectionParser:x,manifestBoundsCalculator:o,end:T,isDynamic:i,isLastPeriod:f,manifestProfiles:M,receivedTime:E,segmentTemplate:L,start:y,unsafelyBaseOnPreviousPeriod:R},N=Vd(g.children.adaptations,O),C=((u=e.xmlNamespaces)!=null?u:[]).concat((c=g.attributes.namespaces)!=null?c:[]),P=jh(g.children.eventStreams,y,C),D={id:v,start:y,end:T,duration:b,adaptations:N,streamEvents:P};if(t.unshift(D),!o.lastPositionIsKnown()){let F=qh(N);if(!i)typeof F=="number"&&o.setLastPosition(F);else if(typeof F=="number"){let V=K()/1e3;o.setLastPosition(F,V)}else{let V=vf(e,y);if(V!==void 0){let[$,q]=V;o.setLastPosition($,q)}}}}if(e.isDynamic&&!o.lastPositionIsKnown()){let l=vf(e,0);if(l!==void 0){let[f,g]=l;o.setLastPosition(f,g)}}return Nd(t)}function vf(n,e){if(_(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn("DASH Parser: no clock synchronization mechanism found. Using the system clock instead.");let r=t-n.availabilityStartTime,i=K()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=K()/1e3,i=r+t;if(i>=e)return[i,r]}}function qh(n){let e=null,t=!0,r=wn(n).filter(o=>!_(o)),i=Ln(r,o=>o);for(let o of i){let a=o.representations;for(let s of a){let d=s.index.getLastAvailablePosition();d!==null&&(t=!1,typeof d=="number"&&(e=_(e)?d:Math.max(e,d)))}}if(_(e)){if(t)return null}else return e}function jh(n,e,t){var i,o;let r=[];for(let a of n){let{schemeIdUri:s="",timescale:d=1}=a.attributes,u=t.concat((i=a.attributes.namespaces)!=null?i:[]);for(let c of a.children.events)if(c.eventStreamData!==void 0){let l=((o=c.presentationTime)!=null?o:0)/d+e,f=c.duration===void 0?void 0:l+c.duration/d,g,p;if(!Ft&&c.eventStreamData instanceof Element)g=c.eventStreamData;else try{p={namespaces:u,data:typeof c.eventStreamData=="string"?c.eventStreamData:Le(new Uint8Array(c.eventStreamData))}}catch(h){m.error("DASH: Error while parsing event-stream:",h instanceof Error?h.message:"Unknown error")}r.push({start:l,end:f,id:c.id,data:{type:"dash-event-stream",value:{schemeIdUri:s,timescale:d,element:g,xmlData:p}}})}}return r}function Qn(n,e,t,r,i=new WeakMap){let{children:o,attributes:a}=n;if(_(e.externalClockOffset)){let d=a.type==="dynamic",u=X(o.utcTimings,f=>f.schemeIdUri==="urn:mpeg:dash:utc:direct:2014"&&!_(f.value)),c=!_(u)&&!_(u.value)?aa(u.value):void 0,l=!_(c)&&!isNaN(c)?c:void 0;if(!_(l)&&r!==!0)e.externalClockOffset=l;else if(d&&r!==!0){let f=xd(n);if(!_(f)&&f.length>0)return{type:"needs-clock",value:{url:f,continue:function(p){return p.success?(e.externalClockOffset=aa(p.data),Qn(n,e,t,!0)):(t.push(p.error),m.warn("DASH Parser: Error on fetching the clock ressource",p.error),Qn(n,e,t,!0))}}}}}let s=[];for(let d=0;d<o.periods.length;d++){let{xlinkHref:u,xlinkActuate:c}=o.periods[d].attributes;!_(u)&&c==="onLoad"&&s.push({index:d,ressource:u})}return s.length===0?Yh(n,e,t,i):{type:"needs-xlinks",value:{xlinksUrls:s.map(({ressource:d})=>d),continue:function(u){if(u.length!==s.length)throw new Error("DASH parser: wrong number of loaded ressources.");for(let c=u.length-1;c>=0;c--){let l=s[c].index,{parsed:f,warnings:g,receivedTime:p,sendingTime:h,url:y}=u[c];g.length>0&&t.push(...g);for(let b of f)i.set(b,{receivedTime:p,sendingTime:h,url:y});o.periods.splice(l,1,...f)}return Qn(n,e,t,r,i)}}}}function Yh(n,e,t,r){var P,D,F,V,$;let{children:i,attributes:o}=n,a=o.type==="dynamic",s=e.url!==void 0?[{url:e.url.substring(0,xi(e.url))}]:[],d=At(s,i.baseURLs),u=Ld(o,e.referenceDateTime),c=o.timeShiftBufferDepth,l=o.maxSegmentDuration,{externalClockOffset:f,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,h=new Oi({availabilityStartTime:u,isDynamic:a,timeShiftBufferDepth:c,serverTimestampOffset:p}),y=new wi;y.addReferences((P=i.contentProtections)!=null?P:[]);let b={availabilityStartTime:u,baseURLs:d,clockOffset:f,contentProtectionParser:y,duration:o.duration,isDynamic:a,manifestBoundsCalculator:h,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},T=zd(i.periods,b);y.finalize();let v=o.duration,E,R,k=null,A;o.minimumUpdatePeriod!==void 0&&o.minimumUpdatePeriod>=0&&(E=o.minimumUpdatePeriod===0?U.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:o.minimumUpdatePeriod);let{minimumSafePosition:M,maximumSafePosition:x,maximumUnsafePosition:L}=Dd(T),O=K();if(a){let q;x!==void 0?q=x:p===void 0?(m.warn("DASH Parser: use system clock to define maximum position"),q=Date.now()/1e3-u):q=(K()+p)/1e3-u;let W=h.getEstimatedLiveEdge();W===void 0&&(L!==void 0?W=L:W=q),A={isLinear:!0,maximumSafePosition:q,livePosition:W,time:O},R=M,k=c!=null?c:null,k!==null&&(k+=l!=null?l:0),k!==null&&R!==void 0&&W-R>k&&(k=W-R)}else{R=M,R===void 0&&(R=(F=(D=T[0])==null?void 0:D.start)!=null?F:0);let q=v!=null?v:1/0;if(T[T.length-1]!==void 0){let W=T[T.length-1],z=(V=W.end)!=null?V:W.duration!==void 0?W.start+W.duration:void 0;z!==void 0&&z<q&&(q=z)}x!==void 0&&x<q&&(q=x),A={isLinear:!1,maximumSafePosition:q,livePosition:void 0,time:O}}let N=!a||n.attributes.minimumUpdatePeriod===void 0&&((($=T[T.length-1])==null?void 0:$.end)!==void 0||n.attributes.duration!==void 0);return{type:"done",value:{parsed:{availabilityStartTime:u,clockOffset:e.externalClockOffset,isDynamic:a,isLive:a,isLastPeriodKnown:N,periods:T,publishTime:o.publishTime,suggestedPresentationDelay:o.suggestedPresentationDelay,transportType:"dash",timeBounds:{minimumSafePosition:R,timeshiftDepth:k,maximumTimeData:A},lifetime:E,uris:_(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var Rf=Qn;function xt(n){let e=n.textContent,t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}var $h=/^P(([\d.]*)Y)?(([\d.]*)M)?(([\d.]*)D)?T?(([\d.]*)H)?(([\d.]*)M)?(([\d.]*)S)?/,Qh=/([0-9]+)-([0-9]+)/;function We(n,e){return n==="true"?[!0,null]:n==="false"?[!1,null]:[!1,new et(`\`${e}\` property is not a boolean value but "${n}"`)]}function Se(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new et(`\`${e}\` property is not an integer value but "${n}"`)]:[t,null]}function je(n,e){if(n==="INF")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new et(`\`${e}\` property is invalid: "${n}"`)]:[t,null]}function Hd(n,e){if(n==="true")return[!0,null];if(n==="false")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new et(`\`${e}\` property is not a boolean nor an integer but "${n}"`)]:[t,null]}function ua(n,e){let t=Date.parse(n);return isNaN(t)?[null,new et(`\`${e}\` is in an invalid date format: "${n}"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function pt(n,e){if(!w(n))return[0,new et(`\`${e}\` property is empty`)];let t=$h.exec(n);return t===null?[null,new et(`\`${e}\` property has an unrecognized format "${n}"`)]:[parseFloat(w(t[2])?t[2]:"0")*365*24*60*60+parseFloat(w(t[4])?t[4]:"0")*30*24*60*60+parseFloat(w(t[6])?t[6]:"0")*24*60*60+parseFloat(w(t[8])?t[8]:"0")*60*60+parseFloat(w(t[10])?t[10]:"0")*60+parseFloat(w(t[12])?t[12]:"0"),null]}function Rn(n,e){let t=Qh.exec(n);return t===null?[null,new et(`\`${e}\` property has an unrecognized format "${n}"`)]:[[+t[1],+t[2]],null]}function kf(n,e){try{return[ft(n),null]}catch(t){return[null,new et(`\`${e}\` is not a valid base64 string: "${n}"`)]}}function Xn(n,e){let t=/^(\d+)\/(\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:je(n,e)}function ze(n){let e,t;for(let r=0;r<n.attributes.length;r++){let i=n.attributes[r];switch(i.name){case"schemeIdUri":e=i.value;break;case"value":t=i.value;break}}return{schemeIdUri:e,value:t}}function xe(n,e){return function(t,{asKey:r,parser:i,dashName:o}){let[a,s]=i(t,o);s!==null&&(m.warn(s.message),e.push(s)),a!==null&&(n[r]=a)}}var et=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name="MPDError"}};function Xh(n){let e=[],t=[];for(let r=0;r<n.length;r++)if(n[r].nodeType===Node.ELEMENT_NODE){let i=n[r];if(i.nodeName==="cenc:pssh"){let o=i.textContent;if(o!==null&&o.length>0){let[a,s]=kf(o,"cenc:pssh");s!==null&&(m.warn(s.message),e.push(s)),a!==null&&t.push(a)}}}return[{cencPssh:t},e]}function Zh(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"schemeIdUri":e.schemeIdUri=r.value;break;case"value":e.value=r.value;break;case"cenc:default_KID":e.keyId=qe(r.value.replace(/-/g,""));break;case"ref":e.ref=r.value;break;case"refId":e.refId=r.value;break}}return e}function wt(n){let[e,t]=Xh(n.childNodes),r=Zh(n);return[{children:e,attributes:r},t]}function Wd(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case"id":e.id=r.value;break;case"lang":e.language=r.value;break;case"contentType":e.contentType=r.value;break;case"par":e.par=r.value;break}}return e}function Gd(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"range":r(o.value,{asKey:"range",parser:Rn,dashName:"range"});break;case"sourceURL":e.media=o.value;break}}return[e,t]}function Ot(n){let e={},t=[],r=xe(e,t),i=n.childNodes;for(let o=0;o<i.length;o++)if(i[o].nodeType===Node.ELEMENT_NODE){let a=i[o];if(a.nodeName==="Initialization"){let[s,d]=Gd(a);e.initialization=s,t=t.concat(d)}}for(let o=0;o<n.attributes.length;o++){let a=n.attributes[o];switch(a.name){case"timescale":r(a.value,{asKey:"timescale",parser:Se,dashName:"timescale"});break;case"presentationTimeOffset":r(a.value,{asKey:"presentationTimeOffset",parser:je,dashName:"presentationTimeOffset"});break;case"indexRange":r(a.value,{asKey:"indexRange",parser:Rn,dashName:"indexRange"});break;case"indexRangeExact":r(a.value,{asKey:"indexRangeExact",parser:We,dashName:"indexRangeExact"});break;case"availabilityTimeOffset":r(a.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(a.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break;case"duration":r(a.value,{asKey:"duration",parser:Se,dashName:"duration"});break;case"startNumber":r(a.value,{asKey:"startNumber",parser:Se,dashName:"startNumber"});break;case"endNumber":r(a.value,{asKey:"endNumber",parser:Se,dashName:"endNumber"});break}}return[e,t]}function qd(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"media":e.media=o.value;break;case"indexRange":r(o.value,{asKey:"indexRange",parser:Rn,dashName:"indexRange"});break;case"index":e.index=o.value;break;case"mediaRange":r(o.value,{asKey:"mediaRange",parser:Rn,dashName:"mediaRange"});break}}return[e,t]}function Di(n){let[e,t]=Ot(n),r=t,i=[],o=n.childNodes;for(let s=0;s<o.length;s++)if(o[s].nodeType===Node.ELEMENT_NODE){let d=o[s];if(d.nodeName==="SegmentURL"){let[u,c]=qd(d);i.push(u),r=r.concat(c)}}return[j(e,{list:i}),r]}function jd(n){let e=null;return function(){if(e===null){let t=n.getElementsByTagName("S");return e=t,t}return e}}function kn(n){let[e,t]=Ot(n),r=t,i;for(let s=0;s<n.childNodes.length;s++)if(n.childNodes[s].nodeType===Node.ELEMENT_NODE){let d=n.childNodes[s];d.nodeName==="SegmentTimeline"&&(i=jd(d))}let o=j({},e,{duration:e.duration,timelineParser:i}),a=xe(o,r);for(let s=0;s<n.attributes.length;s++){let d=n.attributes[s];switch(d.nodeName){case"initialization":_(o.initialization)&&(o.initialization={media:d.value});break;case"index":o.index=d.value;break;case"availabilityTimeOffset":a(d.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":a(d.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break;case"media":o.media=d.value;break;case"bitstreamSwitching":a(d.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break}}return[o,r]}function Jh(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++)if(n[i].nodeType===Node.ELEMENT_NODE){let o=n[i];switch(o.nodeName){case"BaseURL":let[a,s]=xt(o);a!==void 0&&e.baseURLs.push(a),r=r.concat(s);break;case"InbandEventStream":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(ze(o));break;case"SegmentBase":let[d,u]=Ot(o);e.segmentBase=d,u.length>0&&(r=r.concat(u));break;case"SegmentList":let[c,l]=Di(o);r=r.concat(l),e.segmentList=c;break;case"SegmentTemplate":let[f,g]=kn(o);r=r.concat(g),e.segmentTemplate=f;break;case"ContentProtection":let[p,h]=wt(o);h.length>0&&(r=r.concat(h)),p!==void 0&&t.push(p);break;case"SupplementalProperty":_(e.supplementalProperties)?e.supplementalProperties=[ze(o)]:e.supplementalProperties.push(ze(o));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function ey(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"audioSamplingRate":e.audioSamplingRate=o.value;break;case"bandwidth":r(o.value,{asKey:"bitrate",parser:Se,dashName:"bandwidth"});break;case"codecs":e.codecs=o.value;break;case"codingDependency":r(o.value,{asKey:"codingDependency",parser:We,dashName:"codingDependency"});break;case"frameRate":r(o.value,{asKey:"frameRate",parser:Xn,dashName:"frameRate"});break;case"height":r(o.value,{asKey:"height",parser:Se,dashName:"height"});break;case"id":e.id=o.value;break;case"maxPlayoutRate":r(o.value,{asKey:"maxPlayoutRate",parser:je,dashName:"maxPlayoutRate"});break;case"maximumSAPPeriod":r(o.value,{asKey:"maximumSAPPeriod",parser:je,dashName:"maximumSAPPeriod"});break;case"mimeType":e.mimeType=o.value;break;case"profiles":e.profiles=o.value;break;case"qualityRanking":r(o.value,{asKey:"qualityRanking",parser:Se,dashName:"qualityRanking"});break;case"scte214:supplementalCodecs":e.supplementalCodecs=o.value;break;case"segmentProfiles":e.segmentProfiles=o.value;break;case"width":r(o.value,{asKey:"width",parser:Se,dashName:"width"});break;case"availabilityTimeOffset":r(o.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(o.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break}}return e.bitrate===void 0&&t.push(new et("No bitrate found on a Representation")),[e,t]}function Cf(n){let[e,t]=Jh(n.childNodes),[r,i]=ey(n),o=t.concat(i);return[{children:e,attributes:r},o]}function ty(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++)if(n[i].nodeType===Node.ELEMENT_NODE){let o=n[i];switch(o.nodeName){case"Accessibility":e.accessibilities===void 0?e.accessibilities=[ze(o)]:e.accessibilities.push(ze(o));break;case"BaseURL":let[a,s]=xt(o);a!==void 0&&e.baseURLs.push(a),s.length>0&&(r=r.concat(s));break;case"ContentComponent":e.contentComponent=Wd(o);break;case"EssentialProperty":_(e.essentialProperties)?e.essentialProperties=[ze(o)]:e.essentialProperties.push(ze(o));break;case"InbandEventStream":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(ze(o));break;case"Label":let d=o.textContent;d!=null&&(e.label=d);break;case"Representation":let[u,c]=Cf(o);e.representations.push(u),c.length>0&&(r=r.concat(c));break;case"Role":_(e.roles)?e.roles=[ze(o)]:e.roles.push(ze(o));break;case"SupplementalProperty":_(e.supplementalProperties)?e.supplementalProperties=[ze(o)]:e.supplementalProperties.push(ze(o));break;case"SegmentBase":let[l,f]=Ot(o);e.segmentBase=l,f.length>0&&(r=r.concat(f));break;case"SegmentList":let[g,p]=Di(o);e.segmentList=g,p.length>0&&(r=r.concat(p));break;case"SegmentTemplate":let[h,y]=kn(o);e.segmentTemplate=h,y.length>0&&(r=r.concat(y));break;case"ContentProtection":let[b,T]=wt(o);T.length>0&&(r=r.concat(T)),b!==void 0&&t.push(b);break}}return t.length>0&&(e.contentProtections=t),[e,r]}function ny(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"group":r(o.value,{asKey:"group",parser:Se,dashName:"group"});break;case"lang":e.language=o.value;break;case"contentType":e.contentType=o.value;break;case"par":e.par=o.value;break;case"minBandwidth":r(o.value,{asKey:"minBitrate",parser:Se,dashName:"minBandwidth"});break;case"maxBandwidth":r(o.value,{asKey:"maxBitrate",parser:Se,dashName:"maxBandwidth"});break;case"minWidth":r(o.value,{asKey:"minWidth",parser:Se,dashName:"minWidth"});break;case"maxWidth":r(o.value,{asKey:"maxWidth",parser:Se,dashName:"maxWidth"});break;case"minHeight":r(o.value,{asKey:"minHeight",parser:Se,dashName:"minHeight"});break;case"maxHeight":r(o.value,{asKey:"maxHeight",parser:Se,dashName:"maxHeight"});break;case"minFrameRate":r(o.value,{asKey:"minFrameRate",parser:Xn,dashName:"minFrameRate"});break;case"maxFrameRate":r(o.value,{asKey:"maxFrameRate",parser:Xn,dashName:"maxFrameRate"});break;case"selectionPriority":r(o.value,{asKey:"selectionPriority",parser:Se,dashName:"selectionPriority"});break;case"segmentAlignment":r(o.value,{asKey:"segmentAlignment",parser:Hd,dashName:"segmentAlignment"});break;case"subsegmentAlignment":r(o.value,{asKey:"subsegmentAlignment",parser:Hd,dashName:"subsegmentAlignment"});break;case"bitstreamSwitching":r(o.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break;case"audioSamplingRate":e.audioSamplingRate=o.value;break;case"codecs":e.codecs=o.value;break;case"scte214:supplementalCodecs":e.supplementalCodecs=o.value;break;case"codingDependency":r(o.value,{asKey:"codingDependency",parser:We,dashName:"codingDependency"});break;case"frameRate":r(o.value,{asKey:"frameRate",parser:Xn,dashName:"frameRate"});break;case"height":r(o.value,{asKey:"height",parser:Se,dashName:"height"});break;case"maxPlayoutRate":r(o.value,{asKey:"maxPlayoutRate",parser:je,dashName:"maxPlayoutRate"});break;case"maximumSAPPeriod":r(o.value,{asKey:"maximumSAPPeriod",parser:je,dashName:"maximumSAPPeriod"});break;case"mimeType":e.mimeType=o.value;break;case"profiles":e.profiles=o.value;break;case"segmentProfiles":e.segmentProfiles=o.value;break;case"width":r(o.value,{asKey:"width",parser:Se,dashName:"width"});break;case"availabilityTimeOffset":r(o.value,{asKey:"availabilityTimeOffset",parser:je,dashName:"availabilityTimeOffset"});break;case"availabilityTimeComplete":r(o.value,{asKey:"availabilityTimeComplete",parser:We,dashName:"availabilityTimeComplete"});break}}return[e,t]}function Pf(n){let e=n.childNodes,[t,r]=ty(e),[i,o]=ny(n),a=r.concat(o);return[{children:t,attributes:i},a]}function Yd(n){let e={children:{events:[]},attributes:{}},t=[],r=xe(e.attributes,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"schemeIdUri":e.attributes.schemeIdUri=o.value;break;case"timescale":r(o.value,{asKey:"timescale",parser:Se,dashName:"timescale"});break;case"value":e.attributes.value=o.value;break}}for(let i=0;i<n.childNodes.length;i++)if(n.childNodes[i].nodeType===Node.ELEMENT_NODE){let o=n.childNodes[i];switch(o.nodeName){case"Event":let[a,s]=ry(o);e.children.events.push(a),s.length>0&&(t=t.concat(s));break}}return[e,t]}function ry(n){let e={eventStreamData:n},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"presentationTime":r(o.value,{asKey:"presentationTime",parser:Se,dashName:"presentationTime"});break;case"duration":r(o.value,{asKey:"duration",parser:Se,dashName:"duration"});break;case"id":e.id=o.value;break}}return[e,t]}function iy(n){let e=[],t=[],r,i=[],o=[],a=[];for(let s=0;s<n.length;s++)if(n[s].nodeType===Node.ELEMENT_NODE){let d=n[s];switch(d.nodeName){case"BaseURL":let[u,c]=xt(d);u!==void 0&&e.push(u),o=o.concat(c);break;case"AdaptationSet":let[l,f]=Pf(d);t.push(l),o=o.concat(f);break;case"EventStream":let[g,p]=Yd(d);a.push(g),o=o.concat(p);break;case"SegmentTemplate":let[h,y]=kn(d);r=h,y.length>0&&(o=o.concat(y));break;case"ContentProtection":let[b,T]=wt(d);T.length>0&&(o=o.concat(T)),b!==void 0&&i.push(b);break}}return[{baseURLs:e,adaptations:t,eventStreams:a,segmentTemplate:r,contentProtections:i},o]}function oy(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"start":r(o.value,{asKey:"start",parser:pt,dashName:"start"});break;case"duration":r(o.value,{asKey:"duration",parser:pt,dashName:"duration"});break;case"bitstreamSwitching":r(o.value,{asKey:"bitstreamSwitching",parser:We,dashName:"bitstreamSwitching"});break;case"xlink:href":e.xlinkHref=o.value;break;case"xlink:actuate":e.xlinkActuate=o.value;break}}return[e,t]}function la(n){let[e,t]=iy(n.childNodes),[r,i]=oy(n),o=t.concat(i);return[{children:e,attributes:r},o]}function ay(n){let e=[],t=[],r=[],i=[],o=[],a=[];for(let s=0;s<n.length;s++)if(n[s].nodeType===Node.ELEMENT_NODE){let d=n[s];switch(d.nodeName){case"BaseURL":let[u,c]=xt(d);u!==void 0&&e.push(u),a=a.concat(c);break;case"Location":t.push(d.textContent===null?"":d.textContent);break;case"Period":let[l,f]=la(d);r.push(l),a=a.concat(f);break;case"UTCTiming":let g=ze(d);i.push(g);break;case"ContentProtection":let[p,h]=wt(d);h.length>0&&(a=a.concat(h)),p!==void 0&&o.push(p);break}}return[{baseURLs:e,locations:t,periods:r,utcTimings:i,contentProtections:o},a]}function sy(n){let e={},t=[],r=xe(e,t);for(let i=0;i<n.attributes.length;i++){let o=n.attributes[i];switch(o.name){case"id":e.id=o.value;break;case"profiles":e.profiles=o.value;break;case"type":e.type=o.value;break;case"availabilityStartTime":r(o.value,{asKey:"availabilityStartTime",parser:ua,dashName:"availabilityStartTime"});break;case"availabilityEndTime":r(o.value,{asKey:"availabilityEndTime",parser:ua,dashName:"availabilityEndTime"});break;case"publishTime":r(o.value,{asKey:"publishTime",parser:ua,dashName:"publishTime"});break;case"mediaPresentationDuration":r(o.value,{asKey:"duration",parser:pt,dashName:"mediaPresentationDuration"});break;case"minimumUpdatePeriod":r(o.value,{asKey:"minimumUpdatePeriod",parser:pt,dashName:"minimumUpdatePeriod"});break;case"minBufferTime":r(o.value,{asKey:"minBufferTime",parser:pt,dashName:"minBufferTime"});break;case"timeShiftBufferDepth":r(o.value,{asKey:"timeShiftBufferDepth",parser:pt,dashName:"timeShiftBufferDepth"});break;case"suggestedPresentationDelay":r(o.value,{asKey:"suggestedPresentationDelay",parser:pt,dashName:"suggestedPresentationDelay"});break;case"maxSegmentDuration":r(o.value,{asKey:"maxSegmentDuration",parser:pt,dashName:"maxSegmentDuration"});break;case"maxSubsegmentDuration":r(o.value,{asKey:"maxSubsegmentDuration",parser:pt,dashName:"maxSubsegmentDuration"});break}}return[e,t]}function Mf(n){let[e,t]=ay(n.childNodes),[r,i]=sy(n),o=t.concat(i);return[{children:e,attributes:r},o]}function $d(n,e){let t=n.documentElement;if(_(t)||t.nodeName!=="MPD")throw new Error("DASH Parser: document root should be MPD");let[r,i]=Mf(t),o=Rf(r,e,i);return a(o);function a(s){if(s.type==="done")return s;if(s.type==="needs-clock")return{type:"needs-resources",value:{urls:[s.value.url],format:"string",continue(d){if(d.length!==1)throw new Error("DASH parser: wrong number of loaded ressources.");let u=s.value.continue(d[0].responseData);return a(u)}}};if(s.type==="needs-xlinks")return{type:"needs-resources",value:{urls:s.value.xlinksUrls,format:"string",continue(d){let u=[];for(let l=0;l<d.length;l++){let{responseData:f,receivedTime:g,sendingTime:p,url:h}=d[l];if(!f.success)throw f.error;let y="<root>"+f.data+"</root>",b=new DOMParser().parseFromString(y,"text/xml");if(_(b)||b.children.length===0)throw new Error("DASH parser: Invalid external ressources");let T=b.children[0].children,v=[],E=[];for(let R=0;R<T.length;R++)if(T[R].nodeType===Node.ELEMENT_NODE){let[k,A]=la(T[R]);E.push(...A),v.push(k)}u.push({url:h,receivedTime:g,sendingTime:p,parsed:v,warnings:E})}let c=s.value.continue(u);return a(c)}}};Qe(s)}}var Af=$d;function Ye(n,e){if(e.length===0)return n;let t,r="",i=n.indexOf("#"),o=n;i>=0&&(r=n.substring(i),o=n.substring(0,i));let a=o.indexOf("?");a===-1?t="?":a+1===o.length?t="":t="&";let s=o+t;for(let d=0;d<e.length;d++){let u=e[d];u[1]===null?s+=u[0]:s+=`${u[0]}=${u[1]}`,d<e.length-1&&(s+="&")}return r.length>0&&(s+=r),s}function Qd(n,e){return(t,r,i)=>new Promise((o,a)=>{let s=Date.now()-K(),d=!1,f={reject:h=>{var v,E;if(d||i.isCancelled())return;d=!0,i.deregister(p);let y=h,b=(v=y==null?void 0:y.message)!=null?v:"Unknown error when fetching the Manifest through a custom manifestLoader.",T=new nt(b,(E=y==null?void 0:y.canRetry)!=null?E:!1,y==null?void 0:y.xhr);a(T)},resolve:h=>{if(d||i.isCancelled())return;d=!0,i.deregister(p);let y=h.receivingTime!==void 0?h.receivingTime-s:void 0,b=h.sendingTime!==void 0?h.sendingTime-s:void 0;o({responseData:h.data,size:h.size,requestDuration:h.duration,url:h.url,receivedTime:y,sendingTime:b})},fallback:()=>{d||i.isCancelled()||(d=!0,i.deregister(p),e(t,r,i).then(o,a))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},f);i.register(p);function p(h){d||(d=!0,typeof g=="function"&&g(),a(h))}})}function dy(n){return function(t,r,i){var s,d;if(t===void 0)throw new Error("Cannot perform HTTP(s) request. URL not known");let o=((s=r.cmcdPayload)==null?void 0:s.type)==="query"?Ye(t,r.cmcdPayload.value):t,a=((d=r.cmcdPayload)==null?void 0:d.type)==="headers"?r.cmcdPayload.value:void 0;switch(n){case"arraybuffer":return Te({url:o,headers:a,responseType:"arraybuffer",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case"text":return Te({url:o,headers:a,responseType:"text",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case"document":return Te({url:o,headers:a,responseType:"document",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Qe(n)}}}function Li({customManifestLoader:n},e,t){let r=dy(e),i=typeof n!="function"?r:Qd(n,r);return t!==null?t(i):i}function Jt(n,e){if(e){if(yt(n,1718909296)<0)throw new De("INTEGRITY_ERROR","Incomplete `ftyp` box");if(yt(n,1836019574)<0)throw new De("INTEGRITY_ERROR","Incomplete `moov` box")}else{if(yt(n,1836019558)<0)throw new De("INTEGRITY_ERROR","Incomplete `moof` box");if(yt(n,1835295092)<0)throw new De("INTEGRITY_ERROR","Incomplete `mdat` box")}}function gt(n,e){if(n==="audio"||n==="video")return e==="video/mp4"||e==="audio/mp4"?"mp4":e==="video/webm"||e==="audio/webm"?"webm":void 0;if(n==="text")return e==="application/mp4"?"mp4":void 0}function ca(n){return(e,t,r,i,o)=>{return new Promise((s,d)=>{let u=new B,c=u.linkToSignal(i);u.signal.register(d),n(e,t,r,u.signal,de(ie({},o),{onNewChunk(f){try{a(f),o.onNewChunk(f)}catch(g){l(),u.cancel(),d(g)}}})).then(f=>{if(l(),!u.isUsed()){if(f.resultType==="segment-loaded")try{a(f.resultData.responseData)}catch(g){d(g);return}s(f)}},f=>{l(),d(f)});function l(){u.signal.deregister(d),c()}});function a(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||gt(t.type,t.mimeType)!=="mp4"||Jt(new Uint8Array(s),t.segment.isInit)}}}function xf(n){return async(e,t,r)=>{let i=await n(e,t,r);return o(i.responseData),i;function o(a){if(typeof a=="string"){let s=a.length-1,d=["</","MPD",">"];for(let u=d.length-1;u>=0;u--){let c=d[u];for(;uy(a[s]);)s--;for(let l=c.length-1;l>=0;l--){if(a[s]!==c[l])throw new Error("INTEGRITY_ERROR MPD does not end with </MPD>");s--}}}else if(a instanceof ArrayBuffer){let s=a.byteLength-1,d=new DataView(a),u=[[60,47],[77,80,68],[62]];for(let c=u.length-1;c>=0;c--){let l=u[c];for(;ly(d.getUint8(s));)s--;for(let f=l.length-1;f>=0;f--){if(d.getUint8(s)!==l[f])throw new Error("INTEGRITY_ERROR MPD does not end with </MPD>");s--}}}else if(!_(ee.Document)&&a instanceof ee.Document&&a.documentElement.nodeName!=="MPD")throw new De("INTEGRITY_ERROR","MPD does not end with </MPD>")}}}function uy(n){return n===" "||n===" "||n==="\r"||n===`
5
+ `}function ly(n){return n===32||n===9||n===13||n===10}function Xd(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,o,a,s,d){var T;let{responseData:u}=i,c=o.externalClockOffset,l=(T=i.url)!=null?T:o.originalUrl,f=t!=null?t:c,p={unsafelyBaseOnPreviousManifest:o.unsafeMode?o.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:f},h=me.dashParsers;if(h.wasm===null||h.wasm.status==="uninitialized"||h.wasm.status==="failure")return m.debug("DASH: WASM MPD Parser not initialized. Running JS one."),y();{let v=gy(u);if(!hy(v))return m.info("DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one."),y();if(h.wasm.status==="initialized"){m.debug("DASH: Running WASM MPD Parser.");let E=h.wasm.runWasmParser(v,p);return b(E)}else return m.debug("DASH: Awaiting WASM initialization before parsing the MPD."),h.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(h.wasm===null||h.wasm.status!=="initialized")return m.warn("DASH: WASM MPD parser initialization failed. Running JS parser instead"),y();m.debug("DASH: Running WASM MPD Parser.");let R=h.wasm.runWasmParser(v,p);return b(R)})}function y(){if(h.fastJs!==null){let v=my(u),E=h.fastJs(v,p);return b(E)}else if(h.native!==null){let v=py(u),E=h.native(v,p);return b(E)}else throw new Error("No MPD parser is imported")}function b(v){if(v.type==="done"){if(v.value.warnings.length>0&&a(v.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let k=[];return{manifest:new Vn(v.value.parsed,n,k),url:l,warnings:k}}let{value:E}=v,R=E.urls.map(k=>d(()=>{let A=U.getCurrent().DEFAULT_REQUEST_TIMEOUT,M=U.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return E.format==="string"?Te({url:k,responseType:"text",timeout:A,connectionTimeout:M,cancelSignal:s}):Te({url:k,responseType:"arraybuffer",timeout:A,connectionTimeout:M,cancelSignal:s})}).then(A=>{if(E.format==="string"){if(typeof A.responseData!="string")throw new Error("External DASH resources should have been a string");return j(A,{responseData:{success:!0,data:A.responseData}})}else{if(!(A.responseData instanceof ArrayBuffer))throw new Error("External DASH resources should have been ArrayBuffers");return j(A,{responseData:{success:!0,data:A.responseData}})}},A=>{let M=we(A,{defaultCode:"PIPELINE_PARSE_ERROR",defaultReason:"An unknown error occured when parsing ressources."});return j({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:M}})}));return Promise.all(R).then(k=>E.format==="string"?(cy(k),b(E.continue(k))):(fy(k),b(E.continue(k))))}}}function cy(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data=="string")&&t.success)throw new Error("Invalid data given to the LoadedRessource")})}function fy(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error("Invalid data given to the LoadedRessource")})}function my(n){if(n instanceof ArrayBuffer)return Le(new Uint8Array(n));if(typeof n=="string")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function py(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(Le(new Uint8Array(n)),"text/xml");if(typeof n=="string")return new DOMParser().parseFromString(n,"text/xml");if(n instanceof Document)return n;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function gy(n){if(n instanceof ArrayBuffer)return n;if(typeof n=="string")return ve(n).buffer;if(n instanceof Document)return ve(n.documentElement.innerHTML).buffer;throw new Error("DASH Manifest Parser: Unrecognized Manifest format")}function hy(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function dt([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Ni(n,e){return n===null?null:e.url===null?n.baseUrl:$n(n.baseUrl,e.url)}function Ui(n,e,t,r,i){var u,c;let o=n;((u=t.cmcdPayload)==null?void 0:u.type)==="query"&&(o=Ye(o,t.cmcdPayload.value));let a=((c=t.cmcdPayload)==null?void 0:c.type)==="headers"?t.cmcdPayload.value:void 0;if(e.range===void 0)return Te({url:o,responseType:"arraybuffer",headers:a,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));if(e.indexRange===void 0)return Te({url:o,headers:de(ie({},a),{Range:dt(e.range)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));if(e.range[1]+1===e.indexRange[0])return Te({url:o,headers:de(ie({},a),{Range:dt([e.range[0],e.indexRange[1]])}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:"segment-loaded",resultData:l}));let s=Te({url:o,headers:de(ie({},a),{Range:dt(e.range)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),d=Te({url:o,headers:de(ie({},a),{Range:dt(e.indexRange)}),responseType:"arraybuffer",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,d]).then(([l,f])=>{let g=re(new Uint8Array(l.responseData),new Uint8Array(f.responseData)),p=Math.min(l.sendingTime,f.sendingTime),h=Math.max(l.receivedTime,f.receivedTime);return{resultType:"segment-loaded",resultData:{url:o,responseData:g,size:l.size+f.size,requestDuration:h-p,sendingTime:p,receivedTime:h}}})}async function Bi(n,e,t,r){let i=null;function o(s){let d=new Uint8Array(s.chunk),u=i!==null?re(i,d):d,c=No(u),l=c[0];i=c[1],!(l!==null&&(l.forEach(f=>{t.onNewChunk(f)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:"chunk-complete",resultData:await Io({url:n,headers:e.headers,onData:o,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function wf(n,e,t,r,i,o){var f,g;if(e.segment.isInit)return Ui(n,e.segment,r,o,i);let a=((f=r.cmcdPayload)==null?void 0:f.type)==="query"?Ye(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)==="headers"?r.cmcdPayload.value:void 0,{segment:d}=e,u;d.range!==void 0?u=de(ie({},s),{Range:dt(d.range)}):s!==void 0&&(u=s);let c=gt(e.type,e.mimeType);if(t&&(c==="mp4"||c===void 0)){if(Sr())return Bi(a,{headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,o);kt("DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge")}return{resultType:"segment-loaded",resultData:await Te({url:a,responseType:"arraybuffer",headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:o,onProgress:i.onProgress})}}function Zd({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:ca(r);function r(i,o,a,s,d){let u=Ni(i,o.segment);return u===null?Promise.resolve({resultType:"segment-created",resultData:null}):n||e===void 0?wf(u,o,n,a,d,s):new Promise((c,l)=>{let f=!1,b={reject:k=>{var L,O;if(f||s.isCancelled())return;f=!0,s.deregister(R);let A=k,M=(L=A==null?void 0:A.message)!=null?L:"Unknown error when fetching a DASH segment through a custom segmentLoader.",x=new nt(M,(O=A==null?void 0:A.canRetry)!=null?O:!1,A==null?void 0:A.xhr);l(x)},resolve:k=>{f||s.isCancelled()||(f=!0,s.deregister(R),c({resultType:"segment-loaded",resultData:{responseData:k.data,size:k.size,requestDuration:k.duration}}))},progress:k=>{f||s.isCancelled()||d.onProgress({duration:k.duration,size:k.size,totalSize:k.totalSize})},fallback:()=>{f||s.isCancelled()||(f=!0,s.deregister(R),wf(u,o,n,a,d,s).then(c,l))}},T;o.segment.range!==void 0&&(T=[o.segment.range],o.segment.indexRange!==void 0&&T.push(o.segment.indexRange));let v={isInit:o.segment.isInit,timeout:a.timeout,byteRanges:T,trackType:o.type,url:u,cmcdPayload:a.cmcdPayload},E=e(v,b);s.register(R);function R(k){f||(f=!0,typeof E=="function"&&E(),l(k))}})}}var eu=408125543,Of=357149030,yy=2807729,Iy=17545,by=475249515,Sy=187,Ty=179,_y=183,Ey=241;function en(n,e,t,[r,i]){let o=r;for(;o<i;){let a=Ry(t,o);if(a===null)return null;let{value:s,length:d}=a,u=o+d,c=ky(t,u);if(c===null)return null;let{length:l,value:f}=c,g=u+l,p=g+f;if(s===n)return[g,p];if(e.length>0){for(let h=0;h<e.length;h++)if(s===e[h]){let y=e.slice(h+1,e.length);return en(n,y,t,[g,p])}}o=p}return null}function fa(n,e){let t=en(yy,[eu,Of],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/Jd(n,t[0],r)}function vy(n,e){let t=en(Iy,[eu,Of],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?Cy(n,t[0]):r===8?Py(n,t[0]):null}function tu(n,e){let t=en(eu,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,o=fa(n,r);if(o===null)return null;let a=vy(n,r);if(a===null)return null;let s=en(by,[],n,[r,i]);if(s===null)return null;let d=[],u=s[0];for(;u<s[1];){let l=en(Sy,[],n,[u,s[1]]);if(l===null)break;let f=en(Ty,[],n,[l[0],l[1]]);if(f===null)return null;let g=Jd(n,f[0],f[1]-f[0]),p=en(Ey,[_y],n,[l[0],l[1]]);if(p===null)return null;let h=Jd(n,p[0],p[1]-p[0])+r;d.push({time:g,rangeStart:h}),u=l[1]}let c=[];for(let l=0;l<d.length;l++){let f=d[l];l===d.length-1?c.push({time:f.time,timescale:o,duration:l===0?a:a-f.time,range:[f.rangeStart,1/0]}):c.push({time:f.time,timescale:o,duration:d[l+1].time-f.time,range:[f.rangeStart,d[l+1].rangeStart-1]})}return c}function Df(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function Ry(n,e){let t=Df(n,e);if(t===void 0)return m.warn("webm: unrepresentable length"),null;if(e+t>n.length)return m.warn("webm: impossible length"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function ky(n,e){let t=Df(n,e);if(t===void 0)return m.warn("webm: unrepresentable length"),null;if(e+t>n.length)return m.warn("webm: impossible length"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function Cy(n,e){return new DataView(n.buffer).getFloat32(e)}function Py(n,e){return new DataView(n.buffer).getFloat64(e)}function Jd(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function Fi(n,e,t,r){let i=Is(n);if(i===void 0||r===void 0)return null;let o=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,a=Or(n);if(o<0&&(a!==void 0&&(a+=o),o=0),e||!t.complete)return a===void 0&&m.warn("DASH: Chunked segments should indicate a duration through their trun boxes"),{time:o/r,duration:a!==void 0?a/r:void 0};let s,d=t.duration*r,u=Math.min(r*.9,d/4);return a!==void 0&&Math.abs(a-d)<=u&&(s=a),{time:o/r,duration:s!==void 0?s/r:s}}function My(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],o=e,{messageData:a}=i,s=Le(a),d=Date.parse(s);if(o===void 0||d===void 0||isNaN(d)||d>=o)return!0}return!1}function nu(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((a,s)=>(s.schemeIdUri==="urn:mpeg:dash:event:2012"&&s.value==="1"?(a.manifestRefreshEventsFromEMSGs===void 0&&(a.manifestRefreshEventsFromEMSGs=[]),a.manifestRefreshEventsFromEMSGs.push(s)):(a.EMSGs===void 0&&(a.EMSGs=[]),a.EMSGs.push(s)),a),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(a=>({type:"emsg",value:a})),o=e===void 0||t===void 0?!1:My(t,e);return{inbandEvents:i,needsManifestRefresh:o}}function ru({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var v,E;let{segment:o,periodStart:a,periodEnd:s}=r,{data:d,isChunked:u}=t,c=[a,s];if(d===null)return o.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:c};let l=d instanceof Uint8Array?d:new Uint8Array(d),f=gt(r.type,r.mimeType),g=f==="mp4"||f===void 0,p=[];if(g){let R=Uo(l),k;o.isInit&&(k=(v=Cc(l))!=null?v:void 0),(R.length>0||k!==void 0)&&p.push({initDataType:"cenc",keyId:k,initData:R})}if(!o.isInit){let R=g?Fi(l,u,o,i):null,k=(E=o.timestampOffset)!=null?E:0;if(g){let A=kc(l);if(A!==void 0){let M=A.filter(L=>o.privateInfos===void 0||o.privateInfos.isEMSGWhitelisted===void 0?!1:o.privateInfos.isEMSGWhitelisted(L)),x=nu(M,r.manifestPublishTime);if(x!==void 0){let{needsManifestRefresh:L,inbandEvents:O}=x;return{segmentType:"media",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:k,appendWindow:c,inbandEvents:O,protectionData:p,needsManifestRefresh:L}}}}return{segmentType:"media",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:k,protectionData:p,appendWindow:c}}let{indexRange:h}=o,y;if(f==="webm")y=tu(l,0);else if(g&&(y=wr(l,Array.isArray(h)?h[0]:0),n===!0&&y!==null&&y.length>0)){let R=y[y.length-1];Array.isArray(R.range)&&(R.range[1]=1/0)}let b;g?b=Dr(l):f==="webm"&&(b=fa(l,0));let T=_(b)?void 0:b;return{segmentType:"init",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:T,segmentList:y!=null?y:void 0}}}function iu({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:ca(t);async function t(r,i,o,a,s){var y,b;let{segment:d}=i,u=Ni(r,d);if(u===null)return Promise.resolve({resultType:"segment-created",resultData:null});if(d.isInit)return Ui(u,d,o,a,s);let c=((y=o.cmcdPayload)==null?void 0:y.type)==="query"?Ye(u,o.cmcdPayload.value):u,l=((b=o.cmcdPayload)==null?void 0:b.type)==="headers"?o.cmcdPayload.value:void 0,f;d.range!==void 0?f=de(ie({},l),{Range:dt(d.range)}):l!==void 0&&(f=l);let g=gt(i.type,i.mimeType),p=g==="mp4"||g===void 0;if(n&&p){if(Sr())return Bi(c,{headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout},s,a);kt("DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge")}let h;return p?h=await Te({url:c,responseType:"arraybuffer",headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout,onProgress:s.onProgress,cancelSignal:a}):h=await Te({url:c,responseType:"text",headers:f,timeout:o.timeout,connectionTimeout:o.connectionTimeout,onProgress:s.onProgress,cancelSignal:a}),{resultType:"segment-loaded",resultData:h}}}function Ay(n){let e=Ar(n);return e===null?"":Le(e)}function xy(n){if(n===void 0)throw new Error("Cannot parse subtitles: unknown format");switch(n.toLowerCase()){case"stpp":case"stpp.ttml.im1t":return"ttml";case"wvtt":return"vtt"}throw new Error(`The codec used for the subtitles "${n}" is not managed yet.`)}function wy(n,e){switch(e){case"application/ttml+xml":return"ttml";case"application/x-sami":case"application/smil":return"sami";case"text/vtt":return"vtt"}if(n!==void 0&&n.toLowerCase()==="srt")return"srt";throw new Error(`could not find a text-track parser for the type ${e!=null?e:""}`)}function Lf({segment:n,language:e,codecs:t},r,i,o){if(n.isInit)return null;let a,s;i===null?o?(a=n.time,s=n.end):m.warn("Transport: Unavailable time data for current text track."):(a=i.time,i.duration!==void 0?s=a+i.duration:!o&&n.complete&&(s=a+n.duration));let d=xy(t);return{data:Ay(r),type:d,language:e,start:a,end:s}}function Nf(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,o;t?m.warn("Transport: Unavailable time data for current text track."):(i=r.time,r.complete&&(o=r.time+r.duration));let a=wy(n.codecs,n.mimeType);return{data:e,type:a,language:n.language,start:i,end:o}}function Oy(n,e,t,r,i){var f;let{segment:o}=t,{isInit:a,indexRange:s}=o,d;if(typeof n=="string"?d=ve(n):n instanceof Uint8Array?d=n:d=new Uint8Array(n),a){let g=wr(d,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let h=g[g.length-1];Array.isArray(h.range)&&(h.range[1]=1/0)}let p=Dr(d);return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let u=Fi(d,e,o,r),c=Lf(t,d,u,e),l=(f=o.timestampOffset)!=null?f:0;return{segmentType:"media",chunkData:c,chunkSize:d.length,chunkInfos:u,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function Dy(n,e,t){let{periodStart:r,periodEnd:i,segment:o}=t,{timestampOffset:a=0}=o;if(o.isInit)return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,d;if(typeof n!="string"){let c=n instanceof Uint8Array?n:new Uint8Array(n);s=Le(c),d=c.length}else s=n;return{segmentType:"media",chunkData:Nf(t,s,e),chunkSize:d,chunkInfos:null,chunkOffset:a,protectionData:[],appendWindow:[r,i]}}function ou({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:o,periodEnd:a,segment:s}=r,{data:d,isChunked:u}=t;if(d===null)return s.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[o,a]};let c=gt(r.type,r.mimeType);if(c==="webm")throw new Error("Text tracks with a WEBM container are not yet handled.");return c==="mp4"?Oy(d,u,r,i,n):Dy(d,u,r)}}function Uf(n){let e=Li({customManifestLoader:n.manifestLoader},Ly()?"text":"arraybuffer",n.checkManifestIntegrity===!0?xf:null),t=Xd(n),r=Zd(n),i=ru(n),o=iu(n),a=ou(n);return{transportName:"dash",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:o,parseSegment:a}}}function Ly(){return me.dashParsers.wasm!==null&&(me.dashParsers.wasm.status==="initialized"||me.dashParsers.wasm.status==="initializing")}var Bf=Uf;function au(n){n.transports.dash===void 0&&(n.transports.dash=Bf),n.dashParsers.native=Af,n.mainThreadMediaSourceInit=Tn}var Ny=typeof MediaSource=="function"&&MediaSource.canConstructInDedicatedWorker===!0,Ff=Ny;var Ki=class extends Gn{constructor(e){super(),this._settings=e,this._initCanceller=new B}prepare(){}start(e,t){let r=this._initCanceller.signal,{keySystems:i,speed:o,url:a}=this._settings;qn(e);let{statusRef:s}=Ii(e,i,{onError:u=>this._onFatalError(u),onWarning:u=>this.trigger("warning",u),onBlackListProtectionData:Z,onKeyIdsCompatibilityUpdate:Z},r);_i(e,u=>this._onFatalError(u),r);let d=new Sn(t,null,o);d.addEventListener("stalled",u=>this.trigger("stalled",u)),d.addEventListener("unstalled",()=>this.trigger("unstalled",null)),d.addEventListener("warning",u=>this.trigger("warning",u)),r.register(()=>{d.destroy()}),d.start(),s.onUpdate((u,c)=>{u.initializationState.type!=="uninitialized"&&(c(),m.info("Setting URL to HTMLMediaElement",a),e.src=a,r.register(()=>{m.info("Init: Removing directfile src from media element",e.src),qn(e)}),u.initializationState.type==="awaiting-media-link"?(u.initializationState.value.isMediaLinked.setValue(!0),s.onUpdate((l,f)=>{l.initializationState.type==="initialized"&&(f(),this._seekAndPlay(e,t))},{emitCurrentValue:!0,clearSignal:r})):(te(u.initializationState.type==="initialized"),this._seekAndPlay(e,t)))},{emitCurrentValue:!0,clearSignal:r})}updateContentUrls(e,t){throw new Error("Cannot update content URL of directfile contents")}dispose(){this._initCanceller.cancel()}_onFatalError(e){this._initCanceller.cancel(),this.trigger("error",e)}_seekAndPlay(e,t){let r=this._initCanceller.signal,{autoPlay:i,startAt:o}=this._settings;yi({mediaElement:e,playbackObserver:t,startTime:()=>{m.debug("Init: Calculating initial time");let s=Uy(e,o);return m.debug("Init: Initial time calculated:",s),s},mustAutoPlay:i,onWarning:s=>this.trigger("warning",s),isDirectfile:!0},r).autoPlayResult.then(()=>hi(t,e,!0,r).onUpdate((s,d)=>{s&&(d(),this.trigger("loaded",{getSegmentSinkMetrics:null}))},{emitCurrentValue:!0,clearSignal:r})).catch(s=>{r.isCancelled()||this._onFatalError(s)})}};function Uy(n,e){if(_(e))return 0;if(_(e.position))if(_(e.wallClockTime)){if(!_(e.fromFirstPosition))return e.fromFirstPosition}else return e.wallClockTime;else return e.position;let t=n.duration;if(typeof e.fromLastPosition=="number")return _(t)||!isFinite(t)?(m.warn("startAt.fromLastPosition set but no known duration, beginning at 0."),0):Math.max(0,t+e.fromLastPosition);if(typeof e.fromLivePosition=="number"){let r=n.seekable.length>0?n.seekable.end(0):t;return _(r)?(m.warn("startAt.fromLivePosition set but no known live position, beginning at 0."),0):Math.max(0,r+e.fromLivePosition)}else if(!_(e.percentage)){if(_(t)||!isFinite(t))return m.warn("startAt.percentage set but no known duration, beginning at 0."),0;let{percentage:r}=e;if(r>=100)return t;if(r<=0)return 0;let i=+r/100;return t*i}return 0}function su(n,e){for(let t=0;t<n.length;t++)(!sr||t!==e)&&(n[t].enabled=!1);return e<0||e>=n.length?!1:(n[e].enabled=!0,!0)}function Zn(n,e){var t;if(e.length!==n.length)return!0;for(let r=0;r<e.length;r++)if(e[r].nativeTrack!==((t=n[r])==null?void 0:t.nativeTrack))return!0;return!1}function du(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_audio_"+a+"_"+s.toString();t[a]=s+1;let u={language:o.language,id:d,normalized:Tr(o.language),audioDescription:o.kind==="descriptions"||o.kind==="description",representations:[]};e.push({track:u,nativeTrack:o})}return e}function uu(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_text_"+a+"_"+s.toString();t[a]=s+1;let u=o.kind==="forced"?!0:void 0,c={language:o.language,forced:u,label:o.label,id:d,normalized:Tr(o.language),closedCaption:o.kind==="captions"};e.push({track:c,nativeTrack:o})}return e}function lu(n){var r;let e=[],t={};for(let i=0;i<n.length;i++){let o=n[i],a=o.language===""?"nolang":o.language,s=(r=t[a])!=null?r:1,d="gen_video_"+a+"_"+s.toString();t[a]=s+1,e.push({track:{id:d,representations:[]},nativeTrack:o})}return e}var Vi=class extends oe{constructor(e){var t,r,i;super(),this._nativeAudioTracks=e.audioTracks,this._nativeVideoTracks=e.videoTracks,this._nativeTextTracks=e.textTracks,this._audioTracks=this._nativeAudioTracks!==void 0?du(this._nativeAudioTracks):[],this._videoTracks=this._nativeVideoTracks!==void 0?lu(this._nativeVideoTracks):[],this._textTracks=this._nativeTextTracks!==void 0?uu(this._nativeTextTracks):[],this._lastEmittedNativeAudioTrack=(t=this._getCurrentAudioTrack())==null?void 0:t.nativeTrack,this._lastEmittedNativeVideoTrack=(r=this._getCurrentVideoTrack())==null?void 0:r.nativeTrack,this._lastEmittedNativeTextTrack=(i=this._getCurrentTextTrack())==null?void 0:i.nativeTrack,this._handleNativeTracksCallbacks()}setAudioTrackById(e){for(let t=0;t<this._audioTracks.length;t++){let{track:r,nativeTrack:i}=this._audioTracks[t];if(r.id===e){this._enableAudioTrackFromIndex(t),this._audioTrackLockedOn=i;return}}throw new Error("Audio track not found.")}disableTextTrack(){Kf(this._textTracks),this._textTrackLockedOn=null}setTextTrackById(e){let t=!1;for(let r=0;r<this._textTracks.length;r++){let{track:i,nativeTrack:o}=this._textTracks[r];i.id===e?(o.mode="showing",t=!0,this._textTrackLockedOn=o):(o.mode==="showing"||o.mode==="hidden")&&(o.mode="disabled")}if(!t)throw new Error("Text track not found.")}disableVideoTrack(){Vf(this._videoTracks),this._videoTrackLockedOn=null}setVideoTrackById(e){for(let t=0;t<this._videoTracks.length;t++){let{track:r,nativeTrack:i}=this._videoTracks[t];if(r.id===e){i.selected=!0,this._videoTrackLockedOn=i;return}}throw new Error("Video track not found.")}getChosenAudioTrack(){let e=this._getCurrentAudioTrack();return _(e)?e:e.track}getChosenTextTrack(){let e=this._getCurrentTextTrack();return _(e)?e:e.track}getChosenVideoTrack(){let e=this._getCurrentVideoTrack();return _(e)?e:e.track}getAvailableAudioTracks(){return this._audioTracks.map(({track:e,nativeTrack:t})=>({id:e.id,language:e.language,normalized:e.normalized,audioDescription:e.audioDescription,active:t.enabled,representations:e.representations}))}getAvailableTextTracks(){return this._textTracks.map(({track:e,nativeTrack:t})=>({id:e.id,label:e.label,forced:e.forced,language:e.language,normalized:e.normalized,closedCaption:e.closedCaption,active:t.mode==="showing"}))}getAvailableVideoTracks(){return this._videoTracks.map(({track:e,nativeTrack:t})=>({id:e.id,representations:e.representations,active:t.selected}))}dispose(){this._nativeVideoTracks!==void 0&&(this._nativeVideoTracks.onchange=null,this._nativeVideoTracks.onaddtrack=null,this._nativeVideoTracks.onremovetrack=null),this._nativeAudioTracks!==void 0&&(this._nativeAudioTracks.onchange=null,this._nativeAudioTracks.onaddtrack=null,this._nativeAudioTracks.onremovetrack=null),this._nativeTextTracks!==void 0&&(this._nativeTextTracks.onchange=null,this._nativeTextTracks.onaddtrack=null,this._nativeTextTracks.onremovetrack=null),this.removeEventListener()}_getCurrentAudioTrack(){if(this._nativeAudioTracks!==void 0){for(let e=0;e<this._audioTracks.length;e++){let t=this._audioTracks[e];if(t.nativeTrack.enabled)return t}return null}}_getCurrentVideoTrack(){if(this._nativeVideoTracks!==void 0){for(let e=0;e<this._videoTracks.length;e++){let t=this._videoTracks[e];if(t.nativeTrack.selected)return t}return null}}_getCurrentTextTrack(){if(this._nativeTextTracks!==void 0){for(let e=0;e<this._textTracks.length;e++){let t=this._textTracks[e];if(t.nativeTrack.mode==="showing")return t}return null}}_setPreviouslyLockedAudioTrack(){if(this._audioTrackLockedOn!==void 0)if(this._audioTrackLockedOn===null)for(let e=0;e<this._audioTracks.length;e++){let{nativeTrack:t}=this._audioTracks[e];t.enabled=!1}else for(let e=0;e<this._audioTracks.length;e++){let{nativeTrack:t}=this._audioTracks[e];if(t===this._audioTrackLockedOn){this._enableAudioTrackFromIndex(e);return}}}_setPreviouslyLockedTextTrack(){if(this._textTrackLockedOn!==void 0)if(this._textTrackLockedOn===null){Kf(this._textTracks);return}else for(let e=0;e<this._textTracks.length;e++){let{nativeTrack:t}=this._textTracks[e];if(t===this._textTrackLockedOn){By(this._textTracks,t),t.mode!=="showing"&&(t.mode="showing");return}}}_setPreviouslyLockedVideoTrack(){if(this._videoTrackLockedOn!==void 0)if(this._videoTrackLockedOn===null){Vf(this._videoTracks);return}else for(let e=0;e<this._videoTracks.length;e++){let{nativeTrack:t}=this._videoTracks[e];if(t===this._videoTrackLockedOn){t.selected=!0;return}}}_handleNativeTracksCallbacks(){this._nativeAudioTracks!==void 0&&(this._nativeAudioTracks.onaddtrack=()=>{var e,t;if(this._nativeAudioTracks!==void 0){let r=du(this._nativeAudioTracks);if(Zn(this._audioTracks,r)){this._audioTracks=r,this._setPreviouslyLockedAudioTrack(),this.trigger("availableAudioTracksChange",this.getAvailableAudioTracks());let i=this._getCurrentAudioTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeAudioTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeAudioTracks.onremovetrack=()=>{var e,t;if(this._nativeAudioTracks!==void 0){let r=du(this._nativeAudioTracks);if(Zn(this._audioTracks,r)){this._audioTracks=r,this.trigger("availableAudioTracksChange",this.getAvailableAudioTracks());let i=this._getCurrentAudioTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeAudioTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeAudioTracks.onchange=()=>{if(this._audioTracks!==void 0)for(let e=0;e<this._audioTracks.length;e++){let{track:t,nativeTrack:r}=this._audioTracks[e];if(r.enabled){r!==this._lastEmittedNativeAudioTrack&&(this.trigger("audioTrackChange",t),this._lastEmittedNativeAudioTrack=r);return}}this._lastEmittedNativeAudioTrack!==null&&(this.trigger("audioTrackChange",null),this._lastEmittedNativeAudioTrack=null)}),this._nativeTextTracks!==void 0&&(this._nativeTextTracks.onaddtrack=()=>{var e,t;if(this._nativeTextTracks!==void 0){let r=uu(this._nativeTextTracks);if(Zn(this._textTracks,r)){this._textTracks=r,this._setPreviouslyLockedTextTrack(),this.trigger("availableTextTracksChange",this.getAvailableTextTracks());let i=this._getCurrentTextTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeTextTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeTextTracks.onremovetrack=()=>{var e,t;if(this._nativeTextTracks!==void 0){let r=uu(this._nativeTextTracks);if(Zn(this._textTracks,r)){this._textTracks=r,this._setPreviouslyLockedTextTrack(),this.trigger("availableTextTracksChange",this.getAvailableTextTracks());let i=this._getCurrentTextTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeTextTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeTextTracks.onchange=()=>{if(this._textTracks!==void 0)for(let e=0;e<this._textTracks.length;e++){let{track:t,nativeTrack:r}=this._textTracks[e];if(r.mode==="showing"){r!==this._lastEmittedNativeTextTrack&&(this.trigger("textTrackChange",t),this._lastEmittedNativeTextTrack=r);return}}this._lastEmittedNativeTextTrack!==null&&(this.trigger("textTrackChange",null),this._lastEmittedNativeTextTrack=null)}),this._nativeVideoTracks!==void 0&&(this._nativeVideoTracks.onaddtrack=()=>{var e,t;if(this._nativeVideoTracks!==void 0){let r=lu(this._nativeVideoTracks);if(Zn(this._videoTracks,r)){this._videoTracks=r,this._setPreviouslyLockedVideoTrack(),this.trigger("availableVideoTracksChange",this.getAvailableVideoTracks());let i=this._getCurrentVideoTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeVideoTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeVideoTracks.onremovetrack=()=>{var e,t;if(this._nativeVideoTracks!==void 0){let r=lu(this._nativeVideoTracks);if(Zn(this._videoTracks,r)){this._videoTracks=r,this._setPreviouslyLockedVideoTrack(),this.trigger("availableVideoTracksChange",this.getAvailableVideoTracks());let i=this._getCurrentVideoTrack();(i==null?void 0:i.nativeTrack)!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",(e=i==null?void 0:i.track)!=null?e:null),this._lastEmittedNativeVideoTrack=(t=i==null?void 0:i.nativeTrack)!=null?t:null)}}},this._nativeVideoTracks.onchange=()=>{if(this._videoTracks!==void 0)for(let e=0;e<this._videoTracks.length;e++){let{track:t,nativeTrack:r}=this._videoTracks[e];if(r.selected){r!==this._lastEmittedNativeVideoTrack&&(this.trigger("videoTrackChange",t),this._lastEmittedNativeVideoTrack=r);return}}this._lastEmittedNativeVideoTrack!==null&&(this.trigger("videoTrackChange",null),this._lastEmittedNativeVideoTrack=null)})}_enableAudioTrackFromIndex(e){su(this._audioTracks.map(({nativeTrack:t})=>t),e)}};function Kf(n){for(let e=0;e<n.length;e++){let{nativeTrack:t}=n[e];t.mode="disabled"}}function By(n,e){for(let t=0;t<n.length;t++){let{nativeTrack:r}=n[t];r!==e&&(r.mode==="showing"||r.mode==="hidden")&&(r.mode="disabled")}}function Vf(n){for(let e=0;e<n.length;e++){let{nativeTrack:t}=n[e];t.selected=!1}}function cu(n){n.directfile={initDirectFile:Ki,mediaElementTracksStore:Vi}}function fu(n){n.decrypt=Bc}var zf=ee.ResizeObserver;function mu(n,e,t){let{height:r,width:i}=n.getBoundingClientRect(),o=new G({height:r,width:i},t),a=r,s=i;if(zf!==void 0){let d=new zf(u=>{if(u.length===0){m.error("Compat: Resized but no observed element.");return}let c=u[0],{height:l,width:f}=c.contentRect;(l!==a||f!==s)&&(a=l,s=f,o.setValue({height:l,width:f}))});d.observe(n),t.register(()=>{d.disconnect()})}else{let d=setInterval(()=>{let{height:u,width:c}=n.getBoundingClientRect();(u!==a||c!==s)&&(a=u,s=c,o.setValue({height:u,width:c}))},e);t.register(()=>{clearInterval(d)})}return o}var Cn=class{constructor(){this._ranges=[],this.length=0}insert(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0,"invalid start time"),te(t-e>0,"invalid end time")),Ht(this._ranges,{start:e,end:t}),this.length=this._ranges.length}remove(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0,"invalid start time"),te(t-e>0,"invalid end time"));let r=[];e>0&&r.push({start:0,end:e}),t<1/0&&r.push({start:t,end:1/0}),this._ranges=Hl(this._ranges,r),this.length=this._ranges.length}start(e){if(e>=this._ranges.length)throw new Error("INDEX_SIZE_ERROR");return this._ranges[e].start}end(e){if(e>=this._ranges.length)throw new Error("INDEX_SIZE_ERROR");return this._ranges[e].end}};function pu(n,e,t,r){m.debug("HTSB: Finding parser for html text tracks:",n);let i=me.htmlTextTracksParsers[n];if(typeof i!="function")throw new Error("no parser found for the given text track");m.debug("HTSB: Parser found, parsing...");let o=i(e,t,r);return m.debug("HTTB: Parsed successfully!",o.length),o}function Dt(n,e,t=.2){return Math.abs(n-e)<=Math.min(t,.2)}var Fy=.05;function Hf(n,e){let t=n.end-n.start,r=e.end-e.start,i=Math.abs(n.start-e.start),o=Math.min(t,r,.2);return i/o<=Fy}function zi(n,e){for(let t=n.length-1;t>=0;t--)if(n[t].start<e)return n.slice(0,t+1);return[]}function Jn(n,e){for(let t=0;t<n.length;t++)if(n[t].end>e)return n.slice(t,n.length);return[]}function gu(n,e,t){let r=Math.max(n.start,e),i=zi(n.cues,e),o={start:n.start,end:r,cues:i},a=Math.min(t,n.end),s=Jn(n.cues,t),d={start:a,end:n.end,cues:s};return[o,d]}var Wf=.001,Ky=5,Hi=class{constructor(){this._cuesBuffer=[]}isEmpty(){return this._cuesBuffer.length===0}get(e){let t=this._cuesBuffer,r=[];for(let i=t.length-1;i>=0;i--){let o=t[i];if(e<o.end&&e>=o.start){let a=o.cues;for(let s of a)e>=s.start&&e<s.end&&r.push(s.element);if(r.length===0&&a.length>0)for(let s of a)(Dt(e,s.start,Wf)||Dt(e,s.end,Wf))&&r.push(s.element);return r}}return[]}remove(e,t){I.CURRENT_ENV===I.DEV&&(te(e>=0),te(t>=0),te(t>e));let r=Math.max(e,t),i=this._cuesBuffer;for(let o=0;o<i.length;o++)if(i[o].end>e){let a=i[o];if(a.start>=r)return;if(a.end>=r){if(e<=a.start)a.cues=Jn(a.cues,r),a.start=r;else{let[s,d]=gu(a,e,r);this._cuesBuffer[o]=s,i.splice(o+1,0,d)}return}a.start>=e?(i.splice(o,1),o--):(a.cues=zi(a.cues,e),a.end=Math.max(e,a.start))}}insert(e,t,r){let i=this._cuesBuffer,o={start:t,end:r,cues:e},a=Math.abs(t-r)/Ky;function s(d){let u=i[d];u===void 0||Dt(o.end,u.end,a)?i[d]=o:(u.start>=o.end||(u.cues=Jn(u.cues,o.end),u.start=o.end),i.splice(d,0,o))}for(let d=0;d<i.length;d++){let u=i[d];if(t<u.end){if(Hf(o,u)){if(Dt(r,u.end,a)){i[d]=o;return}else if(r<u.end){u.cues=Jn(u.cues,r),u.start=r,i.splice(d,0,o);return}do i.splice(d,1),u=i[d];while(u!==void 0&&r>u.end);s(d);return}else if(t<u.start){if(r<u.start){i.splice(d,0,o);return}else if(Dt(r,u.start,a)){u.start=r,i.splice(d,0,o);return}else if(Dt(r,u.end,a)){i.splice(d,1,o);return}else if(r<u.end){u.cues=Jn(u.cues,r),u.start=r,i.splice(d,0,o);return}do i.splice(d,1),u=i[d];while(u!==void 0&&r>u.end);s(d);return}if(Dt(u.end,r,a)){u.cues=zi(u.cues,t),u.end=t,i.splice(d+1,0,o);return}else if(u.end>r){let[c,l]=gu(u,t,r);this._cuesBuffer[d]=c,i.splice(d+1,0,o),i.splice(d+2,0,l);return}else{u.cues=zi(u.cues,t),u.end=t;let c=d+1;for(u=i[c];u!==void 0&&r>u.end;)i.splice(c,1),u=i[c];s(c);return}}}if(i.length){let d=i[i.length-1];Dt(d.end,t,a)&&(d.end=t)}i.push(o)}};function hu(n,e,t,r){let i=[e/t.columns,n/t.rows],o=r.getElementsByClassName("proportional-style");for(let a=0;a<o.length;a++){let s=o[a];if(s instanceof HTMLElement){let d=s.getAttribute("data-proportional-font-size");d!==null&&!isNaN(+d)&&(s.style.fontSize=String(+d*i[1])+"px");let u=s.getAttribute("data-proportional-width");u!==null&&!isNaN(+u)&&(s.style.width=String(+u*i[0])+"px");let c=s.getAttribute("data-proportional-height");c!==null&&!isNaN(+c)&&(s.style.height=String(+c*i[1])+"px");let l=s.getAttribute("data-proportional-line-height");l!==null&&!isNaN(+l)&&(s.style.lineHeight=String(+l*i[1])+"px");let f=s.getAttribute("data-proportional-left");f!==null&&!isNaN(+f)&&(s.style.left=String(+f*i[0])+"px");let g=s.getAttribute("data-proportional-top");g!==null&&!isNaN(+g)&&(s.style.top=String(+g*i[1])+"px");let p=s.getAttribute("data-proportional-padding-top");p!==null&&!isNaN(+p)&&(s.style.paddingTop=String(+p*i[1])+"px");let h=s.getAttribute("data-proportional-padding-bottom");h!==null&&!isNaN(+h)&&(s.style.paddingBottom=String(+h*i[1])+"px");let y=s.getAttribute("data-proportional-padding-left");y!==null&&!isNaN(+y)&&(s.style.paddingLeft=String(+y*i[0])+"px");let b=s.getAttribute("data-proportional-padding-right");b!==null&&!isNaN(+b)&&(s.style.paddingRight=String(+b*i[0])+"px")}}return o.length>0}function Gf(n,e){try{n.removeChild(e)}catch(t){m.warn("HTD: Can't remove text track: not in the element.")}}function Vy(n){let e=n.getAttribute("data-resolution-rows"),t=n.getAttribute("data-resolution-columns");if(e===null||t===null)return null;let r=parseInt(e,10),i=parseInt(t,10);return r===null||i===null?null:{rows:r,columns:i}}var Wi=class{constructor(e,t){m.debug("HTD: Creating HTMLTextDisplayer"),this._buffered=new Cn,this._videoElement=e,this._textTrackElement=t,this._sizeUpdateCanceller=new B,this._subtitlesIntervalCanceller=new B,this._buffer=new Hi,this._currentCues=[],this._isAutoRefreshing=!1}pushTextData(e){var h,y;m.debug("HTD: Appending new html text tracks");let{timestampOffset:t,appendWindow:r,chunk:i}=e;if(i===null)return Pe(this._buffered);let{start:o,end:a,data:s,type:d,language:u}=i,c=(h=r[0])!=null?h:0,l=(y=r[1])!=null?y:1/0,f=pu(d,s,t,u);if(c!==0&&l!==1/0){let b=0;for(;b<f.length&&f[b].end<=c;)b++;for(f.splice(0,b),b=0;b<f.length&&f[b].start<c;)f[b].start=c,b++;for(b=f.length-1;b>=0&&f[b].start>=l;)b--;for(f.splice(b,f.length),b=f.length-1;b>=0&&f[b].end>l;)f[b].end=l,b--}let g;if(o!==void 0)g=Math.max(c,o);else{if(f.length<=0)return m.warn("HTD: Current text tracks have no cues nor start time. Aborting"),Pe(this._buffered);m.warn("HTD: No start time given. Guessing from cues."),g=f[0].start}let p;if(a!==void 0)p=Math.min(l,a);else{if(f.length<=0)return m.warn("HTD: Current text tracks have no cues nor end time. Aborting"),Pe(this._buffered);m.warn("HTD: No end time given. Guessing from cues."),p=f[f.length-1].end}return p<=g?(m.warn("HTD: Invalid text track appended: ","the start time is inferior or equal to the end time."),Pe(this._buffered)):(this._buffer.insert(f,g,p),this._buffered.insert(g,p),!this._isAutoRefreshing&&!this._buffer.isEmpty()&&this.autoRefreshSubtitles(this._subtitlesIntervalCanceller.signal),Pe(this._buffered))}removeBuffer(e,t){return m.debug("HTD: Removing html text track data",e,t),this._buffer.remove(e,t),this._buffered.remove(e,t),this._isAutoRefreshing&&this._buffer.isEmpty()&&(this.refreshSubtitles(),this._isAutoRefreshing=!1,this._subtitlesIntervalCanceller.cancel(),this._subtitlesIntervalCanceller=new B),Pe(this._buffered)}getBufferedRanges(){return Pe(this._buffered)}reset(){m.debug("HTD: Resetting HTMLTextDisplayer"),this.stop(),this._subtitlesIntervalCanceller=new B}stop(){this._subtitlesIntervalCanceller.isUsed()||(m.debug("HTD: Stopping HTMLTextDisplayer"),this._disableCurrentCues(),this._buffer.remove(0,1/0),this._buffered.remove(0,1/0),this._isAutoRefreshing=!1,this._subtitlesIntervalCanceller.cancel())}_disableCurrentCues(){if(this._sizeUpdateCanceller.cancel(),this._currentCues.length>0){for(let e of this._currentCues)Gf(this._textTrackElement,e.element);this._currentCues=[]}}_displayCues(e){if(this._currentCues.length===e.length&&this._currentCues.every((i,o)=>i.element===e[o]))return;this._sizeUpdateCanceller.cancel();for(let i of this._currentCues)Gf(this._textTrackElement,i.element);this._currentCues=[];for(let i of e){let o=Vy(i);this._currentCues.push({element:i,resolution:o}),this._textTrackElement.appendChild(i)}let r=this._currentCues.filter(i=>i.resolution!==null);if(r.length>0){this._sizeUpdateCanceller=new B,this._sizeUpdateCanceller.linkToSignal(this._subtitlesIntervalCanceller.signal);let{TEXT_TRACK_SIZE_CHECKS_INTERVAL:i}=U.getCurrent();mu(this._textTrackElement,i,this._sizeUpdateCanceller.signal).onUpdate(({height:a,width:s})=>{for(let d of r){let{resolution:u,element:c}=d;hu(a,s,u,c)}},{clearSignal:this._sizeUpdateCanceller.signal,emitCurrentValue:!0})}}autoRefreshSubtitles(e){if(this._isAutoRefreshing||e.isCancelled())return;let t=null,{MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:r}=U.getCurrent(),i=()=>{this._isAutoRefreshing=!1,t!==null&&(t.cancel(),t=null)},o=()=>{i(),this._isAutoRefreshing=!0,t=new B,t.linkToSignal(e);let a=setInterval(()=>this.refreshSubtitles(),r);t.signal.register(()=>{clearInterval(a)}),this.refreshSubtitles()};lc(this._videoElement,()=>{i(),this._disableCurrentCues()},e),cc(this._videoElement,o,e),fc(this._videoElement,o,e),o()}refreshSubtitles(){let{MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:e}=U.getCurrent(),t;this._videoElement.paused||this._videoElement.playbackRate<=0?t=this._videoElement.currentTime:t=Math.max(this._videoElement.currentTime+e/1e3/2,0);let r=this._buffer.get(t);r.length===0?this._disableCurrentCues():this._displayCues(r)}};I.CURRENT_ENV===I.DEV&&(zy=function(e){function t(r){}});var zy;var tn=Wi;var Hy=/&#([0-9]+);/g,Wy=/<br>/gi,Gy=/<style[^>]*>([\s\S]*?)<\/style[^>]*>/i,qy=/\s*<p (?:class=([^>]+))?>(.*)/i,jy=/<sync[^>]+?start="?([0-9]*)"?[^0-9]/i;function Yy(n){let e=/\.(\S+)\s*{([^}]*)}/gi,t={},r=e.exec(n);for(;r!==null;){let i=r[1],o=Qy(r[2],"lang");!_(i)&&!_(o)&&(t[o]=i),r=e.exec(n)}return t}function $y(n){let t=/p\s*{([^}]*)}/gi.exec(n);return t===null?"":t[1]}function Qy(n,e){let t=new RegExp("\\s*"+e+":\\s*(\\S+);","i").exec(n);return Array.isArray(t)?t[1]:null}function Xy(n){return n.replace(Hy,(e,t)=>String.fromCharCode(Number(t)))}function Zy(n,e,t){let r=/<sync[ >]/gi,i=/<sync[ >]|<\/body>/gi,o=[],a=Gy.exec(n),s=Array.isArray(a)?a[1]:"",d,u;i.exec(n);let c=Yy(s),l=$y(s),f;if(w(t)&&(f=c[t],f===void 0))throw new Error(`sami: could not find lang ${t} in CSS`);for(;d=r.exec(n),u=i.exec(n),!(d===null&&u===null);){if(d===null||u===null||d.index>=u.index)throw new Error("parse error");let p=n.slice(d.index,u.index),h=jy.exec(p);if(!Array.isArray(h))throw new Error("parse error (sync time attribute)");let y=+h[1];if(isNaN(y))throw new Error("parse error (sync time attribute NaN)");g(p.split(`
6
+ `),y/1e3)}return o;function g(p,h){let y=p.length;for(;--y>=0;){let b=qy.exec(p[y]);if(!Array.isArray(b))continue;let[,T,v]=b;if(f===T)if(v==="&nbsp;")o[o.length-1].end=h;else{let E=document.createElement("DIV");E.className="rxp-texttrack-region";let R=document.createElement("DIV");R.className="rxp-texttrack-div",R.style.position="absolute",R.style.bottom="0",R.style.width="100%",R.style.color="#fff",R.style.textShadow="-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000";let k=document.createElement("div");k.className="rxp-texttrack-p",w(l)&&(k.style.cssText=l);let A=v.split(Wy);for(let M=0;M<A.length;M++){M!==0&&k.appendChild(document.createElement("BR"));let x=document.createElement("SPAN");x.className="rxp-texttrack-span",x.textContent=Xy(A[M]),k.appendChild(x)}R.appendChild(k),E.appendChild(R),o.push({element:E,start:h+e,end:-1})}}}}var qf=Zy;function yu(n){n.htmlTextTracksParsers.sami=qf,n.htmlTextDisplayer=tn}function Iu(n,e){let t=e+1;for(;w(n[t]);)t++;return t}function Gi(n){let e=[];for(let t=0;t<n.length;t++)if(w(n[t])){let r=Iu(n,t),i=n.slice(t,r);i.length>0&&(i.length===1?i[0].indexOf("-->")>=0&&e.push(i):(i[1].indexOf("-->")>=0||i[0].indexOf("-->")>=0)&&e.push(i)),t=r}return e}function ma(n){let e=n.split(":");if(w(e[2])){let t=parseInt(e[0],10),r=parseInt(e[1],10),i=parseFloat(e[2].replace(",","."));return isNaN(t)||isNaN(r)||isNaN(i)?void 0:t*60*60+r*60+i}}function qi(n,e){if(n.length===0)return null;let t,r,i=[];if(w(n[1])&&n[1].indexOf("-->")!==-1&&([t,r]=n[1].split("-->").map(s=>s.trim()),i=n.slice(2,n.length)),(!w(t)||!w(r))&&([t,r]=n[0].split("-->").map(s=>s.trim()),i=n.slice(1,n.length)),!w(t)||!w(r))return null;let o=ma(t),a=ma(r);return o===void 0||a===void 0?null:{start:o+e,end:a+e,payload:i}}function bu(n,e){let t=n.split(/\r\n|\n|\r/),r=Gi(t),i=[];for(let o=0;o<r.length;o++){let a=qi(r[o],e);if(a!==null){let s=Jy(a);s!==null&&i.push(s)}}return i}function Jy(n){let{start:e,end:t,payload:r}=n,i=document.createElement("div");i.className="rxp-texttrack-p",i.style.fontSize="28px",i.style.position="absolute",i.style.bottom="5%",i.style.width="100%",i.style.textAlign="center",i.style.color="#fff",i.style.textShadow="-1px -1px 2px #000,1px -1px 2px #000,-1px 1px 2px #000,1px 1px 2px #000";for(let o=0;o<r.length;o++){o!==0&&i.appendChild(document.createElement("br"));let a=eI(r[o]);i.appendChild(a)}return{start:e,end:t,element:i}}function eI(n){let e=document.createElement("div");e.innerHTML=n;let t=function(r){let i=r.childNodes,o=document.createElement("span");o.className="rxp-texttrack-span";for(let a=0;a<i.length;a++){let s=i[a];if(s.nodeName==="#text"){let d=s.wholeText.split(`
7
+ `);for(let u=0;u<d.length;u++)if(u!==0&&o.appendChild(document.createElement("br")),d[u].length>0){let c=document.createTextNode(d[u]);o.appendChild(c)}}else if(s.nodeName==="B"){let d=t(s);d.style.fontWeight="bold",o.appendChild(d)}else if(s.nodeName==="I"){let d=t(s);d.style.fontStyle="italic",o.appendChild(d)}else if(s.nodeName==="U"){let d=t(s);d.style.textDecoration="underline",o.appendChild(d)}else if(tI(s)&&typeof s.color=="string"){let d=t(s);d.style.color=s.color,o.appendChild(d)}else{let d=t(s);o.appendChild(d)}}return o};return t(e)}function tI(n){return n.nodeName==="FONT"&&"color"in n}function Su(n){n.htmlTextTracksParsers.srt=bu,n.htmlTextDisplayer=tn}var nI=/(\d+) (\d+)/;function Tu(n){let e=n.getAttribute("ttp:frameRate"),t=n.getAttribute("ttp:subFramRate"),r=n.getAttribute("ttp:tickRate"),i=n.getAttribute("ttp:frameRateMultiplier"),o=n.getAttribute("xml:space"),a=n.getAttribute("ttp:cellResolution"),s={columns:32,rows:15};if(a!==null){let h=nI.exec(a);if(h===null||h.length<3)m.warn("TTML Parser: Invalid cellResolution");else{let y=parseInt(h[1],10),b=parseInt(h[2],10);isNaN(y)||isNaN(b)?m.warn("TTML Parser: Invalid cellResolution"):s={columns:y,rows:b}}}if(w(o)&&o!=="default"&&o!=="preserve")throw new Error("Invalid spacing style");let d=Number(e);(isNaN(d)||d<=0)&&(d=30);let u=Number(t);(isNaN(u)||u<=0)&&(u=1);let c=Number(r);(isNaN(c)||c<=0)&&(c=void 0);let l=d,f=u!=null?u:1,g=o!=null?o:"default",p=c!=null?c:d*u;if(i!==null){let h=/^(\d+) (\d+)$/g.exec(i);if(h!==null){let y=Number(h[1]),b=Number(h[2]),T=y/b;l=d*T}}return{cellResolution:s,tickRate:p,frameRate:l,subFrameRate:f,spaceStyle:g}}function Pn(n,e,t,r){let i={},o=n.slice();for(let a=0;a<=e.length-1;a++){let s=e[a];if(s!==void 0){let d,u;if(s.nodeType===Node.ELEMENT_NODE){let c=s;for(let l=0;l<=c.attributes.length-1;l++){let f=c.attributes[l],g=f.name;if(g==="style")d=f.value;else if(g==="region")u=f.value;else{let p=g.substring(4);if(Q(o,p)&&(i[p]=f.value,o.splice(l,1),o.length===0))return i}}}if(w(d)){let c=X(t,l=>l.id===d);if(c!==void 0)for(let l=0;l<=o.length-1;l++){let f=o[l];if(!w(i[f])&&w(c.style[f])){if(i[f]=c.style[f],o.splice(l,1),o.length===0)return i;l--}}}if(w(u)){let c=X(r,l=>l.id===u);if(c!==void 0)for(let l=0;l<=o.length-1;l++){let f=o[l];if(!w(i[f])&&w(c.style[f])){if(i[f]=c.style[f],o.splice(l,1),o.length===0)return i;l--}}}}}return i}function _u(n){if(n.nodeType!==Node.ELEMENT_NODE)return{};let e=n,t={};for(let r=0;r<=e.attributes.length-1;r++){let i=e.attributes[r];if(Je(i.name,"tts")){let o=i.name.substring(4);t[o]=i.value}}return t}function Eu(n){let e=[];function t(r,i){e.push(i);for(let o=0;o<r.extendsStyles.length;o++){let a=r.extendsStyles[o],s=ye(n,d=>d.id===a);if(s<0)m.warn("TTML Parser: unknown style inheritance: "+a);else{let d=n[s];Q(e,s)?m.warn("TTML Parser: infinite style inheritance loop avoided"):t(d,s),r.style=j({},d.style,r.style)}}r.extendsStyles.length=0}for(let r=0;r<n.length;r++)t(n[r],r),e.length=0}function jf(n,e){if(!(n.parentNode instanceof Element))return[];function t(r){let i=[];r.tagName.toLowerCase()===e.toLowerCase()&&i.push(r);let o=r.parentNode;return o instanceof Element&&i.push(...t(o)),i}return t(n.parentNode)}function pa(n){let e=jf(n,"div");if(e.length===0){let t=jf(n,"tt:div");t.length>0&&(e=t)}return e}function Yf(n){let e=n.getElementsByTagName("body");if(e.length>0)return e[0];let t=n.getElementsByTagName("tt:body");return t.length>0?t[0]:null}function $f(n){let e=n.getElementsByTagName("style");if(e.length>0)return e;let t=n.getElementsByTagName("tt:style");return t.length>0?t:e}function Qf(n){let e=n.getElementsByTagName("region");if(e.length>0)return e;let t=n.getElementsByTagName("tt:region");return t.length>0?t:e}function Xf(n){let e=n.getElementsByTagName("p");if(e.length>0)return e;let t=n.getElementsByTagName("tt:p");return t.length>0?t:e}function ga(n){return n.nodeName==="br"||n.nodeName==="tt:br"}function ha(n){return n.nodeName==="span"||n.nodeName==="tt:span"}var Zf=["align","backgroundColor","color","direction","display","displayAlign","extent","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","opacity","origin","overflow","padding","textAlign","textDecoration","textOutline","unicodeBidi","visibility","wrapOption","writingMode"];function ji(n,e){let t=[],r=new DOMParser().parseFromString(n,"text/xml");if(r!=null){let o=r.getElementsByTagName("tt")[0];if(o===void 0&&(o=r.getElementsByTagNameNS("*","tt")[0],o===void 0))throw new Error("invalid XML");let a=Yf(o),s=$f(o),d=Qf(o),u=Xf(o),c=Tu(o),l=[];for(let y=0;y<=s.length-1;y++){let b=s[y];if(b instanceof Element){let T=b.getAttribute("xml:id");if(T!==null){let v=b.getAttribute("style"),E=v===null?[]:v.split(" ");l.push({id:T,style:_u(b),extendsStyles:E})}}}Eu(l);let f=[];for(let y=0;y<=d.length-1;y++){let b=d[y];if(b instanceof Element){let T=b.getAttribute("xml:id");if(T!==null){let v=_u(b),E=b.getAttribute("style");if(w(E)){let R=X(l,k=>k.id===E);R!==void 0&&(v=j({},R.style,v))}f.push({id:T,style:v,extendsStyles:[]})}}}let g=Pn(Zf,a!==null?[a]:[],l,f),h=(a!==null?a.getAttribute("xml:space"):void 0)==="default"||c.spaceStyle==="default";for(let y=0;y<u.length;y++){let b=u[y];if(b instanceof Element){let T=pa(b),v=j({},g,Pn(Zf,[b,...T],l,f)),E=b.getAttribute("xml:space"),R=w(E)?E==="default":h,k={paragraph:b,timeOffset:e,idStyles:l,regionStyles:f,body:a,paragraphStyle:v,ttParams:c,shouldTrimWhiteSpace:R};k!==null&&t.push(k)}}}return t}function Jf(n){return n.extent===void 0&&n.origin===void 0&&n.displayAlign===void 0&&n.display===void 0&&n.textAlign===void 0&&n.fontSize===void 0}function em(n){n.extent="70% 20%",n.fontSize="1c",n.origin="15% 80%",n.displayAlign="before",n.textAlign="center"}var vu=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Ru=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,ku=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,Cu=/^(\d*\.?\d*)f$/,Pu=/^(\d*\.?\d*)t$/,Mu=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/,Au=/^(\d{1,2}|100)% (\d{1,2}|100)%$/,Ge=/^((?:\+|\-)?\d*(?:\.\d+)?)(px|em|c|%|rh|rw)$/,tm=/^#([0-9A-f]{2})([0-9A-f]{2})([0-9A-f]{2})([0-9A-f]{2})$/,nm=/^#([0-9A-f])([0-9A-f])([0-9A-f])([0-9A-f])$/,rm=/^rgb\( *(\d+) *, *(\d+) *, *(\d+) *\)/,im=/^rgba\( *(\d+) *, *(\d+) *, *(\d+) *, *(\d+) *\)/;function rI(n,e){if(vu.test(n))return aI(e,n);if(Ru.test(n))return xu(Ru,n);if(ku.test(n))return xu(ku,n);if(Cu.test(n))return iI(e,n);if(Pu.test(n))return oI(e,n);if(Mu.test(n))return xu(Mu,n)}function iI(n,e){let t=Cu.exec(e);return Number(t[1])/n.frameRate}function oI(n,e){let t=Pu.exec(e);return Number(t[1])/n.tickRate}function aI(n,e){let t=vu.exec(e),r=Number(t[1]),i=Number(t[2]),o=Number(t[3]),a=Number(t[4]),s=Number(t[5]);return isNaN(s)&&(s=0),a+=s/n.subFrameRate,o+=a/n.frameRate,o+i*60+r*3600}function xu(n,e){let t=n.exec(e);if(t===null||t[0]==="")return null;let r=Number(t[1]);isNaN(r)&&(r=0);let i=Number(t[2]);isNaN(i)&&(i=0);let o=Number(t[3]);isNaN(o)&&(o=0);let a=Number(t[4]);return isNaN(a)&&(a=0),a/1e3+o+i*60+r*3600}var ya=rI;function Yi(n,e){let t=n.getAttribute("begin"),r=n.getAttribute("dur"),i=n.getAttribute("end"),o=w(t)?ya(t,e):null,a=w(r)?ya(r,e):null,s=w(i)?ya(i,e):null;if(_(o)||_(s)&&_(a))throw new Error("Invalid text cue");let d=_(s)?o+a:s;return{start:o,end:d}}var wu;function Ce(n,e){wu===void 0&&(wu=n.classList!==void 0&&typeof n.classList.add=="function"),wu?n.classList.add(e):(" "+n.className+" ").indexOf(" "+e+" ")<0&&(n.className+=" "+e)}function Ou(n,e){let t=e.trim();if(t==="auto")return;let r=t.split(" ");if(r.length!==2)return;let i=Ge.exec(r[0]),o=Ge.exec(r[1]);i!==null&&o!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.width=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-width",i[1])):m.warn("TTML Parser: unhandled extent unit:",i[2]),o[2]==="px"||o[2]==="%"||o[2]==="em"?n.style.height=o[1]+o[2]:o[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-height",o[1])):m.warn("TTML Parser: unhandled extent unit:",o[2]))}function Du(n,e){let r=e.trim().split(" ");if(r.length===0)return;let i=Ge.exec(r[0]);if(i!==null)if(i[2]==="px"||i[2]==="em")n.style.fontSize=i[1]+i[2];else if(i[2]==="c")n.style.position="relative",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size",i[1]);else if(i[2]==="%"){let o=Number(i[1]);isNaN(o)?m.warn('TTML Parser: could not parse fontSize value "'+i[1]+'" into a number'):(n.style.position="relative",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size",String(o/100)))}else m.warn("TTML Parser: unhandled fontSize unit:",i[2])}function Lu(n,e){let t=e.trim(),r=t.split(" ");if(t==="auto")return;let i=Ge.exec(r[0]);i!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.lineHeight=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-line-height",i[1])):m.warn("TTML Parser: unhandled lineHeight unit:",i[2]))}function Nu(n,e){let t=e.trim();if(t==="auto")return;let r=t.split(" ");if(r.length!==2)return;let i=Ge.exec(r[0]),o=Ge.exec(r[1]);i!==null&&o!==null&&(i[2]==="px"||i[2]==="%"||i[2]==="em"?n.style.left=i[1]+i[2]:i[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-left",i[1])):m.warn("TTML Parser: unhandled origin unit:",i[2]),o[2]==="px"||o[2]==="%"||o[2]==="em"?n.style.top=o[1]+o[2]:o[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-top",o[1])):m.warn("TTML Parser: unhandled origin unit:",o[2]))}function Uu(n,e){let r=e.trim().split(" ");if(r.length<1)return;let i=Ge.exec(r[0]);if(i===null)return;if(i[2]==="px"||i[2]==="%"||i[2]==="em"){let d=i[1]+i[2];r.length===1?n.style.padding=d:r.length===2?(n.style.paddingTop=d,n.style.paddingBottom=d):n.style.paddingTop=d}else i[2]==="c"?(Ce(n,"proportional-style"),r.length===1?(n.setAttribute("data-proportional-padding-top",i[1]),n.setAttribute("data-proportional-padding-bottom",i[1]),n.setAttribute("data-proportional-padding-left",i[1]),n.setAttribute("data-proportional-padding-right",i[1])):r.length===2?(n.setAttribute("data-proportional-padding-top",i[1]),n.setAttribute("data-proportional-padding-bottom",i[1])):n.setAttribute("data-proportional-padding-top",i[1])):m.warn("TTML Parser: unhandled padding unit:",i[2]);if(r.length===1)return;let o=Ge.exec(r[1]);if(o===null)return;if(o[2]==="px"||o[2]==="%"||o[2]==="em"){let d=o[1]+o[2];r.length<4&&(n.style.paddingLeft=d),n.style.paddingRight=d}else o[2]==="c"?(Ce(n,"proportional-style"),r.length<4&&n.setAttribute("data-proportional-padding-left",o[1]),n.setAttribute("data-proportional-padding-right",o[1])):m.warn("TTML Parser: unhandled padding unit:",o[2]);if(r.length===2)return;let a=Ge.exec(r[2]);if(a===null)return;if(a[2]==="px"||a[2]==="%"||a[2]==="em"){let d=a[1]+a[2];n.style.paddingBottom=d}else a[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-padding-bottom",a[1])):m.warn("TTML Parser: unhandled padding unit:",a[2]);if(r.length===3)return;let s=Ge.exec(r[3]);if(s!==null)if(s[2]==="px"||s[2]==="%"||s[2]==="em"){let d=s[1]+s[2];n.style.paddingLeft=d}else s[2]==="c"?(Ce(n,"proportional-style"),n.setAttribute("data-proportional-padding-left",s[1])):m.warn("TTML Parser: unhandled padding unit:",s[2])}function er(n,e){let t=e;return w(e)&&e.trim().endsWith("%")&&(t=e.trim().slice(0,-1),t=(parseInt(t,10)/100).toString()+"em"),`-1px -1px ${t} ${n},1px -1px ${t} ${n},-1px 1px ${t} ${n},1px 1px ${t} ${n}`}function nn(n){let e;return e=tm.exec(n),_(e)?(e=nm.exec(n),_(e)?(e=rm.exec(n),_(e)?(e=im.exec(n),_(e)?n:"rgba("+String(+e[1])+","+String(+e[2])+","+String(+e[3])+","+String(+e[4]/255)+")"):"rgb("+String(+e[1])+","+String(+e[2])+","+String(+e[3])+")"):"rgba("+String(parseInt(e[1]+e[1],16))+","+String(parseInt(e[2]+e[2],16))+","+String(parseInt(e[3]+e[3],16))+","+String(parseInt(e[4]+e[4],16)/255)+")"):"rgba("+String(parseInt(e[1],16))+","+String(parseInt(e[2],16))+","+String(parseInt(e[3],16))+","+String(parseInt(e[4],16)/255)+")"}var sI=["color","direction","display","fontFamily","fontSize","fontStyle","fontWeight","textDecoration","textOutline","unicodeBidi","visibility","wrapOption"];function dI(n,e,t){let r=e.color;w(r)&&(n.style.color=nn(r));let i=e.backgroundColor;w(i)&&(n.style.backgroundColor=nn(i));let o=e.textOutline;if(w(o)){let y=o.trim().replace(/\s+/g," ").split(" "),b=y.length;if(b===3){let T=nn(y[0]),v=y[1];n.style.textShadow=er(T,v)}else if(w(r)&&b===1){let T=y[0];n.style.textShadow=er(r,T)}else if(b===2){let T=/^[#A-Z]/i.test(y[0]),v=/^[0-9]/.test(y[0]);if(T!==v){if(T){let E=nn(y[0]),R=y[1];n.style.textShadow=er(E,R)}else if(w(r)){let E=y[0];n.style.textShadow=er(r,E)}}}}let a=e.textDecoration;if(w(a))switch(a){case"noUnderline":case"noLineThrough":case"noOverline":n.style.textDecoration="none";break;case"lineThrough":n.style.textDecoration="line-through";break;default:n.style.textDecoration=a;break}let s=e.fontFamily;if(w(s))switch(s){case"proportionalSansSerif":n.style.fontFamily="Arial, Helvetica, Liberation Sans, sans-serif";break;case"monospaceSansSerif":case"sansSerif":n.style.fontFamily="sans-serif";break;case"monospaceSerif":case"default":n.style.fontFamily="Courier New, Liberation Mono, monospace";break;case"proportionalSerif":n.style.fontFamily="serif";break;default:n.style.fontFamily=s}let d=e.fontStyle;w(d)&&(n.style.fontStyle=d);let u=e.fontWeight;w(u)&&(n.style.fontWeight=u);let c=e.fontSize;w(c)?Du(n,c):(Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size","1"));let l=e.direction;w(l)&&(n.style.direction=l);let f=e.unicodeBidi;if(w(f))switch(f){case"bidiOverride":n.style.unicodeBidi="bidi-override";break;case"embed":n.style.unicodeBidi="embed";break;default:n.style.unicodeBidi="normal"}let g=e.visibility;w(g)&&(n.style.visibility=g),e.display==="none"&&(n.style.display="none"),e.wrapOption==="noWrap"?t?n.style.whiteSpace="nowrap":n.style.whiteSpace="pre":t?n.style.whiteSpace="normal":n.style.whiteSpace="pre-wrap"}function uI(n,e){n.style.color="white",n.style.position="absolute";let t=e.extent;w(t)&&Ou(n,t);let r=e.writingMode;w(r);let i=e.overflow;n.style.overflow=w(i)?i:"hidden";let o=e.padding;w(o)&&Uu(n,o);let a=e.origin;w(a)&&Nu(n,a);let s=e.displayAlign;if(w(s))switch(n.style.display="flex",n.style.flexDirection="column",s){case"before":n.style.justifyContent="flex-start";break;case"center":n.style.justifyContent="center";break;case"after":n.style.justifyContent="flex-end";break}let d=e.opacity;w(d)&&(n.style.opacity=d);let u=e.visibility;w(u)&&(n.style.visibility=u),e.display==="none"&&(n.style.display="none")}function lI(n,e){n.style.margin="0px",Ce(n,"proportional-style"),n.setAttribute("data-proportional-font-size","1");let t=e.backgroundColor;w(t)&&(n.style.backgroundColor=nn(t));let r=e.lineHeight;w(r)&&Lu(n,r);let i=e.textAlign;if(w(i))switch(i){case"center":n.style.textAlign="center";break;case"left":case"start":n.style.textAlign="left";break;case"right":case"end":n.style.textAlign="right";break}}function cI(n,e,t){let r=document.createElement("span"),i=n.textContent===null?"":n.textContent;if(t){let a=i.trim();a=a.replace(/\s+/g," "),i=a}let o=document.createTextNode(i);return r.appendChild(o),r.className="rxp-texttrack-span",dI(r,e,t),r}function fI(n,e,t,r,i){function o(a,s,d,u){let c=a.childNodes,l=[];for(let f=0;f<c.length;f++){let g=c[f];if(g.nodeName==="#text"){let{backgroundColor:p}=Pn(["backgroundColor"],d,t,e);w(p)?s.backgroundColor=p:delete s.backgroundColor;let h=cI(g,s,u);l.push(h)}else if(ga(g)){let p=document.createElement("BR");l.push(p)}else if(ha(g)&&g.nodeType===Node.ELEMENT_NODE&&g.childNodes.length>0){let p=g.getAttribute("xml:space"),h=w(p)?p==="default":u,y=j({},s,Pn(sI,[g],t,e));l.push(...o(g,y,[g,...d],h))}}return l}return o(n,j({},r),[],i)}function Bu(n,e,t,r,i,{cellResolution:o,shouldTrimWhiteSpace:a}){let s=pa(n),d=document.createElement("DIV");if(d.className="rxp-texttrack-region",d.setAttribute("data-resolution-columns",String(o.columns)),d.setAttribute("data-resolution-rows",String(o.rows)),uI(d,i),e!==null){let{bodyBackgroundColor:l}=Pn(["backgroundColor"],[...s,e],r,t);w(l)&&(d.style.backgroundColor=nn(l))}let u=document.createElement("p");u.className="rxp-texttrack-p",lI(u,i);let c=fI(n,t,r,i,a);for(let l=0;l<c.length;l++)u.appendChild(c[l]);return d.appendChild(u),d}function Fu(n){let{paragraph:e,ttParams:t,body:r,regionStyles:i,idStyles:o,paragraphStyle:a,timeOffset:s,shouldTrimWhiteSpace:d}=n;if(!e.hasAttribute("begin")&&!e.hasAttribute("end")&&/^\s*$/.test(e.textContent===null?"":e.textContent))return null;let{cellResolution:u}=t,{start:c,end:l}=Yi(e,t),f=Bu(e,r,i,o,a,{cellResolution:u,shouldTrimWhiteSpace:d});return{start:c+s,end:l+s,element:f}}function Ku(n,e){let t=ji(n,e),r=[];for(let i=0;i<t.length;i++){let{paragraphStyle:o}=t[i];Jf(o)&&em(o);let a=Fu(t[i]);a!==null&&r.push(a)}return r}var om=Ku;function Vu(n){n.htmlTextTracksParsers.ttml=om,n.htmlTextDisplayer=tn}function Ia(n){let e=0;for(;e<n.length;){if(n[e]==="")return e+1;e++}return e}function zu(n,e){return typeof n[e]=="string"&&/^STYLE( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function mI(n,e){return typeof n[e]=="string"&&/^NOTE( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function pI(n,e){return typeof n[e]=="string"&&/^REGION( .*)?$/g.test(n[e])&&(n[e+1]===void 0||n[e+1].indexOf("-->")<0)}function am(n,e){let t=n[e];if(t===void 0||t===""||zu(n,e)||pI(n,e)||mI(n,e))return!1;if(t.indexOf("-->")>=0)return!0;let r=n[e+1];return r!==void 0&&r.indexOf("-->")>=0}function sm(n,e){let t=e+1;for(;w(n[t]);)t++;return t}function $i(n,e){let t=[];for(let r=e;r<n.length;r++)if(am(n,r)){let i=sm(n,r);t.push(n.slice(r,i)),r=i}else if(w(n[r]))for(;w(n[r]);)r++;return t}function Hu(n,e){let t=[];for(let r=e;r<n.length;r++)if(zu(n,r)){let i=r;for(r++;w(n[r]);)r++;let o=n.slice(i,r);t.push(o)}else if(w(n[r]))for(;w(n[r]);)r++;return t}function ba(n){let e=n.split(":").reverse();if(w(e[2])||w(e[1])){let t=w(e[2])?parseInt(e[2],10):0,r=parseInt(e[1],10),i=parseFloat(e[0].replace(",","."));return isNaN(t)||isNaN(r)||isNaN(i)?void 0:t*60*60+r*60+i}}function gI(n){return n.split(/ |\t/).reduce((t,r)=>{let i=r.split(":");return i.length===2&&(t[i[0]]=i[1]),t},{})}function hI(n){let t=/^([\d:.]+)[ |\t]+-->[ |\t]+([\d:.]+)[ |\t]*(.*)$/.exec(n);if(t===null)return null;let r=ba(t[1]),i=ba(t[2]);if(r===void 0||i===void 0)return null;let o=gI(t[3]);return{start:r,end:i,settings:o}}function Qi(n,e){let t=/-->/,r,i,o;if(t.test(n[0]))r=n[0],i=n.slice(1,n.length);else{if(!t.test(n[1]))return null;o=n[0],r=n[1],i=n.slice(2,n.length)}let a=hI(r);if(a===null)return null;let{start:s,end:d,settings:u}=a;return{start:s+e,end:d+e,settings:u,payload:i,header:o}}var Wu={white:"#ffffff",lime:"#00ff00",cyan:"#00ffff",red:"#ff0000",yellow:"#ffff00",magenta:"#ff00ff",blue:"#0000ff",black:"#000000"};function Gu(){return Object.keys(Wu).reduce((n,e)=>(n[e]=`color: ${Wu[e]};`,n[`bg_${e}`]=`background-color: ${Wu[e]};`,n),{})}function qu(n){let e=Gu(),t="";return n.forEach(r=>{if(r.length>=2)for(let i=1;i<r.length;i++){let o=r[i];if(Array.isArray(/::cue {/.exec(o)))for(o=r[++i];w(o)&&!(Array.isArray(/}/.exec(o))||o.length===0);)t+=o,o=r[++i];else{let a=[],s=/::cue\(\.?(.*?)\)(?:,| {)/.exec(o);for(;w(o)&&Array.isArray(s);)a.push(s[1]),o=r[++i],s=/::cue\(\.?(.*?)\)(?:,| {)/.exec(o);let d="";for(;w(o)&&!(Array.isArray(/}/.exec(o))||o.length===0);)d+=o,o=r[++i];a.forEach(u=>{e[u]===void 0?e[u]=d:e[u]+=d})}}}),{classes:e,global:t}}function Xi(n,e){let t=["u","i","b"],r=["u","i","b","c","#text"],i=n.nodeName.toLowerCase().split(".")[0],o;if(Q(r,i))if(i==="#text"){let a=n.wholeText.split(`
8
+ `);o=document.createElement("span");for(let s=0;s<a.length;s++)if(s>0&&o.appendChild(document.createElement("br")),a[s].length>0){let d=document.createTextNode(a[s]);o.appendChild(d)}}else{let a=n.nodeName.toLowerCase().split("."),s=[];if(a.forEach(d=>{w(e[d])&&s.push(e[d])}),s.length!==0){let d=document.createAttribute("style");s.forEach(c=>{d.value+=c});let u=Q(t,i)?i:"span";o=document.createElement(u),o.setAttributeNode(d)}else{let d=Q(t,i)?i:"span";o=document.createElement(d)}for(let d=0;d<n.childNodes.length;d++){let u=Xi(n.childNodes[d],e);o.appendChild(u)}}else{o=document.createElement("span");for(let a=0;a<n.childNodes.length;a++){let s=Xi(n.childNodes[a],e);o.appendChild(s)}}return o}function ju(n,e){let t=n.replace(/<[0-9]{2}:[0-9]{2}.[0-9]{3}>/,"").replace(/<([u,i,b,c])(\..*?)?(?: .*?)?>(.*?)<\/\1>/g,"<$1$2>$3</$1$2>"),i=new DOMParser().parseFromString(t,"text/html").body.childNodes,o=[];for(let a=0;a<i.length;a++)o.push(Xi(i[a],e));return o}function Yu(n){let e=document.createAttribute("style");return e.value=yI(n),e}var yI=n=>{if(!(n!==void 0&&wn(n).length!==0))return"text-align:center";let t=II(n),r=TI(n);return`position: absolute;margin: 0;transform: translate(${t.offset}%,${r.offset}%);width: ${vI(n.size)}%;left: ${t.position}%;top: ${r.position!==null?`${r.position}%`:"auto"};text-align: ${$u(n.align)};`};var II=n=>({position:bI(n),offset:SI(n)}),bI=n=>{let e=Qu(n.position);if(e!==null)return e;let t=$u(n.align);return{left:0,center:50,right:100}[t]},SI=n=>{let e=a=>{let d=/,(line-left|line-right|center)/.exec(a);return!Array.isArray(d)||d.length<2?null:d[1]},t={"line-left":0,center:-50,"line-right":-100},r=n.position!==void 0?e(n.position):null;if(r!==null)return t[r];let i={left:0,center:-50,right:-100},o=n.align!==void 0?$u(n.align):"center";return i[o]},TI=n=>({position:_I(n.line),offset:EI(n.line)}),_I=n=>Qu(n),EI=n=>{let e=i=>{let a=/,(start|center|end)/.exec(i);return!Array.isArray(a)||a.length<2?null:a[1]},t={start:0,center:-50,end:-100};if(n===void 0)return t.start;let r=e(n);return r!==null?t[r]:t.start},$u=n=>{switch(n){case"left":case"start":return"left";case"right":case"end":return"right";default:return"center"}},vI=n=>RI(n,100),RI=(n,e)=>{let t=Qu(n);return t!==null?t:e},Qu=n=>{if(n===void 0)return null;let t=/^([\d.]+)%/.exec(n);return!Array.isArray(t)||t.length<2?null:parseInt(t[1],10)};function Xu(n,e){let{start:t,end:r,settings:i,header:o,payload:a}=n,s=document.createElement("div"),d=document.createAttribute("style");d.value="width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;",s.setAttributeNode(d);let u=document.createElement("p"),c=Yu(i);u.setAttributeNode(c);let l=document.createElement("span"),f=document.createAttribute("style");f.value="background-color:rgba(0,0,0,0.8);color:white;",l.setAttributeNode(f);let{global:g,classes:p}=e,h=w(o)?p[o]:void 0,y=[g,h].filter(b=>b!==void 0).join("");return f.value+=y,l.setAttributeNode(f),ju(a.join(`
9
+ `),p).forEach(b=>{l.appendChild(b)}),s.appendChild(u),u.appendChild(l),{start:t,end:r,element:s}}function Zu(n,e){let t=/\r\n|\n|\r/g,r=n.split(t),i=[];if(/^WEBVTT( |\t|\n|\r|$)/.exec(r[0])===null)throw new Error("Can't parse WebVTT: Invalid File.");let o=Ia(r),a=Hu(r,o),s=$i(r,o),d=qu(a);for(let u=0;u<s.length;u++){let c=Qi(s[u],e);if(c!==null){let l=Xu(c,d);i.push(l)}}return i}var dm=Zu;function Ju(n){n.htmlTextTracksParsers.vtt=dm,n.htmlTextDisplayer=tn}function el(n){var i;let e,t,r="subtitles";if(zt){let o=n.textTracks.length;e=o>0?n.textTracks[o-1]:n.addTextTrack(r),e.mode=(i=e.SHOWING)!=null?i:"showing"}else t=document.createElement("track"),n.appendChild(t),e=t.track,t.kind=r,e.mode="showing";return{track:e,trackElement:t}}function kI(n,e){let{activeCues:t}=n;if(t===null)return!1;for(let r=0;r<t.length;r++)if(t[r]===e)return!0;return!1}function tl(n,e){if(dn&&kI(n,e)){let t=n.mode;n.mode="hidden";try{n.removeCue(e)}catch(r){m.warn("Compat: Could not remove cue from text track.")}n.mode=t;return}try{n.removeCue(e)}catch(t){m.warn("Compat: Could not remove cue from text track.")}}function nl(n,e,t,r){m.debug("NTSB: Finding parser for native text tracks:",n);let i=me.nativeTextTracksParsers[n];if(typeof i!="function")throw new Error("no parser found for the given text track");m.debug("NTSB: Parser found, parsing...");let o=i(e,t,r);return m.debug("NTSB: Parsed successfully!",o.length),o}var Zi=class{constructor(e){m.debug("NTD: Creating NativeTextDisplayer");let{track:t,trackElement:r}=el(e);this._buffered=new Cn,this._videoElement=e,this._track=t,this._trackElement=r}pushTextData(e){var h,y;if(m.debug("NTD: Appending new native text tracks"),e.chunk===null)return Pe(this._buffered);let{timestampOffset:t,appendWindow:r,chunk:i}=e,{start:o,end:a,data:s,type:d,language:u}=i,c=(h=r[0])!=null?h:0,l=(y=r[1])!=null?y:1/0,f=nl(d,s,t,u);if(c!==0&&l!==1/0){let b=0;for(;b<f.length&&f[b].endTime<=c;)b++;for(f.splice(0,b),b=0;b<f.length&&f[b].startTime<c;)f[b].startTime=c,b++;for(b=f.length-1;b>=0&&f[b].startTime>=l;)b--;for(f.splice(b,f.length),b=f.length-1;b>=0&&f[b].endTime>l;)f[b].endTime=l,b--}let g;if(o!==void 0)g=Math.max(c,o);else{if(f.length<=0)return m.warn("NTD: Current text tracks have no cues nor start time. Aborting"),Pe(this._buffered);m.warn("NTD: No start time given. Guessing from cues."),g=f[0].startTime}let p;if(a!==void 0)p=Math.min(l,a);else{if(f.length<=0)return m.warn("NTD: Current text tracks have no cues nor end time. Aborting"),Pe(this._buffered);m.warn("NTD: No end time given. Guessing from cues."),p=f[f.length-1].endTime}if(p<=g)return m.warn("NTD: Invalid text track appended: ","the start time is inferior or equal to the end time."),Pe(this._buffered);if(f.length>0){let b=f[0],T=this._track.cues;T!==null&&T.length>0&&b.startTime<T[T.length-1].startTime&&this._removeData(b.startTime,1/0);for(let v of f)this._track.addCue(v)}return this._buffered.insert(g,p),Pe(this._buffered)}removeBuffer(e,t){return this._removeData(e,t),Pe(this._buffered)}getBufferedRanges(){return Pe(this._buffered)}reset(){m.debug("NTD: Aborting NativeTextDisplayer"),this._removeData(0,1/0);let{_trackElement:e,_videoElement:t}=this;if(e!==void 0&&t.hasChildNodes())try{t.removeChild(e)}catch(i){m.warn("NTD: Can't remove track element from the video")}let r=this._track.mode;this._track.mode="disabled",this._track.mode=r,this._trackElement!==void 0&&(this._trackElement.innerHTML="")}stop(){m.debug("NTD: Aborting NativeTextDisplayer"),this._removeData(0,1/0);let{_trackElement:e,_videoElement:t}=this;if(e!==void 0&&t.hasChildNodes())try{t.removeChild(e)}catch(r){m.warn("NTD: Can't remove track element from the video")}this._track.mode="disabled",this._trackElement!==void 0&&(this._trackElement.innerHTML="")}_removeData(e,t){m.debug("NTD: Removing native text track data",e,t);let r=this._track,i=r.cues;if(i!==null)for(let o=i.length-1;o>=0;o--){let a=i[o],{startTime:s,endTime:d}=a;s>=e&&s<=t&&d<=t&&tl(r,a)}this._buffered.remove(e,t)}};I.CURRENT_ENV===I.DEV&&(CI=function(e){function t(r){}});var CI;var rn=Zi;function Lt(n,e,t){if(n>=e)return m.warn(`Compat: Invalid cue times: ${n} - ${e}`),null;if(_(ee.VTTCue)){if(_(ee.TextTrackCue))throw new Error("VTT cues not supported in your target");return new TextTrackCue(n,e,t)}else return new VTTCue(n,e,t)}var PI=/&#([0-9]+);/g,MI=/<br>/gi,AI=/<style[^>]*>([\s\S]*?)<\/style[^>]*>/i,xI=/\s*<p (?:class=([^>]+))?>(.*)/i,wI=/<sync[^>]+?start="?([0-9]*)"?[^0-9]/i;function OI(n){let e=[];for(let t=0;t<n.length;t++){let{start:r,end:i,text:o}=n[t];if(w(o)&&!_(i)){let a=Lt(r,i,o);a!==null&&e.push(a)}}return e}function DI(n){let e=/\.(\S+)\s*{([^}]*)}/gi,t={},r=e.exec(n);for(;Array.isArray(r);){let i=r[1],o=LI(r[2],"lang");!_(i)&&!_(o)&&(t[o]=i),r=e.exec(n)}return t}function LI(n,e){let t=new RegExp("\\s*"+e+":\\s*(\\S+);","i").exec(n);return Array.isArray(t)?t[1]:null}function NI(n){return n.replace(MI,`
10
+ `).replace(PI,(e,t)=>String.fromCharCode(Number(t)))}function UI(n,e,t){let r=/<sync[ >]/gi,i=/<sync[ >]|<\/body>/gi,o=[],a=AI.exec(n),s=a!==null?a[1]:"",d,u;i.exec(n);let c=DI(s),l;if(w(t)&&(l=c[t],l===void 0))throw new Error(`sami: could not find lang ${t} in CSS`);for(;d=r.exec(n),u=i.exec(n),!(d===null&&u===null);){if(d===null||u===null||d.index>=u.index)throw new Error("parse error");let g=n.slice(d.index,u.index),p=wI.exec(g);if(p===null)throw new Error("parse error (sync time attribute)");let h=+p[1];if(isNaN(h))throw new Error("parse error (sync time attribute NaN)");f(g.split(`
11
+ `),h/1e3)}return OI(o);function f(g,p){let h=g.length,y;for(;--h>=0;){if(y=xI.exec(g[h]),y===null)continue;let[,b,T]=y;l===b&&(T==="&nbsp;"?o[o.length-1].end=p:o.push({text:NI(T),start:p+e}))}}}var um=UI;function rl(n){n.nativeTextTracksParsers.sami=um,n.nativeTextDisplayer=rn}function il(n,e){let t=n.split(/\r\n|\n|\r/),r=Gi(t),i=[];for(let o=0;o<r.length;o++){let a=qi(r[o],e);if(a!==null){let s=BI(a);s!==null&&i.push(s)}}return i}function BI(n){let{start:e,end:t,payload:r}=n,i=r.join(`
12
12
  `);return Lt(e,t,i)}function ol(n){n.nativeTextTracksParsers.srt=il,n.nativeTextDisplayer=rn}function Ji(n){return typeof ee.VTTCue=="function"&&n instanceof ee.VTTCue}var FI={left:"start",center:"center",right:"end",start:"start",end:"end"},KI={left:"line-left",center:"center",right:"line-right"};function al(n){let{paragraph:e,timeOffset:t,paragraphStyle:r,ttParams:i,shouldTrimWhiteSpace:o}=n;if(!e.hasAttribute("begin")&&!e.hasAttribute("end")&&/^\s*$/.test(e.textContent===null?"":e.textContent))return null;let{start:a,end:s}=Yi(e,i),d=VI(e,o),u=Lt(a+t,s+t,d);return u===null?null:(Ji(u)&&zI(u,r),u)}function VI(n,e){function t(r,i){let o=r.childNodes,a="";for(let s=0;s<o.length;s++){let d=o[s];if(d.nodeName==="#text"){let u=d.textContent;if(u===null&&(u=""),i){let l=u.trim();l=l.replace(/\s+/g," "),u=l}let c=u.replace(/&|\u0026/g,"&amp;").replace(/<|\u003C/g,"&lt;").replace(/>|\u2265/g,"&gt;").replace(/\u200E/g,"&lrm;").replace(/\u200F/g,"&rlm;").replace(/\u00A0/g,"&nbsp;");a+=c}else if(ga(d))a+=`
13
13
  `;else if(ha(d)&&d.nodeType===Node.ELEMENT_NODE&&d.childNodes.length>0){let u=d.getAttribute("xml:space"),c=w(u)?u==="default":i;a+=t(d,c)}}return a}return t(n,e)}function zI(n,e){let t=e.extent;if(w(t)){let a=Au.exec(t);_(a)||(n.size=Number(a[1]))}switch(e.writingMode){case"tb":case"tblr":n.vertical="lr";break;case"tbrl":n.vertical="rl";break;default:break}let i=e.origin;if(w(i)){let a=Au.exec(i);_(a)}let o=e.align;if(w(o)){n.align=o,o==="center"&&(n.align!=="center"&&(n.align="middle"),n.position="auto");let a=KI[o];n.positionAlign=a===void 0?"":a;let s=FI[o];n.lineAlign=s===void 0?"":s}}function sl(n,e){let t=ji(n,e),r=[];for(let i=0;i<t.length;i++){let o=t[i],a=al(o);a!==null&&r.push(a)}return r}var lm=sl;function dl(n){n.nativeTextTracksParsers.ttml=lm,n.nativeTextDisplayer=rn}function ul(n,e){if(w(n.vertical)&&(n.vertical==="rl"||n.vertical==="lr")&&(e.vertical=n.vertical),w(n.line)){let r=/^(\d+(\.\d+)?)%(,([a-z]+))?/.exec(n.line);if(Array.isArray(r))e.line=Number(r[1]),e.snapToLines=!1,Q(["start","center","end"],r[4])&&(e.lineAlign=r[4]);else{let o=/^(-?\d+)(,([a-z]+))?/.exec(n.line);Array.isArray(o)&&(e.line=Number(o[1]),e.snapToLines=!0,Q(["start","center","end"],o[3])&&(e.lineAlign=o[3]))}}if(w(n.position)){let r=/^([\d\.]+)%(?:,(line-left|line-right|center))?$/.exec(n.position);if(Array.isArray(r)&&r.length>=2){let i=parseInt(r[1],10);isNaN(i)||(e.position=i,r[2]!==void 0&&(e.positionAlign=r[2]))}}w(n.size)&&(e.size=n.size),typeof n.align=="string"&&Q(["start","center","end","left"],n.align)&&(e.align=n.align)}function ll(n){let{start:e,end:t,payload:r}=n,i=r.join(`
14
- `);return Lt(e,t,i)}function cl(n,e){let t=n.split(/\r\n|\n|\r/);if(!/^WEBVTT($| |\t)/.test(t[0]))throw new Error("Can't parse WebVTT: Invalid file.");let r=Ia(t),i=$i(t,r),o=[];for(let a=0;a<i.length;a++){let s=Qi(i[a],e);if(s!==null){let d=ll(s);d!==null&&(Ji(d)&&ul(s.settings,d),o.push(d))}}return o}var cm=cl;function fl(n){n.nativeTextTracksParsers.vtt=cm,n.nativeTextDisplayer=rn}function tr(n){let e=[];n.periods.forEach(t=>{let r=t.id;if(Q(e,r)){m.warn("Two periods with the same ID found. Updating.");let a=r+"-dup";t.id=a,tr(n),e.push(a)}else e.push(r);let{adaptations:i}=t,o=[];Object.keys(i).forEach(a=>{let s=i[a];s!==void 0&&s.forEach(d=>{let u=d.id;if(Q(o,u)){m.warn("Two adaptations with the same ID found. Updating.",u);let l=u+"-dup";d.id=l,tr(n),o.push(l)}else o.push(u);let c=[];d.representations.forEach(l=>{let f=l.id;if(Q(c,f)){m.warn("Two representations with the same ID found. Updating.",f);let g=`${f}-dup`;l.id=g,tr(n),c.push(g)}else c.push(f)})})})})}function fm(n,e){let t;return e==="AACH"?t=5:t=w(n)?(parseInt(n.substring(0,2),16)&248)>>3:2,t===0?"mp4a.40.2":`mp4a.40.${t}`}function mm(n){let e=/00000001\d7([0-9a-fA-F]{6})/.exec(n);return e===null||!w(e[1])?"avc1.4D401E":"avc1."+e[1]}function ml(n){return n.reduce((e,t,r)=>{let i=t.getAttribute("d"),o=t.getAttribute("t"),a=t.getAttribute("r"),s=a!==null?+a-1:0,d=o!==null?+o:void 0,u=i!==null?+i:void 0;if(r===0)d=d===void 0||isNaN(d)?0:d;else{let c=e[r-1];if(d===void 0||isNaN(d)){if(c.duration===void 0||isNaN(c.duration))throw new Error("Smooth: Invalid CNodes. Missing timestamp.");d=c.start+c.duration*(c.repeatCount+1)}}if(u===void 0||isNaN(u)){let c=n[r+1];if(c!==void 0){let l=c.getAttribute("t"),f=w(l)?+l:null;if(f===null)throw new Error("Can't build index timeline from Smooth Manifest.");u=f-d}else return e}return e.push({duration:u,start:d,repeatCount:s}),e},[])}function HI(n){return[{systemId:"edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",privateData:re([8,1,18,16],n)}]}function pl(n,e=HI){if(n.firstElementChild===null||n.firstElementChild.nodeName!=="ProtectionHeader")throw new Error("Protection should have ProtectionHeader child");let t=n.firstElementChild,r=ft(t.textContent===null?"":t.textContent),i=xr(r),o=qe(i),a=t.getAttribute("SystemID"),s=(a!==null?a:"").toLowerCase().replace(/\{|\}/g,"");return{keyId:o,keySystems:[{systemId:s,privateData:r}].concat(e(o))}}function pm(n,e,t){return n.replace(/\{bitrate\}/g,String(e)).replace(/{CustomAttributes}/g,t.length>0?t[0]:"")}function gm(n,e){return n.replace(/\{start time\}/g,String(e))}function WI(n,e,t){let r=e-n;return r>0?Math.floor(r/t):0}function GI(n,e,t){let r=n===void 0||n===0?1:n;return{up:e*r,to:(e+t)*r}}function qI(n,e){let t=n.repeatCount;if(n.duration!==void 0&&t<0){let r=e!==void 0?e.start:1/0;t=Math.ceil((r-n.start)/n.duration)-1}return t}var eo=class{constructor(e){let{isLive:t,segmentPrivateInfos:r,media:i,sharedSmoothTimeline:o}=e;if(this._sharedSmoothTimeline=o,this._initSegmentInfos={bitsPerSample:r.bitsPerSample,channels:r.channels,codecPrivateData:r.codecPrivateData,packetSize:r.packetSize,samplingRate:r.samplingRate,timescale:o.timescale,height:r.height,width:r.width,protection:r.protection},this._isLive=t,this._media=i,o.timeline.length!==0&&t){let{timeline:a,validityTime:s}=o,d=a[a.length-1],u=ke(d,null),c=s/1e3*o.timescale;this._scaledLiveGap=c-u}}getInitSegment(){return{id:"init",isInit:!0,privateInfos:{smoothInitSegment:this._initSegmentInfos},url:null,time:0,end:0,duration:0,timescale:1,complete:!0}}getSegments(e,t){this._refreshTimeline();let{timescale:r,timeline:i}=this._sharedSmoothTimeline,{up:o,to:a}=GI(r,e,t),s=this._media,d,u=[],c=i.length,l=this._scaledLiveGap===void 0?void 0:K()/1e3*r-this._scaledLiveGap;for(let f=0;f<c;f++){let g=i[f],{duration:p,start:y}=g,h=qI(g,i[f+1]),b=WI(y,o,p),T=y+b*p,v=p;for(;T<a&&b<=h&&(l===void 0||T+v<=l);){let E=T,R=d!==void 0?d+b:void 0,k={id:String(T),isInit:!1,time:E/r,end:(E+p)/r,duration:p/r,timescale:1,number:R,url:gm(s,E),complete:!0,privateInfos:{smoothMediaSegment:{time:E,duration:p}}};u.push(k),b++,T=y+b*p}if(T>=a)return u;d!==void 0&&(d+=h+1)}return u}shouldRefresh(e,t){if(this._refreshTimeline(),!this._isLive)return!1;let{timeline:r,timescale:i}=this._sharedSmoothTimeline,o=r[r.length-1];if(o===void 0)return!1;let a=o.repeatCount,s=o.start+(a+1)*o.duration;if(t*i<s)return!1;if(e*i>=s)return!0;let d=o.start+a*o.duration;return e*i>d}getFirstAvailablePosition(){this._refreshTimeline();let{timeline:e,timescale:t}=this._sharedSmoothTimeline;return e.length===0?null:e[0].start/t}getLastAvailablePosition(){this._refreshTimeline();let{timeline:e,timescale:t}=this._sharedSmoothTimeline;if(this._scaledLiveGap===void 0){let r=e[e.length-1];return ke(r,null)/t}for(let r=e.length-1;r>=0;r--){let i=e[r],o=K()/1e3*t,{start:a,duration:s,repeatCount:d}=i;for(let u=d;u>=0;u--){let c=a+s*(u+1);if(c<=o-this._scaledLiveGap)return c/t}}}getEnd(){if(!this._isLive)return this.getLastAvailablePosition()}awaitSegmentBetween(e,t){var i;if(te(e<=t),this.isStillAwaitingFutureSegments())return!1;let r=this.getLastAvailablePosition();return r!==void 0&&t<r?!1:t>((i=this.getFirstAvailablePosition())!=null?i:0)?void 0:!1}checkDiscontinuity(e){return this._refreshTimeline(),na(this._sharedSmoothTimeline,e,void 0)}isSegmentStillAvailable(e){if(e.isInit)return!0;this._refreshTimeline();let{timeline:t,timescale:r}=this._sharedSmoothTimeline;for(let i=0;i<t.length;i++){let o=t[i],a=o.start/r;if(a>e.time)return!1;if(a===e.time)return!0;if(o.repeatCount>=0&&o.duration!==void 0){let d=(a-o.start)/o.duration-1;return d%1===0&&d<=o.repeatCount}}return!1}canBeOutOfSyncError(e){return this._isLive?e instanceof rt&&(e.isHttpError(404)||e.isHttpError(412)):!1}_replace(e){this._initialScaledLastPosition=e._initialScaledLastPosition,this._scaledLiveGap=e._scaledLiveGap,this._sharedSmoothTimeline.replace(e._sharedSmoothTimeline)}_update(e){this._scaledLiveGap=e._scaledLiveGap,this._sharedSmoothTimeline.update(e._sharedSmoothTimeline)}isStillAwaitingFutureSegments(){return this._isLive}isInitialized(){return!0}initialize(){m.error("A `SmoothRepresentationIndex` does not need to be initialized")}addPredictedSegments(e,t){this._sharedSmoothTimeline.addPredictedSegments(e,t)}_refreshTimeline(){this._sharedSmoothTimeline.refresh()}};function gl(n,e,t,r){let i=n.length,o=n[i-1],a=t.timescale===e?{time:t.time,duration:t.duration}:{time:t.time/t.timescale*e,duration:t.duration/t.timescale*e};return r.time===a.time?!1:a.time>=ke(o,null)?(o.duration===a.duration?o.repeatCount++:n.push({duration:a.duration,start:a.time,repeatCount:0}),!0):!1}var to=class{constructor(e){let{timeline:t,timescale:r,timeShiftBufferDepth:i,manifestReceivedTime:o}=e;this.timeline=t,this.timescale=r;let a=o!=null?o:K();if(this.validityTime=a,this._timeShiftBufferDepth=i,t.length!==0){let s=t[t.length-1],d=ke(s,null);this._initialScaledLastPosition=d}}refresh(){if(this._initialScaledLastPosition===void 0)return;let e=this._timeShiftBufferDepth,r=(K()-this.validityTime)/1e3+this._initialScaledLastPosition/this.timescale;if(e!==void 0){let i=(r-e)*this.timescale;vi(this.timeline,i)}}replace(e){let t=this.timeline,r=e.timeline,i=this.timescale,o=e.timescale;if(this._initialScaledLastPosition=e._initialScaledLastPosition,this.validityTime=e.validityTime,t.length===0||r.length===0||i!==o)return;let a=t[t.length-1],s=r[r.length-1],d=ke(s,null);if(!(ke(a,null)<=d))for(let u=0;u<t.length;u++){let c=t[u],l=ke(c,null);if(l===d){this.timeline=this.timeline.concat(t.slice(u+1));return}if(l>d){if(c.duration!==s.duration)return;let f=d-c.start;if(f===0){m.warn("Smooth Parser: a discontinuity detected in the previous manifest has been resolved."),this.timeline=this.timeline.concat(t.slice(u));return}if(f<0||f%c.duration!==0)return;let g=f/c.duration-1,p=c.repeatCount-g;if(p<0)return;s.repeatCount+=p;let y=t.slice(u+1);this.timeline=this.timeline.concat(y);return}}}update(e){Ri(this.timeline,e.timeline),this._initialScaledLastPosition=e._initialScaledLastPosition,this.validityTime=e.validityTime}addPredictedSegments(e,t){var r;if(((r=t.privateInfos)==null?void 0:r.smoothMediaSegment)===void 0){m.warn("Smooth Parser: should only encounter SmoothRepresentationIndex");return}this.refresh();for(let i=0;i<e.length;i++)gl(this.timeline,this.timescale,e[i],t.privateInfos.smoothMediaSegment)}};function hl(n){return typeof n=="boolean"?n:typeof n=="string"?n.toUpperCase()==="TRUE":!1}function nr(n,e,t){let r=n.firstElementChild,i=t;for(;r!==null;)i=e(i,r.nodeName,r),r=r.nextElementSibling;return i}var jI={audio:"audio/mp4",video:"video/mp4",text:"application/ttml+xml"},no={AACL:"audio/mp4",AVC1:"video/mp4",H264:"video/mp4",TTML:"application/ttml+xml+mp4",DFXP:"application/ttml+xml+mp4"};function YI(n={}){let e=n.referenceDateTime===void 0?Date.UTC(1970,0,1,0,0,0,0)/1e3:n.referenceDateTime,t=n.minRepresentationBitrate===void 0?0:n.minRepresentationBitrate,{serverSyncInfos:r}=n,i=r!==void 0?r.serverTimestamp-r.clientTime:void 0;function o(d,u){let c=nr(d,(f,g,p)=>(g==="CustomAttributes"&&f.push(...nr(p,(y,h,b)=>{if(h==="Attribute"){let T=b.getAttribute("Name"),v=b.getAttribute("Value");T!==null&&v!==null&&y.push(T+"="+v)}return y},[])),f),[]);function l(f){let g=d.getAttribute(f);return g===null?void 0:g}switch(u){case"audio":{let f=l("AudioTag"),g=l("BitsPerSample"),p=l("Channels"),y=l("CodecPrivateData"),h=l("FourCC"),b=l("PacketSize"),T=l("SamplingRate"),v=l("Bitrate"),E=v===void 0?0:parseInt(v,10);if(E=isNaN(E)?0:E,h!==void 0&&no[h]===void 0||y===void 0)return m.warn("Smooth parser: Unsupported audio codec. Ignoring quality level."),null;let R=fm(y,h);return{audiotag:f!==void 0?parseInt(f,10):f,bitrate:E,bitsPerSample:g!==void 0?parseInt(g,10):g,channels:p!==void 0?parseInt(p,10):p,codecPrivateData:y,codecs:R,customAttributes:c,mimeType:h!==void 0?no[h]:h,packetSize:b!==void 0?parseInt(b,10):b,samplingRate:T!==void 0?parseInt(T,10):T}}case"video":{let f=l("CodecPrivateData"),g=l("FourCC"),p=l("MaxWidth"),y=l("MaxHeight"),h=l("Bitrate"),b=h===void 0?0:parseInt(h,10);if(b=isNaN(b)?0:b,g!==void 0&&no[g]===void 0||f===void 0)return m.warn("Smooth parser: Unsupported video codec. Ignoring quality level."),null;let T=mm(f);return{bitrate:b,customAttributes:c,mimeType:g!==void 0?no[g]:g,codecPrivateData:f,codecs:T,width:p!==void 0?parseInt(p,10):void 0,height:y!==void 0?parseInt(y,10):void 0}}case"text":{let f=l("CodecPrivateData"),g=l("FourCC"),p=l("Bitrate"),y=p===void 0?0:parseInt(p,10);return y=isNaN(y)?0:y,{bitrate:y,customAttributes:c,mimeType:g!==void 0?no[g]:g,codecPrivateData:f!=null?f:""}}default:return m.error("Smooth Parser: Unrecognized StreamIndex type: "+u),null}}function a(d){let{root:u,timescale:c,baseUrl:l,protections:f,timeShiftBufferDepth:g,manifestReceivedTime:p,isLive:y}=d,h=u.getAttribute("Timescale"),b=h===null?c:+h;isNaN(b)&&(b=c);let T=u.getAttribute("Type");if(T===null)throw new Error("StreamIndex without type.");Q($t,T)||m.warn("Smooth Parser: Unrecognized adaptation type:",T);let v=T,E=u.getAttribute("Subtype"),R=u.getAttribute("Language"),k=u.getAttribute("Url"),A=k===null?"":k;I.CURRENT_ENV===I.DEV&&te(A!=="");let{qualityLevels:M,cNodes:x}=nr(u,(P,D,F)=>{switch(D){case"QualityLevel":let V=o(F,v);if(V===null)return P;(v!=="video"||V.bitrate>t)&&P.qualityLevels.push(V);break;case"c":P.cNodes.push(F);break}return P},{qualityLevels:[],cNodes:[]}),L=new to({timeline:ml(x),timescale:b,timeShiftBufferDepth:g,manifestReceivedTime:p});te(M.length!==0,"Adaptation should have at least one playable representation.");let O=v+(w(R)?"_"+R:""),N=M.map(P=>{let D=pm(A,P.bitrate,P.customAttributes),F=w(P.mimeType)?P.mimeType:jI[v],V=P.codecs,$=O+"_"+(_(v)?"":v+"-")+(_(F)?"":F+"-")+(_(V)?"":V+"-")+String(P.bitrate),q=[],W;f.length>0&&(W=f[0],f.forEach(oe=>{let ue=oe.keyId;oe.keySystems.forEach(he=>{q.push({keyId:ue,systemId:he.systemId})})}));let z={bitsPerSample:P.bitsPerSample,channels:P.channels,codecPrivateData:P.codecPrivateData,packetSize:P.packetSize,samplingRate:P.samplingRate,height:P.height,width:P.width,protection:_(W)?void 0:{keyId:W.keyId}},H=new eo({isLive:y,sharedSmoothTimeline:L,media:D,segmentPrivateInfos:z}),se=j({},P,{index:H,cdnMetadata:[{baseUrl:l}],mimeType:F,codecs:V,id:$});if(q.length>0||W!==void 0){let oe=W===void 0?[]:W.keySystems.map(ue=>{let{systemId:he,privateData:Y}=ue,ce=he.replace(/-/g,""),Ie=$I(ce,Y);return{systemId:ce,data:Ie}});if(oe.length>0){let ue=[{type:"cenc",values:oe}];se.contentProtections={keyIds:q,initData:ue}}else se.contentProtections={keyIds:q,initData:[]}}return se});if(E==="ADVT")return null;let C={id:O,type:v,representations:N,language:R===null?void 0:R};return v==="text"&&E==="DESC"&&(C.closedCaption=!0),C}function s(d,u,c){let l="";if(u!==void 0){let H=xi(u);l=u.substring(0,H)}let f=d.documentElement;if(_(f)||f.nodeName!=="SmoothStreamingMedia")throw new Error("document root should be SmoothStreamingMedia");let g=f.getAttribute("MajorVersion"),p=f.getAttribute("MinorVersion");if(g===null||p===null||!/^[2]-[0-2]$/.test(g+"-"+p))throw new Error("Version should be 2.0, 2.1 or 2.2");let y=f.getAttribute("Timescale"),h=w(y)?+y:1e7;isNaN(h)&&(h=1e7);let{protections:b,adaptationNodes:T}=nr(f,(H,se,oe)=>{switch(se){case"Protection":{H.protections.push(pl(oe,n.keySystems));break}case"StreamIndex":H.adaptationNodes.push(oe);break}return H},{adaptationNodes:[],protections:[]}),v={},E=hl(f.getAttribute("IsLive")),R;if(E){let H=f.getAttribute("DVRWindowLength");H!==null&&!isNaN(+H)&&+H!=0&&(R=+H/h)}let k=T.reduce((H,se)=>{let oe=a({root:se,baseUrl:l,timescale:h,protections:b,isLive:E,timeShiftBufferDepth:R,manifestReceivedTime:c});if(oe===null)return H;let ue=oe.type,he=H[ue];return he===void 0?H[ue]=[oe]:he.push(oe),H},v),A,M,x,L=null,O,N=k.video!==void 0?k.video[0]:void 0,C=k.audio!==void 0?k.audio[0]:void 0,P,D,F;if(N!==void 0||C!==void 0){let H=[],se=[];if(N!==void 0){let oe=N.representations[0];if(oe!==void 0){let ue=oe.index.getFirstAvailablePosition(),he=oe.index.getLastAvailablePosition();_(ue)||H.push(ue),_(he)||se.push(he)}}if(C!==void 0){let oe=C.representations[0];if(oe!==void 0){let ue=oe.index.getFirstAvailablePosition(),he=oe.index.getLastAvailablePosition();_(ue)||H.push(ue),_(he)||se.push(he)}}H.length>0&&(P=Math.max(...H)),se.length>0&&(D=Math.min(...se),F=Math.max(...se))}let V=f.getAttribute("Duration"),$=V!==null&&+V!=0?+V/h:void 0;if(E){A=n.suggestedPresentationDelay,M=e,x=P!=null?P:M;let H=F;H===void 0&&(H=Date.now()/1e3-M);let se=D;se===void 0&&(se=H),O={isLinear:!0,maximumSafePosition:se,livePosition:H,time:K()},L=R!=null?R:null}else{x=P!=null?P:0;let H=D;H===void 0&&(H=$!==void 0?x+$:1/0),O={isLinear:!1,maximumSafePosition:H,livePosition:void 0,time:K()}}let q=E?0:x,W=E?void 0:O.maximumSafePosition,z={availabilityStartTime:M===void 0?0:M,clockOffset:i,isLive:E,isDynamic:E,isLastPeriodKnown:!0,timeBounds:{minimumSafePosition:x,timeshiftDepth:L,maximumTimeData:O},periods:[{adaptations:k,duration:W!==void 0?W-q:$,end:W,id:"gen-smooth-period-0",start:q}],suggestedPresentationDelay:A,transportType:"smooth",uris:_(u)?[]:[u]};return tr(z),z}return s}function $I(n,e){if(n.length!==32)throw new Error("HSS: wrong system id length");return de("pssh",re([0,0,0,0],qe(n),be(e.length),e))}var hm=YI;var ym=hm;function Im(n,e,t,r,i,o,a){return de("avc1",re(6,fe(1),16,fe(n),fe(e),fe(t),2,fe(r),6,[0,1,i.length],ve(i),31-i.length,fe(o),[255,255],a))}function bm(n,e,t,r,i,o,a,s){return de("encv",re(6,fe(1),16,fe(n),fe(e),fe(t),2,fe(r),6,[0,1,i.length],ve(i),31-i.length,fe(o),[255,255],a,s))}function Sm(n,e,t,r,i,o){return de("mp4a",re(6,fe(n),8,fe(e),fe(t),2,fe(r),fe(i),2,o))}function Tm(n,e,t,r,i,o,a){return de("enca",re(6,fe(n),8,fe(e),fe(t),2,fe(r),fe(i),2,o,a))}function _m(n){return de("dref",re(7,[1],n))}function Em(n,e){let t=re(...[ve(n),[0,0,0,1]].concat(e.map(ve)));return de("ftyp",t)}function Sa(n,e){return de("schm",re(4,ve(n),be(e)))}function vm(n){return de("tfdt",re([1,0,0,0],jt(n)))}function Rm(){let n=new Uint8Array(12);return n[3]=1,de("vmhd",n)}function km(n){return de("trex",re(4,be(n),[0,0,0,1],12))}function Cm(n){return de("free",new Uint8Array(n-8))}function Pm(n,e){return de("esds",re(4,[3,25],fe(n),[0,4,17,64,21],11,[5,2],qe(e),[6,1,2]))}function Ta(n){return de("frma",ve(n))}function Mm(n,e,t){let r;t===2?r=1:t===4?r=3:r=0;let i=n[1],o=n[2],a=n[3];return de("avcC",re([1,i,o,a,252|r,225],fe(n.length),n,[1],fe(e.length),e))}function Am(n){let e,t;switch(n){case"video":e="vide",t="VideoHandler";break;case"audio":e="soun",t="SoundHandler";break;default:e="hint",t="";break}return de("hdlr",re(8,ve(e),12,ve(t),1))}function xm(n){return de("mdhd",re(12,be(n),8))}function wm(n,e){return de("mvhd",re(12,be(n),4,[0,1],2,[1,0],10,[0,1],14,[0,1],14,[64,0,0,0],26,fe(e+1)))}function Om(n,e,t,r){return de("saio",re(4,[0,0,0,1],be(n.length+e.length+t.length+r.length+8+8+8+8)))}function Dm(n){if(n.length===0)return de("saiz",new Uint8Array(0));let e=ne(n,0),t=ne(n,4),r=new Uint8Array(t+9);r.set(be(t),5);let i=9,o=8,a,s;for(;o<n.length;)o+=8,(e&2)===2?(s=2,a=Oo(n,o),o+=a*6+2):(a=0,s=0),r[i]=a*6+8+s,i++;return de("saiz",r)}function Lm(){return de("smhd",new Uint8Array(8))}function rr(n){let e=[7,[n.length]];return de("stsd",re(...e.concat(n)))}function Nm(n,e,t){return de("tkhd",re(be(7),8,be(t),20,[1,0,0,0],[0,1,0,0],12,[0,1,0,0],12,[64,0,0,0],fe(n),2,fe(e),2))}function _a(n,e,t){return de("tenc",re(6,[n,e],t))}function QI(n,e,t){return Ae("moov",[n,e,t])}function ro(n,e,t,r,i,o){let a=Ae("stbl",[t,de("stts",new Uint8Array(8)),de("stsc",new Uint8Array(8)),de("stsz",new Uint8Array(12)),de("stco",new Uint8Array(8))]),s=de("url ",new Uint8Array([0,0,0,1])),d=_m(s),u=Ae("dinf",[d]),c=Ae("minf",[r,u,a]),l=Am(e),f=xm(n),g=Ae("mdia",[f,l,c]),p=Nm(i,o,1),y=Ae("trak",[p,g]),h=km(1),b=Ae("mvex",[h]),T=wm(n,1),v=QI(T,b,y),E=Em("isom",["isom","iso2","iso6","avc1","dash"]);return re(E,v)}var XI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function yl(n,e,t){let r=XI.indexOf(e),i;return i=(n&63)<<4,i=(i|r&31)<<4,i=(i|t&31)<<3,Ne(fe(i))}function Ea(n,e,t,r,i,o,a){let s=o.length===0?yl(2,i,e):o,d=Pm(1,s),u=(()=>{if(a===void 0){let h=Sm(1,e,t,r,i,d);return rr([h])}let c=_a(1,8,a),l=Ae("schi",[c]),f=Sa("cenc",65536),g=Ta("mp4a"),p=Ae("sinf",[g,f,l]),y=Tm(1,e,t,r,i,d,p);return rr([y])})();return ro(n,"audio",u,Lm(),0,0)}function va(n,e,t,r,i,o,a,s){let[,d,u]=a.split("00000001");if(d===void 0||u===void 0)throw new Error("Smooth: unsupported codec private data.");let c=qe(d),l=qe(u),f=Mm(c,l,o),g;if(s===void 0){let p=Im(e,t,r,i,"AVC Coding",24,f);g=rr([p])}else{let p=_a(1,8,s),y=Ae("schi",[p]),h=Sa("cenc",65536),b=Ta("avc1"),T=Ae("sinf",[b,h,y]),v=bm(e,t,r,i,"AVC Coding",24,f,T);g=rr([v])}return ro(n,"video",g,Rm(),e,t)}function Ra(n){let e=pn(n,3565190898,3392751253,2387879627,2655430559);if(e===void 0)return[];let t=[],r=e[0],i=e[4];for(let o=0;o<i;o++){let a,s;r===1?(s=Ke(e,o*16+5),a=Ke(e,o*16+5+8)):(s=ne(e,o*8+5),a=ne(e,o*8+5+4)),t.push({time:s,duration:a})}return t}function ka(n){let e=pn(n,1830656773,1121273062,2162299933,2952222642);if(e!==void 0)return{duration:Ke(e,12),time:Ke(e,4)}}function Il(){return!zt}function bl(n,e,t,r,i){let o=[n,e,t];return i!==void 0&&o.push(de("senc",i),Dm(i),Om(r,n,e,t)),Ae("traf",o)}function Ca(n,e){let t=Ve(n,1836019558);if(t===null)throw new Error("Smooth: Invalid ISOBMFF given");let r=n.subarray(t[1],t[2]),i=ps(r,1835427940),o=Re(r,1953653094);if(o===null||i===null)throw new Error("Smooth: Invalid ISOBMFF given");let a=Ve(o,1952868452),s=Ve(o,1953658222);if(a===null||s===null)throw new Error("Smooth: Invalid ISOBMFF given");let d=o.subarray(a[0],a[2]),u=o.subarray(s[0],s[2]);d.set([0,0,0,1],a[1]-a[0]+4);let c=vm(e),l=ZI(u,s[1]-s[0]),f=pn(o,2721664850,1520127764,2722393154,2086964724),g=bl(d,c,l,i,f),p=Ae("moof",[i,g]),y=Ve(p,1836019558),h=Ve(g,1953653094),b=Ve(l,1953658222);if(y===null||h===null||b===null)throw new Error("Smooth: Invalid moof, trun or traf generation");let T=y[1]-y[0]+i.length+(h[1]-h[0])+d.length+c.length+(b[1]-b[0])+8,v=t[2]-t[0],E=p.length-v,R=Ve(n,1835295092);if(R===null)throw new Error("Smooth: Invalid ISOBMFF given");if(Il()&&(E===0||E<=-8)){let k=R[1];return p.set(be(k),T),n.set(p,t[0]),E<=-8&&n.set(Cm(-E),p.length),n}else{let k=R[1]+E;p.set(be(k),T);let A=new Uint8Array(n.length+E),M=n.subarray(0,t[0]),x=n.subarray(t[2],n.length);return A.set(M,0),A.set(p,M.length),A.set(x,M.length+p.length),A}}function ZI(n,e){if((n[e+3]&1)>0)return n;let r=new Uint8Array(n.length+4);return r.set(n.subarray(0,e+8),0),r[e+3]=r[e+3]|1,r.set([0,0,0,0],e+8),r.set(n.subarray(e+8,n.length),e+12),bs(r)}function Pa(n,e,t,r,i){var g;let o=[],a,s,d;if(i){let p=Mr(n);p!==null?(d=Ra(p),s=ka(p)):m.warn("smooth: could not find traf atom")}if(d!==void 0)for(let p=0;p<d.length;p++)o.push({time:d[p].time,duration:d[p].duration,timescale:t});if(s!==void 0)return a={time:s.time/t,duration:s.duration/t},{nextSegments:o,chunkInfos:a,scaledSegmentTime:s.time};if(e||!r.complete)return{nextSegments:o,chunkInfos:null,scaledSegmentTime:void 0};let u=r.duration*t,c=Math.min(t*.9,u/4),l=Or(n),f=((g=r.privateInfos)==null?void 0:g.smoothMediaSegment)!==void 0?r.privateInfos.smoothMediaSegment.time:Math.round(r.time*t);return l!==void 0&&Math.abs(l-u)<=c?a={time:r.time,duration:l/t}:a={time:r.time,duration:r.duration},{nextSegments:o,chunkInfos:a,scaledSegmentTime:f}}function Mn(n){return typeof n=="string"&&n.indexOf("mp4")>=0}async function Um(n,e,t,r,i,o){var g,p;let a=((g=r.cmcdPayload)==null?void 0:g.type)==="headers"?r.cmcdPayload.value:void 0,s=e.segment.range,d;Array.isArray(s)?d=le(ae({},a),{Range:dt(s)}):a!==void 0&&(d=a);let u=((p=r.cmcdPayload)==null?void 0:p.type)==="query"?Ye(n,r.cmcdPayload.value):n,c=await Te({url:u,responseType:"arraybuffer",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i,onProgress:t.onProgress});if(!Mn(e.mimeType)||o!==!0)return{resultType:"segment-loaded",resultData:c};let f=new Uint8Array(c.responseData);return Jt(f,e.segment.isInit),{resultType:"segment-loaded",resultData:le(ae({},c),{responseData:f})}}var JI=({checkMediaSegmentIntegrity:n,segmentLoader:e})=>(t,r,i,o,a)=>{let{segment:s}=r;if(s.isInit){if(s.privateInfos===void 0||s.privateInfos.smoothInitSegment===void 0)throw new Error("Smooth: Invalid segment format");let d=s.privateInfos.smoothInitSegment,u,{codecPrivateData:c,timescale:l,height:f,width:g,protection:p={keyId:void 0,keySystems:void 0}}=d;if(c===void 0)throw new Error("Smooth: no codec private data.");switch(r.type){case"video":{u=va(l,g!=null?g:0,f!=null?f:0,72,72,4,c,p.keyId);break}case"audio":{let{channels:y=0,bitsPerSample:h=0,packetSize:b=0,samplingRate:T=0}=d;u=Ea(l,y,h,b,T,c,p.keyId);break}default:I.CURRENT_ENV===I.DEV&&te(!1,"responseData should have been set"),u=new Uint8Array(0)}return Promise.resolve({resultType:"segment-created",resultData:u})}else return t===null?Promise.resolve({resultType:"segment-created",resultData:null}):typeof e!="function"?Um(t,r,a,i,o,n):new Promise((d,u)=>{let c=!1,y={reject:E=>{var M,x;if(c||o.isCancelled())return;c=!0,o.deregister(v);let R=E,k=(M=R==null?void 0:R.message)!=null?M:"Unknown error when fetching a Smooth segment through a custom segmentLoader.",A=new nt(k,(x=R==null?void 0:R.canRetry)!=null?x:!1,R==null?void 0:R.xhr);u(A)},resolve:E=>{if(c||o.isCancelled())return;c=!0,o.deregister(v),(!Mn(r.mimeType)||n!==!0)&&d({resultType:"segment-loaded",resultData:{responseData:E.data,size:E.size,requestDuration:E.duration}});let k=E.data instanceof Uint8Array?E.data:new Uint8Array(E.data);Jt(k,r.segment.isInit),d({resultType:"segment-loaded",resultData:{responseData:k,size:E.size,requestDuration:E.duration}})},fallback:()=>{c||o.isCancelled()||(c=!0,o.deregister(v),Um(t,r,a,i,o,n).then(d,u))},progress:E=>{c||o.isCancelled()||a.onProgress({duration:E.duration,size:E.size,totalSize:E.totalSize})}},h;r.segment.range!==void 0&&(h=[r.segment.range],r.segment.indexRange!==void 0&&h.push(r.segment.indexRange));let b={isInit:r.segment.isInit,timeout:i.timeout,byteRanges:h,trackType:r.type,url:t,cmcdPayload:i.cmcdPayload},T=e(b,y);o.register(v);function v(E){c||(c=!0,!c&&typeof T=="function"&&T(),u(E))}})},Bm=JI;function Sl(n,e){return n===null?null:e.url===null?n.baseUrl:$n(n.baseUrl,e.url)}function Fm(n){let e=ym(n),t=Bm(n),r={customManifestLoader:n.manifestLoader},o={loadManifest:Li(r,"text",null),parseManifest(d,u){var b;let c=(b=d.url)!=null?b:u.originalUrl,{receivedTime:l,responseData:f}=d,g=typeof f=="string"?new DOMParser().parseFromString(f,"text/xml"):f,p=e(g,c,l),y=[];return{manifest:new Vn(p,{representationFilter:n.representationFilter},y),url:c,warnings:y}}},a={loadSegment(d,u,c,l,f){let g=Sl(d,u.segment);return t(g,u,c,l,f)},parseSegment(d,u,c){var R,k;let{segment:l}=u,{data:f,isChunked:g}=d;if(f===null)return l.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkInfos:null,chunkOffset:0,chunkSize:0,protectionData:[],appendWindow:[void 0,void 0]};let p=f instanceof Uint8Array?f:new Uint8Array(f);if(l.isInit){let A=(k=(R=l.privateInfos)==null?void 0:R.smoothInitSegment)==null?void 0:k.timescale;return{segmentType:"init",initializationData:f,initializationDataSize:f.byteLength,initTimescale:A,protectionData:[]}}let y=c!==void 0?Pa(p,g,c,l,u.isLive):null;if(y===null||y.chunkInfos===null||y.scaledSegmentTime===void 0)throw new Error("Smooth Segment without time information");let{nextSegments:h,chunkInfos:b,scaledSegmentTime:T}=y,v=Ca(p,T),E=h.length>0?h:void 0;return{segmentType:"media",chunkData:v,chunkInfos:b,chunkOffset:0,chunkSize:v.length,protectionData:[],predictedSegments:E,appendWindow:[void 0,void 0]}}};return{transportName:"smooth",manifest:o,audio:a,video:a,text:{loadSegment(d,u,c,l,f){var h,b,T,v;let{segment:g}=u,p=Sl(d,g);return g.isInit||p===null?Promise.resolve({resultType:"segment-created",resultData:null}):Mn(u.mimeType)?Te({url:((T=c.cmcdPayload)==null?void 0:T.type)==="query"?Ye(p,c.cmcdPayload.value):p,headers:((v=c.cmcdPayload)==null?void 0:v.type)==="headers"?c.cmcdPayload.value:void 0,responseType:"arraybuffer",timeout:c.timeout,connectionTimeout:c.connectionTimeout,cancelSignal:l,onProgress:f.onProgress}).then(E=>{if(n.checkMediaSegmentIntegrity!==!0)return{resultType:"segment-loaded",resultData:E};let R=new Uint8Array(E.responseData);return Jt(R,u.segment.isInit),{resultType:"segment-loaded",resultData:le(ae({},E),{responseData:R})}}):Te({url:((h=c.cmcdPayload)==null?void 0:h.type)==="query"?Ye(p,c.cmcdPayload.value):p,headers:((b=c.cmcdPayload)==null?void 0:b.type)==="headers"?c.cmcdPayload.value:void 0,responseType:"text",timeout:c.timeout,connectionTimeout:c.connectionTimeout,cancelSignal:l,onProgress:f.onProgress}).then(E=>({resultType:"segment-loaded",resultData:E}))},parseSegment(d,u,c){var O;let{segment:l,language:f,mimeType:g="",codecs:p=""}=u,y=Mn(u.mimeType),{data:h,isChunked:b}=d,T;if(l.isInit)return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};if(h===null)return{segmentType:"media",chunkData:null,chunkInfos:null,chunkOffset:0,chunkSize:0,protectionData:[],appendWindow:[void 0,void 0]};let v,E=null,R,k,A,M;if(y){let N;typeof h=="string"?N=ve(h):N=h instanceof Uint8Array?h:new Uint8Array(h),T=N.length;let C=c!==void 0?Pa(N,b,c,l,u.isLive):null;v=C==null?void 0:C.nextSegments,E=(O=C==null?void 0:C.chunkInfos)!=null?O:null,E===null?b?m.warn("Smooth: Unavailable time data for current text track."):(R=l.time,k=l.end):(R=E.time,k=E.duration!==void 0?E.time+E.duration:l.end);let P=p.toLowerCase();if(g==="application/ttml+xml+mp4"||P==="stpp"||P==="stpp.ttml.im1t")M="ttml";else if(P==="wvtt")M="vtt";else throw new Error(`could not find a text-track parser for the type ${g}`);let D=Ar(N);A=D===null?"":Le(D)}else{R=l.time,k=l.end;let N;if(typeof h!="string"){let C=h instanceof Uint8Array?h:new Uint8Array(h);T=C.length,N=Le(C)}else N=h;switch(g){case"application/x-sami":case"application/smil":M="sami";break;case"application/ttml+xml":M="ttml";break;case"text/vtt":M="vtt";break}if(M===void 0)if(p.toLowerCase()==="srt")M="srt";else throw new Error(`could not find a text-track parser for the type ${g}`);A=N}let x=Array.isArray(v)&&v.length>0?v:void 0,L=R!=null?R:0;return{segmentType:"media",chunkData:{type:M,data:A,start:R,end:k,language:f},chunkSize:T,chunkInfos:E,chunkOffset:L,protectionData:[],predictedSegments:x,appendWindow:[void 0,void 0]}}}}}var Km=Fm;function Tl(n){n.transports.smooth===void 0&&(n.transports.smooth=Km),n.mainThreadMediaSourceInit=Tn}function Vm(){if(!dn)return m.warn("Compat: Can't access Firefox version on no firefox browser."),null;let n=navigator.userAgent,e=/Firefox\/([0-9]+)\./.exec(n);if(e===null)return-1;let t=parseInt(e[1],10);return isNaN(t)?-1:t}function _l(){if(!dn)return!0;let n=Vm();if(n===null||n<67)return!0;let e=HTMLVideoElement==null?void 0:HTMLVideoElement.prototype;return(e==null?void 0:e.requirePictureInPicture)!==void 0}function io(n){let e=n;if(typeof e.getStartDate=="function"){let t=e.getStartDate();if(typeof t=="object"&&t!==null){let r=+t;if(!isNaN(r))return r/1e3}else if(typeof t=="number"&&!isNaN(t))return t}}function El(){return Ua&&typeof Worker=="object"||typeof Worker=="function"}var An=class n extends Error{constructor(e,t){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="WorkerInitializationError",this.type="WORKER_INITIALIZATION_ERROR",this.code=e}};var eb=sr,vl=eb;function Ma(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,o){var a;t.isCancelled()||((a=o==null?void 0:o.clearSignal)==null?void 0:a.isCancelled())===!0||r.onUpdate(i,{clearSignal:o==null?void 0:o.clearSignal,emitCurrentValue:o==null?void 0:o.includeLastObservation})},deriveReadOnlyObserver(i){return Ma(this,i,t)}}}var tb=["canplay","ended","play","pause","seeking","seeked","loadedmetadata","ratechange"],oo=class{constructor(e,t){this._internalSeeksIncoming=[],this._mediaElement=e,this._withMediaSource=t.withMediaSource,this._lowLatencyMode=t.lowLatencyMode,this._canceller=new B,this._observationRef=this._createSharedReference(),this._expectedSeekingPosition=null,this._pendingSeek=null;let r=()=>{if(this._pendingSeek!==null){let i=this._pendingSeek;this._pendingSeek=null,this._actuallySetCurrentTime(i)}};e.addEventListener("loadedmetadata",r),this._canceller.signal.register(()=>{e.removeEventListener("loadedmetadata",r)})}stop(){this._canceller.cancel()}getCurrentTime(){return this._mediaElement.currentTime}getPlaybackRate(){return this._mediaElement.playbackRate}getIsPaused(){return this._mediaElement.paused}setCurrentTime(e){this._mediaElement.readyState>=1?this._actuallySetCurrentTime(e):(this._internalSeeksIncoming=[],this._pendingSeek=e,this._generateObservationForEvent("manual"))}setPlaybackRate(e){this._mediaElement.playbackRate=e}getReadyState(){return this._mediaElement.readyState}getReference(){return this._observationRef}listen(e,t){var r;if(this._canceller.isUsed()||((r=t==null?void 0:t.clearSignal)==null?void 0:r.isCancelled())===!0)return Z;this._observationRef.onUpdate(e,{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:t==null?void 0:t.includeLastObservation})}deriveReadOnlyObserver(e){return Ma(this,e,this._canceller.signal)}_actuallySetCurrentTime(e){m.info("API: Seeking internally",e),this._internalSeeksIncoming.push(e),this._mediaElement.currentTime=e}_createSharedReference(){if(this._observationRef!==void 0)return this._observationRef;let{SAMPLING_INTERVAL_MEDIASOURCE:e,SAMPLING_INTERVAL_LOW_LATENCY:t,SAMPLING_INTERVAL_NO_MEDIASOURCE:r}=U.getCurrent(),i=new G(this._getCurrentObservation("init"),this._canceller.signal),o;this._lowLatencyMode?o=t:this._withMediaSource?o=e:o=r;let a=()=>{this._generateObservationForEvent("timeupdate")},s=setInterval(a,o);return tb.map(u=>{let c=()=>{d(),this._generateObservationForEvent(u)};this._mediaElement.addEventListener(u,c),this._canceller.signal.register(()=>{this._mediaElement.removeEventListener(u,c)})}),this._canceller.signal.register(()=>{clearInterval(s),i.finish()}),i;function d(){clearInterval(s),s=setInterval(a,o)}}_getCurrentObservation(e){var T,v;let t=e,r=this._observationRef===void 0?ab(this._mediaElement):this._observationRef.getValue(),i=!1,o=this._pendingSeek,a=Hm(this._mediaElement),{buffered:s,readyState:d,position:u,seeking:c}=a;if(t==="seeking")if(this._internalSeeksIncoming.length>0){i=!0,t="internal-seeking";let E=this._internalSeeksIncoming.shift();this._expectedSeekingPosition=vl?Math.max(u,E!=null?E:0):u}else this._expectedSeekingPosition=u;else c?this._expectedSeekingPosition=Math.max(u,(T=this._expectedSeekingPosition)!=null?T:0):vl&&this._expectedSeekingPosition!==null&&u<this._expectedSeekingPosition?o=this._expectedSeekingPosition:this._expectedSeekingPosition=null;c&&r.seeking===1&&e!=="seeking"&&(i=!0);let l=(v=this._expectedSeekingPosition)!=null?v:u,f,g;!this._withMediaSource&&s.length===0&&d>=3?(f=void 0,g=void 0):(f=za(s,l),g=f!==null?f.end-l:1/0);let p=rb({previousObservation:r,currentObservation:a,basePosition:l,observationEvent:t,lowLatencyMode:this._lowLatencyMode,withMediaSource:this._withMediaSource,bufferGap:g,currentRange:f}),y=ib(r,a,t,g),h;i?h=1:c?h=2:h=0;let b=j({},a,{position:new jn(a.position,o),event:t,seeking:h,rebuffering:p,freezing:y,bufferGap:g,currentRange:f});return m.hasLevel("DEBUG")&&m.debug("API: current media element state tick","event",b.event,"position",b.position.getPolled(),"seeking",b.seeking,"internalSeek",i,"rebuffering",b.rebuffering!==null,"freezing",b.freezing!==null,"ended",b.ended,"paused",b.paused,"playbackRate",b.playbackRate,"readyState",b.readyState,"pendingPosition",o),b}_generateObservationForEvent(e){let t=this._getCurrentObservation(e);m.hasLevel("DEBUG")&&m.debug(`API: current playback timeline:
14
+ `);return Lt(e,t,i)}function cl(n,e){let t=n.split(/\r\n|\n|\r/);if(!/^WEBVTT($| |\t)/.test(t[0]))throw new Error("Can't parse WebVTT: Invalid file.");let r=Ia(t),i=$i(t,r),o=[];for(let a=0;a<i.length;a++){let s=Qi(i[a],e);if(s!==null){let d=ll(s);d!==null&&(Ji(d)&&ul(s.settings,d),o.push(d))}}return o}var cm=cl;function fl(n){n.nativeTextTracksParsers.vtt=cm,n.nativeTextDisplayer=rn}function tr(n){let e=[];n.periods.forEach(t=>{let r=t.id;if(Q(e,r)){m.warn("Two periods with the same ID found. Updating.");let a=r+"-dup";t.id=a,tr(n),e.push(a)}else e.push(r);let{adaptations:i}=t,o=[];Object.keys(i).forEach(a=>{let s=i[a];s!==void 0&&s.forEach(d=>{let u=d.id;if(Q(o,u)){m.warn("Two adaptations with the same ID found. Updating.",u);let l=u+"-dup";d.id=l,tr(n),o.push(l)}else o.push(u);let c=[];d.representations.forEach(l=>{let f=l.id;if(Q(c,f)){m.warn("Two representations with the same ID found. Updating.",f);let g=`${f}-dup`;l.id=g,tr(n),c.push(g)}else c.push(f)})})})})}function fm(n,e){let t;return e==="AACH"?t=5:t=w(n)?(parseInt(n.substring(0,2),16)&248)>>3:2,t===0?"mp4a.40.2":`mp4a.40.${t}`}function mm(n){let e=/00000001\d7([0-9a-fA-F]{6})/.exec(n);return e===null||!w(e[1])?"avc1.4D401E":"avc1."+e[1]}function ml(n){return n.reduce((e,t,r)=>{let i=t.getAttribute("d"),o=t.getAttribute("t"),a=t.getAttribute("r"),s=a!==null?+a-1:0,d=o!==null?+o:void 0,u=i!==null?+i:void 0;if(r===0)d=d===void 0||isNaN(d)?0:d;else{let c=e[r-1];if(d===void 0||isNaN(d)){if(c.duration===void 0||isNaN(c.duration))throw new Error("Smooth: Invalid CNodes. Missing timestamp.");d=c.start+c.duration*(c.repeatCount+1)}}if(u===void 0||isNaN(u)){let c=n[r+1];if(c!==void 0){let l=c.getAttribute("t"),f=w(l)?+l:null;if(f===null)throw new Error("Can't build index timeline from Smooth Manifest.");u=f-d}else return e}return e.push({duration:u,start:d,repeatCount:s}),e},[])}function HI(n){return[{systemId:"edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",privateData:re([8,1,18,16],n)}]}function pl(n,e=HI){if(n.firstElementChild===null||n.firstElementChild.nodeName!=="ProtectionHeader")throw new Error("Protection should have ProtectionHeader child");let t=n.firstElementChild,r=ft(t.textContent===null?"":t.textContent),i=xr(r),o=qe(i),a=t.getAttribute("SystemID"),s=(a!==null?a:"").toLowerCase().replace(/\{|\}/g,"");return{keyId:o,keySystems:[{systemId:s,privateData:r}].concat(e(o))}}function pm(n,e,t){return n.replace(/\{bitrate\}/g,String(e)).replace(/{CustomAttributes}/g,t.length>0?t[0]:"")}function gm(n,e){return n.replace(/\{start time\}/g,String(e))}function WI(n,e,t){let r=e-n;return r>0?Math.floor(r/t):0}function GI(n,e,t){let r=n===void 0||n===0?1:n;return{up:e*r,to:(e+t)*r}}function qI(n,e){let t=n.repeatCount;if(n.duration!==void 0&&t<0){let r=e!==void 0?e.start:1/0;t=Math.ceil((r-n.start)/n.duration)-1}return t}var eo=class{constructor(e){let{isLive:t,segmentPrivateInfos:r,media:i,sharedSmoothTimeline:o}=e;if(this._sharedSmoothTimeline=o,this._initSegmentInfos={bitsPerSample:r.bitsPerSample,channels:r.channels,codecPrivateData:r.codecPrivateData,packetSize:r.packetSize,samplingRate:r.samplingRate,timescale:o.timescale,height:r.height,width:r.width,protection:r.protection},this._isLive=t,this._media=i,o.timeline.length!==0&&t){let{timeline:a,validityTime:s}=o,d=a[a.length-1],u=ke(d,null),c=s/1e3*o.timescale;this._scaledLiveGap=c-u}}getInitSegment(){return{id:"init",isInit:!0,privateInfos:{smoothInitSegment:this._initSegmentInfos},url:null,time:0,end:0,duration:0,timescale:1,complete:!0}}getSegments(e,t){this._refreshTimeline();let{timescale:r,timeline:i}=this._sharedSmoothTimeline,{up:o,to:a}=GI(r,e,t),s=this._media,d,u=[],c=i.length,l=this._scaledLiveGap===void 0?void 0:K()/1e3*r-this._scaledLiveGap;for(let f=0;f<c;f++){let g=i[f],{duration:p,start:h}=g,y=qI(g,i[f+1]),b=WI(h,o,p),T=h+b*p,v=p;for(;T<a&&b<=y&&(l===void 0||T+v<=l);){let E=T,R=d!==void 0?d+b:void 0,k={id:String(T),isInit:!1,time:E/r,end:(E+p)/r,duration:p/r,timescale:1,number:R,url:gm(s,E),complete:!0,privateInfos:{smoothMediaSegment:{time:E,duration:p}}};u.push(k),b++,T=h+b*p}if(T>=a)return u;d!==void 0&&(d+=y+1)}return u}shouldRefresh(e,t){if(this._refreshTimeline(),!this._isLive)return!1;let{timeline:r,timescale:i}=this._sharedSmoothTimeline,o=r[r.length-1];if(o===void 0)return!1;let a=o.repeatCount,s=o.start+(a+1)*o.duration;if(t*i<s)return!1;if(e*i>=s)return!0;let d=o.start+a*o.duration;return e*i>d}getFirstAvailablePosition(){this._refreshTimeline();let{timeline:e,timescale:t}=this._sharedSmoothTimeline;return e.length===0?null:e[0].start/t}getLastAvailablePosition(){this._refreshTimeline();let{timeline:e,timescale:t}=this._sharedSmoothTimeline;if(this._scaledLiveGap===void 0){let r=e[e.length-1];return ke(r,null)/t}for(let r=e.length-1;r>=0;r--){let i=e[r],o=K()/1e3*t,{start:a,duration:s,repeatCount:d}=i;for(let u=d;u>=0;u--){let c=a+s*(u+1);if(c<=o-this._scaledLiveGap)return c/t}}}getEnd(){if(!this._isLive)return this.getLastAvailablePosition()}awaitSegmentBetween(e,t){var i;if(te(e<=t),this.isStillAwaitingFutureSegments())return!1;let r=this.getLastAvailablePosition();return r!==void 0&&t<r?!1:t>((i=this.getFirstAvailablePosition())!=null?i:0)?void 0:!1}checkDiscontinuity(e){return this._refreshTimeline(),na(this._sharedSmoothTimeline,e,void 0)}isSegmentStillAvailable(e){if(e.isInit)return!0;this._refreshTimeline();let{timeline:t,timescale:r}=this._sharedSmoothTimeline;for(let i=0;i<t.length;i++){let o=t[i],a=o.start/r;if(a>e.time)return!1;if(a===e.time)return!0;if(o.repeatCount>=0&&o.duration!==void 0){let d=(a-o.start)/o.duration-1;return d%1===0&&d<=o.repeatCount}}return!1}canBeOutOfSyncError(e){return this._isLive?e instanceof rt&&(e.isHttpError(404)||e.isHttpError(412)):!1}_replace(e){this._initialScaledLastPosition=e._initialScaledLastPosition,this._scaledLiveGap=e._scaledLiveGap,this._sharedSmoothTimeline.replace(e._sharedSmoothTimeline)}_update(e){this._scaledLiveGap=e._scaledLiveGap,this._sharedSmoothTimeline.update(e._sharedSmoothTimeline)}isStillAwaitingFutureSegments(){return this._isLive}isInitialized(){return!0}initialize(){m.error("A `SmoothRepresentationIndex` does not need to be initialized")}addPredictedSegments(e,t){this._sharedSmoothTimeline.addPredictedSegments(e,t)}_refreshTimeline(){this._sharedSmoothTimeline.refresh()}};function gl(n,e,t,r){let i=n.length,o=n[i-1],a=t.timescale===e?{time:t.time,duration:t.duration}:{time:t.time/t.timescale*e,duration:t.duration/t.timescale*e};return r.time===a.time?!1:a.time>=ke(o,null)?(o.duration===a.duration?o.repeatCount++:n.push({duration:a.duration,start:a.time,repeatCount:0}),!0):!1}var to=class{constructor(e){let{timeline:t,timescale:r,timeShiftBufferDepth:i,manifestReceivedTime:o}=e;this.timeline=t,this.timescale=r;let a=o!=null?o:K();if(this.validityTime=a,this._timeShiftBufferDepth=i,t.length!==0){let s=t[t.length-1],d=ke(s,null);this._initialScaledLastPosition=d}}refresh(){if(this._initialScaledLastPosition===void 0)return;let e=this._timeShiftBufferDepth,r=(K()-this.validityTime)/1e3+this._initialScaledLastPosition/this.timescale;if(e!==void 0){let i=(r-e)*this.timescale;vi(this.timeline,i)}}replace(e){let t=this.timeline,r=e.timeline,i=this.timescale,o=e.timescale;if(this._initialScaledLastPosition=e._initialScaledLastPosition,this.validityTime=e.validityTime,t.length===0||r.length===0||i!==o)return;let a=t[t.length-1],s=r[r.length-1],d=ke(s,null);if(!(ke(a,null)<=d))for(let u=0;u<t.length;u++){let c=t[u],l=ke(c,null);if(l===d){this.timeline=this.timeline.concat(t.slice(u+1));return}if(l>d){if(c.duration!==s.duration)return;let f=d-c.start;if(f===0){m.warn("Smooth Parser: a discontinuity detected in the previous manifest has been resolved."),this.timeline=this.timeline.concat(t.slice(u));return}if(f<0||f%c.duration!==0)return;let g=f/c.duration-1,p=c.repeatCount-g;if(p<0)return;s.repeatCount+=p;let h=t.slice(u+1);this.timeline=this.timeline.concat(h);return}}}update(e){Ri(this.timeline,e.timeline),this._initialScaledLastPosition=e._initialScaledLastPosition,this.validityTime=e.validityTime}addPredictedSegments(e,t){var r;if(((r=t.privateInfos)==null?void 0:r.smoothMediaSegment)===void 0){m.warn("Smooth Parser: should only encounter SmoothRepresentationIndex");return}this.refresh();for(let i=0;i<e.length;i++)gl(this.timeline,this.timescale,e[i],t.privateInfos.smoothMediaSegment)}};function hl(n){return typeof n=="boolean"?n:typeof n=="string"?n.toUpperCase()==="TRUE":!1}function nr(n,e,t){let r=n.firstElementChild,i=t;for(;r!==null;)i=e(i,r.nodeName,r),r=r.nextElementSibling;return i}var jI={audio:"audio/mp4",video:"video/mp4",text:"application/ttml+xml"},no={AACL:"audio/mp4",AVC1:"video/mp4",H264:"video/mp4",TTML:"application/ttml+xml+mp4",DFXP:"application/ttml+xml+mp4"};function YI(n={}){let e=n.referenceDateTime===void 0?Date.UTC(1970,0,1,0,0,0,0)/1e3:n.referenceDateTime,t=n.minRepresentationBitrate===void 0?0:n.minRepresentationBitrate,{serverSyncInfos:r}=n,i=r!==void 0?r.serverTimestamp-r.clientTime:void 0;function o(d,u){let c=nr(d,(f,g,p)=>(g==="CustomAttributes"&&f.push(...nr(p,(h,y,b)=>{if(y==="Attribute"){let T=b.getAttribute("Name"),v=b.getAttribute("Value");T!==null&&v!==null&&h.push(T+"="+v)}return h},[])),f),[]);function l(f){let g=d.getAttribute(f);return g===null?void 0:g}switch(u){case"audio":{let f=l("AudioTag"),g=l("BitsPerSample"),p=l("Channels"),h=l("CodecPrivateData"),y=l("FourCC"),b=l("PacketSize"),T=l("SamplingRate"),v=l("Bitrate"),E=v===void 0?0:parseInt(v,10);if(E=isNaN(E)?0:E,y!==void 0&&no[y]===void 0||h===void 0)return m.warn("Smooth parser: Unsupported audio codec. Ignoring quality level."),null;let R=fm(h,y);return{audiotag:f!==void 0?parseInt(f,10):f,bitrate:E,bitsPerSample:g!==void 0?parseInt(g,10):g,channels:p!==void 0?parseInt(p,10):p,codecPrivateData:h,codecs:R,customAttributes:c,mimeType:y!==void 0?no[y]:y,packetSize:b!==void 0?parseInt(b,10):b,samplingRate:T!==void 0?parseInt(T,10):T}}case"video":{let f=l("CodecPrivateData"),g=l("FourCC"),p=l("MaxWidth"),h=l("MaxHeight"),y=l("Bitrate"),b=y===void 0?0:parseInt(y,10);if(b=isNaN(b)?0:b,g!==void 0&&no[g]===void 0||f===void 0)return m.warn("Smooth parser: Unsupported video codec. Ignoring quality level."),null;let T=mm(f);return{bitrate:b,customAttributes:c,mimeType:g!==void 0?no[g]:g,codecPrivateData:f,codecs:T,width:p!==void 0?parseInt(p,10):void 0,height:h!==void 0?parseInt(h,10):void 0}}case"text":{let f=l("CodecPrivateData"),g=l("FourCC"),p=l("Bitrate"),h=p===void 0?0:parseInt(p,10);return h=isNaN(h)?0:h,{bitrate:h,customAttributes:c,mimeType:g!==void 0?no[g]:g,codecPrivateData:f!=null?f:""}}default:return m.error("Smooth Parser: Unrecognized StreamIndex type: "+u),null}}function a(d){let{root:u,timescale:c,baseUrl:l,protections:f,timeShiftBufferDepth:g,manifestReceivedTime:p,isLive:h}=d,y=u.getAttribute("Timescale"),b=y===null?c:+y;isNaN(b)&&(b=c);let T=u.getAttribute("Type");if(T===null)throw new Error("StreamIndex without type.");Q($t,T)||m.warn("Smooth Parser: Unrecognized adaptation type:",T);let v=T,E=u.getAttribute("Subtype"),R=u.getAttribute("Language"),k=u.getAttribute("Url"),A=k===null?"":k;I.CURRENT_ENV===I.DEV&&te(A!=="");let{qualityLevels:M,cNodes:x}=nr(u,(P,D,F)=>{switch(D){case"QualityLevel":let V=o(F,v);if(V===null)return P;(v!=="video"||V.bitrate>t)&&P.qualityLevels.push(V);break;case"c":P.cNodes.push(F);break}return P},{qualityLevels:[],cNodes:[]}),L=new to({timeline:ml(x),timescale:b,timeShiftBufferDepth:g,manifestReceivedTime:p});te(M.length!==0,"Adaptation should have at least one playable representation.");let O=v+(w(R)?"_"+R:""),N=M.map(P=>{let D=pm(A,P.bitrate,P.customAttributes),F=w(P.mimeType)?P.mimeType:jI[v],V=P.codecs,$=O+"_"+(_(v)?"":v+"-")+(_(F)?"":F+"-")+(_(V)?"":V+"-")+String(P.bitrate),q=[],W;f.length>0&&(W=f[0],f.forEach(ae=>{let le=ae.keyId;ae.keySystems.forEach(he=>{q.push({keyId:le,systemId:he.systemId})})}));let z={bitsPerSample:P.bitsPerSample,channels:P.channels,codecPrivateData:P.codecPrivateData,packetSize:P.packetSize,samplingRate:P.samplingRate,height:P.height,width:P.width,protection:_(W)?void 0:{keyId:W.keyId}},H=new eo({isLive:h,sharedSmoothTimeline:L,media:D,segmentPrivateInfos:z}),se=j({},P,{index:H,cdnMetadata:[{baseUrl:l}],mimeType:F,codecs:V,id:$});if(q.length>0||W!==void 0){let ae=W===void 0?[]:W.keySystems.map(le=>{let{systemId:he,privateData:Y}=le,ce=he.replace(/-/g,""),Ie=$I(ce,Y);return{systemId:ce,data:Ie}});if(ae.length>0){let le=[{type:"cenc",values:ae}];se.contentProtections={keyIds:q,initData:le}}else se.contentProtections={keyIds:q,initData:[]}}return se});if(E==="ADVT")return null;let C={id:O,type:v,representations:N,language:R===null?void 0:R};return v==="text"&&E==="DESC"&&(C.closedCaption=!0),C}function s(d,u,c){let l="";if(u!==void 0){let H=xi(u);l=u.substring(0,H)}let f=d.documentElement;if(_(f)||f.nodeName!=="SmoothStreamingMedia")throw new Error("document root should be SmoothStreamingMedia");let g=f.getAttribute("MajorVersion"),p=f.getAttribute("MinorVersion");if(g===null||p===null||!/^[2]-[0-2]$/.test(g+"-"+p))throw new Error("Version should be 2.0, 2.1 or 2.2");let h=f.getAttribute("Timescale"),y=w(h)?+h:1e7;isNaN(y)&&(y=1e7);let{protections:b,adaptationNodes:T}=nr(f,(H,se,ae)=>{switch(se){case"Protection":{H.protections.push(pl(ae,n.keySystems));break}case"StreamIndex":H.adaptationNodes.push(ae);break}return H},{adaptationNodes:[],protections:[]}),v={},E=hl(f.getAttribute("IsLive")),R;if(E){let H=f.getAttribute("DVRWindowLength");H!==null&&!isNaN(+H)&&+H!=0&&(R=+H/y)}let k=T.reduce((H,se)=>{let ae=a({root:se,baseUrl:l,timescale:y,protections:b,isLive:E,timeShiftBufferDepth:R,manifestReceivedTime:c});if(ae===null)return H;let le=ae.type,he=H[le];return he===void 0?H[le]=[ae]:he.push(ae),H},v),A,M,x,L=null,O,N=k.video!==void 0?k.video[0]:void 0,C=k.audio!==void 0?k.audio[0]:void 0,P,D,F;if(N!==void 0||C!==void 0){let H=[],se=[];if(N!==void 0){let ae=N.representations[0];if(ae!==void 0){let le=ae.index.getFirstAvailablePosition(),he=ae.index.getLastAvailablePosition();_(le)||H.push(le),_(he)||se.push(he)}}if(C!==void 0){let ae=C.representations[0];if(ae!==void 0){let le=ae.index.getFirstAvailablePosition(),he=ae.index.getLastAvailablePosition();_(le)||H.push(le),_(he)||se.push(he)}}H.length>0&&(P=Math.max(...H)),se.length>0&&(D=Math.min(...se),F=Math.max(...se))}let V=f.getAttribute("Duration"),$=V!==null&&+V!=0?+V/y:void 0;if(E){A=n.suggestedPresentationDelay,M=e,x=P!=null?P:M;let H=F;H===void 0&&(H=Date.now()/1e3-M);let se=D;se===void 0&&(se=H),O={isLinear:!0,maximumSafePosition:se,livePosition:H,time:K()},L=R!=null?R:null}else{x=P!=null?P:0;let H=D;H===void 0&&(H=$!==void 0?x+$:1/0),O={isLinear:!1,maximumSafePosition:H,livePosition:void 0,time:K()}}let q=E?0:x,W=E?void 0:O.maximumSafePosition,z={availabilityStartTime:M===void 0?0:M,clockOffset:i,isLive:E,isDynamic:E,isLastPeriodKnown:!0,timeBounds:{minimumSafePosition:x,timeshiftDepth:L,maximumTimeData:O},periods:[{adaptations:k,duration:W!==void 0?W-q:$,end:W,id:"gen-smooth-period-0",start:q}],suggestedPresentationDelay:A,transportType:"smooth",uris:_(u)?[]:[u]};return tr(z),z}return s}function $I(n,e){if(n.length!==32)throw new Error("HSS: wrong system id length");return ue("pssh",re([0,0,0,0],qe(n),be(e.length),e))}var hm=YI;var ym=hm;function Im(n,e,t,r,i,o,a){return ue("avc1",re(6,fe(1),16,fe(n),fe(e),fe(t),2,fe(r),6,[0,1,i.length],ve(i),31-i.length,fe(o),[255,255],a))}function bm(n,e,t,r,i,o,a,s){return ue("encv",re(6,fe(1),16,fe(n),fe(e),fe(t),2,fe(r),6,[0,1,i.length],ve(i),31-i.length,fe(o),[255,255],a,s))}function Sm(n,e,t,r,i,o){return ue("mp4a",re(6,fe(n),8,fe(e),fe(t),2,fe(r),fe(i),2,o))}function Tm(n,e,t,r,i,o,a){return ue("enca",re(6,fe(n),8,fe(e),fe(t),2,fe(r),fe(i),2,o,a))}function _m(n){return ue("dref",re(7,[1],n))}function Em(n,e){let t=re(...[ve(n),[0,0,0,1]].concat(e.map(ve)));return ue("ftyp",t)}function Sa(n,e){return ue("schm",re(4,ve(n),be(e)))}function vm(n){return ue("tfdt",re([1,0,0,0],jt(n)))}function Rm(){let n=new Uint8Array(12);return n[3]=1,ue("vmhd",n)}function km(n){return ue("trex",re(4,be(n),[0,0,0,1],12))}function Cm(n){return ue("free",new Uint8Array(n-8))}function Pm(n,e){return ue("esds",re(4,[3,25],fe(n),[0,4,17,64,21],11,[5,2],qe(e),[6,1,2]))}function Ta(n){return ue("frma",ve(n))}function Mm(n,e,t){let r;t===2?r=1:t===4?r=3:r=0;let i=n[1],o=n[2],a=n[3];return ue("avcC",re([1,i,o,a,252|r,225],fe(n.length),n,[1],fe(e.length),e))}function Am(n){let e,t;switch(n){case"video":e="vide",t="VideoHandler";break;case"audio":e="soun",t="SoundHandler";break;default:e="hint",t="";break}return ue("hdlr",re(8,ve(e),12,ve(t),1))}function xm(n){return ue("mdhd",re(12,be(n),8))}function wm(n,e){return ue("mvhd",re(12,be(n),4,[0,1],2,[1,0],10,[0,1],14,[0,1],14,[64,0,0,0],26,fe(e+1)))}function Om(n,e,t,r){return ue("saio",re(4,[0,0,0,1],be(n.length+e.length+t.length+r.length+8+8+8+8)))}function Dm(n){if(n.length===0)return ue("saiz",new Uint8Array(0));let e=ne(n,0),t=ne(n,4),r=new Uint8Array(t+9);r.set(be(t),5);let i=9,o=8,a,s;for(;o<n.length;)o+=8,(e&2)===2?(s=2,a=Oo(n,o),o+=a*6+2):(a=0,s=0),r[i]=a*6+8+s,i++;return ue("saiz",r)}function Lm(){return ue("smhd",new Uint8Array(8))}function rr(n){let e=[7,[n.length]];return ue("stsd",re(...e.concat(n)))}function Nm(n,e,t){return ue("tkhd",re(be(7),8,be(t),20,[1,0,0,0],[0,1,0,0],12,[0,1,0,0],12,[64,0,0,0],fe(n),2,fe(e),2))}function _a(n,e,t){return ue("tenc",re(6,[n,e],t))}function QI(n,e,t){return Ae("moov",[n,e,t])}function ro(n,e,t,r,i,o){let a=Ae("stbl",[t,ue("stts",new Uint8Array(8)),ue("stsc",new Uint8Array(8)),ue("stsz",new Uint8Array(12)),ue("stco",new Uint8Array(8))]),s=ue("url ",new Uint8Array([0,0,0,1])),d=_m(s),u=Ae("dinf",[d]),c=Ae("minf",[r,u,a]),l=Am(e),f=xm(n),g=Ae("mdia",[f,l,c]),p=Nm(i,o,1),h=Ae("trak",[p,g]),y=km(1),b=Ae("mvex",[y]),T=wm(n,1),v=QI(T,b,h),E=Em("isom",["isom","iso2","iso6","avc1","dash"]);return re(E,v)}var XI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function yl(n,e,t){let r=XI.indexOf(e),i;return i=(n&63)<<4,i=(i|r&31)<<4,i=(i|t&31)<<3,Ne(fe(i))}function Ea(n,e,t,r,i,o,a){let s=o.length===0?yl(2,i,e):o,d=Pm(1,s),u=(()=>{if(a===void 0){let y=Sm(1,e,t,r,i,d);return rr([y])}let c=_a(1,8,a),l=Ae("schi",[c]),f=Sa("cenc",65536),g=Ta("mp4a"),p=Ae("sinf",[g,f,l]),h=Tm(1,e,t,r,i,d,p);return rr([h])})();return ro(n,"audio",u,Lm(),0,0)}function va(n,e,t,r,i,o,a,s){let[,d,u]=a.split("00000001");if(d===void 0||u===void 0)throw new Error("Smooth: unsupported codec private data.");let c=qe(d),l=qe(u),f=Mm(c,l,o),g;if(s===void 0){let p=Im(e,t,r,i,"AVC Coding",24,f);g=rr([p])}else{let p=_a(1,8,s),h=Ae("schi",[p]),y=Sa("cenc",65536),b=Ta("avc1"),T=Ae("sinf",[b,y,h]),v=bm(e,t,r,i,"AVC Coding",24,f,T);g=rr([v])}return ro(n,"video",g,Rm(),e,t)}function Ra(n){let e=pn(n,3565190898,3392751253,2387879627,2655430559);if(e===void 0)return[];let t=[],r=e[0],i=e[4];for(let o=0;o<i;o++){let a,s;r===1?(s=Ke(e,o*16+5),a=Ke(e,o*16+5+8)):(s=ne(e,o*8+5),a=ne(e,o*8+5+4)),t.push({time:s,duration:a})}return t}function ka(n){let e=pn(n,1830656773,1121273062,2162299933,2952222642);if(e!==void 0)return{duration:Ke(e,12),time:Ke(e,4)}}function Il(){return!zt}function bl(n,e,t,r,i){let o=[n,e,t];return i!==void 0&&o.push(ue("senc",i),Dm(i),Om(r,n,e,t)),Ae("traf",o)}function Ca(n,e){let t=Ve(n,1836019558);if(t===null)throw new Error("Smooth: Invalid ISOBMFF given");let r=n.subarray(t[1],t[2]),i=ps(r,1835427940),o=Re(r,1953653094);if(o===null||i===null)throw new Error("Smooth: Invalid ISOBMFF given");let a=Ve(o,1952868452),s=Ve(o,1953658222);if(a===null||s===null)throw new Error("Smooth: Invalid ISOBMFF given");let d=o.subarray(a[0],a[2]),u=o.subarray(s[0],s[2]);d.set([0,0,0,1],a[1]-a[0]+4);let c=vm(e),l=ZI(u,s[1]-s[0]),f=pn(o,2721664850,1520127764,2722393154,2086964724),g=bl(d,c,l,i,f),p=Ae("moof",[i,g]),h=Ve(p,1836019558),y=Ve(g,1953653094),b=Ve(l,1953658222);if(h===null||y===null||b===null)throw new Error("Smooth: Invalid moof, trun or traf generation");let T=h[1]-h[0]+i.length+(y[1]-y[0])+d.length+c.length+(b[1]-b[0])+8,v=t[2]-t[0],E=p.length-v,R=Ve(n,1835295092);if(R===null)throw new Error("Smooth: Invalid ISOBMFF given");if(Il()&&(E===0||E<=-8)){let k=R[1];return p.set(be(k),T),n.set(p,t[0]),E<=-8&&n.set(Cm(-E),p.length),n}else{let k=R[1]+E;p.set(be(k),T);let A=new Uint8Array(n.length+E),M=n.subarray(0,t[0]),x=n.subarray(t[2],n.length);return A.set(M,0),A.set(p,M.length),A.set(x,M.length+p.length),A}}function ZI(n,e){if((n[e+3]&1)>0)return n;let r=new Uint8Array(n.length+4);return r.set(n.subarray(0,e+8),0),r[e+3]=r[e+3]|1,r.set([0,0,0,0],e+8),r.set(n.subarray(e+8,n.length),e+12),bs(r)}function Pa(n,e,t,r,i){var g;let o=[],a,s,d;if(i){let p=Mr(n);p!==null?(d=Ra(p),s=ka(p)):m.warn("smooth: could not find traf atom")}if(d!==void 0)for(let p=0;p<d.length;p++)o.push({time:d[p].time,duration:d[p].duration,timescale:t});if(s!==void 0)return a={time:s.time/t,duration:s.duration/t},{nextSegments:o,chunkInfos:a,scaledSegmentTime:s.time};if(e||!r.complete)return{nextSegments:o,chunkInfos:null,scaledSegmentTime:void 0};let u=r.duration*t,c=Math.min(t*.9,u/4),l=Or(n),f=((g=r.privateInfos)==null?void 0:g.smoothMediaSegment)!==void 0?r.privateInfos.smoothMediaSegment.time:Math.round(r.time*t);return l!==void 0&&Math.abs(l-u)<=c?a={time:r.time,duration:l/t}:a={time:r.time,duration:r.duration},{nextSegments:o,chunkInfos:a,scaledSegmentTime:f}}function Mn(n){return typeof n=="string"&&n.indexOf("mp4")>=0}async function Um(n,e,t,r,i,o){var g,p;let a=((g=r.cmcdPayload)==null?void 0:g.type)==="headers"?r.cmcdPayload.value:void 0,s=e.segment.range,d;Array.isArray(s)?d=de(ie({},a),{Range:dt(s)}):a!==void 0&&(d=a);let u=((p=r.cmcdPayload)==null?void 0:p.type)==="query"?Ye(n,r.cmcdPayload.value):n,c=await Te({url:u,responseType:"arraybuffer",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i,onProgress:t.onProgress});if(!Mn(e.mimeType)||o!==!0)return{resultType:"segment-loaded",resultData:c};let f=new Uint8Array(c.responseData);return Jt(f,e.segment.isInit),{resultType:"segment-loaded",resultData:de(ie({},c),{responseData:f})}}var JI=({checkMediaSegmentIntegrity:n,segmentLoader:e})=>(t,r,i,o,a)=>{let{segment:s}=r;if(s.isInit){if(s.privateInfos===void 0||s.privateInfos.smoothInitSegment===void 0)throw new Error("Smooth: Invalid segment format");let d=s.privateInfos.smoothInitSegment,u,{codecPrivateData:c,timescale:l,height:f,width:g,protection:p={keyId:void 0,keySystems:void 0}}=d;if(c===void 0)throw new Error("Smooth: no codec private data.");switch(r.type){case"video":{u=va(l,g!=null?g:0,f!=null?f:0,72,72,4,c,p.keyId);break}case"audio":{let{channels:h=0,bitsPerSample:y=0,packetSize:b=0,samplingRate:T=0}=d;u=Ea(l,h,y,b,T,c,p.keyId);break}default:I.CURRENT_ENV===I.DEV&&te(!1,"responseData should have been set"),u=new Uint8Array(0)}return Promise.resolve({resultType:"segment-created",resultData:u})}else return t===null?Promise.resolve({resultType:"segment-created",resultData:null}):typeof e!="function"?Um(t,r,a,i,o,n):new Promise((d,u)=>{let c=!1,h={reject:E=>{var M,x;if(c||o.isCancelled())return;c=!0,o.deregister(v);let R=E,k=(M=R==null?void 0:R.message)!=null?M:"Unknown error when fetching a Smooth segment through a custom segmentLoader.",A=new nt(k,(x=R==null?void 0:R.canRetry)!=null?x:!1,R==null?void 0:R.xhr);u(A)},resolve:E=>{if(c||o.isCancelled())return;c=!0,o.deregister(v),(!Mn(r.mimeType)||n!==!0)&&d({resultType:"segment-loaded",resultData:{responseData:E.data,size:E.size,requestDuration:E.duration}});let k=E.data instanceof Uint8Array?E.data:new Uint8Array(E.data);Jt(k,r.segment.isInit),d({resultType:"segment-loaded",resultData:{responseData:k,size:E.size,requestDuration:E.duration}})},fallback:()=>{c||o.isCancelled()||(c=!0,o.deregister(v),Um(t,r,a,i,o,n).then(d,u))},progress:E=>{c||o.isCancelled()||a.onProgress({duration:E.duration,size:E.size,totalSize:E.totalSize})}},y;r.segment.range!==void 0&&(y=[r.segment.range],r.segment.indexRange!==void 0&&y.push(r.segment.indexRange));let b={isInit:r.segment.isInit,timeout:i.timeout,byteRanges:y,trackType:r.type,url:t,cmcdPayload:i.cmcdPayload},T=e(b,h);o.register(v);function v(E){c||(c=!0,!c&&typeof T=="function"&&T(),u(E))}})},Bm=JI;function Sl(n,e){return n===null?null:e.url===null?n.baseUrl:$n(n.baseUrl,e.url)}function Fm(n){let e=ym(n),t=Bm(n),r={customManifestLoader:n.manifestLoader},o={loadManifest:Li(r,"text",null),parseManifest(d,u){var b;let c=(b=d.url)!=null?b:u.originalUrl,{receivedTime:l,responseData:f}=d,g=typeof f=="string"?new DOMParser().parseFromString(f,"text/xml"):f,p=e(g,c,l),h=[];return{manifest:new Vn(p,{representationFilter:n.representationFilter},h),url:c,warnings:h}}},a={loadSegment(d,u,c,l,f){let g=Sl(d,u.segment);return t(g,u,c,l,f)},parseSegment(d,u,c){var R,k;let{segment:l}=u,{data:f,isChunked:g}=d;if(f===null)return l.isInit?{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:"media",chunkData:null,chunkInfos:null,chunkOffset:0,chunkSize:0,protectionData:[],appendWindow:[void 0,void 0]};let p=f instanceof Uint8Array?f:new Uint8Array(f);if(l.isInit){let A=(k=(R=l.privateInfos)==null?void 0:R.smoothInitSegment)==null?void 0:k.timescale;return{segmentType:"init",initializationData:f,initializationDataSize:f.byteLength,initTimescale:A,protectionData:[]}}let h=c!==void 0?Pa(p,g,c,l,u.isLive):null;if(h===null||h.chunkInfos===null||h.scaledSegmentTime===void 0)throw new Error("Smooth Segment without time information");let{nextSegments:y,chunkInfos:b,scaledSegmentTime:T}=h,v=Ca(p,T),E=y.length>0?y:void 0;return{segmentType:"media",chunkData:v,chunkInfos:b,chunkOffset:0,chunkSize:v.length,protectionData:[],predictedSegments:E,appendWindow:[void 0,void 0]}}};return{transportName:"smooth",manifest:o,audio:a,video:a,text:{loadSegment(d,u,c,l,f){var y,b,T,v;let{segment:g}=u,p=Sl(d,g);return g.isInit||p===null?Promise.resolve({resultType:"segment-created",resultData:null}):Mn(u.mimeType)?Te({url:((T=c.cmcdPayload)==null?void 0:T.type)==="query"?Ye(p,c.cmcdPayload.value):p,headers:((v=c.cmcdPayload)==null?void 0:v.type)==="headers"?c.cmcdPayload.value:void 0,responseType:"arraybuffer",timeout:c.timeout,connectionTimeout:c.connectionTimeout,cancelSignal:l,onProgress:f.onProgress}).then(E=>{if(n.checkMediaSegmentIntegrity!==!0)return{resultType:"segment-loaded",resultData:E};let R=new Uint8Array(E.responseData);return Jt(R,u.segment.isInit),{resultType:"segment-loaded",resultData:de(ie({},E),{responseData:R})}}):Te({url:((y=c.cmcdPayload)==null?void 0:y.type)==="query"?Ye(p,c.cmcdPayload.value):p,headers:((b=c.cmcdPayload)==null?void 0:b.type)==="headers"?c.cmcdPayload.value:void 0,responseType:"text",timeout:c.timeout,connectionTimeout:c.connectionTimeout,cancelSignal:l,onProgress:f.onProgress}).then(E=>({resultType:"segment-loaded",resultData:E}))},parseSegment(d,u,c){var O;let{segment:l,language:f,mimeType:g="",codecs:p=""}=u,h=Mn(u.mimeType),{data:y,isChunked:b}=d,T;if(l.isInit)return{segmentType:"init",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};if(y===null)return{segmentType:"media",chunkData:null,chunkInfos:null,chunkOffset:0,chunkSize:0,protectionData:[],appendWindow:[void 0,void 0]};let v,E=null,R,k,A,M;if(h){let N;typeof y=="string"?N=ve(y):N=y instanceof Uint8Array?y:new Uint8Array(y),T=N.length;let C=c!==void 0?Pa(N,b,c,l,u.isLive):null;v=C==null?void 0:C.nextSegments,E=(O=C==null?void 0:C.chunkInfos)!=null?O:null,E===null?b?m.warn("Smooth: Unavailable time data for current text track."):(R=l.time,k=l.end):(R=E.time,k=E.duration!==void 0?E.time+E.duration:l.end);let P=p.toLowerCase();if(g==="application/ttml+xml+mp4"||P==="stpp"||P==="stpp.ttml.im1t")M="ttml";else if(P==="wvtt")M="vtt";else throw new Error(`could not find a text-track parser for the type ${g}`);let D=Ar(N);A=D===null?"":Le(D)}else{R=l.time,k=l.end;let N;if(typeof y!="string"){let C=y instanceof Uint8Array?y:new Uint8Array(y);T=C.length,N=Le(C)}else N=y;switch(g){case"application/x-sami":case"application/smil":M="sami";break;case"application/ttml+xml":M="ttml";break;case"text/vtt":M="vtt";break}if(M===void 0)if(p.toLowerCase()==="srt")M="srt";else throw new Error(`could not find a text-track parser for the type ${g}`);A=N}let x=Array.isArray(v)&&v.length>0?v:void 0,L=R!=null?R:0;return{segmentType:"media",chunkData:{type:M,data:A,start:R,end:k,language:f},chunkSize:T,chunkInfos:E,chunkOffset:L,protectionData:[],predictedSegments:x,appendWindow:[void 0,void 0]}}}}}var Km=Fm;function Tl(n){n.transports.smooth===void 0&&(n.transports.smooth=Km),n.mainThreadMediaSourceInit=Tn}function Vm(){if(!dn)return m.warn("Compat: Can't access Firefox version on no firefox browser."),null;let n=navigator.userAgent,e=/Firefox\/([0-9]+)\./.exec(n);if(e===null)return-1;let t=parseInt(e[1],10);return isNaN(t)?-1:t}function _l(){if(!dn)return!0;let n=Vm();if(n===null||n<67)return!0;let e=HTMLVideoElement==null?void 0:HTMLVideoElement.prototype;return(e==null?void 0:e.requirePictureInPicture)!==void 0}function io(n){let e=n;if(typeof e.getStartDate=="function"){let t=e.getStartDate();if(typeof t=="object"&&t!==null){let r=+t;if(!isNaN(r))return r/1e3}else if(typeof t=="number"&&!isNaN(t))return t}}function El(){return Ua&&typeof Worker=="object"||typeof Worker=="function"}var An=class n extends Error{constructor(e,t){super(lt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name="WorkerInitializationError",this.type="WORKER_INITIALIZATION_ERROR",this.code=e}};var eb=sr,vl=eb;function Ma(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,o){var a;t.isCancelled()||((a=o==null?void 0:o.clearSignal)==null?void 0:a.isCancelled())===!0||r.onUpdate(i,{clearSignal:o==null?void 0:o.clearSignal,emitCurrentValue:o==null?void 0:o.includeLastObservation})},deriveReadOnlyObserver(i){return Ma(this,i,t)}}}var tb=["canplay","ended","play","pause","seeking","seeked","loadedmetadata","ratechange"],oo=class{constructor(e,t){this._internalSeeksIncoming=[],this._mediaElement=e,this._withMediaSource=t.withMediaSource,this._lowLatencyMode=t.lowLatencyMode,this._canceller=new B,this._observationRef=this._createSharedReference(),this._expectedSeekingPosition=null,this._pendingSeek=null;let r=()=>{if(this._pendingSeek!==null){let i=this._pendingSeek;this._pendingSeek=null,this._actuallySetCurrentTime(i)}};e.addEventListener("loadedmetadata",r),this._canceller.signal.register(()=>{e.removeEventListener("loadedmetadata",r)})}stop(){this._canceller.cancel()}getCurrentTime(){return this._mediaElement.currentTime}getPlaybackRate(){return this._mediaElement.playbackRate}getIsPaused(){return this._mediaElement.paused}setCurrentTime(e){this._mediaElement.readyState>=1?this._actuallySetCurrentTime(e):(this._internalSeeksIncoming=[],this._pendingSeek=e,this._generateObservationForEvent("manual"))}setPlaybackRate(e){this._mediaElement.playbackRate=e}getReadyState(){return this._mediaElement.readyState}getReference(){return this._observationRef}listen(e,t){var r;if(this._canceller.isUsed()||((r=t==null?void 0:t.clearSignal)==null?void 0:r.isCancelled())===!0)return Z;this._observationRef.onUpdate(e,{clearSignal:t==null?void 0:t.clearSignal,emitCurrentValue:t==null?void 0:t.includeLastObservation})}deriveReadOnlyObserver(e){return Ma(this,e,this._canceller.signal)}_actuallySetCurrentTime(e){m.info("API: Seeking internally",e),this._internalSeeksIncoming.push(e),this._mediaElement.currentTime=e}_createSharedReference(){if(this._observationRef!==void 0)return this._observationRef;let{SAMPLING_INTERVAL_MEDIASOURCE:e,SAMPLING_INTERVAL_LOW_LATENCY:t,SAMPLING_INTERVAL_NO_MEDIASOURCE:r}=U.getCurrent(),i=new G(this._getCurrentObservation("init"),this._canceller.signal),o;this._lowLatencyMode?o=t:this._withMediaSource?o=e:o=r;let a=()=>{this._generateObservationForEvent("timeupdate")},s=setInterval(a,o);return tb.map(u=>{let c=()=>{d(),this._generateObservationForEvent(u)};this._mediaElement.addEventListener(u,c),this._canceller.signal.register(()=>{this._mediaElement.removeEventListener(u,c)})}),this._canceller.signal.register(()=>{clearInterval(s),i.finish()}),i;function d(){clearInterval(s),s=setInterval(a,o)}}_getCurrentObservation(e){var T,v;let t=e,r=this._observationRef===void 0?ab(this._mediaElement):this._observationRef.getValue(),i=!1,o=this._pendingSeek,a=Hm(this._mediaElement),{buffered:s,readyState:d,position:u,seeking:c}=a;if(t==="seeking")if(this._internalSeeksIncoming.length>0){i=!0,t="internal-seeking";let E=this._internalSeeksIncoming.shift();this._expectedSeekingPosition=vl?Math.max(u,E!=null?E:0):u}else this._expectedSeekingPosition=u;else c?this._expectedSeekingPosition=Math.max(u,(T=this._expectedSeekingPosition)!=null?T:0):vl&&this._expectedSeekingPosition!==null&&u<this._expectedSeekingPosition?o=this._expectedSeekingPosition:this._expectedSeekingPosition=null;c&&r.seeking===1&&e!=="seeking"&&(i=!0);let l=(v=this._expectedSeekingPosition)!=null?v:u,f,g;!this._withMediaSource&&s.length===0&&d>=3?(f=void 0,g=void 0):(f=za(s,l),g=f!==null?f.end-l:1/0);let p=rb({previousObservation:r,currentObservation:a,basePosition:l,observationEvent:t,lowLatencyMode:this._lowLatencyMode,withMediaSource:this._withMediaSource,bufferGap:g,currentRange:f}),h=ib(r,a,t,g),y;i?y=1:c?y=2:y=0;let b=j({},a,{position:new jn(a.position,o),event:t,seeking:y,rebuffering:p,freezing:h,bufferGap:g,currentRange:f});return m.hasLevel("DEBUG")&&m.debug("API: current media element state tick","event",b.event,"position",b.position.getPolled(),"seeking",b.seeking,"internalSeek",i,"rebuffering",b.rebuffering!==null,"freezing",b.freezing!==null,"ended",b.ended,"paused",b.paused,"playbackRate",b.playbackRate,"readyState",b.readyState,"pendingPosition",o),b}_generateObservationForEvent(e){let t=this._getCurrentObservation(e);m.hasLevel("DEBUG")&&m.debug(`API: current playback timeline:
15
15
  `+ob(t.buffered,t.position.getPolled()),`
16
- ${e}`),this._observationRef.setValue(t)}};function zm(n,e){if(n===null)return 0;let t=e?"LOW_LATENCY":"DEFAULT",{RESUME_GAP_AFTER_SEEKING:r,RESUME_GAP_AFTER_NOT_ENOUGH_DATA:i,RESUME_GAP_AFTER_BUFFERING:o}=U.getCurrent();switch(n.reason){case"seeking":return r[t];case"not-ready":return i[t];case"buffering":return o[t]}}function nb(n,e,t,r,i){let{REBUFFERING_GAP:o}=U.getCurrent(),a=i?"LOW_LATENCY":"DEFAULT";return e===void 0?t&&Math.abs(r-n)<=o[a]:e!==null&&r-e.end<=o[a]}function Hm(n){let{buffered:e,currentTime:t,duration:r,ended:i,paused:o,playbackRate:a,readyState:s,seeking:d}=n;return{buffered:e,position:t,duration:r,ended:i,paused:o,playbackRate:a,readyState:s,seeking:d}}function rb({previousObservation:n,currentObservation:e,basePosition:t,observationEvent:r,withMediaSource:i,lowLatencyMode:o,bufferGap:a,currentRange:s}){let{REBUFFERING_GAP:d}=U.getCurrent(),{position:u,duration:c,paused:l,readyState:f,ended:g}=e,{rebuffering:p,event:y,position:h}=n,b=nb(t,s,g,c,o),T=f>=1&&r!=="loadedmetadata"&&p===null&&!(b||g),v=null,E,R,k=o?d.LOW_LATENCY:d.DEFAULT;if(i){if(T)a===1/0?(E=!0,v=t):a===void 0?f<3&&(E=!0,v=void 0):a<=k&&(E=!0,v=t+a);else if(p!==null){let A=zm(p,o);E!==!0&&p!==null&&f>1&&(b||g||a!==void 0&&isFinite(a)&&a>A)||a===void 0&&f>=3?R=!0:a===void 0?v=void 0:a===1/0?v=t:a<=A&&(v=t+a)}}else T&&(!l&&r==="timeupdate"&&y==="timeupdate"&&u===h.getPolled()||r==="seeking"&&(a===1/0||a===void 0&&f<3))?E=!0:p!==null&&(r!=="seeking"&&u!==h.getPolled()||r==="canplay"||a===void 0&&f>=3||a!==void 0&&a<1/0&&(a>zm(p,o)||b||g))&&(R=!0);if(R===!0)return null;if(E===!0||p!==null){let A;return r==="seeking"||p!==null&&p.reason==="seeking"||e.seeking?A="seeking":f===1?A="not-ready":A="buffering",p!==null&&p.reason===A?{reason:p.reason,timestamp:p.timestamp,position:v}:{reason:A,timestamp:K(),position:v}}return null}function ib(n,e,t,r){let{MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:i}=U.getCurrent();return n.freezing?e.ended||e.paused||e.readyState===0||e.playbackRate===0||n.position.getPolled()!==e.position?null:n.freezing:t==="timeupdate"&&r!==void 0&&r>i&&!e.ended&&!e.paused&&e.readyState>=1&&e.playbackRate!==0&&e.position===n.position.getPolled()?{timestamp:K()}:null}function ob(n,e){let t="",r="";for(let i=0;i<n.length;i++){let o=n.start(i),a=n.end(i),s=o.toFixed(2),d=a.toFixed(2),u=(a-o).toFixed(2),c=`${s}|==${u}==|${d}`;if(t+=c,r.length===0&&a>e){let l=t.length-Math.floor(c.length/2);r=" ".repeat(l)+`^${e}`}if(i<n.length-1){let l=n.start(i+1),g=` ~${(l-a).toFixed(2)}~ `;if(t+=g,r.length===0&&e<l){let p=t.length-Math.floor(g.length/2);r=" ".repeat(p)+`^${e}`}}}return r.length===0&&(r=" ".repeat(t.length)+`^${e}`),t+`
17
- `+r}function ab(n){let e=Hm(n);return j(e,{rebuffering:null,event:"init",seeking:0,position:new jn(e.position,null),freezing:null,bufferGap:0,currentRange:null})}var ao=class extends ie{constructor(e){super(),this._canceller=new B,this._adaptationRef=e,this._updateToken=!1,this._lastEmitted=void 0,this.refresh=Z}hasSetTrack(){return this._adaptationRef.getValue()!==void 0}updateTrack(e){if(this._updateToken=!0,e===null){if(this._lastEmitted===null)return;this._updateToken=!1,this._canceller.cancel(),this._canceller=new B,this._lastEmitted=null,this._adaptationRef.setValue(null);return}let{adaptation:t,switchingMode:r,relativeResumingPosition:i}=e;this._canceller.cancel(),this._canceller=new B;let o=this._constructLockedRepresentationsReference(e);this._updateToken&&(this._lastEmitted={adaptation:t,switchingMode:r,lockedRepresentations:null},this._updateToken=!1,this._adaptationRef.setValue({adaptationId:t.id,switchingMode:r,representations:o,relativeResumingPosition:i}))}_constructLockedRepresentationsReference(e){let t=new G({representationIds:[],switchingMode:"lazy"}),r=this;return this.refresh=i,this._canceller.signal.register(o),e.lockedRepresentations.onUpdate(i,{clearSignal:this._canceller.signal,emitCurrentValue:!1}),i(),t;function i(){let a=e.lockedRepresentations.getValue(),s,d;if(a===null)d=e.adaptation.representations.filter(l=>l.isSupported===!0&&l.decipherable!==!1),s="lazy";else{let{representationIds:l}=a;if(s=a.switchingMode,d=e.adaptation.representations.filter(g=>Q(l,g.id)).filter(g=>g.isSupported===!0&&g.decipherable!==!1),d.length===0){r.trigger("noPlayableLockedRepresentation",null);return}}if(d.length<=0){r.trigger("noPlayableRepresentation",null);return}let u=t.getValue(),c=d.map(l=>l.id).slice().sort();if(c.length!==u.representationIds.length){t.setValue({representationIds:c,switchingMode:s});return}for(let l=0;l<c.length;l++)if(u.representationIds[l]!==c[l]){t.setValue({representationIds:c,switchingMode:s});return}}function o(){r.refresh=Z}}dispose(){this.removeEventListener(),this._canceller.cancel(),this._adaptationRef.finish()}};var so=class extends ie{constructor(e){var t;super(),this._storedPeriodInfo=[],this._isDisposed=!1,this._cachedPeriodInfo=new WeakMap,this._isTrickModeTrackEnabled=e.preferTrickModeTracks,this._defaultAudioTrackSwitchingMode=(t=e.defaultAudioTrackSwitchingMode)!=null?t:U.getCurrent().DEFAULT_AUDIO_TRACK_SWITCHING_MODE}getAvailablePeriods(){return this._storedPeriodInfo.reduce((e,t)=>(t.isPeriodAdvertised&&e.push(Nt(t.period)),e),[])}onManifestCodecSupportUpdate(){this._selectInitialTrackIfNeeded()}onManifestUpdate(e){var a,s,d,u,c,l;let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:t}=U.getCurrent(),{periods:r}=e;if(I.CURRENT_ENV===I.DEV)for(let f=1;f<r.length;f++)te(r[f-1].start<=r[f].start);let i=[],o=0;for(let f=0;f<this._storedPeriodInfo.length;f++){let g=this._storedPeriodInfo[f].period,p=r[o];if(p===void 0)for(let y=this._storedPeriodInfo.length-1;y>=f;y--)this._storedPeriodInfo[y].inManifest=!1,Rl(this._storedPeriodInfo[y])&&this._removePeriodObject(y);else if(g===p){o++;let y=this._storedPeriodInfo[f].text.storedSettings;if(!_(y)&&!mt(p,"text").some(E=>E.id===y.adaptation.id)){m.warn("TS: Chosen text Adaptation not available anymore");let E=this._storedPeriodInfo[f];if(E.text.storedSettings=null,this.trigger("trackUpdate",{period:Nt(p),trackType:"text",reason:"missing"}),this._isDisposed)return;let R=ut(this._storedPeriodInfo,E.period.id);R!==void 0&&R.isPeriodAdvertised&&R.text.storedSettings===null&&((a=R.text.dispatcher)==null||a.updateTrack(null))}let h=this._storedPeriodInfo[f].video.storedSettings;if(!_(h)){let T=mt(p,"video");if(!T.some(E=>E.id===h.adaptation.id)){m.warn("TS: Chosen video Adaptation not available anymore");let E=this._storedPeriodInfo[f],R;if(T.length===0)R=null;else{let A=T[0],M=Aa(A,this._isTrickModeTrackEnabled),x=new G(null);R={adaptationBase:A,adaptation:M,switchingMode:t,lockedRepresentations:x}}if(E.video.storedSettings=R,this.trigger("trackUpdate",{period:Nt(p),trackType:"video",reason:"missing"}),this._isDisposed)return;let k=ut(this._storedPeriodInfo,E.period.id);k!==void 0&&k.isPeriodAdvertised&&k.video.storedSettings===R&&((s=k.video.dispatcher)==null||s.updateTrack(R))}}let b=this._storedPeriodInfo[f].audio.storedSettings;if(!_(b)){let T=mt(p,"audio");if(!T.some(E=>E.id===b.adaptation.id)){m.warn("TS: Chosen audio Adaptation not available anymore");let E=this._storedPeriodInfo[f],R=T.length===0?null:{adaptation:T[0],switchingMode:this._defaultAudioTrackSwitchingMode,lockedRepresentations:new G(null)};if(E.audio.storedSettings=R,this.trigger("trackUpdate",{period:Nt(p),trackType:"audio",reason:"missing"}),this._isDisposed)return;let k=ut(this._storedPeriodInfo,E.period.id);k!==void 0&&k.isPeriodAdvertised&&k.audio.storedSettings===R&&((d=k.audio.dispatcher)==null||d.updateTrack(R))}}}else if(g.start<=p.start)this._storedPeriodInfo[f].inManifest=!1,Rl(this._storedPeriodInfo[f])&&(this._removePeriodObject(f),f--);else{let y=kl(p,!0);this._storedPeriodInfo.splice(f,0,y),i.push(y),o++}}if(o<r.length){let f=r.slice(o).map(g=>kl(g,!0));this._storedPeriodInfo.push(...f),i.push(...f)}for(let f of this._storedPeriodInfo)(u=f.audio.dispatcher)==null||u.refresh(),(c=f.video.dispatcher)==null||c.refresh(),(l=f.text.dispatcher)==null||l.refresh()}onDecipherabilityUpdates(){var e,t,r;for(let i of this._storedPeriodInfo)(e=i.audio.dispatcher)==null||e.refresh(),(t=i.video.dispatcher)==null||t.refresh(),(r=i.text.dispatcher)==null||r.refresh()}addTrackReference(e,t,r){let i=ut(this._storedPeriodInfo,t.id);if(i===void 0){i=kl(t,!1);let s=!1;for(let d=0;d<this._storedPeriodInfo.length;d++)this._storedPeriodInfo[d].period.start>t.start&&(this._storedPeriodInfo.splice(d,0,i),s=!0);s||this._storedPeriodInfo.push(i)}if(i[e].dispatcher!==null){m.error(`TS: Subject already added for ${e} and Period ${t.start}`);return}let o=new ao(r);if(i[e].dispatcher=o,o.addEventListener("noPlayableRepresentation",()=>{var l,f,g,p;let s=X((l=t.adaptations[e])!=null?l:[],y=>y.supportStatus.hasSupportedCodec===!1||y.supportStatus.isDecipherable===!1?!1:y.representations.filter(b=>b.isSupported===!0&&b.decipherable!==!1).length>0);if(s===void 0){let y=new J("NO_PLAYABLE_REPRESENTATION",`No ${e} Representation can be played`,{tracks:void 0});this.trigger("error",y),this.dispose();return}let d=(f=ut(this._storedPeriodInfo,t.id))==null?void 0:f[e];if(_(d))return;let u=e==="audio"?this._defaultAudioTrackSwitchingMode:"reload",c={adaptation:s,switchingMode:u,lockedRepresentations:new G(null)};d.storedSettings=c,this.trigger("trackUpdate",{period:Nt(t),trackType:e,reason:"no-playable-representation"}),!this._isDisposed&&(d=(g=ut(this._storedPeriodInfo,t.id))==null?void 0:g[e],!(_(d)||d.storedSettings!==c)&&((p=d.dispatcher)==null||p.updateTrack(c)))}),o.addEventListener("noPlayableLockedRepresentation",()=>{i!==void 0&&(this.unlockVideoRepresentations(i),this.trigger("brokenRepresentationsLock",{period:{id:t.id,start:t.start,end:t.end},trackType:e}))}),this._selectInitialTrackIfNeeded(),this._shouldAdvertisePeriod(i)&&(i.isPeriodAdvertised=!0,this.trigger("newAvailablePeriods",[{id:t.id,start:t.start,end:t.end}]),this._isDisposed))return;let a=["audio","video","text"];for(let s of a){let d=i[s];if(i.isPeriodAdvertised&&d.dispatcher!==null&&!d.dispatcher.hasSetTrack()&&d.storedSettings!==void 0&&d.dispatcher.updateTrack(d.storedSettings),this._isDisposed)return}}removeTrackReference(e,t){let r=sb(this._storedPeriodInfo,t);if(r===void 0){m.warn(`TS: ${e} not found for period`,t.start);return}let i=this._storedPeriodInfo[r],o=i[e];if((o==null?void 0:o.dispatcher)===null){m.warn(`TS: TrackDispatcher already removed for ${e} and Period ${t.start}`);return}o.dispatcher.dispose(),o.dispatcher=null,Rl(i)&&this._removePeriodObject(r)}getPeriodObjectFromPeriod(e){let t=ut(this._storedPeriodInfo,e.id);return t===void 0&&e!==void 0?this._cachedPeriodInfo.get(e):t}getPeriodObjectFromId(e){return ut(this._storedPeriodInfo,e)}disableVideoTrickModeTracks(){this._isTrickModeTrackEnabled&&(this._isTrickModeTrackEnabled=!1,this._resetVideoTrackChoices("trickmode-disabled"))}enableVideoTrickModeTracks(){this._isTrickModeTrackEnabled||(this._isTrickModeTrackEnabled=!0,this._resetVideoTrackChoices("trickmode-enabled"))}resetPeriodObjects(){var e,t,r;for(let i=this._storedPeriodInfo.length-1;i>=0;i--){let o=this._storedPeriodInfo[i];(e=o.audio.dispatcher)==null||e.dispose(),o.audio.dispatcher=null,(t=o.video.dispatcher)==null||t.dispose(),o.video.dispatcher=null,(r=o.text.dispatcher)==null||r.dispose(),o.text.dispatcher=null,o.inManifest||this._removePeriodObject(i)}}isTrickModeEnabled(){return this._isTrickModeTrackEnabled}setAudioTrack(e){let{periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}=e;return this._setAudioOrTextTrack({bufferType:"audio",periodRef:t,trackId:r,switchingMode:i!=null?i:this._defaultAudioTrackSwitchingMode,lockedRepresentations:o,relativeResumingPosition:a})}setTextTrack(e,t){return this._setAudioOrTextTrack({bufferType:"text",periodRef:e,trackId:t,switchingMode:"direct",lockedRepresentations:null,relativeResumingPosition:void 0})}_setAudioOrTextTrack({bufferType:e,periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}){var g,p;if(!t.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let s=t.period,d=X((g=s.adaptations[e])!=null?g:[],({id:y,supportStatus:h})=>h.hasSupportedCodec!==!1&&h.isDecipherable!==!1&&y===r);if(d===void 0)throw new Error(`Wanted ${e} track not found.`);let u=t[e],c;if(o===null)c=new G(null);else{let y=this._getRepresentationsToLock(d,o),h=e==="audio"?this._defaultAudioTrackSwitchingMode:"direct";c=new G({representationIds:y,switchingMode:h})}let l={adaptation:d,switchingMode:i,lockedRepresentations:c,relativeResumingPosition:a};if(u.storedSettings=l,this.trigger("trackUpdate",{period:Nt(s),trackType:e,reason:"manual"}),this._isDisposed)return;let f=ut(this._storedPeriodInfo,s.id);f!==void 0&&f[e].storedSettings===l&&((p=f[e].dispatcher)==null||p.updateTrack(l))}setVideoTrack(e){var y,h;let{periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}=e;if(!t.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let s=t.period,d=X((y=s.adaptations.video)!=null?y:[],({id:b,supportStatus:T})=>T.isDecipherable!==!1&&T.hasSupportedCodec!==!1&&b===r);if(d===void 0)throw new Error("Wanted video track not found.");let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:u}=U.getCurrent(),c=t.video,l=Aa(d,this._isTrickModeTrackEnabled),f;if(o===null)f=new G(null);else{let b=this._getRepresentationsToLock(d,o),T=u;f=new G({representationIds:b,switchingMode:T})}let g={adaptationBase:d,switchingMode:i!=null?i:u,adaptation:l,relativeResumingPosition:a,lockedRepresentations:f};if(c.storedSettings=g,this.trigger("trackUpdate",{period:Nt(s),trackType:"video",reason:"manual"}),this._isDisposed)return;let p=ut(this._storedPeriodInfo,s.id);p!==void 0&&p.video.storedSettings===g&&((h=p.video.dispatcher)==null||h.updateTrack(g))}disableTrack(e,t){var o,a;if(!e.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let r=e[t];if(r.storedSettings===null||(t!=="text"&&((o=e[t].storedSettings)==null||o.lockedRepresentations.finish()),r.storedSettings=null,this.trigger("trackUpdate",{period:Nt(e.period),trackType:t,reason:"manual"}),this._isDisposed))return;let i=ut(this._storedPeriodInfo,e.period.id);i!==void 0&&i[t].storedSettings===null&&((a=i[t].dispatcher)==null||a.updateTrack(null))}getChosenAudioTrack(e){return _(e.audio.storedSettings)?null:Go(e.audio.storedSettings.adaptation,!0)}getChosenTextTrack(e){return _(e.text.storedSettings)?null:qo(e.text.storedSettings.adaptation)}getChosenVideoTrack(e){return _(e.video.storedSettings)?null:jo(e.video.storedSettings.adaptation,!0)}getAvailableAudioTracks(e){let t=e.audio.storedSettings,r=_(t)?null:t.adaptation.id;return mt(e.period,"audio").map(o=>{let a=r===null?!1:r===o.id;return j(Go(o,!0),{active:a})})}getAvailableTextTracks(e){let t=e.text.storedSettings,r=_(t)?null:t.adaptation.id;return mt(e.period,"text").map(o=>{let a=r===null?!1:r===o.id;return j(qo(o),{active:a})})}getAvailableVideoTracks(e){let t=e.video.storedSettings,r=_(t)?void 0:t.adaptation.id;return mt(e.period,"video").map(o=>{let a=r===null?!1:r===o.id,s=jo(o,!0),d=s.trickModeTracks!==void 0?s.trickModeTracks.map(c=>{let l=r===null?!1:r===c.id;return j(c,{active:l})}):[],u=j(s,{active:a});return d!==void 0&&(u.trickModeTracks=d),u})}getLockedAudioRepresentations(e){let{storedSettings:t}=e.audio;if(_(t))return null;let r=t.lockedRepresentations.getValue();return r===null?null:r.representationIds}getLockedVideoRepresentations(e){let{storedSettings:t}=e.video;if(_(t))return null;let r=t.lockedRepresentations.getValue();return r===null?null:r.representationIds}lockAudioRepresentations(e,t){var s;let{storedSettings:r}=e.audio;if(_(r))return;let{DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:i}=U.getCurrent(),o=this._getRepresentationsToLock(r.adaptation,t.representations),a=(s=t.switchingMode)!=null?s:i;r.lockedRepresentations.setValue({representationIds:o,switchingMode:a})}lockVideoRepresentations(e,t){var s;let{storedSettings:r}=e.video;if(_(r))return;let{DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:i}=U.getCurrent(),o=this._getRepresentationsToLock(r.adaptation,t.representations),a=(s=t.switchingMode)!=null?s:i;r.lockedRepresentations.setValue({representationIds:o,switchingMode:a})}unlockAudioRepresentations(e){let{storedSettings:t}=e.audio;_(t)||t.lockedRepresentations.getValue()===null||t.lockedRepresentations.setValue(null)}unlockVideoRepresentations(e){let{storedSettings:t}=e.video;_(t)||t.lockedRepresentations.getValue()===null||t.lockedRepresentations.setValue(null)}dispose(){for(this._isDisposed=!0;;){let e=this._storedPeriodInfo.pop();if(e===void 0)return;e.isRemoved=!0}}_resetVideoTrackChoices(e){var r;for(let i=0;i<this._storedPeriodInfo.length;i++){let o=this._storedPeriodInfo[i];if(!_(o.video.storedSettings)){let a=o.video.storedSettings.adaptationBase;if(a!==null){let s=Aa(a,this._isTrickModeTrackEnabled);o.video.storedSettings.adaptationBase=a,o.video.storedSettings.adaptation=s}}}let t=this._storedPeriodInfo.slice();for(let i=0;i<t.length;i++){let o=t[i].period,s=t[i].video.storedSettings;if(s!==void 0){if(this.trigger("trackUpdate",{period:Nt(o),trackType:"video",reason:e}),this._isDisposed)return;let d=ut(this._storedPeriodInfo,o.id);d!==void 0&&d.isPeriodAdvertised&&d.video.storedSettings===s&&((r=d.video.dispatcher)==null||r.updateTrack(s))}}}_removePeriodObject(e){I.CURRENT_ENV===I.DEV&&te(e<this._storedPeriodInfo.length,"Invalid index for Period removal");let t=this._storedPeriodInfo[e];this._storedPeriodInfo[e].isRemoved=!0,this._storedPeriodInfo.splice(e,1),this._cachedPeriodInfo.set(t.period,t)}_getRepresentationsToLock(e,t){let r=t.reduce((i,o)=>{let a=X(e.representations,s=>s.id===o);return a===void 0?m.warn("API: Wanted locked Representation not found."):i.push(a.id),i},[]);if(r.length===0)throw new Error("Cannot lock Representations: None of the given Representation id are found");return r}_selectInitialTrackIfNeeded(){var i,o,a,s;let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:e}=U.getCurrent(),t=[],r=[];for(let d of this._storedPeriodInfo){let{period:u}=d;if(d.audio.storedSettings!==void 0&&d.video.storedSettings!==void 0&&d.text.storedSettings!==void 0)continue;let c=[...(i=u.adaptations.audio)!=null?i:[],...(o=u.adaptations.video)!=null?o:[]],l=c.every(b=>b.supportStatus.hasCodecWithUndefinedSupport);if(c.length>0&&l)continue;let f=mt(u,"audio")[0];d.audio.storedSettings=f===void 0?null:{adaptation:f,switchingMode:this._defaultAudioTrackSwitchingMode,lockedRepresentations:new G(null)};let g=mt(u,"video")[0],p=Aa(g,this._isTrickModeTrackEnabled);d.video.storedSettings=p===void 0?null:{adaptation:p,adaptationBase:g,switchingMode:e,lockedRepresentations:new G(null)};let y=null,h=((a=u.adaptations.text)!=null?a:[]).filter(b=>b.isForcedSubtitles===!0);if(h.length>0){if(f!=null){let b=X(h,T=>T.normalizedLanguage===f.normalizedLanguage);b!==void 0&&(y=b)}y===null&&(y=(s=X(h,b=>b.normalizedLanguage===void 0))!=null?s:null)}d.text.storedSettings=y===null?null:{adaptation:y,switchingMode:"direct",lockedRepresentations:new G(null)},r.push(d),this._shouldAdvertisePeriod(d)&&(d.isPeriodAdvertised=!0,t.push({id:u.id,start:u.start,end:u.end}))}if(!(t.length>0&&(this.trigger("newAvailablePeriods",t),this._isDisposed)))for(let d of r){if(!d.isPeriodAdvertised)continue;let u=["audio","video","text"];for(let c of u){let l=d[c];if(l.dispatcher!==null&&l.storedSettings!==void 0&&!l.dispatcher.hasSetTrack()&&(l.dispatcher.updateTrack(l.storedSettings),this._isDisposed))return}}}_shouldAdvertisePeriod(e){return!e.isPeriodAdvertised&&e.text.dispatcher!==null&&e.video.dispatcher!==null&&e.audio.dispatcher!==null}};function sb(n,e){for(let t=0;t<n.length;t++)if(n[t].period.id===e.id)return t}function ut(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.period.id===e)return r}}function Rl(n){var e,t,r;return!n.inManifest&&((e=n.text)==null?void 0:e.dispatcher)===null&&((t=n.audio)==null?void 0:t.dispatcher)===null&&((r=n.video)==null?void 0:r.dispatcher)===null}function Aa(n,e){var t;return e&&((t=n.trickModeTracks)==null?void 0:t[0])!==void 0?n.trickModeTracks[0]:n}function kl(n,e){return{period:n,inManifest:e,isPeriodAdvertised:!1,isRemoved:!1,audio:{storedSettings:void 0,dispatcher:null},video:{storedSettings:void 0,dispatcher:null},text:{storedSettings:void 0,dispatcher:null}}}function Nt(n){return{start:n.start,end:n.end,id:n.id}}var Wm=so;function Gm(n){let e,t,r,i,o,a,{DEFAULT_BASE_BANDWIDTH:s,DEFAULT_VIDEO_RESOLUTION_LIMIT:d,DEFAULT_MAX_BUFFER_AHEAD:u,DEFAULT_MAX_BUFFER_BEHIND:c,DEFAULT_MAX_VIDEO_BUFFER_SIZE:l,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:f,DEFAULT_WANTED_BUFFER_AHEAD:g}=U.getCurrent();if(_(n.maxBufferAhead))e=u;else if(e=Number(n.maxBufferAhead),isNaN(e))throw new Error("Invalid maxBufferAhead parameter. Should be a number.");if(_(n.maxBufferBehind))t=c;else if(t=Number(n.maxBufferBehind),isNaN(t))throw new Error("Invalid maxBufferBehind parameter. Should be a number.");if(_(n.wantedBufferAhead))r=g;else if(r=Number(n.wantedBufferAhead),isNaN(r))throw new Error("Invalid wantedBufferAhead parameter. Should be a number.");if(_(n.maxVideoBufferSize))i=l;else if(i=Number(n.maxVideoBufferSize),isNaN(i))throw new Error("Invalid maxVideoBufferSize parameter. Should be a number.");let p=_(n.videoResolutionLimit)?d:n.videoResolutionLimit,y=_(n.throttleVideoBitrateWhenHidden)?f:!!n.throttleVideoBitrateWhenHidden;if(_(n.videoElement))o=document.createElement("video");else if(n.videoElement.nodeName.toLowerCase()==="video"||n.videoElement.nodeName.toLowerCase()==="audio")o=n.videoElement;else throw new Error("Invalid videoElement parameter. Should be a HTMLMediaElement.");if(_(n.baseBandwidth))a=s;else if(a=Number(n.baseBandwidth),isNaN(a))throw new Error("Invalid baseBandwidth parameter. Should be a number.");return{maxBufferAhead:e,maxBufferBehind:t,videoResolutionLimit:p,videoElement:o,wantedBufferAhead:r,maxVideoBufferSize:i,throttleVideoBitrateWhenHidden:y,baseBandwidth:a}}function qm(n){var e,t,r,i;if(n===null||typeof n!="object"&&n!==void 0)throw new Error("API: reload - Invalid options format.");if((n==null?void 0:n.reloadAt)===null||typeof(n==null?void 0:n.reloadAt)!="object"&&(n==null?void 0:n.reloadAt)!==void 0)throw new Error("API: reload - Invalid 'reloadAt' option format.");if(typeof((e=n==null?void 0:n.reloadAt)==null?void 0:e.position)!="number"&&((t=n==null?void 0:n.reloadAt)==null?void 0:t.position)!==void 0)throw new Error("API: reload - Invalid 'reloadAt.position' option format.");if(typeof((r=n==null?void 0:n.reloadAt)==null?void 0:r.relative)!="number"&&((i=n==null?void 0:n.reloadAt)==null?void 0:i.relative)!==void 0)throw new Error("API: reload - Invalid 'reloadAt.relative' option format.");if(!Array.isArray(n==null?void 0:n.keySystems)&&(n==null?void 0:n.keySystems)!==void 0)throw new Error("API: reload - Invalid 'keySystems' option format.");if((n==null?void 0:n.autoPlay)!==void 0&&typeof n.autoPlay!="boolean")throw new Error("API: reload - Invalid 'autoPlay' option format.")}function jm(n){var E,R,k;let e,t,r,i,o,a,s,{DEFAULT_AUTO_PLAY:d,DEFAULT_CODEC_SWITCHING_BEHAVIOR:u,DEFAULT_ENABLE_FAST_SWITCHING:c,DEFAULT_TEXT_TRACK_MODE:l}=U.getCurrent();if(_(n))throw new Error("No option set on loadVideo");if(!_(n.url))e=String(n.url);else if(_(n.initialManifest)&&_(n.manifestLoader))throw new Error("Unable to load a content: no url set on loadVideo.\nPlease provide at least either an `url` argument, a `initialManifest` option or a `manifestLoader` option so the RxPlayer can load the content.");if(_(n.transport))throw new Error("No transport set on loadVideo");t=String(n.transport);let f=_(n.autoPlay)?d:!!n.autoPlay;if(_(n.keySystems))r=[];else{r=Array.isArray(n.keySystems)?n.keySystems:[n.keySystems];for(let A of r)if(typeof A.type!="string"||typeof A.getLicense!="function")throw new Error("Invalid key system given: Missing type string or getLicense callback")}let g=n.lowLatencyMode===void 0?!1:!!n.lowLatencyMode,p=n.initialManifest,y=(E=n.minimumManifestUpdateInterval)!=null?E:0,h=(R=n.defaultAudioTrackSwitchingMode)!=null?R:void 0;h!==void 0&&!Q(["seamless","direct","reload"],h)&&(m.warn("The `defaultAudioTrackSwitchingMode` loadVideo option must match one of the following strategy name:\n- `seamless`\n- `direct`\n- `reload`"),h=void 0);let b=_(n.onCodecSwitch)?u:n.onCodecSwitch;if(Q(["continue","reload"],b)||(m.warn("The `onCodecSwitch` loadVideo option must match one of the following string:\n- `continue`\n- `reload`\nIf badly set, "+u+" will be used as default"),b=u),_(n.textTrackMode))i=l;else{if(n.textTrackMode!=="native"&&n.textTrackMode!=="html")throw new Error("Invalid textTrackMode.");i=n.textTrackMode}if(i==="html"){if(_(n.textTrackElement))throw new Error('You have to provide a textTrackElement in "html" textTrackMode.');if(n.textTrackElement instanceof HTMLElement)a=n.textTrackElement;else throw new Error("textTrackElement should be an HTMLElement.")}else _(n.textTrackElement)||m.warn('API: You have set a textTrackElement without being in an "html" textTrackMode. It will be ignored.');if(_(n.mode))o="auto";else{if(!Q(["auto","multithread","main"],n.mode))throw new Error("Invalid `mode` option.");o=n.mode}let T=_(n.enableFastSwitching)?c:n.enableFastSwitching;if(!_(n.startAt))if("wallClockTime"in n.startAt&&n.startAt.wallClockTime instanceof Date){let A=n.startAt.wallClockTime.getTime()/1e3;s=j({},n.startAt,{wallClockTime:A})}else s=n.startAt;let v=(k=n.requestConfig)!=null?k:{};return{__priv_patchLastSegmentInSidx:n.__priv_patchLastSegmentInSidx,__priv_manifestUpdateUrl:n.__priv_manifestUpdateUrl,checkMediaSegmentIntegrity:n.checkMediaSegmentIntegrity,checkManifestIntegrity:n.checkManifestIntegrity,autoPlay:f,defaultAudioTrackSwitchingMode:h,enableFastSwitching:T,initialManifest:p,keySystems:r,lowLatencyMode:g,manifestLoader:n.manifestLoader,minimumManifestUpdateInterval:y,requestConfig:v,onCodecSwitch:b,referenceDateTime:n.referenceDateTime,representationFilter:n.representationFilter,segmentLoader:n.segmentLoader,serverSyncInfos:n.serverSyncInfos,startAt:s,textTrackElement:a,textTrackMode:i,transport:t,mode:o,url:e,cmcd:n.cmcd}}function Ym(n,e,t,r,i){if(i.isCancelled()||n===null)return;let o=e.getReference().getValue().seeking===2;o&&(t(),i.isCancelled())||e.listen(a=>{a.event==="seeking"?(o=!0,t()):o&&a.event==="seeked"&&(o=!1,r())},{includeLastObservation:!0,clearSignal:i})}function $m(n,e,t,r){r.isCancelled()||n===null||(n.addEventListener("play",e),n.addEventListener("pause",t),r.register(()=>{n.removeEventListener("play",e),n.removeEventListener("pause",t)}))}function Qm(n,e,t,r){let i=new G("LOADING",r);n.addEventListener("loaded",()=>{if(i.getValue()==="LOADING"){if(i.setValue("LOADED"),!r.isCancelled()){let s=Cl(e,null);s!=="PAUSED"&&i.setValue(s)}}else i.getValue()==="RELOADING"?i.setValue(Cl(e,null)):a(null)},r),n.addEventListener("reloadingMediaSource",()=>{ir(i.getValue())&&i.setValueIfChanged("RELOADING")},r);let o=null;return n.addEventListener("stalled",s=>{s!==o&&(a(s),o=s)},r),n.addEventListener("unstalled",()=>{o!==null&&(a(null),o=null)},r),t.listen(s=>{Q(["seeking","ended","play","pause"],s.event)&&a(o)},{clearSignal:r}),i;function a(s){if(!ir(i.getValue()))return;let d=Cl(e,s);i.getValue()==="LOADED"&&d==="PAUSED"||i.setValueIfChanged(d)}}function Cl(n,e){let{FORCED_ENDED_THRESHOLD:t}=U.getCurrent();if(n.ended)return"ENDED";if(e!==null){let r=Math.abs(n.duration-n.currentTime);return!_(t)&&r<t?"ENDED":e==="seeking"?"SEEKING":e==="freezing"?"FREEZING":"BUFFERING"}return n.paused?"PAUSED":"PLAYING"}function ir(n){return n!=="LOADING"&&n!=="RELOADING"&&n!=="STOPPED"}var db=Ze(),ub=["manifestLoader","segmentLoader"],Ut=class Ut extends ie{static get ErrorTypes(){return Xe}static get ErrorCodes(){return Qa}static get LogLevel(){return m.getLevel()}static set LogLevel(e){m.setLevel(e,m.getFormat())}static get LogFormat(){return m.getFormat()}static set LogFormat(e){m.setLevel(m.getLevel(),e)}static addFeatures(e){ea(e)}static _priv_registerVideoElement(e){Ut._priv_currentlyUsedVideoElements.has(e)&&console.warn(`The video element is already attached to another RxPlayer instance.
18
- Make sure to dispose the previous instance with player.dispose() before creating a new player instance attaching that video element.`),Ut._priv_currentlyUsedVideoElements.add(e)}static _priv_deregisterVideoElement(e){Ut._priv_currentlyUsedVideoElements.has(e)&&Ut._priv_currentlyUsedVideoElements.delete(e)}constructor(e={}){super();let{baseBandwidth:t,videoResolutionLimit:r,maxBufferAhead:i,maxBufferBehind:o,throttleVideoBitrateWhenHidden:a,videoElement:s,wantedBufferAhead:d,maxVideoBufferSize:u}=Gm(e);s.preload="auto",this.version="4.2.0-dev.2024080900",this.log=m,this.state="STOPPED",this.videoElement=s,Ut._priv_registerVideoElement(this.videoElement);let c=new B;this._destroyCanceller=c,this._priv_pictureInPictureRef=nc(s,c.signal),this._priv_speed=new G(s.playbackRate,this._destroyCanceller.signal),this._priv_preferTrickModeTracks=!1,this._priv_contentLock=new G(!1,this._destroyCanceller.signal),this._priv_bufferOptions={wantedBufferAhead:new G(d,this._destroyCanceller.signal),maxBufferAhead:new G(i,this._destroyCanceller.signal),maxBufferBehind:new G(o,this._destroyCanceller.signal),maxVideoBufferSize:new G(u,this._destroyCanceller.signal)},this._priv_bitrateInfos={lastBitrates:{audio:t,video:t}},this._priv_throttleVideoBitrateWhenHidden=a,this._priv_videoResolutionLimit=r,this._priv_currentError=null,this._priv_contentInfos=null,this._priv_contentEventsMemory={},this._priv_reloadingMetadata={},this._priv_lastAutoPlay=!1,this._priv_worker=null,this._priv_segmentSinkMetricsCallback=null;let l=()=>{this.trigger("volumeChange",{volume:s.volume,muted:s.muted})};s.addEventListener("volumechange",l),c.signal.register(()=>{s.removeEventListener("volumechange",l)})}attachWorker(e){return new Promise((t,r)=>{var o;if(!El())return m.warn("API: Cannot rely on a WebWorker: Worker API unavailable"),r(new An("INCOMPATIBLE_ERROR","Worker unavailable"));if(typeof e.workerUrl=="string")this._priv_worker=new Worker(e.workerUrl);else{let a=URL.createObjectURL(e.workerUrl);this._priv_worker=new Worker(a),URL.revokeObjectURL(a)}this._priv_worker.onerror=a=>{this._priv_worker!==null&&(this._priv_worker.terminate(),this._priv_worker=null),m.error("API: Unexpected worker error",a.error instanceof Error?a.error:void 0),r(new An("UNKNOWN_ERROR",'Unexpected Worker "error" event'))};let i=a=>{let s=a.data;s.type==="init-error"?(m.warn("API: Processing InitError worker message: detaching worker"),this._priv_worker!==null&&(this._priv_worker.removeEventListener("message",i),this._priv_worker.terminate(),this._priv_worker=null),r(new An("SETUP_ERROR","Worker parser initialization failed: "+s.value.errorMessage))):s.type==="init-success"&&(m.info("API: InitSuccess received from worker."),this._priv_worker!==null&&this._priv_worker.removeEventListener("message",i),t())};this._priv_worker.addEventListener("message",i),m.debug("---> Sending To Worker:","init"),this._priv_worker.postMessage({type:"init",value:{dashWasmUrl:e.dashWasmUrl,logLevel:m.getLevel(),logFormat:m.getFormat(),sendBackLogs:xn(),date:Date.now(),timestamp:K(),hasVideo:((o=this.videoElement)==null?void 0:o.nodeName.toLowerCase())==="video",hasMseInWorker:Ff}}),m.addEventListener("onLogLevelChange",a=>{this._priv_worker!==null&&(m.debug("---> Sending To Worker:","log-level-update"),this._priv_worker.postMessage({type:"log-level-update",value:{logLevel:a.level,logFormat:a.format,sendBackLogs:xn()}}))},this._destroyCanceller.signal)})}getCurrentModeInformation(){return this._priv_contentInfos===null?null:{isDirectFile:this._priv_contentInfos.isDirectFile,useWorker:this._priv_contentInfos.useWorker}}addEventListener(e,t){return super.addEventListener(e,t)}stop(){this._priv_contentInfos!==null&&this._priv_contentInfos.currentContentCanceller.cancel(),this._priv_cleanUpCurrentContentState(),this.state!=="STOPPED"&&this._priv_setPlayerState("STOPPED")}dispose(){this.stop(),this.videoElement!==null&&(Ut._priv_deregisterVideoElement(this.videoElement),On(this.videoElement).catch(e=>{let t=e instanceof Error?e.message:"Unknown error";m.error("API: Could not dispose decryption resources: "+t)})),this._destroyCanceller.cancel(),this._priv_reloadingMetadata={},this.videoElement=null,this._priv_worker!==null&&(this._priv_worker.terminate(),this._priv_worker=null)}loadVideo(e){let t=jm(e);m.info("API: Calling loadvideo",t.url,t.transport),this._priv_reloadingMetadata={options:t},this._priv_initializeContentPlayback(t),this._priv_lastAutoPlay=t.autoPlay}reload(e){var c,l,f;let{options:t,manifest:r,reloadPosition:i,reloadInPause:o}=this._priv_reloadingMetadata;if(t===void 0)throw new Error("API: Can't reload without having previously loaded a content.");qm(e);let a;if(((c=e==null?void 0:e.reloadAt)==null?void 0:c.position)!==void 0)a={position:e.reloadAt.position};else if(((l=e==null?void 0:e.reloadAt)==null?void 0:l.relative)!==void 0){if(i===void 0)throw new Error("Can't reload to a relative position when previous content was not loaded.");a={position:e.reloadAt.relative+i}}else i!==void 0&&(a={position:i});let s;(e==null?void 0:e.autoPlay)!==void 0?s=e.autoPlay:o!==void 0&&(s=!o);let d;(e==null?void 0:e.keySystems)!==void 0?d=e.keySystems:((f=this._priv_reloadingMetadata.options)==null?void 0:f.keySystems)!==void 0&&(d=this._priv_reloadingMetadata.options.keySystems);let u=le(ae({},t),{initialManifest:r});a!==void 0&&(u.startAt=a),s!==void 0&&(u.autoPlay=s),d!==void 0&&(u.keySystems=d),this._priv_initializeContentPlayback(u)}createDebugElement(e){if(me.createDebugElement===null)throw new Error("Feature `DEBUG_ELEMENT` not added to the RxPlayer");let t=new B;return me.createDebugElement(e,this,t.signal),{dispose(){t.cancel()}}}_priv_initializeContentPlayback(e){var z,H,se,oe,ue,he;let{autoPlay:t,cmcd:r,defaultAudioTrackSwitchingMode:i,enableFastSwitching:o,initialManifest:a,keySystems:s,lowLatencyMode:d,minimumManifestUpdateInterval:u,requestConfig:c,onCodecSwitch:l,startAt:f,transport:g,checkMediaSegmentIntegrity:p,checkManifestIntegrity:y,manifestLoader:h,referenceDateTime:b,segmentLoader:T,serverSyncInfos:v,mode:E,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k,url:A}=e;if(this.videoElement===null)throw new Error("the attached video element is disposed");let M=g==="directfile",x=new B,L=this.videoElement,O,N=!1,C=null;if(M){if(me.directfile===null)throw this.stop(),this._priv_currentError=null,new Error("DirectFile feature not activated in your build.");if(_(A))throw new Error("No URL for a DirectFile content");if(m.info("API: Initializing DirectFile mode in the main thread"),C=this._priv_initializeMediaElementTracksStore(x.signal),x.isUsed())return;O=new me.directfile.initDirectFile({autoPlay:t,keySystems:s,speed:this._priv_speed,startAt:f,url:A})}else{let Y={lowLatencyMode:d,maxRetry:(z=c.manifest)==null?void 0:z.maxRetry,requestTimeout:(H=c.manifest)==null?void 0:H.timeout,connectionTimeout:(se=c.manifest)==null?void 0:se.connectionTimeout,minimumManifestUpdateInterval:u,initialManifest:a},ce=_l(),Ie={throttleBitrate:{},limitResolution:{}};this._priv_throttleVideoBitrateWhenHidden&&(ce?Ie.throttleBitrate={video:on(rc(this._priv_pictureInPictureRef,x.signal),Oe=>Oe?1/0:0,x.signal)}:m.warn("API: Can't apply throttleVideoBitrateWhenHidden because browser can't be trusted for visibility.")),this._priv_videoResolutionLimit==="videoElement"?ce?Ie.limitResolution={video:oc(L,this._priv_pictureInPictureRef,x.signal)}:m.warn("API: Can't apply videoResolutionLimit because browser can't be trusted for video size."):this._priv_videoResolutionLimit==="screen"&&(Ie.limitResolution={video:ic(x.signal)});let Bt={initialBitrates:this._priv_bitrateInfos.lastBitrates,lowLatencyMode:d,throttlers:Ie},$e=e.textTrackMode==="native"?{textTrackMode:"native"}:{textTrackMode:"html",textTrackElement:e.textTrackElement},Ue=j({enableFastSwitching:o,onCodecSwitch:l},this._priv_bufferOptions),Tt={lowLatencyMode:d,maxRetry:(oe=c.segment)==null?void 0:oe.maxRetry,requestTimeout:(ue=c.segment)==null?void 0:ue.timeout,connectionTimeout:(he=c.segment)==null?void 0:he.connectionTimeout},ht=me.multithread!==null&&this._priv_worker!==null&&g==="dash"&&ub.every(Oe=>_(e[Oe]))&&typeof e.representationFilter!="function";if(E==="main"||E==="auto"&&!ht){if(me.mainThreadMediaSourceInit===null)throw new Error("Cannot load video, neither in a WebWorker nor with the `MEDIA_SOURCE_MAIN` feature");let Oe=me.transports[g];if(typeof Oe!="function")throw this.stop(),this._priv_currentError=null,new Error(`transport "${g}" not supported`);let Zm=typeof e.representationFilter=="string"?Hc(e.representationFilter):e.representationFilter;m.info("API: Initializing MediaSource mode in the main thread");let Jm=Oe({lowLatencyMode:d,checkMediaSegmentIntegrity:p,checkManifestIntegrity:y,manifestLoader:h,referenceDateTime:b,representationFilter:Zm,segmentLoader:T,serverSyncInfos:v,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k});O=new me.mainThreadMediaSourceInit({adaptiveOptions:Bt,autoPlay:t,bufferOptions:Ue,cmcd:r,keySystems:s,lowLatencyMode:d,transport:Jm,manifestRequestSettings:Y,segmentRequestOptions:Tt,speed:this._priv_speed,startAt:f,textTrackOptions:$e,url:A})}else{if(me.multithread===null)throw new Error("Cannot load video in multithread mode: `MULTI_THREAD` feature not imported.");if(this._priv_worker===null)throw new Error("Cannot load video in multithread mode: `attachWorker` method not called.");te(typeof e.representationFilter!="function"),N=!0,m.info("API: Initializing MediaSource mode in a WebWorker");let Oe={lowLatencyMode:d,checkMediaSegmentIntegrity:p,checkManifestIntegrity:y,referenceDateTime:b,serverSyncInfos:v,manifestLoader:void 0,segmentLoader:void 0,representationFilter:e.representationFilter,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k};O=new me.multithread.init({adaptiveOptions:Bt,autoPlay:t,bufferOptions:Ue,cmcd:r,keySystems:s,lowLatencyMode:d,transportOptions:Oe,manifestRequestSettings:Y,segmentRequestOptions:Tt,speed:this._priv_speed,startAt:f,textTrackOptions:$e,worker:this._priv_worker,url:A})}}let P={contentId:db(),originalUrl:A,currentContentCanceller:x,defaultAudioTrackSwitchingMode:i,initializer:O,isDirectFile:M,manifest:null,currentPeriod:null,activeAdaptations:null,activeRepresentations:null,tracksStore:null,mediaElementTracksStore:C,useWorker:N};O.addEventListener("error",Y=>{this._priv_onFatalError(Y,P)}),O.addEventListener("warning",Y=>{let ce=we(Y,{defaultCode:"NONE",defaultReason:"An unknown error happened."});m.warn("API: Sending warning:",ce),this.trigger("warning",ce)}),O.addEventListener("reloadingMediaSource",Y=>{P.tracksStore!==null&&P.tracksStore.resetPeriodObjects(),this._priv_segmentSinkMetricsCallback=null,this._priv_lastAutoPlay=Y.autoPlay}),O.addEventListener("inbandEvents",Y=>this.trigger("inbandEvents",Y)),O.addEventListener("streamEvent",Y=>this.trigger("streamEvent",Y)),O.addEventListener("streamEventSkip",Y=>this.trigger("streamEventSkip",Y)),O.addEventListener("activePeriodChanged",Y=>this._priv_onActivePeriodChanged(P,Y)),O.addEventListener("periodStreamReady",Y=>this._priv_onPeriodStreamReady(P,Y)),O.addEventListener("periodStreamCleared",Y=>this._priv_onPeriodStreamCleared(P,Y)),O.addEventListener("representationChange",Y=>this._priv_onRepresentationChange(P,Y)),O.addEventListener("adaptationChange",Y=>this._priv_onAdaptationChange(P,Y)),O.addEventListener("bitrateEstimateChange",Y=>this._priv_onBitrateEstimateChange(Y)),O.addEventListener("manifestReady",Y=>this._priv_onManifestReady(P,Y)),O.addEventListener("manifestUpdate",Y=>this._priv_onManifestUpdate(P,Y)),O.addEventListener("codecSupportUpdate",()=>this._priv_onCodecSupportUpdate(P)),O.addEventListener("decipherabilityUpdate",Y=>this._priv_onDecipherabilityUpdate(P,Y)),O.addEventListener("loaded",Y=>{this._priv_segmentSinkMetricsCallback=Y.getSegmentSinkMetrics}),O.prepare(),this.stop();let D=new oo(L,{withMediaSource:!M,lowLatencyMode:d});x.signal.register(()=>{D.stop()});let F=Qm(O,L,D,x.signal);x.signal.register(()=>{O.dispose()});let V=Y=>{switch(Y){case"STOPPED":case"RELOADING":case"LOADING":break;case"ENDED":this._priv_reloadingMetadata.reloadInPause=!0,this._priv_reloadingMetadata.reloadPosition=D.getReference().getValue().position.getPolled();break;default:let ce=D.getReference().getValue();this._priv_reloadingMetadata.reloadInPause=ce.paused,this._priv_reloadingMetadata.reloadPosition=ce.position.getWanted();break}},$=null,q=Y=>{$!==null&&($.cancel(),$=null),F.onUpdate((ce,Ie)=>{ir(ce)&&(Ie(),$!==null&&$.cancel(),$=new B,$.linkToSignal(x.signal),Y!==!L.paused&&(L.paused?this.trigger("pause",null):this.trigger("play",null)),$m(L,()=>this.trigger("play",null),()=>this.trigger("pause",null),x.signal))},{emitCurrentValue:!1,clearSignal:x.signal})};q(t),O.addEventListener("reloadingMediaSource",Y=>{q(Y.autoPlay)}),this._priv_currentError=null,this._priv_contentInfos=P;let W=null;F.onUpdate(Y=>{V(Y),this._priv_setPlayerState(Y),!x.isUsed()&&(W!==null?ir(this.state)||(W.cancel(),W=null):ir(this.state)&&(W=new B,W.linkToSignal(x.signal),Ym(L,D,()=>this.trigger("seeking",null),()=>this.trigger("seeked",null),W.signal)))},{emitCurrentValue:!0,clearSignal:x.signal}),D.listen(Y=>{V(this.state),this._priv_triggerPositionUpdate(P,Y)},{clearSignal:x.signal}),x.signal.register(()=>{O.removeEventListener()}),this._priv_contentLock.onUpdate((Y,ce)=>{Y||(ce(),O.start(L,D))},{emitCurrentValue:!0,clearSignal:x.signal})}getError(){return this._priv_currentError}getVideoElement(){return this.videoElement}getPlayerState(){return this.state}isContentLoaded(){return!Q(["LOADING","RELOADING","STOPPED"],this.state)}isBuffering(){return Q(["BUFFERING","SEEKING","LOADING","RELOADING"],this.state)}isPaused(){return this.videoElement?Q(["LOADING","RELOADING"],this.state)?!this._priv_lastAutoPlay:this.videoElement.paused:!0}isLive(){if(this._priv_contentInfos===null)return!1;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;return e||t===null?!1:t.isLive}areTrickModeTracksEnabled(){return this._priv_preferTrickModeTracks}getContentUrls(){if(this._priv_contentInfos===null)return;let{isDirectFile:e,manifest:t,originalUrl:r}=this._priv_contentInfos;if(e)return r===void 0?void 0:[r];if(t!==null)return t.uris}updateContentUrls(e,t){if(this._priv_contentInfos===null)throw new Error("No content loaded");let r=(t==null?void 0:t.refresh)===!0;this._priv_contentInfos.initializer.updateContentUrls(e,r)}getMediaDuration(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.duration}getCurrentBufferGap(){if(this.videoElement===null)throw new Error("Disposed player");let e=this.videoElement,t=Vl(e.buffered,e.currentTime);return t===1/0?0:t}getWallClockTime(){var r;if(this.videoElement===null)throw new Error("Disposed player");if(this._priv_contentInfos===null)return this.videoElement.currentTime;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(e){let i=io(this.videoElement);return(i!=null?i:0)+this.videoElement.currentTime}if(t!==null){let i=this.videoElement.currentTime,o=(r=t.availabilityStartTime)!=null?r:0;return i+o}return 0}getPosition(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.currentTime}getLastStoredContentPosition(){return this._priv_reloadingMetadata.reloadPosition}getPlaybackRate(){return this._priv_speed.getValue()}setPlaybackRate(e,t){var o;e!==this._priv_speed.getValue()&&this._priv_speed.setValue(e);let r=t==null?void 0:t.preferTrickModeTracks;if(typeof r!="boolean")return;this._priv_preferTrickModeTracks=r;let i=(o=this._priv_contentInfos)==null?void 0:o.tracksStore;_(i)||(r&&!i.isTrickModeEnabled()?i.enableVideoTrickModeTracks():!r&&i.isTrickModeEnabled()&&i.disableVideoTrickModeTracks())}getVideoRepresentation(){let e=this.__priv_getCurrentRepresentations();if(e!==null)return e.video}getAudioRepresentation(){let e=this.__priv_getCurrentRepresentations();if(e!==null)return e.audio}play(){if(this.videoElement===null)throw new Error("Disposed player");let e=this.videoElement.play();return _(e)||typeof e.catch!="function"?Promise.resolve():e.catch(t=>{if(t.name==="NotAllowedError"){let r=new J("MEDIA_ERR_PLAY_NOT_ALLOWED",t.toString());this.trigger("warning",r)}throw t})}pause(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.pause()}seekTo(e){var o;if(this.videoElement===null)throw new Error("Disposed player");if(this._priv_contentInfos===null)throw new Error("player: no content loaded");let{isDirectFile:t,manifest:r}=this._priv_contentInfos;if(!t&&r===null)throw new Error("player: the content did not load yet");let i;if(typeof e=="number")i=e;else if(typeof e=="object"){let a=e,s=this.videoElement.currentTime;if(!_(a.relative))i=s+a.relative;else if(!_(a.position))i=a.position;else{if(_(a.wallClockTime))throw new Error('invalid time object. You must set one of the following properties: "relative", "position" or "wallClockTime"');if(r!==null)i=a.wallClockTime-((o=r.availabilityStartTime)!=null?o:0);else if(t&&this.videoElement!==null){let d=io(this.videoElement);d!==void 0&&(i=a.wallClockTime-d)}i===void 0&&(i=a.wallClockTime)}}if(i===void 0)throw new Error("invalid time given");return m.info("API: API Seek to",i),this.videoElement.currentTime=i,i}getVolume(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.volume}setVolume(e){if(this.videoElement===null)throw new Error("Disposed player");let t=this.videoElement;e!==t.volume&&(t.volume=e)}isMute(){var e;return((e=this.videoElement)==null?void 0:e.muted)===!0}mute(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.muted||(this.videoElement.muted=!0)}unMute(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.muted&&(this.videoElement.muted=!1)}setMaxBufferBehind(e){this._priv_bufferOptions.maxBufferBehind.setValue(e)}setMaxBufferAhead(e){this._priv_bufferOptions.maxBufferAhead.setValue(e)}setWantedBufferAhead(e){this._priv_bufferOptions.wantedBufferAhead.setValue(e)}setMaxVideoBufferSize(e){this._priv_bufferOptions.maxVideoBufferSize.setValue(e)}getMaxBufferBehind(){return this._priv_bufferOptions.maxBufferBehind.getValue()}getMaxBufferAhead(){return this._priv_bufferOptions.maxBufferAhead.getValue()}getWantedBufferAhead(){return this._priv_bufferOptions.wantedBufferAhead.getValue()}getMaxVideoBufferSize(){return this._priv_bufferOptions.maxVideoBufferSize.getValue()}getCurrentPeriod(){var t;let e=(t=this._priv_contentInfos)==null?void 0:t.currentPeriod;return _(e)?null:{id:e.id,start:e.start,end:e.end}}getKeySystemConfiguration(){if(this.videoElement===null)throw new Error("Disposed player");let e=Kn(this.videoElement);return e===null?null:{keySystem:e[0],configuration:e[1]}}getAvailablePeriods(){if(this._priv_contentInfos===null)return[];let{isDirectFile:e,tracksStore:t}=this._priv_contentInfos;return e?[]:t===null?[]:t.getAvailablePeriods().slice()}getAvailableAudioTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableAudioTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableAudioTracks(a))!=null?s:[]})}getAvailableTextTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableTextTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableTextTracks(a))!=null?s:[]})}getAvailableVideoTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableVideoTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableVideoTracks(a))!=null?s:[]})}getAudioTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenAudioTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenAudioTrack(o))}getTextTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenTextTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenTextTrack(o))}getVideoTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenVideoTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenVideoTrack(o))}setAudioTrack(e){var u;if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let c=typeof e=="string"?e:e.trackId;r==null||r.setAudioTrackById(c);return}catch(c){throw new Error("player: unknown audio track")}let i,o,a,s=null,d;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId,a=e.switchingMode,s=(u=e.lockedRepresentations)!=null?u:null,d=e.relativeResumingPosition),this._priv_callTracksStoreGetterSetter(i,void 0,(c,l)=>c.setAudioTrack({periodRef:l,trackId:o,switchingMode:a,lockedRepresentations:s,relativeResumingPosition:d}))}setTextTrack(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let a=typeof e=="string"?e:e.trackId;r==null||r.setTextTrackById(a);return}catch(a){throw new Error("player: unknown text track")}let i,o;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.setTextTrack(s,o))}disableTextTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t){r==null||r.disableTextTrack();return}return this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.disableTrack(o,"text"))}setVideoTrack(e){var u;if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let c=typeof e=="string"?e:e.trackId;r==null||r.setVideoTrackById(c);return}catch(c){throw new Error("player: unknown video track")}let i,o,a,s=null,d;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId,a=e.switchingMode,s=(u=e.lockedRepresentations)!=null?u:null,d=e.relativeResumingPosition),this._priv_callTracksStoreGetterSetter(i,void 0,(c,l)=>c.setVideoTrack({periodRef:l,trackId:o,switchingMode:a,lockedRepresentations:s,relativeResumingPosition:d}))}disableVideoTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t&&r!==null?r.disableVideoTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.disableTrack(o,"video"))}lockVideoRepresentations(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t}=this._priv_contentInfos;if(t)throw new Error("Cannot lock video Representations in directfile mode.");let r,i,o;return Array.isArray(e)?(r=e,i=void 0):(r=e.representations,i=e.periodId,o=e.switchingMode),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.lockVideoRepresentations(s,{representations:r,switchingMode:o}))}lockAudioRepresentations(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t}=this._priv_contentInfos;if(t)throw new Error("Cannot lock audio Representations in directfile mode.");let r,i,o;return Array.isArray(e)?(r=e,i=void 0):(r=e.representations,i=e.periodId,o=e.switchingMode),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.lockAudioRepresentations(s,{representations:r,switchingMode:o}))}getLockedVideoRepresentations(e){if(this._priv_contentInfos===null)return null;let{isDirectFile:t}=this._priv_contentInfos;return t?null:this._priv_callTracksStoreGetterSetter(e,null,(r,i)=>r.getLockedVideoRepresentations(i))}getLockedAudioRepresentations(e){if(this._priv_contentInfos===null)return null;let{isDirectFile:t}=this._priv_contentInfos;return t?null:this._priv_callTracksStoreGetterSetter(e,null,(r,i)=>r.getLockedAudioRepresentations(i))}unlockVideoRepresentations(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t}=this._priv_contentInfos;if(!t)return this._priv_callTracksStoreGetterSetter(e,void 0,(r,i)=>r.unlockVideoRepresentations(i))}unlockAudioRepresentations(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t}=this._priv_contentInfos;if(!t)return this._priv_callTracksStoreGetterSetter(e,void 0,(r,i)=>r.unlockAudioRepresentations(i))}getMinimumPosition(){if(this._priv_contentInfos===null)return null;if(this._priv_contentInfos.isDirectFile)return 0;let{manifest:e}=this._priv_contentInfos;return e!==null?hn(e):null}getLivePosition(){if(this._priv_contentInfos===null)return null;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(!e)return(t==null?void 0:t.isLive)!==!0?null:yn(t)}getMaximumPosition(){if(this._priv_contentInfos===null)return null;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(e){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.duration}return t!==null?!t.isDynamic&&this.videoElement!==null?this.videoElement.duration:bt(t):null}async __priv_getSegmentSinkMetrics(){if(this._priv_segmentSinkMetricsCallback!==null)return this._priv_segmentSinkMetricsCallback()}__priv_getManifest(){return this._priv_contentInfos===null?null:this._priv_contentInfos.manifest}__priv_getCurrentAdaptation(){if(this._priv_contentInfos===null)return null;let{currentPeriod:e,activeAdaptations:t}=this._priv_contentInfos;return e===null||t===null||_(t[e.id])?null:t[e.id]}__priv_getCurrentRepresentations(){if(this._priv_contentInfos===null)return null;let{currentPeriod:e,activeRepresentations:t}=this._priv_contentInfos;return e===null||t===null||_(t[e.id])?null:t[e.id]}_priv_cleanUpCurrentContentState(){var t,r,i,o;m.debug("Locking `contentLock` to clean-up the current content."),this._priv_contentLock.setValue(!0),(r=(t=this._priv_contentInfos)==null?void 0:t.tracksStore)==null||r.dispose(),(o=(i=this._priv_contentInfos)==null?void 0:i.mediaElementTracksStore)==null||o.dispose(),this._priv_contentInfos=null,this._priv_segmentSinkMetricsCallback=null,this._priv_contentEventsMemory={};let e=()=>{this.videoElement!==null&&(m.debug("Unlocking `contentLock`. Next content can begin."),this._priv_contentLock.setValue(!1))};_(this.videoElement)?e():bo(this.videoElement).then(()=>{m.debug("API: DRM session cleaned-up with success!"),e()},a=>{m.error("API: An error arised when trying to clean-up the DRM session:"+(a instanceof Error?a.toString():"Unknown Error")),e()})}_priv_onManifestReady(e,t){var i;if(e.contentId!==((i=this._priv_contentInfos)==null?void 0:i.contentId))return;e.manifest=t,t.manifestFormat===0&&(this._priv_reloadingMetadata.manifest=t);let r=new Wm({preferTrickModeTracks:this._priv_preferTrickModeTracks,defaultAudioTrackSwitchingMode:e.defaultAudioTrackSwitchingMode});e.tracksStore=r,r.addEventListener("newAvailablePeriods",o=>{this.trigger("newAvailablePeriods",o)}),r.addEventListener("brokenRepresentationsLock",o=>{this.trigger("brokenRepresentationsLock",o)}),r.addEventListener("trackUpdate",o=>{var s,d;this.trigger("trackUpdate",o);let a=(d=(s=this._priv_contentInfos)==null?void 0:s.currentPeriod)!=null?d:void 0;o.reason==="no-playable-representation"&&o.period.id===(a==null?void 0:a.id)&&this._priv_onAvailableTracksMayHaveChanged(o.trackType)}),e.tracksStore.addEventListener("warning",o=>{this.trigger("warning",o)}),e.tracksStore.addEventListener("error",o=>{this._priv_onFatalError(o,e)}),e.tracksStore.onManifestUpdate(t)}_priv_onManifestUpdate(e,t){var o,a,s;if(this._priv_contentInfos===null||this._priv_contentInfos.manifest===null)return;_(e==null?void 0:e.tracksStore)||e.tracksStore.onManifestUpdate(this._priv_contentInfos.manifest);let r=(a=(o=this._priv_contentInfos)==null?void 0:o.currentPeriod)!=null?a:void 0,i=(s=this._priv_contentInfos)==null?void 0:s.tracksStore;if(!(r===void 0||_(i))){for(let d of t.updatedPeriods)if(d.period.id===r.id&&(d.result.addedAdaptations.length>0||d.result.removedAdaptations.length>0)){if(i.getPeriodObjectFromPeriod(r)===void 0)return;this._priv_onAvailableTracksMayHaveChanged("audio"),this._priv_onAvailableTracksMayHaveChanged("text"),this._priv_onAvailableTracksMayHaveChanged("video")}}}_priv_onCodecSupportUpdate(e){let t=e==null?void 0:e.tracksStore;_(t)||t.onManifestCodecSupportUpdate()}_priv_onDecipherabilityUpdate(e,t){if(e===null||e.manifest===null)return;_(e==null?void 0:e.tracksStore)||e.tracksStore.onDecipherabilityUpdates();let r=t.reduce((i,o)=>{var s,d,u;if(!(X(i,c=>c[0].id===o.period.id&&c[1]===o.adaptation.type)!==void 0)){let c=e.tracksStore;if(c===null)return i;let l=!1,f=c.getPeriodObjectFromPeriod(o.period);if(f===void 0)return i;switch(o.adaptation.type){case"audio":l=((s=c.getChosenAudioTrack(f))==null?void 0:s.id)===o.adaptation.id;break;case"video":l=((d=c.getChosenVideoTrack(f))==null?void 0:d.id)===o.adaptation.id;break;case"text":l=((u=c.getChosenTextTrack(f))==null?void 0:u.id)===o.adaptation.id;break}l&&i.push([o.period,o.adaptation.type])}return i},[]);for(let[i,o]of r)this._priv_triggerEventIfNotStopped("representationListUpdate",{period:{start:i.start,end:i.end,id:i.id},trackType:o,reason:"decipherability-update"},e.currentContentCanceller.signal)}_priv_onActivePeriodChanged(e,{period:t}){var s,d,u,c,l,f;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;e.currentPeriod=t;let r=e.currentContentCanceller.signal;this._priv_contentEventsMemory.periodChange!==t&&(this._priv_contentEventsMemory.periodChange=t,this._priv_triggerEventIfNotStopped("periodChange",{start:t.start,end:t.end,id:t.id},r)),this._priv_triggerEventIfNotStopped("availableAudioTracksChange",this.getAvailableAudioTracks(),r),this._priv_triggerEventIfNotStopped("availableTextTracksChange",this.getAvailableTextTracks(),r),this._priv_triggerEventIfNotStopped("availableVideoTracksChange",this.getAvailableVideoTracks(),r);let i=(d=this._priv_contentInfos)==null?void 0:d.tracksStore;if(_(i))this._priv_triggerEventIfNotStopped("audioTrackChange",null,r),this._priv_triggerEventIfNotStopped("textTrackChange",null,r),this._priv_triggerEventIfNotStopped("videoTrackChange",null,r);else{let g=i.getPeriodObjectFromPeriod(t);if(g){let p=i.getChosenAudioTrack(g);this._priv_triggerEventIfNotStopped("audioTrackChange",p,r);let y=i.getChosenTextTrack(g);this._priv_triggerEventIfNotStopped("textTrackChange",y,r);let h=i.getChosenVideoTrack(g);this._priv_triggerEventIfNotStopped("videoTrackChange",h,r)}}let o=(c=(u=this.__priv_getCurrentRepresentations())==null?void 0:u.audio)!=null?c:null;this._priv_triggerEventIfNotStopped("audioRepresentationChange",o,r);let a=(f=(l=this.__priv_getCurrentRepresentations())==null?void 0:l.video)!=null?f:null;this._priv_triggerEventIfNotStopped("videoRepresentationChange",a,r)}_priv_onPeriodStreamReady(e,t){var s;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;let{type:r,period:i,adaptationRef:o}=t,a=e.tracksStore;switch(r){case"video":case"audio":case"text":_(a)?(m.error(`API: TracksStore not instanciated for a new ${r} period`),o.setValue(null)):a.addTrackReference(r,i,o);break;default:Qe(r)}}_priv_onPeriodStreamCleared(e,t){var d;if(e.contentId!==((d=this._priv_contentInfos)==null?void 0:d.contentId))return;let{type:r,period:i}=t,o=e.tracksStore;switch(r){case"audio":case"text":case"video":_(o)||o.removeTrackReference(r,i);break}let{activeAdaptations:a,activeRepresentations:s}=e;if(!_(a)&&!_(a[i.id])){let u=a[i.id];delete u[r],Object.keys(u).length===0&&delete a[i.id]}if(!_(s)&&!_(s[i.id])){let u=s[i.id];delete u[r],Object.keys(u).length===0&&delete s[i.id]}}_priv_onAdaptationChange(e,{type:t,adaptation:r,period:i}){var c;if(e.contentId!==((c=this._priv_contentInfos)==null?void 0:c.contentId))return;e.activeAdaptations===null&&(e.activeAdaptations={});let{activeAdaptations:o,currentPeriod:a}=e,s=o[i.id];_(s)?o[i.id]={[t]:r}:s[t]=r;let{tracksStore:d}=e,u=e.currentContentCanceller.signal;if(d!==null&&a!==null&&!_(i)&&i.id===a.id){let l=d.getPeriodObjectFromPeriod(i);if(l===void 0)return;switch(t){case"audio":let f=d.getChosenAudioTrack(l);this._priv_triggerEventIfNotStopped("audioTrackChange",f,u);break;case"text":let g=d.getChosenTextTrack(l);this._priv_triggerEventIfNotStopped("textTrackChange",g,u);break;case"video":let p=d.getChosenVideoTrack(l);this._priv_triggerEventIfNotStopped("videoTrackChange",p,u);break}}}_priv_onRepresentationChange(e,{type:t,period:r,representation:i}){var d;if(e.contentId!==((d=this._priv_contentInfos)==null?void 0:d.contentId))return;e.activeRepresentations===null&&(e.activeRepresentations={});let{activeRepresentations:o,currentPeriod:a}=e,s=o[r.id];if(_(s)?o[r.id]={[t]:i}:s[t]=i,!_(r)&&a!==null&&a.id===r.id){let u=this._priv_contentInfos.currentContentCanceller.signal;t==="video"?this._priv_triggerEventIfNotStopped("videoRepresentationChange",i,u):t==="audio"&&this._priv_triggerEventIfNotStopped("audioRepresentationChange",i,u)}}_priv_onBitrateEstimateChange({type:e,bitrate:t}){t!==void 0&&(this._priv_bitrateInfos.lastBitrates[e]=t),this.trigger("__priv_bitrateEstimateChange",{type:e,bitrate:t})}_priv_setPlayerState(e){this.state!==e&&(this.state=e,m.info("API: playerStateChange event",e),this.trigger("playerStateChange",e))}_priv_triggerPositionUpdate(e,t){var s,d;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;let{isDirectFile:r,manifest:i}=e;if(!r&&i===null||_(t))return;let o=i!==null?bt(i):void 0,a={position:t.position.getPolled(),duration:t.duration,playbackRate:t.playbackRate,maximumPosition:o,bufferGap:t.bufferGap===void 0||!isFinite(t.bufferGap)?0:t.bufferGap};if(i!==null&&i.isLive&&t.position.getPolled()>0){let u=(d=i.availabilityStartTime)!=null?d:0;a.wallClockTime=t.position.getPolled()+u;let c=yn(i);c!==void 0&&(a.liveGap=c-t.position.getPolled())}else if(r&&this.videoElement!==null){let u=io(this.videoElement);u!==void 0&&(a.wallClockTime=u+t.position.getPolled())}this.trigger("positionUpdate",a)}_priv_triggerEventIfNotStopped(e,t,r){r.isCancelled()||this.trigger(e,t)}_priv_initializeMediaElementTracksStore(e){var r,i,o;te(me.directfile!==null,"Initializing `MediaElementTracksStore` without Directfile feature"),te(this.videoElement!==null,"Initializing `MediaElementTracksStore` on a disposed RxPlayer");let t=new me.directfile.mediaElementTracksStore(this.videoElement);return this._priv_triggerEventIfNotStopped("availableAudioTracksChange",t.getAvailableAudioTracks(),e),this._priv_triggerEventIfNotStopped("availableVideoTracksChange",t.getAvailableVideoTracks(),e),this._priv_triggerEventIfNotStopped("availableTextTracksChange",t.getAvailableTextTracks(),e),this._priv_triggerEventIfNotStopped("audioTrackChange",(r=t.getChosenAudioTrack())!=null?r:null,e),this._priv_triggerEventIfNotStopped("textTrackChange",(i=t.getChosenTextTrack())!=null?i:null,e),this._priv_triggerEventIfNotStopped("videoTrackChange",(o=t.getChosenVideoTrack())!=null?o:null,e),t.addEventListener("availableVideoTracksChange",a=>this.trigger("availableVideoTracksChange",a)),t.addEventListener("availableAudioTracksChange",a=>this.trigger("availableAudioTracksChange",a)),t.addEventListener("availableTextTracksChange",a=>this.trigger("availableTextTracksChange",a)),t.addEventListener("audioTrackChange",a=>this.trigger("audioTrackChange",a)),t.addEventListener("videoTrackChange",a=>this.trigger("videoTrackChange",a)),t.addEventListener("textTrackChange",a=>this.trigger("textTrackChange",a)),t}_priv_callTracksStoreGetterSetter(e,t,r){var d,u;if(this._priv_contentInfos===null||this._priv_contentInfos.tracksStore===null)return m.warn("API: Trying to call track API too soon"),t;let{tracksStore:i}=this._priv_contentInfos,o=(u=(d=this._priv_contentInfos)==null?void 0:d.currentPeriod)!=null?u:void 0,a=e!=null?e:o==null?void 0:o.id;if(a===void 0)return t;let s=a===(o==null?void 0:o.id)?i.getPeriodObjectFromPeriod(o):i.getPeriodObjectFromId(a);return s===void 0?t:r(i,s)}_priv_onAvailableTracksMayHaveChanged(e,t){let r=this._priv_contentInfos;if(r===null)return;let{currentPeriod:i,tracksStore:o,currentContentCanceller:a}=r,s=a.signal;if(_(i)||o===null)return;let d=t!=null?t:o.getPeriodObjectFromPeriod(i);if(d!==void 0)switch(e){case"video":let u=o.getAvailableVideoTracks(d);this._priv_triggerEventIfNotStopped("availableVideoTracksChange",u!=null?u:[],s);break;case"audio":let c=o.getAvailableAudioTracks(d);this._priv_triggerEventIfNotStopped("availableAudioTracksChange",c!=null?c:[],s);break;case"text":let l=o.getAvailableTextTracks(d);this._priv_triggerEventIfNotStopped("availableTextTracksChange",l!=null?l:[],s);break;default:Qe(e)}}_priv_onFatalError(e,t){let r=we(e,{defaultCode:"NONE",defaultReason:"An unknown error stopped content playback."});r.fatal=!0,t.currentContentCanceller.cancel(),this._priv_cleanUpCurrentContentState(),this._priv_currentError=r,m.error("API: The player stopped because of an error",r),this._priv_setPlayerState("STOPPED"),this._priv_currentError===r&&this.trigger("error",r)}};Ut._priv_currentlyUsedVideoElements=new WeakSet;var xa=Ut;xa.version="4.2.0-dev.2024080900";var Xm=xa;var Pl=Xm;wa();Pl.addFeatures([Tl,au,cu,fu,dl,rl,fl,ol,Vu,yu,Ju,Su]);xn()?m.setLevel("DEBUG","standard"):I.CURRENT_ENV===I.DEV&&m.setLevel(S.CURRENT_LEVEL,"standard");var xoe=Pl;})();
16
+ ${e}`),this._observationRef.setValue(t)}};function zm(n,e){if(n===null)return 0;let t=e?"LOW_LATENCY":"DEFAULT",{RESUME_GAP_AFTER_SEEKING:r,RESUME_GAP_AFTER_NOT_ENOUGH_DATA:i,RESUME_GAP_AFTER_BUFFERING:o}=U.getCurrent();switch(n.reason){case"seeking":return r[t];case"not-ready":return i[t];case"buffering":return o[t]}}function nb(n,e,t,r,i){let{REBUFFERING_GAP:o}=U.getCurrent(),a=i?"LOW_LATENCY":"DEFAULT";return e===void 0?t&&Math.abs(r-n)<=o[a]:e!==null&&r-e.end<=o[a]}function Hm(n){let{buffered:e,currentTime:t,duration:r,ended:i,paused:o,playbackRate:a,readyState:s,seeking:d}=n;return{buffered:e,position:t,duration:r,ended:i,paused:o,playbackRate:a,readyState:s,seeking:d}}function rb({previousObservation:n,currentObservation:e,basePosition:t,observationEvent:r,withMediaSource:i,lowLatencyMode:o,bufferGap:a,currentRange:s}){let{REBUFFERING_GAP:d}=U.getCurrent(),{position:u,duration:c,paused:l,readyState:f,ended:g}=e,{rebuffering:p,event:h,position:y}=n,b=nb(t,s,g,c,o),T=f>=1&&r!=="loadedmetadata"&&p===null&&!(b||g),v=null,E,R,k=o?d.LOW_LATENCY:d.DEFAULT;if(i){if(T)a===1/0?(E=!0,v=t):a===void 0?f<3&&(E=!0,v=void 0):a<=k&&(E=!0,v=t+a);else if(p!==null){let A=zm(p,o);E!==!0&&p!==null&&f>1&&(b||g||a!==void 0&&isFinite(a)&&a>A)||a===void 0&&f>=3?R=!0:a===void 0?v=void 0:a===1/0?v=t:a<=A&&(v=t+a)}}else T&&(!l&&r==="timeupdate"&&h==="timeupdate"&&u===y.getPolled()||r==="seeking"&&(a===1/0||a===void 0&&f<3))?E=!0:p!==null&&(r!=="seeking"&&u!==y.getPolled()||r==="canplay"||a===void 0&&f>=3||a!==void 0&&a<1/0&&(a>zm(p,o)||b||g))&&(R=!0);if(R===!0)return null;if(E===!0||p!==null){let A;return r==="seeking"||p!==null&&p.reason==="seeking"||e.seeking?A="seeking":f===1?A="not-ready":A="buffering",p!==null&&p.reason===A?{reason:p.reason,timestamp:p.timestamp,position:v}:{reason:A,timestamp:K(),position:v}}return null}function ib(n,e,t,r){let{MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:i}=U.getCurrent();return n.freezing?e.ended||e.paused||e.readyState===0||e.playbackRate===0||n.position.getPolled()!==e.position?null:n.freezing:t==="timeupdate"&&r!==void 0&&r>i&&!e.ended&&!e.paused&&e.readyState>=1&&e.playbackRate!==0&&e.position===n.position.getPolled()?{timestamp:K()}:null}function ob(n,e){let t="",r="";for(let i=0;i<n.length;i++){let o=n.start(i),a=n.end(i),s=o.toFixed(2),d=a.toFixed(2),u=(a-o).toFixed(2),c=`${s}|==${u}==|${d}`;if(t+=c,r.length===0&&a>e){let l=t.length-Math.floor(c.length/2);r=" ".repeat(l)+`^${e}`}if(i<n.length-1){let l=n.start(i+1),g=` ~${(l-a).toFixed(2)}~ `;if(t+=g,r.length===0&&e<l){let p=t.length-Math.floor(g.length/2);r=" ".repeat(p)+`^${e}`}}}return r.length===0&&(r=" ".repeat(t.length)+`^${e}`),t+`
17
+ `+r}function ab(n){let e=Hm(n);return j(e,{rebuffering:null,event:"init",seeking:0,position:new jn(e.position,null),freezing:null,bufferGap:0,currentRange:null})}var ao=class extends oe{constructor(e){super(),this._canceller=new B,this._adaptationRef=e,this._updateToken=!1,this._lastEmitted=void 0,this.refresh=Z}hasSetTrack(){return this._adaptationRef.getValue()!==void 0}updateTrack(e){if(this._updateToken=!0,e===null){if(this._lastEmitted===null)return;this._updateToken=!1,this._canceller.cancel(),this._canceller=new B,this._lastEmitted=null,this._adaptationRef.setValue(null);return}let{adaptation:t,switchingMode:r,relativeResumingPosition:i}=e;this._canceller.cancel(),this._canceller=new B;let o=this._constructLockedRepresentationsReference(e);this._updateToken&&(this._lastEmitted={adaptation:t,switchingMode:r,lockedRepresentations:null},this._updateToken=!1,this._adaptationRef.setValue({adaptationId:t.id,switchingMode:r,representations:o,relativeResumingPosition:i}))}_constructLockedRepresentationsReference(e){let t=new G({representationIds:[],switchingMode:"lazy"}),r=this;return this.refresh=i,this._canceller.signal.register(o),e.lockedRepresentations.onUpdate(i,{clearSignal:this._canceller.signal,emitCurrentValue:!1}),i(),t;function i(){let a=e.lockedRepresentations.getValue(),s,d;if(a===null)d=e.adaptation.representations.filter(l=>l.isSupported===!0&&l.decipherable!==!1),s="lazy";else{let{representationIds:l}=a;if(s=a.switchingMode,d=e.adaptation.representations.filter(g=>Q(l,g.id)).filter(g=>g.isSupported===!0&&g.decipherable!==!1),d.length===0){r.trigger("noPlayableLockedRepresentation",null);return}}if(d.length<=0){r.trigger("noPlayableRepresentation",null);return}let u=t.getValue(),c=d.map(l=>l.id).slice().sort();if(c.length!==u.representationIds.length){t.setValue({representationIds:c,switchingMode:s});return}for(let l=0;l<c.length;l++)if(u.representationIds[l]!==c[l]){t.setValue({representationIds:c,switchingMode:s});return}}function o(){r.refresh=Z}}dispose(){this.removeEventListener(),this._canceller.cancel(),this._adaptationRef.finish()}};var so=class extends oe{constructor(e){var t;super(),this._storedPeriodInfo=[],this._isDisposed=!1,this._cachedPeriodInfo=new WeakMap,this._isTrickModeTrackEnabled=e.preferTrickModeTracks,this._defaultAudioTrackSwitchingMode=(t=e.defaultAudioTrackSwitchingMode)!=null?t:U.getCurrent().DEFAULT_AUDIO_TRACK_SWITCHING_MODE}getAvailablePeriods(){return this._storedPeriodInfo.reduce((e,t)=>(t.isPeriodAdvertised&&e.push(Nt(t.period)),e),[])}onManifestCodecSupportUpdate(){this._selectInitialTrackIfNeeded()}onManifestUpdate(e){var a,s,d,u,c,l;let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:t}=U.getCurrent(),{periods:r}=e;if(I.CURRENT_ENV===I.DEV)for(let f=1;f<r.length;f++)te(r[f-1].start<=r[f].start);let i=[],o=0;for(let f=0;f<this._storedPeriodInfo.length;f++){let g=this._storedPeriodInfo[f].period,p=r[o];if(p===void 0)for(let h=this._storedPeriodInfo.length-1;h>=f;h--)this._storedPeriodInfo[h].inManifest=!1,Rl(this._storedPeriodInfo[h])&&this._removePeriodObject(h);else if(g===p){o++;let h=this._storedPeriodInfo[f].text.storedSettings;if(!_(h)&&!mt(p,"text").some(E=>E.id===h.adaptation.id)){m.warn("TS: Chosen text Adaptation not available anymore");let E=this._storedPeriodInfo[f];if(E.text.storedSettings=null,this.trigger("trackUpdate",{period:Nt(p),trackType:"text",reason:"missing"}),this._isDisposed)return;let R=ut(this._storedPeriodInfo,E.period.id);R!==void 0&&R.isPeriodAdvertised&&R.text.storedSettings===null&&((a=R.text.dispatcher)==null||a.updateTrack(null))}let y=this._storedPeriodInfo[f].video.storedSettings;if(!_(y)){let T=mt(p,"video");if(!T.some(E=>E.id===y.adaptation.id)){m.warn("TS: Chosen video Adaptation not available anymore");let E=this._storedPeriodInfo[f],R;if(T.length===0)R=null;else{let A=T[0],M=Aa(A,this._isTrickModeTrackEnabled),x=new G(null);R={adaptationBase:A,adaptation:M,switchingMode:t,lockedRepresentations:x}}if(E.video.storedSettings=R,this.trigger("trackUpdate",{period:Nt(p),trackType:"video",reason:"missing"}),this._isDisposed)return;let k=ut(this._storedPeriodInfo,E.period.id);k!==void 0&&k.isPeriodAdvertised&&k.video.storedSettings===R&&((s=k.video.dispatcher)==null||s.updateTrack(R))}}let b=this._storedPeriodInfo[f].audio.storedSettings;if(!_(b)){let T=mt(p,"audio");if(!T.some(E=>E.id===b.adaptation.id)){m.warn("TS: Chosen audio Adaptation not available anymore");let E=this._storedPeriodInfo[f],R=T.length===0?null:{adaptation:T[0],switchingMode:this._defaultAudioTrackSwitchingMode,lockedRepresentations:new G(null)};if(E.audio.storedSettings=R,this.trigger("trackUpdate",{period:Nt(p),trackType:"audio",reason:"missing"}),this._isDisposed)return;let k=ut(this._storedPeriodInfo,E.period.id);k!==void 0&&k.isPeriodAdvertised&&k.audio.storedSettings===R&&((d=k.audio.dispatcher)==null||d.updateTrack(R))}}}else if(g.start<=p.start)this._storedPeriodInfo[f].inManifest=!1,Rl(this._storedPeriodInfo[f])&&(this._removePeriodObject(f),f--);else{let h=kl(p,!0);this._storedPeriodInfo.splice(f,0,h),i.push(h),o++}}if(o<r.length){let f=r.slice(o).map(g=>kl(g,!0));this._storedPeriodInfo.push(...f),i.push(...f)}for(let f of this._storedPeriodInfo)(u=f.audio.dispatcher)==null||u.refresh(),(c=f.video.dispatcher)==null||c.refresh(),(l=f.text.dispatcher)==null||l.refresh()}onDecipherabilityUpdates(){var e,t,r;for(let i of this._storedPeriodInfo)(e=i.audio.dispatcher)==null||e.refresh(),(t=i.video.dispatcher)==null||t.refresh(),(r=i.text.dispatcher)==null||r.refresh()}addTrackReference(e,t,r){let i=ut(this._storedPeriodInfo,t.id);if(i===void 0){i=kl(t,!1);let s=!1;for(let d=0;d<this._storedPeriodInfo.length;d++)this._storedPeriodInfo[d].period.start>t.start&&(this._storedPeriodInfo.splice(d,0,i),s=!0);s||this._storedPeriodInfo.push(i)}if(i[e].dispatcher!==null){m.error(`TS: Subject already added for ${e} and Period ${t.start}`);return}let o=new ao(r);if(i[e].dispatcher=o,o.addEventListener("noPlayableRepresentation",()=>{var l,f,g,p;let s=X((l=t.adaptations[e])!=null?l:[],h=>h.supportStatus.hasSupportedCodec===!1||h.supportStatus.isDecipherable===!1?!1:h.representations.filter(b=>b.isSupported===!0&&b.decipherable!==!1).length>0);if(s===void 0){let h=new J("NO_PLAYABLE_REPRESENTATION",`No ${e} Representation can be played`,{tracks:void 0});this.trigger("error",h),this.dispose();return}let d=(f=ut(this._storedPeriodInfo,t.id))==null?void 0:f[e];if(_(d))return;let u=e==="audio"?this._defaultAudioTrackSwitchingMode:"reload",c={adaptation:s,switchingMode:u,lockedRepresentations:new G(null)};d.storedSettings=c,this.trigger("trackUpdate",{period:Nt(t),trackType:e,reason:"no-playable-representation"}),!this._isDisposed&&(d=(g=ut(this._storedPeriodInfo,t.id))==null?void 0:g[e],!(_(d)||d.storedSettings!==c)&&((p=d.dispatcher)==null||p.updateTrack(c)))}),o.addEventListener("noPlayableLockedRepresentation",()=>{i!==void 0&&(this.unlockVideoRepresentations(i),this.trigger("brokenRepresentationsLock",{period:{id:t.id,start:t.start,end:t.end},trackType:e}))}),this._selectInitialTrackIfNeeded(),this._shouldAdvertisePeriod(i)&&(i.isPeriodAdvertised=!0,this.trigger("newAvailablePeriods",[{id:t.id,start:t.start,end:t.end}]),this._isDisposed))return;let a=["audio","video","text"];for(let s of a){let d=i[s];if(i.isPeriodAdvertised&&d.dispatcher!==null&&!d.dispatcher.hasSetTrack()&&d.storedSettings!==void 0&&d.dispatcher.updateTrack(d.storedSettings),this._isDisposed)return}}removeTrackReference(e,t){let r=sb(this._storedPeriodInfo,t);if(r===void 0){m.warn(`TS: ${e} not found for period`,t.start);return}let i=this._storedPeriodInfo[r],o=i[e];if((o==null?void 0:o.dispatcher)===null){m.warn(`TS: TrackDispatcher already removed for ${e} and Period ${t.start}`);return}o.dispatcher.dispose(),o.dispatcher=null,Rl(i)&&this._removePeriodObject(r)}getPeriodObjectFromPeriod(e){let t=ut(this._storedPeriodInfo,e.id);return t===void 0&&e!==void 0?this._cachedPeriodInfo.get(e):t}getPeriodObjectFromId(e){return ut(this._storedPeriodInfo,e)}disableVideoTrickModeTracks(){this._isTrickModeTrackEnabled&&(this._isTrickModeTrackEnabled=!1,this._resetVideoTrackChoices("trickmode-disabled"))}enableVideoTrickModeTracks(){this._isTrickModeTrackEnabled||(this._isTrickModeTrackEnabled=!0,this._resetVideoTrackChoices("trickmode-enabled"))}resetPeriodObjects(){var e,t,r;for(let i=this._storedPeriodInfo.length-1;i>=0;i--){let o=this._storedPeriodInfo[i];(e=o.audio.dispatcher)==null||e.dispose(),o.audio.dispatcher=null,(t=o.video.dispatcher)==null||t.dispose(),o.video.dispatcher=null,(r=o.text.dispatcher)==null||r.dispose(),o.text.dispatcher=null,o.inManifest||this._removePeriodObject(i)}}isTrickModeEnabled(){return this._isTrickModeTrackEnabled}setAudioTrack(e){let{periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}=e;return this._setAudioOrTextTrack({bufferType:"audio",periodRef:t,trackId:r,switchingMode:i!=null?i:this._defaultAudioTrackSwitchingMode,lockedRepresentations:o,relativeResumingPosition:a})}setTextTrack(e,t){return this._setAudioOrTextTrack({bufferType:"text",periodRef:e,trackId:t,switchingMode:"direct",lockedRepresentations:null,relativeResumingPosition:void 0})}_setAudioOrTextTrack({bufferType:e,periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}){var g,p;if(!t.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let s=t.period,d=X((g=s.adaptations[e])!=null?g:[],({id:h,supportStatus:y})=>y.hasSupportedCodec!==!1&&y.isDecipherable!==!1&&h===r);if(d===void 0)throw new Error(`Wanted ${e} track not found.`);let u=t[e],c;if(o===null)c=new G(null);else{let h=this._getRepresentationsToLock(d,o),y=e==="audio"?this._defaultAudioTrackSwitchingMode:"direct";c=new G({representationIds:h,switchingMode:y})}let l={adaptation:d,switchingMode:i,lockedRepresentations:c,relativeResumingPosition:a};if(u.storedSettings=l,this.trigger("trackUpdate",{period:Nt(s),trackType:e,reason:"manual"}),this._isDisposed)return;let f=ut(this._storedPeriodInfo,s.id);f!==void 0&&f[e].storedSettings===l&&((p=f[e].dispatcher)==null||p.updateTrack(l))}setVideoTrack(e){var h,y;let{periodRef:t,trackId:r,switchingMode:i,lockedRepresentations:o,relativeResumingPosition:a}=e;if(!t.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let s=t.period,d=X((h=s.adaptations.video)!=null?h:[],({id:b,supportStatus:T})=>T.isDecipherable!==!1&&T.hasSupportedCodec!==!1&&b===r);if(d===void 0)throw new Error("Wanted video track not found.");let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:u}=U.getCurrent(),c=t.video,l=Aa(d,this._isTrickModeTrackEnabled),f;if(o===null)f=new G(null);else{let b=this._getRepresentationsToLock(d,o),T=u;f=new G({representationIds:b,switchingMode:T})}let g={adaptationBase:d,switchingMode:i!=null?i:u,adaptation:l,relativeResumingPosition:a,lockedRepresentations:f};if(c.storedSettings=g,this.trigger("trackUpdate",{period:Nt(s),trackType:"video",reason:"manual"}),this._isDisposed)return;let p=ut(this._storedPeriodInfo,s.id);p!==void 0&&p.video.storedSettings===g&&((y=p.video.dispatcher)==null||y.updateTrack(g))}disableTrack(e,t){var o,a;if(!e.isPeriodAdvertised)throw new Error("Wanted Period not yet advertised.");let r=e[t];if(r.storedSettings===null||(t!=="text"&&((o=e[t].storedSettings)==null||o.lockedRepresentations.finish()),r.storedSettings=null,this.trigger("trackUpdate",{period:Nt(e.period),trackType:t,reason:"manual"}),this._isDisposed))return;let i=ut(this._storedPeriodInfo,e.period.id);i!==void 0&&i[t].storedSettings===null&&((a=i[t].dispatcher)==null||a.updateTrack(null))}getChosenAudioTrack(e){return _(e.audio.storedSettings)?null:Go(e.audio.storedSettings.adaptation,!0)}getChosenTextTrack(e){return _(e.text.storedSettings)?null:qo(e.text.storedSettings.adaptation)}getChosenVideoTrack(e){return _(e.video.storedSettings)?null:jo(e.video.storedSettings.adaptation,!0)}getAvailableAudioTracks(e){let t=e.audio.storedSettings,r=_(t)?null:t.adaptation.id;return mt(e.period,"audio").map(o=>{let a=r===null?!1:r===o.id;return j(Go(o,!0),{active:a})})}getAvailableTextTracks(e){let t=e.text.storedSettings,r=_(t)?null:t.adaptation.id;return mt(e.period,"text").map(o=>{let a=r===null?!1:r===o.id;return j(qo(o),{active:a})})}getAvailableVideoTracks(e){let t=e.video.storedSettings,r=_(t)?void 0:t.adaptation.id;return mt(e.period,"video").map(o=>{let a=r===null?!1:r===o.id,s=jo(o,!0),d=s.trickModeTracks!==void 0?s.trickModeTracks.map(c=>{let l=r===null?!1:r===c.id;return j(c,{active:l})}):[],u=j(s,{active:a});return d!==void 0&&(u.trickModeTracks=d),u})}getLockedAudioRepresentations(e){let{storedSettings:t}=e.audio;if(_(t))return null;let r=t.lockedRepresentations.getValue();return r===null?null:r.representationIds}getLockedVideoRepresentations(e){let{storedSettings:t}=e.video;if(_(t))return null;let r=t.lockedRepresentations.getValue();return r===null?null:r.representationIds}lockAudioRepresentations(e,t){var s;let{storedSettings:r}=e.audio;if(_(r))return;let{DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:i}=U.getCurrent(),o=this._getRepresentationsToLock(r.adaptation,t.representations),a=(s=t.switchingMode)!=null?s:i;r.lockedRepresentations.setValue({representationIds:o,switchingMode:a})}lockVideoRepresentations(e,t){var s;let{storedSettings:r}=e.video;if(_(r))return;let{DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:i}=U.getCurrent(),o=this._getRepresentationsToLock(r.adaptation,t.representations),a=(s=t.switchingMode)!=null?s:i;r.lockedRepresentations.setValue({representationIds:o,switchingMode:a})}unlockAudioRepresentations(e){let{storedSettings:t}=e.audio;_(t)||t.lockedRepresentations.getValue()===null||t.lockedRepresentations.setValue(null)}unlockVideoRepresentations(e){let{storedSettings:t}=e.video;_(t)||t.lockedRepresentations.getValue()===null||t.lockedRepresentations.setValue(null)}dispose(){for(this._isDisposed=!0;;){let e=this._storedPeriodInfo.pop();if(e===void 0)return;e.isRemoved=!0}}_resetVideoTrackChoices(e){var r;for(let i=0;i<this._storedPeriodInfo.length;i++){let o=this._storedPeriodInfo[i];if(!_(o.video.storedSettings)){let a=o.video.storedSettings.adaptationBase;if(a!==null){let s=Aa(a,this._isTrickModeTrackEnabled);o.video.storedSettings.adaptationBase=a,o.video.storedSettings.adaptation=s}}}let t=this._storedPeriodInfo.slice();for(let i=0;i<t.length;i++){let o=t[i].period,s=t[i].video.storedSettings;if(s!==void 0){if(this.trigger("trackUpdate",{period:Nt(o),trackType:"video",reason:e}),this._isDisposed)return;let d=ut(this._storedPeriodInfo,o.id);d!==void 0&&d.isPeriodAdvertised&&d.video.storedSettings===s&&((r=d.video.dispatcher)==null||r.updateTrack(s))}}}_removePeriodObject(e){I.CURRENT_ENV===I.DEV&&te(e<this._storedPeriodInfo.length,"Invalid index for Period removal");let t=this._storedPeriodInfo[e];this._storedPeriodInfo[e].isRemoved=!0,this._storedPeriodInfo.splice(e,1),this._cachedPeriodInfo.set(t.period,t)}_getRepresentationsToLock(e,t){let r=t.reduce((i,o)=>{let a=X(e.representations,s=>s.id===o);return a===void 0?m.warn("API: Wanted locked Representation not found."):i.push(a.id),i},[]);if(r.length===0)throw new Error("Cannot lock Representations: None of the given Representation id are found");return r}_selectInitialTrackIfNeeded(){var i,o,a,s;let{DEFAULT_VIDEO_TRACK_SWITCHING_MODE:e}=U.getCurrent(),t=[],r=[];for(let d of this._storedPeriodInfo){let{period:u}=d;if(d.audio.storedSettings!==void 0&&d.video.storedSettings!==void 0&&d.text.storedSettings!==void 0)continue;let c=[...(i=u.adaptations.audio)!=null?i:[],...(o=u.adaptations.video)!=null?o:[]],l=c.every(b=>b.supportStatus.hasCodecWithUndefinedSupport);if(c.length>0&&l)continue;let f=mt(u,"audio")[0];d.audio.storedSettings=f===void 0?null:{adaptation:f,switchingMode:this._defaultAudioTrackSwitchingMode,lockedRepresentations:new G(null)};let g=mt(u,"video")[0],p=Aa(g,this._isTrickModeTrackEnabled);d.video.storedSettings=p===void 0?null:{adaptation:p,adaptationBase:g,switchingMode:e,lockedRepresentations:new G(null)};let h=null,y=((a=u.adaptations.text)!=null?a:[]).filter(b=>b.isForcedSubtitles===!0);if(y.length>0){if(f!=null){let b=X(y,T=>T.normalizedLanguage===f.normalizedLanguage);b!==void 0&&(h=b)}h===null&&(h=(s=X(y,b=>b.normalizedLanguage===void 0))!=null?s:null)}d.text.storedSettings=h===null?null:{adaptation:h,switchingMode:"direct",lockedRepresentations:new G(null)},r.push(d),this._shouldAdvertisePeriod(d)&&(d.isPeriodAdvertised=!0,t.push({id:u.id,start:u.start,end:u.end}))}if(!(t.length>0&&(this.trigger("newAvailablePeriods",t),this._isDisposed)))for(let d of r){if(!d.isPeriodAdvertised)continue;let u=["audio","video","text"];for(let c of u){let l=d[c];if(l.dispatcher!==null&&l.storedSettings!==void 0&&!l.dispatcher.hasSetTrack()&&(l.dispatcher.updateTrack(l.storedSettings),this._isDisposed))return}}}_shouldAdvertisePeriod(e){return!e.isPeriodAdvertised&&e.text.dispatcher!==null&&e.video.dispatcher!==null&&e.audio.dispatcher!==null}};function sb(n,e){for(let t=0;t<n.length;t++)if(n[t].period.id===e.id)return t}function ut(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.period.id===e)return r}}function Rl(n){var e,t,r;return!n.inManifest&&((e=n.text)==null?void 0:e.dispatcher)===null&&((t=n.audio)==null?void 0:t.dispatcher)===null&&((r=n.video)==null?void 0:r.dispatcher)===null}function Aa(n,e){var t;return e&&((t=n.trickModeTracks)==null?void 0:t[0])!==void 0?n.trickModeTracks[0]:n}function kl(n,e){return{period:n,inManifest:e,isPeriodAdvertised:!1,isRemoved:!1,audio:{storedSettings:void 0,dispatcher:null},video:{storedSettings:void 0,dispatcher:null},text:{storedSettings:void 0,dispatcher:null}}}function Nt(n){return{start:n.start,end:n.end,id:n.id}}var Wm=so;function Gm(n){let e,t,r,i,o,a,{DEFAULT_BASE_BANDWIDTH:s,DEFAULT_VIDEO_RESOLUTION_LIMIT:d,DEFAULT_MAX_BUFFER_AHEAD:u,DEFAULT_MAX_BUFFER_BEHIND:c,DEFAULT_MAX_VIDEO_BUFFER_SIZE:l,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:f,DEFAULT_WANTED_BUFFER_AHEAD:g}=U.getCurrent();if(_(n.maxBufferAhead))e=u;else if(e=Number(n.maxBufferAhead),isNaN(e))throw new Error("Invalid maxBufferAhead parameter. Should be a number.");if(_(n.maxBufferBehind))t=c;else if(t=Number(n.maxBufferBehind),isNaN(t))throw new Error("Invalid maxBufferBehind parameter. Should be a number.");if(_(n.wantedBufferAhead))r=g;else if(r=Number(n.wantedBufferAhead),isNaN(r))throw new Error("Invalid wantedBufferAhead parameter. Should be a number.");if(_(n.maxVideoBufferSize))i=l;else if(i=Number(n.maxVideoBufferSize),isNaN(i))throw new Error("Invalid maxVideoBufferSize parameter. Should be a number.");let p=_(n.videoResolutionLimit)?d:n.videoResolutionLimit,h=_(n.throttleVideoBitrateWhenHidden)?f:!!n.throttleVideoBitrateWhenHidden;if(_(n.videoElement))o=document.createElement("video");else if(n.videoElement.nodeName.toLowerCase()==="video"||n.videoElement.nodeName.toLowerCase()==="audio")o=n.videoElement;else throw new Error("Invalid videoElement parameter. Should be a HTMLMediaElement.");if(_(n.baseBandwidth))a=s;else if(a=Number(n.baseBandwidth),isNaN(a))throw new Error("Invalid baseBandwidth parameter. Should be a number.");return{maxBufferAhead:e,maxBufferBehind:t,videoResolutionLimit:p,videoElement:o,wantedBufferAhead:r,maxVideoBufferSize:i,throttleVideoBitrateWhenHidden:h,baseBandwidth:a}}function qm(n){var e,t,r,i;if(n===null||typeof n!="object"&&n!==void 0)throw new Error("API: reload - Invalid options format.");if((n==null?void 0:n.reloadAt)===null||typeof(n==null?void 0:n.reloadAt)!="object"&&(n==null?void 0:n.reloadAt)!==void 0)throw new Error("API: reload - Invalid 'reloadAt' option format.");if(typeof((e=n==null?void 0:n.reloadAt)==null?void 0:e.position)!="number"&&((t=n==null?void 0:n.reloadAt)==null?void 0:t.position)!==void 0)throw new Error("API: reload - Invalid 'reloadAt.position' option format.");if(typeof((r=n==null?void 0:n.reloadAt)==null?void 0:r.relative)!="number"&&((i=n==null?void 0:n.reloadAt)==null?void 0:i.relative)!==void 0)throw new Error("API: reload - Invalid 'reloadAt.relative' option format.");if(!Array.isArray(n==null?void 0:n.keySystems)&&(n==null?void 0:n.keySystems)!==void 0)throw new Error("API: reload - Invalid 'keySystems' option format.");if((n==null?void 0:n.autoPlay)!==void 0&&typeof n.autoPlay!="boolean")throw new Error("API: reload - Invalid 'autoPlay' option format.")}function jm(n){var E,R,k;let e,t,r,i,o,a,s,{DEFAULT_AUTO_PLAY:d,DEFAULT_CODEC_SWITCHING_BEHAVIOR:u,DEFAULT_ENABLE_FAST_SWITCHING:c,DEFAULT_TEXT_TRACK_MODE:l}=U.getCurrent();if(_(n))throw new Error("No option set on loadVideo");if(!_(n.url))e=String(n.url);else if(_(n.initialManifest)&&_(n.manifestLoader))throw new Error("Unable to load a content: no url set on loadVideo.\nPlease provide at least either an `url` argument, a `initialManifest` option or a `manifestLoader` option so the RxPlayer can load the content.");if(_(n.transport))throw new Error("No transport set on loadVideo");t=String(n.transport);let f=_(n.autoPlay)?d:!!n.autoPlay;if(_(n.keySystems))r=[];else{r=Array.isArray(n.keySystems)?n.keySystems:[n.keySystems];for(let A of r)if(typeof A.type!="string"||typeof A.getLicense!="function")throw new Error("Invalid key system given: Missing type string or getLicense callback")}let g=n.lowLatencyMode===void 0?!1:!!n.lowLatencyMode,p=n.initialManifest,h=(E=n.minimumManifestUpdateInterval)!=null?E:0,y=(R=n.defaultAudioTrackSwitchingMode)!=null?R:void 0;y!==void 0&&!Q(["seamless","direct","reload"],y)&&(m.warn("The `defaultAudioTrackSwitchingMode` loadVideo option must match one of the following strategy name:\n- `seamless`\n- `direct`\n- `reload`"),y=void 0);let b=_(n.onCodecSwitch)?u:n.onCodecSwitch;if(Q(["continue","reload"],b)||(m.warn("The `onCodecSwitch` loadVideo option must match one of the following string:\n- `continue`\n- `reload`\nIf badly set, "+u+" will be used as default"),b=u),_(n.textTrackMode))i=l;else{if(n.textTrackMode!=="native"&&n.textTrackMode!=="html")throw new Error("Invalid textTrackMode.");i=n.textTrackMode}if(i==="html"){if(_(n.textTrackElement))throw new Error('You have to provide a textTrackElement in "html" textTrackMode.');if(n.textTrackElement instanceof HTMLElement)a=n.textTrackElement;else throw new Error("textTrackElement should be an HTMLElement.")}else _(n.textTrackElement)||m.warn('API: You have set a textTrackElement without being in an "html" textTrackMode. It will be ignored.');if(_(n.mode))o="auto";else{if(!Q(["auto","multithread","main"],n.mode))throw new Error("Invalid `mode` option.");o=n.mode}let T=_(n.enableFastSwitching)?c:n.enableFastSwitching;if(!_(n.startAt))if("wallClockTime"in n.startAt&&n.startAt.wallClockTime instanceof Date){let A=n.startAt.wallClockTime.getTime()/1e3;s=j({},n.startAt,{wallClockTime:A})}else s=n.startAt;let v=(k=n.requestConfig)!=null?k:{};return{__priv_patchLastSegmentInSidx:n.__priv_patchLastSegmentInSidx,__priv_manifestUpdateUrl:n.__priv_manifestUpdateUrl,checkMediaSegmentIntegrity:n.checkMediaSegmentIntegrity,checkManifestIntegrity:n.checkManifestIntegrity,autoPlay:f,defaultAudioTrackSwitchingMode:y,enableFastSwitching:T,initialManifest:p,keySystems:r,lowLatencyMode:g,manifestLoader:n.manifestLoader,minimumManifestUpdateInterval:h,requestConfig:v,onCodecSwitch:b,referenceDateTime:n.referenceDateTime,representationFilter:n.representationFilter,segmentLoader:n.segmentLoader,serverSyncInfos:n.serverSyncInfos,startAt:s,textTrackElement:a,textTrackMode:i,transport:t,mode:o,url:e,cmcd:n.cmcd}}function Ym(n,e,t,r,i){if(i.isCancelled()||n===null)return;let o=e.getReference().getValue().seeking===2;o&&(t(),i.isCancelled())||e.listen(a=>{a.event==="seeking"?(o=!0,t()):o&&a.event==="seeked"&&(o=!1,r())},{includeLastObservation:!0,clearSignal:i})}function $m(n,e,t,r){r.isCancelled()||n===null||(n.addEventListener("play",e),n.addEventListener("pause",t),r.register(()=>{n.removeEventListener("play",e),n.removeEventListener("pause",t)}))}function Qm(n,e,t,r){let i=new G("LOADING",r);n.addEventListener("loaded",()=>{if(i.getValue()==="LOADING"){if(i.setValue("LOADED"),!r.isCancelled()){let s=Cl(e,null);s!=="PAUSED"&&i.setValue(s)}}else i.getValue()==="RELOADING"?i.setValue(Cl(e,null)):a(null)},r),n.addEventListener("reloadingMediaSource",()=>{ir(i.getValue())&&i.setValueIfChanged("RELOADING")},r);let o=null;return n.addEventListener("stalled",s=>{s!==o&&(a(s),o=s)},r),n.addEventListener("unstalled",()=>{o!==null&&(a(null),o=null)},r),t.listen(s=>{Q(["seeking","ended","play","pause"],s.event)&&a(o)},{clearSignal:r}),i;function a(s){if(!ir(i.getValue()))return;let d=Cl(e,s);i.getValue()==="LOADED"&&d==="PAUSED"||i.setValueIfChanged(d)}}function Cl(n,e){let{FORCED_ENDED_THRESHOLD:t}=U.getCurrent();if(n.ended)return"ENDED";if(e!==null){let r=Math.abs(n.duration-n.currentTime);return!_(t)&&r<t?"ENDED":e==="seeking"?"SEEKING":e==="freezing"?"FREEZING":"BUFFERING"}return n.paused?"PAUSED":"PLAYING"}function ir(n){return n!=="LOADING"&&n!=="RELOADING"&&n!=="STOPPED"}var db=Ze(),ub=["manifestLoader","segmentLoader"],Ut=class Ut extends oe{static get ErrorTypes(){return Xe}static get ErrorCodes(){return Qa}static get LogLevel(){return m.getLevel()}static set LogLevel(e){m.setLevel(e,m.getFormat())}static get LogFormat(){return m.getFormat()}static set LogFormat(e){m.setLevel(m.getLevel(),e)}static addFeatures(e){ea(e)}static _priv_registerVideoElement(e){Ut._priv_currentlyUsedVideoElements.has(e)&&console.warn(`The video element is already attached to another RxPlayer instance.
18
+ Make sure to dispose the previous instance with player.dispose() before creating a new player instance attaching that video element.`),Ut._priv_currentlyUsedVideoElements.add(e)}static _priv_deregisterVideoElement(e){Ut._priv_currentlyUsedVideoElements.has(e)&&Ut._priv_currentlyUsedVideoElements.delete(e)}constructor(e={}){super();let{baseBandwidth:t,videoResolutionLimit:r,maxBufferAhead:i,maxBufferBehind:o,throttleVideoBitrateWhenHidden:a,videoElement:s,wantedBufferAhead:d,maxVideoBufferSize:u}=Gm(e);s.preload="auto",this.version="4.2.0-dev.2024081300",this.log=m,this.state="STOPPED",this.videoElement=s,Ut._priv_registerVideoElement(this.videoElement);let c=new B;this._destroyCanceller=c,this._priv_pictureInPictureRef=nc(s,c.signal),this._priv_speed=new G(s.playbackRate,this._destroyCanceller.signal),this._priv_preferTrickModeTracks=!1,this._priv_contentLock=new G(!1,this._destroyCanceller.signal),this._priv_bufferOptions={wantedBufferAhead:new G(d,this._destroyCanceller.signal),maxBufferAhead:new G(i,this._destroyCanceller.signal),maxBufferBehind:new G(o,this._destroyCanceller.signal),maxVideoBufferSize:new G(u,this._destroyCanceller.signal)},this._priv_bitrateInfos={lastBitrates:{audio:t,video:t}},this._priv_throttleVideoBitrateWhenHidden=a,this._priv_videoResolutionLimit=r,this._priv_currentError=null,this._priv_contentInfos=null,this._priv_contentEventsMemory={},this._priv_reloadingMetadata={},this._priv_lastAutoPlay=!1,this._priv_worker=null,this._priv_segmentSinkMetricsCallback=null;let l=()=>{this.trigger("volumeChange",{volume:s.volume,muted:s.muted})};s.addEventListener("volumechange",l),c.signal.register(()=>{s.removeEventListener("volumechange",l)})}attachWorker(e){return new Promise((t,r)=>{var o;if(!El())return m.warn("API: Cannot rely on a WebWorker: Worker API unavailable"),r(new An("INCOMPATIBLE_ERROR","Worker unavailable"));if(typeof e.workerUrl=="string")this._priv_worker=new Worker(e.workerUrl);else{let a=URL.createObjectURL(e.workerUrl);this._priv_worker=new Worker(a),URL.revokeObjectURL(a)}this._priv_worker.onerror=a=>{this._priv_worker!==null&&(this._priv_worker.terminate(),this._priv_worker=null),m.error("API: Unexpected worker error",a.error instanceof Error?a.error:void 0),r(new An("UNKNOWN_ERROR",'Unexpected Worker "error" event'))};let i=a=>{let s=a.data;s.type==="init-error"?(m.warn("API: Processing InitError worker message: detaching worker"),this._priv_worker!==null&&(this._priv_worker.removeEventListener("message",i),this._priv_worker.terminate(),this._priv_worker=null),r(new An("SETUP_ERROR","Worker parser initialization failed: "+s.value.errorMessage))):s.type==="init-success"&&(m.info("API: InitSuccess received from worker."),this._priv_worker!==null&&this._priv_worker.removeEventListener("message",i),t())};this._priv_worker.addEventListener("message",i),m.debug("---> Sending To Worker:","init"),this._priv_worker.postMessage({type:"init",value:{dashWasmUrl:e.dashWasmUrl,logLevel:m.getLevel(),logFormat:m.getFormat(),sendBackLogs:xn(),date:Date.now(),timestamp:K(),hasVideo:((o=this.videoElement)==null?void 0:o.nodeName.toLowerCase())==="video",hasMseInWorker:Ff}}),m.addEventListener("onLogLevelChange",a=>{this._priv_worker!==null&&(m.debug("---> Sending To Worker:","log-level-update"),this._priv_worker.postMessage({type:"log-level-update",value:{logLevel:a.level,logFormat:a.format,sendBackLogs:xn()}}))},this._destroyCanceller.signal)})}getCurrentModeInformation(){return this._priv_contentInfos===null?null:{isDirectFile:this._priv_contentInfos.isDirectFile,useWorker:this._priv_contentInfos.useWorker}}addEventListener(e,t){return super.addEventListener(e,t)}stop(){this._priv_contentInfos!==null&&this._priv_contentInfos.currentContentCanceller.cancel(),this._priv_cleanUpCurrentContentState(),this.state!=="STOPPED"&&this._priv_setPlayerState("STOPPED")}dispose(){this.stop(),this.videoElement!==null&&(Ut._priv_deregisterVideoElement(this.videoElement),On(this.videoElement).catch(e=>{let t=e instanceof Error?e.message:"Unknown error";m.error("API: Could not dispose decryption resources: "+t)})),this._destroyCanceller.cancel(),this._priv_reloadingMetadata={},this.videoElement=null,this._priv_worker!==null&&(this._priv_worker.terminate(),this._priv_worker=null)}loadVideo(e){let t=jm(e);m.info("API: Calling loadvideo",t.url,t.transport),this._priv_reloadingMetadata={options:t},this._priv_initializeContentPlayback(t),this._priv_lastAutoPlay=t.autoPlay}reload(e){var c,l,f;let{options:t,manifest:r,reloadPosition:i,reloadInPause:o}=this._priv_reloadingMetadata;if(t===void 0)throw new Error("API: Can't reload without having previously loaded a content.");qm(e);let a;if(((c=e==null?void 0:e.reloadAt)==null?void 0:c.position)!==void 0)a={position:e.reloadAt.position};else if(((l=e==null?void 0:e.reloadAt)==null?void 0:l.relative)!==void 0){if(i===void 0)throw new Error("Can't reload to a relative position when previous content was not loaded.");a={position:e.reloadAt.relative+i}}else i!==void 0&&(a={position:i});let s;(e==null?void 0:e.autoPlay)!==void 0?s=e.autoPlay:o!==void 0&&(s=!o);let d;(e==null?void 0:e.keySystems)!==void 0?d=e.keySystems:((f=this._priv_reloadingMetadata.options)==null?void 0:f.keySystems)!==void 0&&(d=this._priv_reloadingMetadata.options.keySystems);let u=de(ie({},t),{initialManifest:r});a!==void 0&&(u.startAt=a),s!==void 0&&(u.autoPlay=s),d!==void 0&&(u.keySystems=d),this._priv_initializeContentPlayback(u)}createDebugElement(e){if(me.createDebugElement===null)throw new Error("Feature `DEBUG_ELEMENT` not added to the RxPlayer");let t=new B;return me.createDebugElement(e,this,t.signal),{dispose(){t.cancel()}}}_priv_initializeContentPlayback(e){var z,H,se,ae,le,he;let{autoPlay:t,cmcd:r,defaultAudioTrackSwitchingMode:i,enableFastSwitching:o,initialManifest:a,keySystems:s,lowLatencyMode:d,minimumManifestUpdateInterval:u,requestConfig:c,onCodecSwitch:l,startAt:f,transport:g,checkMediaSegmentIntegrity:p,checkManifestIntegrity:h,manifestLoader:y,referenceDateTime:b,segmentLoader:T,serverSyncInfos:v,mode:E,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k,url:A}=e;if(this.videoElement===null)throw new Error("the attached video element is disposed");let M=g==="directfile",x=new B,L=this.videoElement,O,N=!1,C=null;if(M){if(me.directfile===null)throw this.stop(),this._priv_currentError=null,new Error("DirectFile feature not activated in your build.");if(_(A))throw new Error("No URL for a DirectFile content");if(m.info("API: Initializing DirectFile mode in the main thread"),C=this._priv_initializeMediaElementTracksStore(x.signal),x.isUsed())return;O=new me.directfile.initDirectFile({autoPlay:t,keySystems:s,speed:this._priv_speed,startAt:f,url:A})}else{let Y={lowLatencyMode:d,maxRetry:(z=c.manifest)==null?void 0:z.maxRetry,requestTimeout:(H=c.manifest)==null?void 0:H.timeout,connectionTimeout:(se=c.manifest)==null?void 0:se.connectionTimeout,minimumManifestUpdateInterval:u,initialManifest:a},ce=_l(),Ie={throttleBitrate:{},limitResolution:{}};this._priv_throttleVideoBitrateWhenHidden&&(ce?Ie.throttleBitrate={video:on(rc(this._priv_pictureInPictureRef,x.signal),Oe=>Oe?1/0:0,x.signal)}:m.warn("API: Can't apply throttleVideoBitrateWhenHidden because browser can't be trusted for visibility.")),this._priv_videoResolutionLimit==="videoElement"?ce?Ie.limitResolution={video:oc(L,this._priv_pictureInPictureRef,x.signal)}:m.warn("API: Can't apply videoResolutionLimit because browser can't be trusted for video size."):this._priv_videoResolutionLimit==="screen"&&(Ie.limitResolution={video:ic(x.signal)});let Bt={initialBitrates:this._priv_bitrateInfos.lastBitrates,lowLatencyMode:d,throttlers:Ie},$e=e.textTrackMode==="native"?{textTrackMode:"native"}:{textTrackMode:"html",textTrackElement:e.textTrackElement},Ue=j({enableFastSwitching:o,onCodecSwitch:l},this._priv_bufferOptions),Tt={lowLatencyMode:d,maxRetry:(ae=c.segment)==null?void 0:ae.maxRetry,requestTimeout:(le=c.segment)==null?void 0:le.timeout,connectionTimeout:(he=c.segment)==null?void 0:he.connectionTimeout},ht=me.multithread!==null&&this._priv_worker!==null&&g==="dash"&&ub.every(Oe=>_(e[Oe]))&&typeof e.representationFilter!="function";if(E==="main"||E==="auto"&&!ht){if(me.mainThreadMediaSourceInit===null)throw new Error("Cannot load video, neither in a WebWorker nor with the `MEDIA_SOURCE_MAIN` feature");let Oe=me.transports[g];if(typeof Oe!="function")throw this.stop(),this._priv_currentError=null,new Error(`transport "${g}" not supported`);let Zm=typeof e.representationFilter=="string"?Hc(e.representationFilter):e.representationFilter;m.info("API: Initializing MediaSource mode in the main thread");let Jm=Oe({lowLatencyMode:d,checkMediaSegmentIntegrity:p,checkManifestIntegrity:h,manifestLoader:y,referenceDateTime:b,representationFilter:Zm,segmentLoader:T,serverSyncInfos:v,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k});O=new me.mainThreadMediaSourceInit({adaptiveOptions:Bt,autoPlay:t,bufferOptions:Ue,cmcd:r,keySystems:s,lowLatencyMode:d,transport:Jm,manifestRequestSettings:Y,segmentRequestOptions:Tt,speed:this._priv_speed,startAt:f,textTrackOptions:$e,url:A})}else{if(me.multithread===null)throw new Error("Cannot load video in multithread mode: `MULTI_THREAD` feature not imported.");if(this._priv_worker===null)throw new Error("Cannot load video in multithread mode: `attachWorker` method not called.");te(typeof e.representationFilter!="function"),N=!0,m.info("API: Initializing MediaSource mode in a WebWorker");let Oe={lowLatencyMode:d,checkMediaSegmentIntegrity:p,checkManifestIntegrity:h,referenceDateTime:b,serverSyncInfos:v,manifestLoader:void 0,segmentLoader:void 0,representationFilter:e.representationFilter,__priv_manifestUpdateUrl:R,__priv_patchLastSegmentInSidx:k};O=new me.multithread.init({adaptiveOptions:Bt,autoPlay:t,bufferOptions:Ue,cmcd:r,keySystems:s,lowLatencyMode:d,transportOptions:Oe,manifestRequestSettings:Y,segmentRequestOptions:Tt,speed:this._priv_speed,startAt:f,textTrackOptions:$e,worker:this._priv_worker,url:A})}}let P={contentId:db(),originalUrl:A,currentContentCanceller:x,defaultAudioTrackSwitchingMode:i,initializer:O,isDirectFile:M,manifest:null,currentPeriod:null,activeAdaptations:null,activeRepresentations:null,tracksStore:null,mediaElementTracksStore:C,useWorker:N};O.addEventListener("error",Y=>{this._priv_onFatalError(Y,P)}),O.addEventListener("warning",Y=>{let ce=we(Y,{defaultCode:"NONE",defaultReason:"An unknown error happened."});m.warn("API: Sending warning:",ce),this.trigger("warning",ce)}),O.addEventListener("reloadingMediaSource",Y=>{P.tracksStore!==null&&P.tracksStore.resetPeriodObjects(),this._priv_segmentSinkMetricsCallback=null,this._priv_lastAutoPlay=Y.autoPlay}),O.addEventListener("inbandEvents",Y=>this.trigger("inbandEvents",Y)),O.addEventListener("streamEvent",Y=>this.trigger("streamEvent",Y)),O.addEventListener("streamEventSkip",Y=>this.trigger("streamEventSkip",Y)),O.addEventListener("activePeriodChanged",Y=>this._priv_onActivePeriodChanged(P,Y)),O.addEventListener("periodStreamReady",Y=>this._priv_onPeriodStreamReady(P,Y)),O.addEventListener("periodStreamCleared",Y=>this._priv_onPeriodStreamCleared(P,Y)),O.addEventListener("representationChange",Y=>this._priv_onRepresentationChange(P,Y)),O.addEventListener("adaptationChange",Y=>this._priv_onAdaptationChange(P,Y)),O.addEventListener("bitrateEstimateChange",Y=>this._priv_onBitrateEstimateChange(Y)),O.addEventListener("manifestReady",Y=>this._priv_onManifestReady(P,Y)),O.addEventListener("manifestUpdate",Y=>this._priv_onManifestUpdate(P,Y)),O.addEventListener("codecSupportUpdate",()=>this._priv_onCodecSupportUpdate(P)),O.addEventListener("decipherabilityUpdate",Y=>this._priv_onDecipherabilityUpdate(P,Y)),O.addEventListener("loaded",Y=>{this._priv_segmentSinkMetricsCallback=Y.getSegmentSinkMetrics}),O.prepare(),this.stop();let D=new oo(L,{withMediaSource:!M,lowLatencyMode:d});x.signal.register(()=>{D.stop()});let F=Qm(O,L,D,x.signal);x.signal.register(()=>{O.dispose()});let V=Y=>{switch(Y){case"STOPPED":case"RELOADING":case"LOADING":break;case"ENDED":this._priv_reloadingMetadata.reloadInPause=!0,this._priv_reloadingMetadata.reloadPosition=D.getReference().getValue().position.getPolled();break;default:let ce=D.getReference().getValue();this._priv_reloadingMetadata.reloadInPause=ce.paused,this._priv_reloadingMetadata.reloadPosition=ce.position.getWanted();break}},$=null,q=Y=>{$!==null&&($.cancel(),$=null),F.onUpdate((ce,Ie)=>{ir(ce)&&(Ie(),$!==null&&$.cancel(),$=new B,$.linkToSignal(x.signal),Y!==!L.paused&&(L.paused?this.trigger("pause",null):this.trigger("play",null)),$m(L,()=>this.trigger("play",null),()=>this.trigger("pause",null),x.signal))},{emitCurrentValue:!1,clearSignal:x.signal})};q(t),O.addEventListener("reloadingMediaSource",Y=>{q(Y.autoPlay)}),this._priv_currentError=null,this._priv_contentInfos=P;let W=null;F.onUpdate(Y=>{V(Y),this._priv_setPlayerState(Y),!x.isUsed()&&(W!==null?ir(this.state)||(W.cancel(),W=null):ir(this.state)&&(W=new B,W.linkToSignal(x.signal),Ym(L,D,()=>this.trigger("seeking",null),()=>this.trigger("seeked",null),W.signal)))},{emitCurrentValue:!0,clearSignal:x.signal}),D.listen(Y=>{V(this.state),this._priv_triggerPositionUpdate(P,Y)},{clearSignal:x.signal}),x.signal.register(()=>{O.removeEventListener()}),this._priv_contentLock.onUpdate((Y,ce)=>{Y||(ce(),O.start(L,D))},{emitCurrentValue:!0,clearSignal:x.signal})}getError(){return this._priv_currentError}getVideoElement(){return this.videoElement}getPlayerState(){return this.state}isContentLoaded(){return!Q(["LOADING","RELOADING","STOPPED"],this.state)}isBuffering(){return Q(["BUFFERING","SEEKING","LOADING","RELOADING"],this.state)}isPaused(){return this.videoElement?Q(["LOADING","RELOADING"],this.state)?!this._priv_lastAutoPlay:this.videoElement.paused:!0}isLive(){if(this._priv_contentInfos===null)return!1;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;return e||t===null?!1:t.isLive}areTrickModeTracksEnabled(){return this._priv_preferTrickModeTracks}getContentUrls(){if(this._priv_contentInfos===null)return;let{isDirectFile:e,manifest:t,originalUrl:r}=this._priv_contentInfos;if(e)return r===void 0?void 0:[r];if(t!==null)return t.uris}updateContentUrls(e,t){if(this._priv_contentInfos===null)throw new Error("No content loaded");let r=(t==null?void 0:t.refresh)===!0;this._priv_contentInfos.initializer.updateContentUrls(e,r)}getMediaDuration(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.duration}getCurrentBufferGap(){if(this.videoElement===null)throw new Error("Disposed player");let e=this.videoElement,t=Vl(e.buffered,e.currentTime);return t===1/0?0:t}getWallClockTime(){var r;if(this.videoElement===null)throw new Error("Disposed player");if(this._priv_contentInfos===null)return this.videoElement.currentTime;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(e){let i=io(this.videoElement);return(i!=null?i:0)+this.videoElement.currentTime}if(t!==null){let i=this.videoElement.currentTime,o=(r=t.availabilityStartTime)!=null?r:0;return i+o}return 0}getPosition(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.currentTime}getLastStoredContentPosition(){return this._priv_reloadingMetadata.reloadPosition}getPlaybackRate(){return this._priv_speed.getValue()}setPlaybackRate(e,t){var o;e!==this._priv_speed.getValue()&&this._priv_speed.setValue(e);let r=t==null?void 0:t.preferTrickModeTracks;if(typeof r!="boolean")return;this._priv_preferTrickModeTracks=r;let i=(o=this._priv_contentInfos)==null?void 0:o.tracksStore;_(i)||(r&&!i.isTrickModeEnabled()?i.enableVideoTrickModeTracks():!r&&i.isTrickModeEnabled()&&i.disableVideoTrickModeTracks())}getVideoRepresentation(){let e=this.__priv_getCurrentRepresentations();if(e!==null)return e.video}getAudioRepresentation(){let e=this.__priv_getCurrentRepresentations();if(e!==null)return e.audio}play(){if(this.videoElement===null)throw new Error("Disposed player");let e=this.videoElement.play();return _(e)||typeof e.catch!="function"?Promise.resolve():e.catch(t=>{if(t.name==="NotAllowedError"){let r=new J("MEDIA_ERR_PLAY_NOT_ALLOWED",t.toString());this.trigger("warning",r)}throw t})}pause(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.pause()}seekTo(e){var o;if(this.videoElement===null)throw new Error("Disposed player");if(this._priv_contentInfos===null)throw new Error("player: no content loaded");let{isDirectFile:t,manifest:r}=this._priv_contentInfos;if(!t&&r===null)throw new Error("player: the content did not load yet");let i;if(typeof e=="number")i=e;else if(typeof e=="object"){let a=e,s=this.videoElement.currentTime;if(!_(a.relative))i=s+a.relative;else if(!_(a.position))i=a.position;else{if(_(a.wallClockTime))throw new Error('invalid time object. You must set one of the following properties: "relative", "position" or "wallClockTime"');if(r!==null)i=a.wallClockTime-((o=r.availabilityStartTime)!=null?o:0);else if(t&&this.videoElement!==null){let d=io(this.videoElement);d!==void 0&&(i=a.wallClockTime-d)}i===void 0&&(i=a.wallClockTime)}}if(i===void 0)throw new Error("invalid time given");return m.info("API: API Seek to",i),this.videoElement.currentTime=i,i}getVolume(){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.volume}setVolume(e){if(this.videoElement===null)throw new Error("Disposed player");let t=this.videoElement;e!==t.volume&&(t.volume=e)}isMute(){var e;return((e=this.videoElement)==null?void 0:e.muted)===!0}mute(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.muted||(this.videoElement.muted=!0)}unMute(){if(this.videoElement===null)throw new Error("Disposed player");this.videoElement.muted&&(this.videoElement.muted=!1)}setMaxBufferBehind(e){this._priv_bufferOptions.maxBufferBehind.setValue(e)}setMaxBufferAhead(e){this._priv_bufferOptions.maxBufferAhead.setValue(e)}setWantedBufferAhead(e){this._priv_bufferOptions.wantedBufferAhead.setValue(e)}setMaxVideoBufferSize(e){this._priv_bufferOptions.maxVideoBufferSize.setValue(e)}getMaxBufferBehind(){return this._priv_bufferOptions.maxBufferBehind.getValue()}getMaxBufferAhead(){return this._priv_bufferOptions.maxBufferAhead.getValue()}getWantedBufferAhead(){return this._priv_bufferOptions.wantedBufferAhead.getValue()}getMaxVideoBufferSize(){return this._priv_bufferOptions.maxVideoBufferSize.getValue()}getCurrentPeriod(){var t;let e=(t=this._priv_contentInfos)==null?void 0:t.currentPeriod;return _(e)?null:{id:e.id,start:e.start,end:e.end}}getKeySystemConfiguration(){if(this.videoElement===null)throw new Error("Disposed player");let e=Kn(this.videoElement);return e===null?null:{keySystem:e[0],configuration:e[1]}}getAvailablePeriods(){if(this._priv_contentInfos===null)return[];let{isDirectFile:e,tracksStore:t}=this._priv_contentInfos;return e?[]:t===null?[]:t.getAvailablePeriods().slice()}getAvailableAudioTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableAudioTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableAudioTracks(a))!=null?s:[]})}getAvailableTextTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableTextTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableTextTracks(a))!=null?s:[]})}getAvailableVideoTracks(e){var i;if(this._priv_contentInfos===null)return[];let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?(i=r==null?void 0:r.getAvailableVideoTracks())!=null?i:[]:this._priv_callTracksStoreGetterSetter(e,[],(o,a)=>{var s;return(s=o.getAvailableVideoTracks(a))!=null?s:[]})}getAudioTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenAudioTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenAudioTrack(o))}getTextTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenTextTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenTextTrack(o))}getVideoTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t?r===null?void 0:r.getChosenVideoTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.getChosenVideoTrack(o))}setAudioTrack(e){var u;if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let c=typeof e=="string"?e:e.trackId;r==null||r.setAudioTrackById(c);return}catch(c){throw new Error("player: unknown audio track")}let i,o,a,s=null,d;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId,a=e.switchingMode,s=(u=e.lockedRepresentations)!=null?u:null,d=e.relativeResumingPosition),this._priv_callTracksStoreGetterSetter(i,void 0,(c,l)=>c.setAudioTrack({periodRef:l,trackId:o,switchingMode:a,lockedRepresentations:s,relativeResumingPosition:d}))}setTextTrack(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let a=typeof e=="string"?e:e.trackId;r==null||r.setTextTrackById(a);return}catch(a){throw new Error("player: unknown text track")}let i,o;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.setTextTrack(s,o))}disableTextTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t){r==null||r.disableTextTrack();return}return this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.disableTrack(o,"text"))}setVideoTrack(e){var u;if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;if(t)try{let c=typeof e=="string"?e:e.trackId;r==null||r.setVideoTrackById(c);return}catch(c){throw new Error("player: unknown video track")}let i,o,a,s=null,d;return typeof e=="string"?o=e:(o=e.trackId,i=e.periodId,a=e.switchingMode,s=(u=e.lockedRepresentations)!=null?u:null,d=e.relativeResumingPosition),this._priv_callTracksStoreGetterSetter(i,void 0,(c,l)=>c.setVideoTrack({periodRef:l,trackId:o,switchingMode:a,lockedRepresentations:s,relativeResumingPosition:d}))}disableVideoTrack(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t,mediaElementTracksStore:r}=this._priv_contentInfos;return t&&r!==null?r.disableVideoTrack():this._priv_callTracksStoreGetterSetter(e,void 0,(i,o)=>i.disableTrack(o,"video"))}lockVideoRepresentations(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t}=this._priv_contentInfos;if(t)throw new Error("Cannot lock video Representations in directfile mode.");let r,i,o;return Array.isArray(e)?(r=e,i=void 0):(r=e.representations,i=e.periodId,o=e.switchingMode),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.lockVideoRepresentations(s,{representations:r,switchingMode:o}))}lockAudioRepresentations(e){if(this._priv_contentInfos===null)throw new Error("No content loaded");let{isDirectFile:t}=this._priv_contentInfos;if(t)throw new Error("Cannot lock audio Representations in directfile mode.");let r,i,o;return Array.isArray(e)?(r=e,i=void 0):(r=e.representations,i=e.periodId,o=e.switchingMode),this._priv_callTracksStoreGetterSetter(i,void 0,(a,s)=>a.lockAudioRepresentations(s,{representations:r,switchingMode:o}))}getLockedVideoRepresentations(e){if(this._priv_contentInfos===null)return null;let{isDirectFile:t}=this._priv_contentInfos;return t?null:this._priv_callTracksStoreGetterSetter(e,null,(r,i)=>r.getLockedVideoRepresentations(i))}getLockedAudioRepresentations(e){if(this._priv_contentInfos===null)return null;let{isDirectFile:t}=this._priv_contentInfos;return t?null:this._priv_callTracksStoreGetterSetter(e,null,(r,i)=>r.getLockedAudioRepresentations(i))}unlockVideoRepresentations(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t}=this._priv_contentInfos;if(!t)return this._priv_callTracksStoreGetterSetter(e,void 0,(r,i)=>r.unlockVideoRepresentations(i))}unlockAudioRepresentations(e){if(this._priv_contentInfos===null)return;let{isDirectFile:t}=this._priv_contentInfos;if(!t)return this._priv_callTracksStoreGetterSetter(e,void 0,(r,i)=>r.unlockAudioRepresentations(i))}getMinimumPosition(){if(this._priv_contentInfos===null)return null;if(this._priv_contentInfos.isDirectFile)return 0;let{manifest:e}=this._priv_contentInfos;return e!==null?hn(e):null}getLivePosition(){if(this._priv_contentInfos===null)return null;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(!e)return(t==null?void 0:t.isLive)!==!0?null:yn(t)}getMaximumPosition(){if(this._priv_contentInfos===null)return null;let{isDirectFile:e,manifest:t}=this._priv_contentInfos;if(e){if(this.videoElement===null)throw new Error("Disposed player");return this.videoElement.duration}return t!==null?!t.isDynamic&&this.videoElement!==null?this.videoElement.duration:bt(t):null}async __priv_getSegmentSinkMetrics(){if(this._priv_segmentSinkMetricsCallback!==null)return this._priv_segmentSinkMetricsCallback()}__priv_getManifest(){return this._priv_contentInfos===null?null:this._priv_contentInfos.manifest}__priv_getCurrentAdaptation(){if(this._priv_contentInfos===null)return null;let{currentPeriod:e,activeAdaptations:t}=this._priv_contentInfos;return e===null||t===null||_(t[e.id])?null:t[e.id]}__priv_getCurrentRepresentations(){if(this._priv_contentInfos===null)return null;let{currentPeriod:e,activeRepresentations:t}=this._priv_contentInfos;return e===null||t===null||_(t[e.id])?null:t[e.id]}_priv_cleanUpCurrentContentState(){var t,r,i,o;m.debug("Locking `contentLock` to clean-up the current content."),this._priv_contentLock.setValue(!0),(r=(t=this._priv_contentInfos)==null?void 0:t.tracksStore)==null||r.dispose(),(o=(i=this._priv_contentInfos)==null?void 0:i.mediaElementTracksStore)==null||o.dispose(),this._priv_contentInfos=null,this._priv_segmentSinkMetricsCallback=null,this._priv_contentEventsMemory={};let e=()=>{this.videoElement!==null&&(m.debug("Unlocking `contentLock`. Next content can begin."),this._priv_contentLock.setValue(!1))};_(this.videoElement)?e():bo(this.videoElement).then(()=>{m.debug("API: DRM session cleaned-up with success!"),e()},a=>{m.error("API: An error arised when trying to clean-up the DRM session:"+(a instanceof Error?a.toString():"Unknown Error")),e()})}_priv_onManifestReady(e,t){var i;if(e.contentId!==((i=this._priv_contentInfos)==null?void 0:i.contentId))return;e.manifest=t,t.manifestFormat===0&&(this._priv_reloadingMetadata.manifest=t);let r=new Wm({preferTrickModeTracks:this._priv_preferTrickModeTracks,defaultAudioTrackSwitchingMode:e.defaultAudioTrackSwitchingMode});e.tracksStore=r,r.addEventListener("newAvailablePeriods",o=>{this.trigger("newAvailablePeriods",o)}),r.addEventListener("brokenRepresentationsLock",o=>{this.trigger("brokenRepresentationsLock",o)}),r.addEventListener("trackUpdate",o=>{var s,d;this.trigger("trackUpdate",o);let a=(d=(s=this._priv_contentInfos)==null?void 0:s.currentPeriod)!=null?d:void 0;o.reason==="no-playable-representation"&&o.period.id===(a==null?void 0:a.id)&&this._priv_onAvailableTracksMayHaveChanged(o.trackType)}),e.tracksStore.addEventListener("warning",o=>{this.trigger("warning",o)}),e.tracksStore.addEventListener("error",o=>{this._priv_onFatalError(o,e)}),e.tracksStore.onManifestUpdate(t)}_priv_onManifestUpdate(e,t){var o,a,s;if(this._priv_contentInfos===null||this._priv_contentInfos.manifest===null)return;_(e==null?void 0:e.tracksStore)||e.tracksStore.onManifestUpdate(this._priv_contentInfos.manifest);let r=(a=(o=this._priv_contentInfos)==null?void 0:o.currentPeriod)!=null?a:void 0,i=(s=this._priv_contentInfos)==null?void 0:s.tracksStore;if(!(r===void 0||_(i))){for(let d of t.updatedPeriods)if(d.period.id===r.id&&(d.result.addedAdaptations.length>0||d.result.removedAdaptations.length>0)){if(i.getPeriodObjectFromPeriod(r)===void 0)return;this._priv_onAvailableTracksMayHaveChanged("audio"),this._priv_onAvailableTracksMayHaveChanged("text"),this._priv_onAvailableTracksMayHaveChanged("video")}}}_priv_onCodecSupportUpdate(e){let t=e==null?void 0:e.tracksStore;_(t)||t.onManifestCodecSupportUpdate()}_priv_onDecipherabilityUpdate(e,t){if(e===null||e.manifest===null)return;_(e==null?void 0:e.tracksStore)||e.tracksStore.onDecipherabilityUpdates();let r=t.reduce((i,o)=>{var s,d,u;if(!(X(i,c=>c[0].id===o.period.id&&c[1]===o.adaptation.type)!==void 0)){let c=e.tracksStore;if(c===null)return i;let l=!1,f=c.getPeriodObjectFromPeriod(o.period);if(f===void 0)return i;switch(o.adaptation.type){case"audio":l=((s=c.getChosenAudioTrack(f))==null?void 0:s.id)===o.adaptation.id;break;case"video":l=((d=c.getChosenVideoTrack(f))==null?void 0:d.id)===o.adaptation.id;break;case"text":l=((u=c.getChosenTextTrack(f))==null?void 0:u.id)===o.adaptation.id;break}l&&i.push([o.period,o.adaptation.type])}return i},[]);for(let[i,o]of r)this._priv_triggerEventIfNotStopped("representationListUpdate",{period:{start:i.start,end:i.end,id:i.id},trackType:o,reason:"decipherability-update"},e.currentContentCanceller.signal)}_priv_onActivePeriodChanged(e,{period:t}){var s,d,u,c,l,f;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;e.currentPeriod=t;let r=e.currentContentCanceller.signal;this._priv_contentEventsMemory.periodChange!==t&&(this._priv_contentEventsMemory.periodChange=t,this._priv_triggerEventIfNotStopped("periodChange",{start:t.start,end:t.end,id:t.id},r)),this._priv_triggerEventIfNotStopped("availableAudioTracksChange",this.getAvailableAudioTracks(),r),this._priv_triggerEventIfNotStopped("availableTextTracksChange",this.getAvailableTextTracks(),r),this._priv_triggerEventIfNotStopped("availableVideoTracksChange",this.getAvailableVideoTracks(),r);let i=(d=this._priv_contentInfos)==null?void 0:d.tracksStore;if(_(i))this._priv_triggerEventIfNotStopped("audioTrackChange",null,r),this._priv_triggerEventIfNotStopped("textTrackChange",null,r),this._priv_triggerEventIfNotStopped("videoTrackChange",null,r);else{let g=i.getPeriodObjectFromPeriod(t);if(g){let p=i.getChosenAudioTrack(g);this._priv_triggerEventIfNotStopped("audioTrackChange",p,r);let h=i.getChosenTextTrack(g);this._priv_triggerEventIfNotStopped("textTrackChange",h,r);let y=i.getChosenVideoTrack(g);this._priv_triggerEventIfNotStopped("videoTrackChange",y,r)}}let o=(c=(u=this.__priv_getCurrentRepresentations())==null?void 0:u.audio)!=null?c:null;this._priv_triggerEventIfNotStopped("audioRepresentationChange",o,r);let a=(f=(l=this.__priv_getCurrentRepresentations())==null?void 0:l.video)!=null?f:null;this._priv_triggerEventIfNotStopped("videoRepresentationChange",a,r)}_priv_onPeriodStreamReady(e,t){var s;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;let{type:r,period:i,adaptationRef:o}=t,a=e.tracksStore;switch(r){case"video":case"audio":case"text":_(a)?(m.error(`API: TracksStore not instanciated for a new ${r} period`),o.setValue(null)):a.addTrackReference(r,i,o);break;default:Qe(r)}}_priv_onPeriodStreamCleared(e,t){var d;if(e.contentId!==((d=this._priv_contentInfos)==null?void 0:d.contentId))return;let{type:r,period:i}=t,o=e.tracksStore;switch(r){case"audio":case"text":case"video":_(o)||o.removeTrackReference(r,i);break}let{activeAdaptations:a,activeRepresentations:s}=e;if(!_(a)&&!_(a[i.id])){let u=a[i.id];delete u[r],Object.keys(u).length===0&&delete a[i.id]}if(!_(s)&&!_(s[i.id])){let u=s[i.id];delete u[r],Object.keys(u).length===0&&delete s[i.id]}}_priv_onAdaptationChange(e,{type:t,adaptation:r,period:i}){var c;if(e.contentId!==((c=this._priv_contentInfos)==null?void 0:c.contentId))return;e.activeAdaptations===null&&(e.activeAdaptations={});let{activeAdaptations:o,currentPeriod:a}=e,s=o[i.id];_(s)?o[i.id]={[t]:r}:s[t]=r;let{tracksStore:d}=e,u=e.currentContentCanceller.signal;if(d!==null&&a!==null&&!_(i)&&i.id===a.id){let l=d.getPeriodObjectFromPeriod(i);if(l===void 0)return;switch(t){case"audio":let f=d.getChosenAudioTrack(l);this._priv_triggerEventIfNotStopped("audioTrackChange",f,u);break;case"text":let g=d.getChosenTextTrack(l);this._priv_triggerEventIfNotStopped("textTrackChange",g,u);break;case"video":let p=d.getChosenVideoTrack(l);this._priv_triggerEventIfNotStopped("videoTrackChange",p,u);break}}}_priv_onRepresentationChange(e,{type:t,period:r,representation:i}){var d;if(e.contentId!==((d=this._priv_contentInfos)==null?void 0:d.contentId))return;e.activeRepresentations===null&&(e.activeRepresentations={});let{activeRepresentations:o,currentPeriod:a}=e,s=o[r.id];if(_(s)?o[r.id]={[t]:i}:s[t]=i,!_(r)&&a!==null&&a.id===r.id){let u=this._priv_contentInfos.currentContentCanceller.signal;t==="video"?this._priv_triggerEventIfNotStopped("videoRepresentationChange",i,u):t==="audio"&&this._priv_triggerEventIfNotStopped("audioRepresentationChange",i,u)}}_priv_onBitrateEstimateChange({type:e,bitrate:t}){t!==void 0&&(this._priv_bitrateInfos.lastBitrates[e]=t),this.trigger("__priv_bitrateEstimateChange",{type:e,bitrate:t})}_priv_setPlayerState(e){this.state!==e&&(this.state=e,m.info("API: playerStateChange event",e),this.trigger("playerStateChange",e))}_priv_triggerPositionUpdate(e,t){var s,d;if(e.contentId!==((s=this._priv_contentInfos)==null?void 0:s.contentId))return;let{isDirectFile:r,manifest:i}=e;if(!r&&i===null||_(t))return;let o=i!==null?bt(i):void 0,a={position:t.position.getPolled(),duration:t.duration,playbackRate:t.playbackRate,maximumPosition:o,bufferGap:t.bufferGap===void 0||!isFinite(t.bufferGap)?0:t.bufferGap};if(i!==null&&i.isLive&&t.position.getPolled()>0){let u=(d=i.availabilityStartTime)!=null?d:0;a.wallClockTime=t.position.getPolled()+u;let c=yn(i);c!==void 0&&(a.liveGap=c-t.position.getPolled())}else if(r&&this.videoElement!==null){let u=io(this.videoElement);u!==void 0&&(a.wallClockTime=u+t.position.getPolled())}this.trigger("positionUpdate",a)}_priv_triggerEventIfNotStopped(e,t,r){r.isCancelled()||this.trigger(e,t)}_priv_initializeMediaElementTracksStore(e){var r,i,o;te(me.directfile!==null,"Initializing `MediaElementTracksStore` without Directfile feature"),te(this.videoElement!==null,"Initializing `MediaElementTracksStore` on a disposed RxPlayer");let t=new me.directfile.mediaElementTracksStore(this.videoElement);return this._priv_triggerEventIfNotStopped("availableAudioTracksChange",t.getAvailableAudioTracks(),e),this._priv_triggerEventIfNotStopped("availableVideoTracksChange",t.getAvailableVideoTracks(),e),this._priv_triggerEventIfNotStopped("availableTextTracksChange",t.getAvailableTextTracks(),e),this._priv_triggerEventIfNotStopped("audioTrackChange",(r=t.getChosenAudioTrack())!=null?r:null,e),this._priv_triggerEventIfNotStopped("textTrackChange",(i=t.getChosenTextTrack())!=null?i:null,e),this._priv_triggerEventIfNotStopped("videoTrackChange",(o=t.getChosenVideoTrack())!=null?o:null,e),t.addEventListener("availableVideoTracksChange",a=>this.trigger("availableVideoTracksChange",a)),t.addEventListener("availableAudioTracksChange",a=>this.trigger("availableAudioTracksChange",a)),t.addEventListener("availableTextTracksChange",a=>this.trigger("availableTextTracksChange",a)),t.addEventListener("audioTrackChange",a=>this.trigger("audioTrackChange",a)),t.addEventListener("videoTrackChange",a=>this.trigger("videoTrackChange",a)),t.addEventListener("textTrackChange",a=>this.trigger("textTrackChange",a)),t}_priv_callTracksStoreGetterSetter(e,t,r){var d,u;if(this._priv_contentInfos===null||this._priv_contentInfos.tracksStore===null)return m.warn("API: Trying to call track API too soon"),t;let{tracksStore:i}=this._priv_contentInfos,o=(u=(d=this._priv_contentInfos)==null?void 0:d.currentPeriod)!=null?u:void 0,a=e!=null?e:o==null?void 0:o.id;if(a===void 0)return t;let s=a===(o==null?void 0:o.id)?i.getPeriodObjectFromPeriod(o):i.getPeriodObjectFromId(a);return s===void 0?t:r(i,s)}_priv_onAvailableTracksMayHaveChanged(e,t){let r=this._priv_contentInfos;if(r===null)return;let{currentPeriod:i,tracksStore:o,currentContentCanceller:a}=r,s=a.signal;if(_(i)||o===null)return;let d=t!=null?t:o.getPeriodObjectFromPeriod(i);if(d!==void 0)switch(e){case"video":let u=o.getAvailableVideoTracks(d);this._priv_triggerEventIfNotStopped("availableVideoTracksChange",u!=null?u:[],s);break;case"audio":let c=o.getAvailableAudioTracks(d);this._priv_triggerEventIfNotStopped("availableAudioTracksChange",c!=null?c:[],s);break;case"text":let l=o.getAvailableTextTracks(d);this._priv_triggerEventIfNotStopped("availableTextTracksChange",l!=null?l:[],s);break;default:Qe(e)}}_priv_onFatalError(e,t){let r=we(e,{defaultCode:"NONE",defaultReason:"An unknown error stopped content playback."});r.fatal=!0,t.currentContentCanceller.cancel(),this._priv_cleanUpCurrentContentState(),this._priv_currentError=r,m.error("API: The player stopped because of an error",r),this._priv_setPlayerState("STOPPED"),this._priv_currentError===r&&this.trigger("error",r)}};Ut._priv_currentlyUsedVideoElements=new WeakSet;var xa=Ut;xa.version="4.2.0-dev.2024081300";var Xm=xa;var Pl=Xm;wa();Pl.addFeatures([Tl,au,cu,fu,dl,rl,fl,ol,Vu,yu,Ju,Su]);xn()?m.setLevel("DEBUG","standard"):I.CURRENT_ENV===I.DEV&&m.setLevel(S.CURRENT_LEVEL,"standard");var xoe=Pl;})();