@mux/mux-player 3.2.1-canary.2 → 3.2.1

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.
@@ -1,11 +1,11 @@
1
- "use strict";(()=>{var _c=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var Te=(i,e,t)=>(_c(i,e,"read from private field"),t?t.call(i):e.get(i)),Xe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ut=(i,e,t,r)=>(_c(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Qe=(i,e,t)=>(_c(i,e,"access private method"),t);var Hs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Hs{}globalThis.DocumentFragment=i}var Yn=class extends Hs{},Ac=class extends Hs{},Q_={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Yn)}},qn,Sc=class{constructor(e,t={}){Xe(this,qn,void 0);Ut(this,qn,t==null?void 0:t.detail)}get detail(){return Te(this,qn)}initCustomEvent(){}};qn=new WeakMap;function Z_(i,e){return new Yn}var Zg={document:{createElement:Z_},DocumentFragment,customElements:Q_,CustomEvent:Sc,EventTarget:Hs,HTMLElement:Yn,HTMLVideoElement:Ac},Jg=typeof window=="undefined"||typeof globalThis.customElements=="undefined",It=Jg?Zg:globalThis,Gs=Jg?Zg.document:globalThis.document;var H={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},ue={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},xc={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_WIDTH:"mediaWidth"},e0=Object.entries(xc),y=e0.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),J_={USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Hi=e0.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...J_}),vD=Object.entries(Hi).reduce((i,[e,t])=>{let r=y[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),t0=Object.entries(y).reduce((i,[e,t])=>{let r=Hi[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),Lt={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},ar={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var Rc={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Ft={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},jt={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var i0={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var tA={2:"Network Error",3:"Decode Error",4:"Source Not Supported",5:"Encryption Error"},iA={2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."},Ic=i=>{var e,t;return i.code===1?null:{title:(e=tA[i.code])!=null?e:`Error ${i.code}`,message:(t=iA[i.code])!=null?t:i.message}},he={ENTER_AIRPLAY:"Start airplay",EXIT_AIRPLAY:"Stop airplay",AUDIO_TRACK_MENU:"Audio",CAPTIONS:"Captions",ENABLE_CAPTIONS:"Enable captions",DISABLE_CAPTIONS:"Disable captions",START_CAST:"Start casting",STOP_CAST:"Stop casting",ENTER_FULLSCREEN:"Enter fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",MUTE:"Mute",UNMUTE:"Unmute",ENTER_PIP:"Enter picture in picture mode",EXIT_PIP:"Enter picture in picture mode",PLAY:"Play",PAUSE:"Pause",PLAYBACK_RATE:"Playback rate",RENDITIONS:"Quality",SEEK_BACKWARD:"Seek backward",SEEK_FORWARD:"Seek forward",SETTINGS:"Settings"},Oe={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},Ne={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},rA={...Oe,...Ne};function r0(i){return i==null?void 0:i.map(sA).join(" ")}function s0(i){return i==null?void 0:i.split(/\s+/).map(nA)}function sA(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function nA(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function n0(i){return i==null?void 0:i.map(aA).join(" ")}function a0(i){return i==null?void 0:i.split(/\s+/).map(oA)}function aA(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function oA(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function o0(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Ks(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function Po(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Oo=i=>new Promise(e=>setTimeout(e,i));var l0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],lA=(i,e)=>{let t=i===1?l0[e].singular:l0[e].plural;return`${i} ${t}`},Pr=i=>{if(!Ks(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&lA(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function li(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var TD=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var No=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Uo=class extends No{},Fo=class extends Uo{constructor(){super(...arguments),this.role=null}},Lc=class{observe(){}unobserve(){}disconnect(){}},d0={createElement:function(){return new jn.HTMLElement},createElementNS:function(){return new jn.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},jn={ResizeObserver:Lc,document:d0,Node:Uo,Element:Fo,HTMLElement:class extends Fo{constructor(){super(...arguments),this.innerHTML=""}get content(){return new jn.DocumentFragment}},DocumentFragment:class extends No{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},u0=typeof window=="undefined"||typeof window.customElements=="undefined",c0=Object.keys(jn).every(i=>i in globalThis),S=u0&&!c0?jn:globalThis,B=u0&&!c0?d0:globalThis.document;var h0=new WeakMap,kc=i=>{let e=h0.get(i);return e||h0.set(i,e=new Set),e},f0=new S.ResizeObserver(i=>{for(let e of i)for(let t of kc(e.target))t(e)});function Gi(i,e){kc(i).add(e),f0.observe(i)}function Or(i,e){let t=kc(i);t.delete(e),t.size||f0.unobserve(i)}function m0(i){let e={};for(let t of i)e[t.name]=t.value;return e}function Ge(i){var e;return(e=Bo(i))!=null?e:di(i,"media-controller")}function Bo(i){var e;let{MEDIA_CONTROLLER:t}=ue,r=i.getAttribute(t);if(r)return(e=Nr(i))==null?void 0:e.getElementById(r)}var $o=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},uA=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},Ho=(i,e)=>uA(i,e)[0],At=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:At(i,e.getRootNode().host),di=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||di(i.getRootNode().host,e)};function zn(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=zn(t.shadowRoot))!=null?e:t:null}function Nr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Go(i,{depth:e=3,checkOpacity:t=!0,checkVisibilityCSS:r=!0}={}){if(i.checkVisibility)return i.checkVisibility({checkOpacity:t,checkVisibilityCSS:r});let s=i;for(;s&&e>0;){let n=getComputedStyle(s);if(t&&n.opacity==="0"||r&&n.visibility==="hidden"||n.display==="none")return!1;s=s.parentElement,e--}return!0}function p0(i,e,t,r){let s=Cc(t,r),n=Cc(t,{x:i,y:e}),a=Cc(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function Cc(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function ke(i,e){let t=cA(i,r=>r===e);return t||wc(i,e)}function cA(i,e){var t,r;let s;for(s of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=s.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n!=null?n:[])if(e(a.selectorText))return a}}function wc(i,e){var t,r;let s=(t=i.querySelectorAll("style:not([media])"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function fe(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function Ee(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}fe(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Se(i,e){return i.hasAttribute(e)}function _e(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Se(i,e)!=t&&i.toggleAttribute(e,t)}function me(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function ce(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;me(i,e,void 0)!==r&&i.setAttribute(e,r)}var g0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},or=(i,e,t)=>(g0(i,e,"read from private field"),t?t.call(i):e.get(i)),hA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ko=(i,e,t,r)=>(g0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),kt,v0=B.createElement("template");v0.innerHTML=`
1
+ "use strict";(()=>{var Tc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var _e=(i,e,t)=>(Tc(i,e,"read from private field"),t?t.call(i):e.get(i)),Xe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ut=(i,e,t,r)=>(Tc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Qe=(i,e,t)=>(Tc(i,e,"access private method"),t);var Hs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Hs{}globalThis.DocumentFragment=i}var Vn=class extends Hs{},_c=class extends Hs{},Z_={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Vn)}},Yn,Ac=class{constructor(e,t={}){Xe(this,Yn,void 0);Ut(this,Yn,t==null?void 0:t.detail)}get detail(){return _e(this,Yn)}initCustomEvent(){}};Yn=new WeakMap;function J_(i,e){return new Vn}var Zg={document:{createElement:J_},DocumentFragment,customElements:Z_,CustomEvent:Ac,EventTarget:Hs,HTMLElement:Vn,HTMLVideoElement:_c},Jg=typeof window=="undefined"||typeof globalThis.customElements=="undefined",It=Jg?Zg:globalThis,Gs=Jg?Zg.document:globalThis.document;var H={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},ue={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},Sc={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_WIDTH:"mediaWidth"},e0=Object.entries(Sc),y=e0.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),eA={USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Hi=e0.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...eA}),ED=Object.entries(Hi).reduce((i,[e,t])=>{let r=y[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),t0=Object.entries(y).reduce((i,[e,t])=>{let r=Hi[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),Lt={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},ar={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var xc={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Ft={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},jt={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var i0={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var iA={2:"Network Error",3:"Decode Error",4:"Source Not Supported",5:"Encryption Error"},rA={2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."},Rc=i=>{var e,t;return i.code===1?null:{title:(e=iA[i.code])!=null?e:`Error ${i.code}`,message:(t=rA[i.code])!=null?t:i.message}},he={ENTER_AIRPLAY:"Start airplay",EXIT_AIRPLAY:"Stop airplay",AUDIO_TRACK_MENU:"Audio",CAPTIONS:"Captions",ENABLE_CAPTIONS:"Enable captions",DISABLE_CAPTIONS:"Disable captions",START_CAST:"Start casting",STOP_CAST:"Stop casting",ENTER_FULLSCREEN:"Enter fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",MUTE:"Mute",UNMUTE:"Unmute",ENTER_PIP:"Enter picture in picture mode",EXIT_PIP:"Enter picture in picture mode",PLAY:"Play",PAUSE:"Pause",PLAYBACK_RATE:"Playback rate",RENDITIONS:"Quality",SEEK_BACKWARD:"Seek backward",SEEK_FORWARD:"Seek forward",SETTINGS:"Settings"},Ne={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},Ue={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},sA={...Ne,...Ue};function r0(i){return i==null?void 0:i.map(nA).join(" ")}function s0(i){return i==null?void 0:i.split(/\s+/).map(aA)}function nA(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function aA(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function n0(i){return i==null?void 0:i.map(oA).join(" ")}function a0(i){return i==null?void 0:i.split(/\s+/).map(lA)}function oA(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function lA(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function o0(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Ks(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function Mo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Po=i=>new Promise(e=>setTimeout(e,i));var l0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],dA=(i,e)=>{let t=i===1?l0[e].singular:l0[e].plural;return`${i} ${t}`},Pr=i=>{if(!Ks(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&dA(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function li(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var _D=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Oo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},No=class extends Oo{},Uo=class extends No{constructor(){super(...arguments),this.role=null}},Ic=class{observe(){}unobserve(){}disconnect(){}},d0={createElement:function(){return new qn.HTMLElement},createElementNS:function(){return new qn.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},qn={ResizeObserver:Ic,document:d0,Node:No,Element:Uo,HTMLElement:class extends Uo{constructor(){super(...arguments),this.innerHTML=""}get content(){return new qn.DocumentFragment}},DocumentFragment:class extends Oo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},u0=typeof window=="undefined"||typeof window.customElements=="undefined",c0=Object.keys(qn).every(i=>i in globalThis),S=u0&&!c0?qn:globalThis,B=u0&&!c0?d0:globalThis.document;var h0=new WeakMap,Lc=i=>{let e=h0.get(i);return e||h0.set(i,e=new Set),e},f0=new S.ResizeObserver(i=>{for(let e of i)for(let t of Lc(e.target))t(e)});function Gi(i,e){Lc(i).add(e),f0.observe(i)}function Or(i,e){let t=Lc(i);t.delete(e),t.size||f0.unobserve(i)}function m0(i){let e={};for(let t of i)e[t.name]=t.value;return e}function Ke(i){var e;return(e=Fo(i))!=null?e:di(i,"media-controller")}function Fo(i){var e;let{MEDIA_CONTROLLER:t}=ue,r=i.getAttribute(t);if(r)return(e=Nr(i))==null?void 0:e.getElementById(r)}var Bo=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},cA=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},$o=(i,e)=>cA(i,e)[0],At=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:At(i,e.getRootNode().host),di=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||di(i.getRootNode().host,e)};function jn(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=jn(t.shadowRoot))!=null?e:t:null}function Nr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Ho(i,{depth:e=3,checkOpacity:t=!0,checkVisibilityCSS:r=!0}={}){if(i.checkVisibility)return i.checkVisibility({checkOpacity:t,checkVisibilityCSS:r});let s=i;for(;s&&e>0;){let n=getComputedStyle(s);if(t&&n.opacity==="0"||r&&n.visibility==="hidden"||n.display==="none")return!1;s=s.parentElement,e--}return!0}function p0(i,e,t,r){let s=kc(t,r),n=kc(t,{x:i,y:e}),a=kc(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function kc(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Ce(i,e){let t=hA(i,r=>r===e);return t||Cc(i,e)}function hA(i,e){var t,r;let s;for(s of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=s.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n!=null?n:[])if(e(a.selectorText))return a}}function Cc(i,e){var t,r;let s=(t=i.querySelectorAll("style:not([media])"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function fe(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function be(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}fe(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function xe(i,e){return i.hasAttribute(e)}function Ae(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}xe(i,e)!=t&&i.toggleAttribute(e,t)}function me(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function ce(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;me(i,e,void 0)!==r&&i.setAttribute(e,r)}var g0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},or=(i,e,t)=>(g0(i,e,"read from private field"),t?t.call(i):e.get(i)),fA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Go=(i,e,t,r)=>(g0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),kt,v0=B.createElement("template");v0.innerHTML=`
2
2
  <style>
3
3
  :host {
4
4
  display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
5
5
  box-sizing: border-box;
6
6
  }
7
7
  </style>
8
- `;var Dc=class extends S.HTMLElement{constructor(e={}){if(super(),hA(this,kt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=v0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=B.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=or(this,kt))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ko(this,kt,null)),r&&this.isConnected&&(Ko(this,kt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=or(this,kt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Ko(this,kt,fA(this)),this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,kt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=or(this,kt))==null||r.addEventListener("pointerdown",this),(s=or(this,kt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,kt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=or(this,kt))==null||r.removeEventListener("pointerdown",this),(s=or(this,kt))==null||s.removeEventListener("click",this),Ko(this,kt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===Rc.TOUCH){this.handleTap(e);return}else if(f===Rc.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Se(this,y.MEDIA_PAUSED)}set mediaPaused(e){_e(this,y.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new S.CustomEvent(t,{composed:!0,bubbles:!0}))}};kt=new WeakMap;function fA(i){var e;let t=i.getAttribute(ue.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):di(i,"media-controller")}S.customElements.get("media-gesture-receiver")||S.customElements.define("media-gesture-receiver",Dc);var Oc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lr=(i,e,t)=>(Oc(i,e,"read from private field"),t?t.call(i):e.get(i)),Ki=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Xn=(i,e,t,r)=>(Oc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),zt=(i,e,t)=>(Oc(i,e,"access private method"),t),Wo,Ws,Qn,Vs,Mc,E0,Pc,b0,Zn,Vo,Yo,Nc,Ys,Jn,ge={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},y0=B.createElement("template");y0.innerHTML=`
8
+ `;var wc=class extends S.HTMLElement{constructor(e={}){if(super(),fA(this,kt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=v0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=B.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=or(this,kt))==null?void 0:s.unassociateElement)==null||n.call(s,this),Go(this,kt,null)),r&&this.isConnected&&(Go(this,kt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=or(this,kt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Go(this,kt,mA(this)),this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,kt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=or(this,kt))==null||r.addEventListener("pointerdown",this),(s=or(this,kt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,kt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=or(this,kt))==null||r.removeEventListener("pointerdown",this),(s=or(this,kt))==null||s.removeEventListener("click",this),Go(this,kt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===xc.TOUCH){this.handleTap(e);return}else if(f===xc.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return xe(this,y.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,y.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new S.CustomEvent(t,{composed:!0,bubbles:!0}))}};kt=new WeakMap;function mA(i){var e;let t=i.getAttribute(ue.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):di(i,"media-controller")}S.customElements.get("media-gesture-receiver")||S.customElements.define("media-gesture-receiver",wc);var Pc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lr=(i,e,t)=>(Pc(i,e,"read from private field"),t?t.call(i):e.get(i)),Ki=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},zn=(i,e,t,r)=>(Pc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),zt=(i,e,t)=>(Pc(i,e,"access private method"),t),Ko,Ws,Xn,Vs,Dc,E0,Mc,b0,Qn,Wo,Vo,Oc,Ys,Zn,ve={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},y0=B.createElement("template");y0.innerHTML=`
9
9
  <style>
10
10
 
11
11
  :host([${y.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
@@ -20,7 +20,7 @@
20
20
  background-color: var(--media-background-color, #000);
21
21
  }
22
22
 
23
- :host(:not([${ge.AUDIO}])) [part~=layer]:not([part~=media-layer]) {
23
+ :host(:not([${ve.AUDIO}])) [part~=layer]:not([part~=media-layer]) {
24
24
  position: absolute;
25
25
  top: 0;
26
26
  left: 0;
@@ -38,19 +38,19 @@
38
38
  }
39
39
 
40
40
 
41
- :host([${ge.AUDIO}]) slot[name=media] {
41
+ :host([${ve.AUDIO}]) slot[name=media] {
42
42
  display: var(--media-slot-display, none);
43
43
  }
44
44
 
45
45
 
46
- :host([${ge.AUDIO}]) [part~=layer][part~=gesture-layer] {
46
+ :host([${ve.AUDIO}]) [part~=layer][part~=gesture-layer] {
47
47
  height: 0;
48
48
  display: block;
49
49
  }
50
50
 
51
51
 
52
- :host(:not([${ge.AUDIO}])[${ge.GESTURES_DISABLED}]) ::slotted([slot=gestures-chrome]),
53
- :host(:not([${ge.AUDIO}])[${ge.GESTURES_DISABLED}]) media-gesture-receiver[slot=gestures-chrome] {
52
+ :host(:not([${ve.AUDIO}])[${ve.GESTURES_DISABLED}]) ::slotted([slot=gestures-chrome]),
53
+ :host(:not([${ve.AUDIO}])[${ve.GESTURES_DISABLED}]) media-gesture-receiver[slot=gestures-chrome] {
54
54
  display: none;
55
55
  }
56
56
 
@@ -59,13 +59,13 @@
59
59
  pointer-events: auto;
60
60
  }
61
61
 
62
- :host(:not([${ge.AUDIO}])) *[part~=layer][part~=centered-layer] {
62
+ :host(:not([${ve.AUDIO}])) *[part~=layer][part~=centered-layer] {
63
63
  align-items: center;
64
64
  justify-content: center;
65
65
  }
66
66
 
67
- :host(:not([${ge.AUDIO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),
68
- :host(:not([${ge.AUDIO}])) media-gesture-receiver[slot=gestures-chrome] {
67
+ :host(:not([${ve.AUDIO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),
68
+ :host(:not([${ve.AUDIO}])) media-gesture-receiver[slot=gestures-chrome] {
69
69
  align-self: stretch;
70
70
  flex-grow: 1;
71
71
  }
@@ -85,7 +85,7 @@
85
85
  }
86
86
 
87
87
 
88
- :host(:not([${ge.AUDIO}])) .spacer {
88
+ :host(:not([${ve.AUDIO}])) .spacer {
89
89
  flex-grow: 1;
90
90
  }
91
91
 
@@ -97,18 +97,18 @@
97
97
  }
98
98
 
99
99
 
100
- ::slotted(:not([slot=media]):not([slot=poster]):not([${ge.NO_AUTOHIDE}]):not([hidden]):not([role=dialog])) {
100
+ ::slotted(:not([slot=media]):not([slot=poster]):not([${ve.NO_AUTOHIDE}]):not([hidden]):not([role=dialog])) {
101
101
  opacity: 1;
102
102
  transition: opacity 0.25s;
103
103
  }
104
104
 
105
105
 
106
- :host([${ge.USER_INACTIVE}]:not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_AIRPLAYING}]):not([${y.MEDIA_IS_CASTING}]):not([${ge.AUDIO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${ge.NO_AUTOHIDE}]):not([role=dialog])) {
106
+ :host([${ve.USER_INACTIVE}]:not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_AIRPLAYING}]):not([${y.MEDIA_IS_CASTING}]):not([${ve.AUDIO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${ve.NO_AUTOHIDE}]):not([role=dialog])) {
107
107
  opacity: 0;
108
108
  transition: opacity 1s;
109
109
  }
110
110
 
111
- :host([${ge.USER_INACTIVE}]:not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_CASTING}]):not([${ge.AUDIO}])) ::slotted([slot=media]) {
111
+ :host([${ve.USER_INACTIVE}]:not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_CASTING}]):not([${ve.AUDIO}])) ::slotted([slot=media]) {
112
112
  cursor: none;
113
113
  }
114
114
 
@@ -117,7 +117,7 @@
117
117
  }
118
118
 
119
119
 
120
- :host(:not([${ge.AUDIO}])[${y.MEDIA_HAS_PLAYED}]) slot[name=poster] {
120
+ :host(:not([${ve.AUDIO}])[${y.MEDIA_HAS_PLAYED}]) slot[name=poster] {
121
121
  display: none;
122
122
  }
123
123
 
@@ -145,7 +145,7 @@
145
145
  <slot part="bottom chrome"></slot>
146
146
  </span>
147
147
  <slot name="dialog" part="layer dialog-layer"></slot>
148
- `;var mA=Object.values(y),pA="sm:384 md:576 lg:768 xl:960";function gA(i){vA(i.target,i.contentRect.width)}function vA(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(ge.BREAKPOINTS))!=null?t:pA,s=EA(r),n=bA(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(Hi.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function EA(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function bA(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var ea=class extends S.HTMLElement{constructor(){super(),Ki(this,Mc),Ki(this,Pc),Ki(this,Zn),Ki(this,Yo),Ki(this,Ys),Ki(this,Wo,0),Ki(this,Ws,null),Ki(this,Qn,null),Ki(this,Vs,void 0),this.breakpointsComputed=!1,this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(y0.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Gi(this,a=>{r||(setTimeout(()=>{gA(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(Hi.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){lr(this,Ws)&&this.mediaUnsetCallback(lr(this,Ws));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[ge.AUTOHIDE,ge.GESTURES_DISABLED].concat(mA).filter(e=>![y.MEDIA_RENDITION_LIST,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_CHAPTERS_CUES,y.MEDIA_WIDTH,y.MEDIA_HEIGHT,y.MEDIA_ERROR,y.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==ge.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(Xn(this,Ws,e),e.localName.includes("-")&&await S.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(ge.AUDIO)!=null?Oe.AUDIO_PLAYER():Oe.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(ge.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=S.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=S.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){Xn(this,Ws,null)}handleEvent(e){switch(e.type){case"pointerdown":Xn(this,Wo,e.timeStamp);break;case"pointermove":zt(this,Mc,E0).call(this,e);break;case"pointerup":zt(this,Pc,b0).call(this,e);break;case"mouseleave":zt(this,Zn,Vo).call(this);break;case"mouseup":this.removeAttribute(ge.KEYBOARD_CONTROL);break;case"keyup":zt(this,Ys,Jn).call(this),this.setAttribute(ge.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);Xn(this,Vs,isNaN(t)?0:t)}get autohide(){return(lr(this,Vs)===void 0?2:lr(this,Vs)).toString()}};Wo=new WeakMap;Ws=new WeakMap;Qn=new WeakMap;Vs=new WeakMap;Mc=new WeakSet;E0=function(i){i.pointerType!=="mouse"&&i.timeStamp-lr(this,Wo)<250||(zt(this,Yo,Nc).call(this),clearTimeout(lr(this,Qn)),[this,this.media].includes(i.target)&&zt(this,Ys,Jn).call(this))};Pc=new WeakSet;b0=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(ge.USER_INACTIVE);[this,this.media].includes(i.target)&&e?zt(this,Zn,Vo).call(this):zt(this,Ys,Jn).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&zt(this,Ys,Jn).call(this)};Zn=new WeakSet;Vo=function(){if(lr(this,Vs)<0||this.hasAttribute(ge.USER_INACTIVE))return;this.setAttribute(ge.USER_INACTIVE,"");let i=new S.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Yo=new WeakSet;Nc=function(){if(!this.hasAttribute(ge.USER_INACTIVE))return;this.removeAttribute(ge.USER_INACTIVE);let i=new S.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};Ys=new WeakSet;Jn=function(){zt(this,Yo,Nc).call(this),clearTimeout(lr(this,Qn));let i=parseInt(this.autohide);i<0||Xn(this,Qn,setTimeout(()=>{zt(this,Zn,Vo).call(this)},i*1e3))};S.customElements.get("media-container")||S.customElements.define("media-container",ea);var T0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lt=(i,e,t)=>(T0(i,e,"read from private field"),t?t.call(i):e.get(i)),ta=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qo=(i,e,t,r)=>(T0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),qs,js,jo,Ur,Wi,dr,ui=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ta(this,Wi),ta(this,qs,void 0),ta(this,js,void 0),ta(this,jo,void 0),ta(this,Ur,new Set),qo(this,qs,e),qo(this,js,t),qo(this,jo,new Set(r))}[Symbol.iterator](){return lt(this,Wi,dr).values()}get length(){return lt(this,Wi,dr).size}get value(){var e;return(e=[...lt(this,Wi,dr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(qo(this,Ur,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...lt(this,Wi,dr)][e]}values(){return lt(this,Wi,dr).values()}forEach(e,t){lt(this,Wi,dr).forEach(e,t)}add(...e){var t,r;e.forEach(s=>lt(this,Ur).add(s)),!(this.value===""&&!((t=lt(this,qs))!=null&&t.hasAttribute(`${lt(this,js)}`)))&&((r=lt(this,qs))==null||r.setAttribute(`${lt(this,js)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>lt(this,Ur).delete(r)),(t=lt(this,qs))==null||t.setAttribute(`${lt(this,js)}`,`${this.value}`)}contains(e){return lt(this,Wi,dr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};qs=new WeakMap;js=new WeakMap;jo=new WeakMap;Ur=new WeakMap;Wi=new WeakSet;dr=function(){return lt(this,Ur).size?lt(this,Ur):lt(this,jo)};var yA=(i="")=>i.split(/\s+/),_0=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?Lt.CAPTIONS:Lt.SUBTITLES,language:t,label:s}},Fr=(i="",e={})=>yA(i).map(t=>{let r=_0(t);return{...e,...r}}),Uc=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?_0(e):e):typeof i=="string"?Fr(i):[i]:[],zo=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Vi=(i=[])=>Array.prototype.map.call(i,zo).join(" "),TA=(i,e)=>t=>t[i]===e,A0=i=>{let e=Object.entries(i).map(([t,r])=>TA(t,r));return t=>e.every(r=>r(t))},Br=(i,e=[],t=[])=>{let r=Uc(t).map(A0),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},$r=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:A0(e);return Array.from(i.textTracks).filter(t)},Xo=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(y.MEDIA_SUBTITLES_SHOWING)};var x0=i=>{var e;let{media:t,fullscreenElement:r}=i,s=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(s){let n=(e=r[s])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()},S0="exitFullscreen"in B?"exitFullscreen":"webkitExitFullscreen"in B?"webkitExitFullscreen":"webkitCancelFullScreen"in B?"webkitCancelFullScreen":void 0,R0=i=>{var e;let{documentElement:t}=i;if(S0){let r=(e=t==null?void 0:t[S0])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ia="fullscreenElement"in B?"fullscreenElement":"webkitFullscreenElement"in B?"webkitFullscreenElement":void 0,_A=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ia];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===i0.FULLSCREEN?t:r},I0=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=_A(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ia in a))return At(n,s);for(;a!=null&&a[ia];){if(a[ia]===s)return!0;a=(e=a[ia])==null?void 0:e.shadowRoot}}return!1},AA="fullscreenEnabled"in B?"fullscreenEnabled":"webkitFullscreenEnabled"in B?"webkitFullscreenEnabled":void 0,L0=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[AA])||t&&"webkitSupportsFullscreen"in t};var Qo,Fc=()=>{var i,e;return Qo||(Qo=(e=(i=B)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),Qo)},k0=async(i=Fc())=>{if(!i)return!1;let e=i.volume;i.volume=e/2+.1;let t=new AbortController,r=await Promise.race([SA(i,t.signal),xA(i,e)]);return t.abort(),r},SA=(i,e)=>new Promise(t=>{i.addEventListener("volumechange",()=>t(!0),{signal:e})}),xA=async(i,e)=>{for(let t=0;t<10;t++){if(i.volume===e)return!1;await Oo(10)}return i.volume!==e},RA=/.*Version\/.*Safari\/.*/.test(S.navigator.userAgent),Bc=(i=Fc())=>S.matchMedia("(display-mode: standalone)").matches&&RA?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",$c=(i=Fc())=>L0({documentElement:B,media:i}),C0=$c(),w0=Bc(),D0=!!S.WebKitPlaybackTargetAvailabilityEvent,M0=!!S.chrome;var zs=i=>$r(i.media,e=>[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Hc=i=>$r(i.media,e=>e.mode===ar.SHOWING&&[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)),Zo=(i,e)=>{let t=zs(i),r=Hc(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)Br(ar.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;Br(ar.DISABLED,t,r),Br(ar.SHOWING,t,[{language:o,label:l,kind:d}])}}},Jo=(i,e)=>i===e?!0:i==null||e==null||typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?IA(i,e):Object.entries(i).every(([t,r])=>t in e&&Jo(r,e[t])),IA=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>Jo(s,e[n])):!0};var LA=Object.values(jt),el,kA=k0().then(i=>(el=i,el)),P0=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof S.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=S.customElements.get(t);r&&e instanceof r||(await S.customElements.whenDefined(t),S.customElements.upgrade(e))}))},ra={mediaError:{get(i){let{media:e}=i;return e==null?void 0:e.error},mediaEvents:["emptied","error"]},mediaErrorCode:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.error)==null?void 0:e.code},mediaEvents:["emptied","error"]},mediaErrorMessage:{get(i){var e,t;let{media:r}=i;return(t=(e=r==null?void 0:r.error)==null?void 0:e.message)!=null?t:""},mediaEvents:["emptied","error"]},mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?S.localStorage.removeItem("media-chrome-pref-volume"):S.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=S.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;ra.mediaVolume.set(+r,e),i(+r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||!Ks(i)||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[jt.LIVE,jt.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(LA.includes(s))return s===jt.UNKNOWN?r:s;let n=e.duration;return n===1/0?jt.LIVE:Number.isFinite(n)?jt.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=ra.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===jt.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(ra.mediaStreamType.get(i)===jt.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return zs(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Hc(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![Lt.CAPTIONS,Lt.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||Zo(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=$r(t,{kind:Lt.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;if(!r)return;let s=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return s==null||s.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{s==null||s.removeEventListener("load",i),n==null||n.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?At(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!B.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else B.pictureInPictureElement&&B.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return I0(i)},set(i,e){i?x0(e):R0(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&S.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!C0||!$c(e))return Ft.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!w0||!Bc(e))return Ft.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(el===!1||(e==null?void 0:e.volume)==null)return Ft.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{el==null&&kA.then(e=>i(e?void 0:Ft.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!M0||!((t=r==null?void 0:r.remote)!=null&&t.state))return Ft.UNSUPPORTED;if(!(e==null||e==="available"))return Ft.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!D0)return Ft.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Ft.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Ft.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Ft.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var O0={[H.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=$r(a,{kind:Lt.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(b=>+b),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[H.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[H.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===jt.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[H.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[H.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[H.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[H.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[H.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[H.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))||i[r].set(s,e)},[H.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=zs(e),a=Uc(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&S.localStorage.setItem("media-chrome-pref-subtitles-lang",o),Br(ar.SHOWING,n,a)},[H.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=zs(e),s=t!=null?t:[];Br(ar.DISABLED,r,s)},[H.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){Zo(e,t)},[H.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[H.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[H.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[H.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[H.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[H.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var CA=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=ra,requestMap:s=O0,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(Jo(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:b}])=>(g[E]=b(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,b,T,_,A,k,x,M,O,D,R,P,N,$,G,K;let ee=!!f;if(f={...l,...f!=null?f:{},...p},ee)return;await P0(...Object.values(p));let ae=o.length>0&&g===0&&a,q=l.media!==f.media,V=((E=l.media)==null?void 0:E.textTracks)!==((b=f.media)==null?void 0:b.textTracks),le=((T=l.media)==null?void 0:T.videoRenditions)!==((_=f.media)==null?void 0:_.videoRenditions),te=((A=l.media)==null?void 0:A.audioTracks)!==((k=f.media)==null?void 0:k.audioTracks),ve=((x=l.media)==null?void 0:x.remote)!==((M=f.media)==null?void 0:M.remote),Be=l.documentElement!==f.documentElement,We=!!l.media&&(q||ae),je=!!((O=l.media)!=null&&O.textTracks)&&(V||ae),_t=!!((D=l.media)!=null&&D.videoRenditions)&&(le||ae),nr=!!((R=l.media)!=null&&R.audioTracks)&&(te||ae),Bs=!!((P=l.media)!=null&&P.remote)&&(ve||ae),Gg=!!l.documentElement&&(Be||ae),Kg=We||je||_t||nr||Bs||Gg,$s=o.length===0&&g===1&&a,Wg=!!f.media&&(q||$s),Vg=!!((N=f.media)!=null&&N.textTracks)&&(V||$s),Yg=!!(($=f.media)!=null&&$.videoRenditions)&&(le||$s),qg=!!((G=f.media)!=null&&G.audioTracks)&&(te||$s),jg=!!((K=f.media)!=null&&K.remote)&&(ve||$s),zg=!!f.documentElement&&(Be||$s),Xg=Wg||Vg||Yg||qg||jg||zg;if(!(Kg||Xg)){Object.entries(f).forEach(([Ce,Vn])=>{l[Ce]=Vn}),c(),f=void 0;return}Object.entries(r).forEach(([Ce,{get:Vn,mediaEvents:W_=[],textTracksEvents:V_=[],videoRenditionsEvents:Y_=[],audioTracksEvents:q_=[],remoteEvents:j_=[],rootEvents:z_=[],stateOwnersUpdateHandlers:X_=[]}])=>{h[Ce]||(h[Ce]={});let Ot=ze=>{let Nt=Vn(l,ze);u({[Ce]:Nt})},ot;ot=h[Ce].mediaEvents,W_.forEach(ze=>{ot&&We&&(l.media.removeEventListener(ze,ot),h[Ce].mediaEvents=void 0),Wg&&(f.media.addEventListener(ze,Ot),h[Ce].mediaEvents=Ot)}),ot=h[Ce].textTracksEvents,V_.forEach(ze=>{var Nt,qt;ot&&je&&((Nt=l.media.textTracks)==null||Nt.removeEventListener(ze,ot),h[Ce].textTracksEvents=void 0),Vg&&((qt=f.media.textTracks)==null||qt.addEventListener(ze,Ot),h[Ce].textTracksEvents=Ot)}),ot=h[Ce].videoRenditionsEvents,Y_.forEach(ze=>{var Nt,qt;ot&&_t&&((Nt=l.media.videoRenditions)==null||Nt.removeEventListener(ze,ot),h[Ce].videoRenditionsEvents=void 0),Yg&&((qt=f.media.videoRenditions)==null||qt.addEventListener(ze,Ot),h[Ce].videoRenditionsEvents=Ot)}),ot=h[Ce].audioTracksEvents,q_.forEach(ze=>{var Nt,qt;ot&&nr&&((Nt=l.media.audioTracks)==null||Nt.removeEventListener(ze,ot),h[Ce].audioTracksEvents=void 0),qg&&((qt=f.media.audioTracks)==null||qt.addEventListener(ze,Ot),h[Ce].audioTracksEvents=Ot)}),ot=h[Ce].remoteEvents,j_.forEach(ze=>{var Nt,qt;ot&&Bs&&((Nt=l.media.remote)==null||Nt.removeEventListener(ze,ot),h[Ce].remoteEvents=void 0),jg&&((qt=f.media.remote)==null||qt.addEventListener(ze,Ot),h[Ce].remoteEvents=Ot)}),ot=h[Ce].rootEvents,z_.forEach(ze=>{ot&&Gg&&(l.documentElement.removeEventListener(ze,ot),h[Ce].rootEvents=void 0),zg&&(f.documentElement.addEventListener(ze,Ot),h[Ce].rootEvents=Ot)});let Qg=h[Ce].stateOwnersUpdateHandlers;X_.forEach(ze=>{Qg&&Kg&&Qg(),Xg&&(h[Ce].stateOwnersUpdateHandlers=ze(Ot,f))})}),Object.entries(f).forEach(([Ce,Vn])=>{l[Ce]=Vn}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]&&d.mediaErrorCode==null){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([b,T])=>{l.options[b]=T})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},N0=CA;var Vc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pe=(i,e,t)=>(Vc(i,e,"read from private field"),t?t.call(i):e.get(i)),Yi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ur=(i,e,t,r)=>(Vc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cr=(i,e,t)=>(Vc(i,e,"access private method"),t),hr,sa,$e,na,ci,tl,il,Gc,Xs,aa,rl,Kc,H0=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],U0=10,be={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},sl=class extends ea{constructor(){super(),Yi(this,il),Yi(this,Xs),Yi(this,rl),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,Yi(this,hr,new ui(this,be.HOTKEYS)),Yi(this,sa,void 0),Yi(this,$e,void 0),Yi(this,na,void 0),Yi(this,ci,void 0),Yi(this,tl,t=>{var r;(r=pe(this,$e))==null||r.dispatch(t)}),this.associateElement(this);let e={};ur(this,na,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new S.CustomEvent(t0[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(be.NO_HOTKEYS,be.HOTKEYS,be.DEFAULT_STREAM_TYPE,be.DEFAULT_SUBTITLES,be.DEFAULT_DURATION)}get mediaStore(){return pe(this,$e)}set mediaStore(e){var t,r;if(pe(this,$e)&&((t=pe(this,ci))==null||t.call(this),ur(this,ci,void 0)),ur(this,$e,e),!pe(this,$e)&&!this.hasAttribute(be.NO_DEFAULT_STORE)){cr(this,il,Gc).call(this);return}ur(this,ci,(r=pe(this,$e))==null?void 0:r.subscribe(pe(this,na)))}get fullscreenElement(){var e;return(e=pe(this,sa))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(be.FULLSCREEN_ELEMENT)&&this.removeAttribute(be.FULLSCREEN_ELEMENT),ur(this,sa,e),(t=pe(this,$e))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===be.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(be.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===be.HOTKEYS)pe(this,hr).value=r;else if(e===be.DEFAULT_SUBTITLES&&r!==t)(s=pe(this,$e))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(be.DEFAULT_SUBTITLES)}});else if(e===be.DEFAULT_STREAM_TYPE)(a=pe(this,$e))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(be.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===be.LIVE_EDGE_OFFSET)(o=pe(this,$e))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(be.LIVE_EDGE_OFFSET)?+this.getAttribute(be.LIVE_EDGE_OFFSET):void 0}});else if(e===be.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;ur(this,sa,u),(d=pe(this,$e))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!pe(this,$e)&&!this.hasAttribute(be.NO_DEFAULT_STORE)&&cr(this,il,Gc).call(this),(e=pe(this,$e))==null||e.dispatch({type:"documentelementchangerequest",detail:B}),super.connectedCallback(),pe(this,$e)&&!pe(this,ci)&&ur(this,ci,(t=pe(this,$e))==null?void 0:t.subscribe(pe(this,na))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),pe(this,$e)&&((t=pe(this,$e))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=pe(this,$e))==null||r.dispatch({type:H.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),pe(this,ci)&&((s=pe(this,ci))==null||s.call(this),ur(this,ci,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=pe(this,$e))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=pe(this,$e))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){$0(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=NA(e,r,s);Object.values(H).forEach(a=>{e.addEventListener(a,pe(this,tl))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(H).forEach(s=>{e.removeEventListener(s,pe(this,tl))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),pe(this,$e)&&Object.entries(pe(this,$e).getState()).forEach(([s,n])=>{$0([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",cr(this,rl,Kc))}disableHotkeys(){this.removeEventListener("keydown",cr(this,rl,Kc)),this.removeEventListener("keyup",cr(this,Xs,aa))}get hotkeys(){return pe(this,hr)}keyboardShortcutHandler(e){var t,r,s,n,a;let o=e.target;if(((s=(r=(t=o.getAttribute(be.KEYS_USED))==null?void 0:t.split(" "))!=null?r:o==null?void 0:o.keysUsed)!=null?s:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!pe(this,hr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&pe(this,hr).contains("nospace")))switch(e.key){case" ":case"k":d=pe(this,$e).getState().mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?H.MEDIA_UNMUTE_REQUEST:H.MEDIA_MUTE_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?H.MEDIA_EXIT_FULLSCREEN_REQUEST:H.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new S.CustomEvent(H.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(be.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(be.KEYBOARD_BACKWARD_SEEK_OFFSET):U0;u=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-h,0),c=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(be.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(be.KEYBOARD_FORWARD_SEEK_OFFSET):U0;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+h,0),c=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};hr=new WeakMap;sa=new WeakMap;$e=new WeakMap;na=new WeakMap;ci=new WeakMap;tl=new WeakMap;il=new WeakSet;Gc=function(){var i;this.mediaStore=N0({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(be.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(be.DEFAULT_DURATION)?+this.getAttribute(be.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(be.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(be.LIVE_EDGE_OFFSET)?+this.getAttribute(be.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(be.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(be.NO_SUBTITLES_LANG_PREF)}})};Xs=new WeakSet;aa=function(i){let{key:e}=i;if(!H0.includes(e)){this.removeEventListener("keyup",cr(this,Xs,aa));return}this.keyboardShortcutHandler(i)};rl=new WeakSet;Kc=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!H0.includes(r)){this.removeEventListener("keyup",cr(this,Xs,aa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(pe(this,hr).contains(`no${r.toLowerCase()}`)||r===" "&&pe(this,hr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",cr(this,Xs,aa),{once:!0})};var wA=Object.values(y),DA=Object.values(xc),G0=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(S.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,ue.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>wA.includes(o)):[]},MA=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&S.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof S.customElements.get(i.nodeName.toLowerCase()))&&S.customElements.upgrade(i),DA.some(r=>r in i)},Wc=i=>MA(i)||!!G0(i).length,F0=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},B0={[y.MEDIA_SUBTITLES_LIST]:Vi,[y.MEDIA_SUBTITLES_SHOWING]:Vi,[y.MEDIA_SEEKABLE]:F0,[y.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(F0).join(" "),[y.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[y.MEDIA_RENDITION_LIST]:r0,[y.MEDIA_AUDIO_TRACK_LIST]:n0},PA=async(i,e,t)=>{var r,s;if(i.isConnected||await Oo(0),typeof t=="boolean"||t==null)return _e(i,e,t);if(typeof t=="number")return Ee(i,e,t);if(typeof t=="string")return ce(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=B0[e])==null?void 0:r.call(B0,t))!=null?s:t;return i.setAttribute(e,n)},OA=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},Hr=(i,e)=>{if(OA(i))return;let t=(s,n)=>{var a,o;Wc(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>Hr(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Wc(i)){S.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},$0=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=G0(r),n=e.toLowerCase();s.includes(n)&&PA(r,n,t)})},NA=(i,e,t)=>{Hr(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(H.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(H.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>Hr(E,e)),Array.prototype.forEach.call(f,E=>Hr(E,t))):m==="attributes"&&g===ue.MEDIA_CHROME_ATTRIBUTES&&(Wc(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>Hr(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>Hr(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{Hr(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(H.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(H.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};S.customElements.get("media-controller")||S.customElements.define("media-controller",sl);var Yc=sl;var jc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ze=(i,e,t)=>(jc(i,e,"read from private field"),t?t.call(i):e.get(i)),Qs=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nl=(i,e,t,r)=>(jc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),UA=(i,e,t)=>(jc(i,e,"access private method"),t),hi,Js,fr,Zs,ol,qc,K0,al={TOOLTIP_PLACEMENT:"tooltipplacement"},W0=B.createElement("template");W0.innerHTML=`
148
+ `;var pA=Object.values(y),gA="sm:384 md:576 lg:768 xl:960";function vA(i){EA(i.target,i.contentRect.width)}function EA(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(ve.BREAKPOINTS))!=null?t:gA,s=bA(r),n=yA(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(Hi.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function bA(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function yA(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var Jn=class extends S.HTMLElement{constructor(){super(),Ki(this,Dc),Ki(this,Mc),Ki(this,Qn),Ki(this,Vo),Ki(this,Ys),Ki(this,Ko,0),Ki(this,Ws,null),Ki(this,Xn,null),Ki(this,Vs,void 0),this.breakpointsComputed=!1,this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(y0.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Gi(this,a=>{r||(setTimeout(()=>{vA(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(Hi.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){lr(this,Ws)&&this.mediaUnsetCallback(lr(this,Ws));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[ve.AUTOHIDE,ve.GESTURES_DISABLED].concat(pA).filter(e=>![y.MEDIA_RENDITION_LIST,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_CHAPTERS_CUES,y.MEDIA_WIDTH,y.MEDIA_HEIGHT,y.MEDIA_ERROR,y.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==ve.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(zn(this,Ws,e),e.localName.includes("-")&&await S.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(ve.AUDIO)!=null?Ne.AUDIO_PLAYER():Ne.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(ve.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=S.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=S.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){zn(this,Ws,null)}handleEvent(e){switch(e.type){case"pointerdown":zn(this,Ko,e.timeStamp);break;case"pointermove":zt(this,Dc,E0).call(this,e);break;case"pointerup":zt(this,Mc,b0).call(this,e);break;case"mouseleave":zt(this,Qn,Wo).call(this);break;case"mouseup":this.removeAttribute(ve.KEYBOARD_CONTROL);break;case"keyup":zt(this,Ys,Zn).call(this),this.setAttribute(ve.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);zn(this,Vs,isNaN(t)?0:t)}get autohide(){return(lr(this,Vs)===void 0?2:lr(this,Vs)).toString()}};Ko=new WeakMap;Ws=new WeakMap;Xn=new WeakMap;Vs=new WeakMap;Dc=new WeakSet;E0=function(i){i.pointerType!=="mouse"&&i.timeStamp-lr(this,Ko)<250||(zt(this,Vo,Oc).call(this),clearTimeout(lr(this,Xn)),[this,this.media].includes(i.target)&&zt(this,Ys,Zn).call(this))};Mc=new WeakSet;b0=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(ve.USER_INACTIVE);[this,this.media].includes(i.target)&&e?zt(this,Qn,Wo).call(this):zt(this,Ys,Zn).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&zt(this,Ys,Zn).call(this)};Qn=new WeakSet;Wo=function(){if(lr(this,Vs)<0||this.hasAttribute(ve.USER_INACTIVE))return;this.setAttribute(ve.USER_INACTIVE,"");let i=new S.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Vo=new WeakSet;Oc=function(){if(!this.hasAttribute(ve.USER_INACTIVE))return;this.removeAttribute(ve.USER_INACTIVE);let i=new S.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};Ys=new WeakSet;Zn=function(){zt(this,Vo,Oc).call(this),clearTimeout(lr(this,Xn));let i=parseInt(this.autohide);i<0||zn(this,Xn,setTimeout(()=>{zt(this,Qn,Wo).call(this)},i*1e3))};S.customElements.get("media-container")||S.customElements.define("media-container",Jn);var T0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lt=(i,e,t)=>(T0(i,e,"read from private field"),t?t.call(i):e.get(i)),ea=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Yo=(i,e,t,r)=>(T0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),qs,js,qo,Ur,Wi,dr,ui=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ea(this,Wi),ea(this,qs,void 0),ea(this,js,void 0),ea(this,qo,void 0),ea(this,Ur,new Set),Yo(this,qs,e),Yo(this,js,t),Yo(this,qo,new Set(r))}[Symbol.iterator](){return lt(this,Wi,dr).values()}get length(){return lt(this,Wi,dr).size}get value(){var e;return(e=[...lt(this,Wi,dr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Yo(this,Ur,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...lt(this,Wi,dr)][e]}values(){return lt(this,Wi,dr).values()}forEach(e,t){lt(this,Wi,dr).forEach(e,t)}add(...e){var t,r;e.forEach(s=>lt(this,Ur).add(s)),!(this.value===""&&!((t=lt(this,qs))!=null&&t.hasAttribute(`${lt(this,js)}`)))&&((r=lt(this,qs))==null||r.setAttribute(`${lt(this,js)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>lt(this,Ur).delete(r)),(t=lt(this,qs))==null||t.setAttribute(`${lt(this,js)}`,`${this.value}`)}contains(e){return lt(this,Wi,dr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};qs=new WeakMap;js=new WeakMap;qo=new WeakMap;Ur=new WeakMap;Wi=new WeakSet;dr=function(){return lt(this,Ur).size?lt(this,Ur):lt(this,qo)};var TA=(i="")=>i.split(/\s+/),_0=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?Lt.CAPTIONS:Lt.SUBTITLES,language:t,label:s}},Fr=(i="",e={})=>TA(i).map(t=>{let r=_0(t);return{...e,...r}}),Nc=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?_0(e):e):typeof i=="string"?Fr(i):[i]:[],jo=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Vi=(i=[])=>Array.prototype.map.call(i,jo).join(" "),_A=(i,e)=>t=>t[i]===e,A0=i=>{let e=Object.entries(i).map(([t,r])=>_A(t,r));return t=>e.every(r=>r(t))},Br=(i,e=[],t=[])=>{let r=Nc(t).map(A0),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},$r=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:A0(e);return Array.from(i.textTracks).filter(t)},zo=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(y.MEDIA_SUBTITLES_SHOWING)};var x0=i=>{var e;let{media:t,fullscreenElement:r}=i,s=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(s){let n=(e=r[s])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()},S0="exitFullscreen"in B?"exitFullscreen":"webkitExitFullscreen"in B?"webkitExitFullscreen":"webkitCancelFullScreen"in B?"webkitCancelFullScreen":void 0,R0=i=>{var e;let{documentElement:t}=i;if(S0){let r=(e=t==null?void 0:t[S0])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ta="fullscreenElement"in B?"fullscreenElement":"webkitFullscreenElement"in B?"webkitFullscreenElement":void 0,AA=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ta];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===i0.FULLSCREEN?t:r},I0=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=AA(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ta in a))return At(n,s);for(;a!=null&&a[ta];){if(a[ta]===s)return!0;a=(e=a[ta])==null?void 0:e.shadowRoot}}return!1},SA="fullscreenEnabled"in B?"fullscreenEnabled":"webkitFullscreenEnabled"in B?"webkitFullscreenEnabled":void 0,L0=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[SA])||t&&"webkitSupportsFullscreen"in t};var Xo,Uc=()=>{var i,e;return Xo||(Xo=(e=(i=B)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),Xo)},k0=async(i=Uc())=>{if(!i)return!1;let e=i.volume;i.volume=e/2+.1;let t=new AbortController,r=await Promise.race([xA(i,t.signal),RA(i,e)]);return t.abort(),r},xA=(i,e)=>new Promise(t=>{i.addEventListener("volumechange",()=>t(!0),{signal:e})}),RA=async(i,e)=>{for(let t=0;t<10;t++){if(i.volume===e)return!1;await Po(10)}return i.volume!==e},IA=/.*Version\/.*Safari\/.*/.test(S.navigator.userAgent),Fc=(i=Uc())=>S.matchMedia("(display-mode: standalone)").matches&&IA?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",Bc=(i=Uc())=>L0({documentElement:B,media:i}),C0=Bc(),w0=Fc(),D0=!!S.WebKitPlaybackTargetAvailabilityEvent,M0=!!S.chrome;var zs=i=>$r(i.media,e=>[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),$c=i=>$r(i.media,e=>e.mode===ar.SHOWING&&[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)),Qo=(i,e)=>{let t=zs(i),r=$c(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)Br(ar.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;Br(ar.DISABLED,t,r),Br(ar.SHOWING,t,[{language:o,label:l,kind:d}])}}},Zo=(i,e)=>i===e?!0:i==null||e==null||typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?LA(i,e):Object.entries(i).every(([t,r])=>t in e&&Zo(r,e[t])),LA=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>Zo(s,e[n])):!0};var kA=Object.values(jt),Jo,CA=k0().then(i=>(Jo=i,Jo)),P0=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof S.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=S.customElements.get(t);r&&e instanceof r||(await S.customElements.whenDefined(t),S.customElements.upgrade(e))}))},ia={mediaError:{get(i){let{media:e}=i;return e==null?void 0:e.error},mediaEvents:["emptied","error"]},mediaErrorCode:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.error)==null?void 0:e.code},mediaEvents:["emptied","error"]},mediaErrorMessage:{get(i){var e,t;let{media:r}=i;return(t=(e=r==null?void 0:r.error)==null?void 0:e.message)!=null?t:""},mediaEvents:["emptied","error"]},mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?S.localStorage.removeItem("media-chrome-pref-volume"):S.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=S.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;ia.mediaVolume.set(+r,e),i(+r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||!Ks(i)||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[jt.LIVE,jt.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(kA.includes(s))return s===jt.UNKNOWN?r:s;let n=e.duration;return n===1/0?jt.LIVE:Number.isFinite(n)?jt.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=ia.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===jt.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(ia.mediaStreamType.get(i)===jt.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return zs(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return $c(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![Lt.CAPTIONS,Lt.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||Qo(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=$r(t,{kind:Lt.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;if(!r)return;let s=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return s==null||s.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{s==null||s.removeEventListener("load",i),n==null||n.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?At(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!B.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else B.pictureInPictureElement&&B.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return I0(i)},set(i,e){i?x0(e):R0(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&S.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!C0||!Bc(e))return Ft.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!w0||!Fc(e))return Ft.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(Jo===!1||(e==null?void 0:e.volume)==null)return Ft.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{Jo==null&&CA.then(e=>i(e?void 0:Ft.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!M0||!((t=r==null?void 0:r.remote)!=null&&t.state))return Ft.UNSUPPORTED;if(!(e==null||e==="available"))return Ft.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!D0)return Ft.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Ft.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Ft.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Ft.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var O0={[H.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=$r(a,{kind:Lt.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(b=>+b),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[H.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[H.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===jt.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[H.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[H.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[H.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[H.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[H.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[H.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))||i[r].set(s,e)},[H.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=zs(e),a=Nc(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&S.localStorage.setItem("media-chrome-pref-subtitles-lang",o),Br(ar.SHOWING,n,a)},[H.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=zs(e),s=t!=null?t:[];Br(ar.DISABLED,r,s)},[H.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){Qo(e,t)},[H.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[H.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[H.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[H.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[H.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[H.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[H.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var wA=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=ia,requestMap:s=O0,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(Zo(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:b}])=>(g[E]=b(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,b,T,_,A,k,x,M,O,w,R,P,N,$,G,K;let ee=!!f;if(f={...l,...f!=null?f:{},...p},ee)return;await P0(...Object.values(p));let ae=o.length>0&&g===0&&a,q=l.media!==f.media,V=((E=l.media)==null?void 0:E.textTracks)!==((b=f.media)==null?void 0:b.textTracks),le=((T=l.media)==null?void 0:T.videoRenditions)!==((_=f.media)==null?void 0:_.videoRenditions),te=((A=l.media)==null?void 0:A.audioTracks)!==((k=f.media)==null?void 0:k.audioTracks),Ee=((x=l.media)==null?void 0:x.remote)!==((M=f.media)==null?void 0:M.remote),$e=l.documentElement!==f.documentElement,We=!!l.media&&(q||ae),je=!!((O=l.media)!=null&&O.textTracks)&&(V||ae),_t=!!((w=l.media)!=null&&w.videoRenditions)&&(le||ae),nr=!!((R=l.media)!=null&&R.audioTracks)&&(te||ae),Bs=!!((P=l.media)!=null&&P.remote)&&(Ee||ae),Gg=!!l.documentElement&&($e||ae),Kg=We||je||_t||nr||Bs||Gg,$s=o.length===0&&g===1&&a,Wg=!!f.media&&(q||$s),Vg=!!((N=f.media)!=null&&N.textTracks)&&(V||$s),Yg=!!(($=f.media)!=null&&$.videoRenditions)&&(le||$s),qg=!!((G=f.media)!=null&&G.audioTracks)&&(te||$s),jg=!!((K=f.media)!=null&&K.remote)&&(Ee||$s),zg=!!f.documentElement&&($e||$s),Xg=Wg||Vg||Yg||qg||jg||zg;if(!(Kg||Xg)){Object.entries(f).forEach(([we,Wn])=>{l[we]=Wn}),c(),f=void 0;return}Object.entries(r).forEach(([we,{get:Wn,mediaEvents:V_=[],textTracksEvents:Y_=[],videoRenditionsEvents:q_=[],audioTracksEvents:j_=[],remoteEvents:z_=[],rootEvents:X_=[],stateOwnersUpdateHandlers:Q_=[]}])=>{h[we]||(h[we]={});let Ot=ze=>{let Nt=Wn(l,ze);u({[we]:Nt})},ot;ot=h[we].mediaEvents,V_.forEach(ze=>{ot&&We&&(l.media.removeEventListener(ze,ot),h[we].mediaEvents=void 0),Wg&&(f.media.addEventListener(ze,Ot),h[we].mediaEvents=Ot)}),ot=h[we].textTracksEvents,Y_.forEach(ze=>{var Nt,qt;ot&&je&&((Nt=l.media.textTracks)==null||Nt.removeEventListener(ze,ot),h[we].textTracksEvents=void 0),Vg&&((qt=f.media.textTracks)==null||qt.addEventListener(ze,Ot),h[we].textTracksEvents=Ot)}),ot=h[we].videoRenditionsEvents,q_.forEach(ze=>{var Nt,qt;ot&&_t&&((Nt=l.media.videoRenditions)==null||Nt.removeEventListener(ze,ot),h[we].videoRenditionsEvents=void 0),Yg&&((qt=f.media.videoRenditions)==null||qt.addEventListener(ze,Ot),h[we].videoRenditionsEvents=Ot)}),ot=h[we].audioTracksEvents,j_.forEach(ze=>{var Nt,qt;ot&&nr&&((Nt=l.media.audioTracks)==null||Nt.removeEventListener(ze,ot),h[we].audioTracksEvents=void 0),qg&&((qt=f.media.audioTracks)==null||qt.addEventListener(ze,Ot),h[we].audioTracksEvents=Ot)}),ot=h[we].remoteEvents,z_.forEach(ze=>{var Nt,qt;ot&&Bs&&((Nt=l.media.remote)==null||Nt.removeEventListener(ze,ot),h[we].remoteEvents=void 0),jg&&((qt=f.media.remote)==null||qt.addEventListener(ze,Ot),h[we].remoteEvents=Ot)}),ot=h[we].rootEvents,X_.forEach(ze=>{ot&&Gg&&(l.documentElement.removeEventListener(ze,ot),h[we].rootEvents=void 0),zg&&(f.documentElement.addEventListener(ze,Ot),h[we].rootEvents=Ot)});let Qg=h[we].stateOwnersUpdateHandlers;Q_.forEach(ze=>{Qg&&Kg&&Qg(),Xg&&(h[we].stateOwnersUpdateHandlers=ze(Ot,f))})}),Object.entries(f).forEach(([we,Wn])=>{l[we]=Wn}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]&&d.mediaErrorCode==null){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([b,T])=>{l.options[b]=T})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},N0=wA;var Wc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pe=(i,e,t)=>(Wc(i,e,"read from private field"),t?t.call(i):e.get(i)),Yi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ur=(i,e,t,r)=>(Wc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cr=(i,e,t)=>(Wc(i,e,"access private method"),t),hr,ra,He,sa,ci,el,tl,Hc,Xs,na,il,Gc,H0=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],U0=10,ye={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},rl=class extends Jn{constructor(){super(),Yi(this,tl),Yi(this,Xs),Yi(this,il),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,Yi(this,hr,new ui(this,ye.HOTKEYS)),Yi(this,ra,void 0),Yi(this,He,void 0),Yi(this,sa,void 0),Yi(this,ci,void 0),Yi(this,el,t=>{var r;(r=pe(this,He))==null||r.dispatch(t)}),this.associateElement(this);let e={};ur(this,sa,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new S.CustomEvent(t0[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(ye.NO_HOTKEYS,ye.HOTKEYS,ye.DEFAULT_STREAM_TYPE,ye.DEFAULT_SUBTITLES,ye.DEFAULT_DURATION)}get mediaStore(){return pe(this,He)}set mediaStore(e){var t,r;if(pe(this,He)&&((t=pe(this,ci))==null||t.call(this),ur(this,ci,void 0)),ur(this,He,e),!pe(this,He)&&!this.hasAttribute(ye.NO_DEFAULT_STORE)){cr(this,tl,Hc).call(this);return}ur(this,ci,(r=pe(this,He))==null?void 0:r.subscribe(pe(this,sa)))}get fullscreenElement(){var e;return(e=pe(this,ra))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(ye.FULLSCREEN_ELEMENT)&&this.removeAttribute(ye.FULLSCREEN_ELEMENT),ur(this,ra,e),(t=pe(this,He))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===ye.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(ye.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===ye.HOTKEYS)pe(this,hr).value=r;else if(e===ye.DEFAULT_SUBTITLES&&r!==t)(s=pe(this,He))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(ye.DEFAULT_SUBTITLES)}});else if(e===ye.DEFAULT_STREAM_TYPE)(a=pe(this,He))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(ye.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===ye.LIVE_EDGE_OFFSET)(o=pe(this,He))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(ye.LIVE_EDGE_OFFSET)?+this.getAttribute(ye.LIVE_EDGE_OFFSET):void 0}});else if(e===ye.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;ur(this,ra,u),(d=pe(this,He))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!pe(this,He)&&!this.hasAttribute(ye.NO_DEFAULT_STORE)&&cr(this,tl,Hc).call(this),(e=pe(this,He))==null||e.dispatch({type:"documentelementchangerequest",detail:B}),super.connectedCallback(),pe(this,He)&&!pe(this,ci)&&ur(this,ci,(t=pe(this,He))==null?void 0:t.subscribe(pe(this,sa))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),pe(this,He)&&((t=pe(this,He))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=pe(this,He))==null||r.dispatch({type:H.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),pe(this,ci)&&((s=pe(this,ci))==null||s.call(this),ur(this,ci,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=pe(this,He))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=pe(this,He))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){$0(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=UA(e,r,s);Object.values(H).forEach(a=>{e.addEventListener(a,pe(this,el))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(H).forEach(s=>{e.removeEventListener(s,pe(this,el))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),pe(this,He)&&Object.entries(pe(this,He).getState()).forEach(([s,n])=>{$0([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",cr(this,il,Gc))}disableHotkeys(){this.removeEventListener("keydown",cr(this,il,Gc)),this.removeEventListener("keyup",cr(this,Xs,na))}get hotkeys(){return pe(this,hr)}keyboardShortcutHandler(e){var t,r,s,n,a;let o=e.target;if(((s=(r=(t=o.getAttribute(ye.KEYS_USED))==null?void 0:t.split(" "))!=null?r:o==null?void 0:o.keysUsed)!=null?s:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!pe(this,hr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&pe(this,hr).contains("nospace")))switch(e.key){case" ":case"k":d=pe(this,He).getState().mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?H.MEDIA_UNMUTE_REQUEST:H.MEDIA_MUTE_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?H.MEDIA_EXIT_FULLSCREEN_REQUEST:H.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new S.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new S.CustomEvent(H.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(ye.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(ye.KEYBOARD_BACKWARD_SEEK_OFFSET):U0;u=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-h,0),c=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(ye.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(ye.KEYBOARD_FORWARD_SEEK_OFFSET):U0;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+h,0),c=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};hr=new WeakMap;ra=new WeakMap;He=new WeakMap;sa=new WeakMap;ci=new WeakMap;el=new WeakMap;tl=new WeakSet;Hc=function(){var i;this.mediaStore=N0({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(ye.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(ye.DEFAULT_DURATION)?+this.getAttribute(ye.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(ye.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(ye.LIVE_EDGE_OFFSET)?+this.getAttribute(ye.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(ye.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(ye.NO_SUBTITLES_LANG_PREF)}})};Xs=new WeakSet;na=function(i){let{key:e}=i;if(!H0.includes(e)){this.removeEventListener("keyup",cr(this,Xs,na));return}this.keyboardShortcutHandler(i)};il=new WeakSet;Gc=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!H0.includes(r)){this.removeEventListener("keyup",cr(this,Xs,na));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(pe(this,hr).contains(`no${r.toLowerCase()}`)||r===" "&&pe(this,hr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",cr(this,Xs,na),{once:!0})};var DA=Object.values(y),MA=Object.values(Sc),G0=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(S.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,ue.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>DA.includes(o)):[]},PA=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&S.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof S.customElements.get(i.nodeName.toLowerCase()))&&S.customElements.upgrade(i),MA.some(r=>r in i)},Kc=i=>PA(i)||!!G0(i).length,F0=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},B0={[y.MEDIA_SUBTITLES_LIST]:Vi,[y.MEDIA_SUBTITLES_SHOWING]:Vi,[y.MEDIA_SEEKABLE]:F0,[y.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(F0).join(" "),[y.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[y.MEDIA_RENDITION_LIST]:r0,[y.MEDIA_AUDIO_TRACK_LIST]:n0},OA=async(i,e,t)=>{var r,s;if(i.isConnected||await Po(0),typeof t=="boolean"||t==null)return Ae(i,e,t);if(typeof t=="number")return be(i,e,t);if(typeof t=="string")return ce(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=B0[e])==null?void 0:r.call(B0,t))!=null?s:t;return i.setAttribute(e,n)},NA=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},Hr=(i,e)=>{if(NA(i))return;let t=(s,n)=>{var a,o;Kc(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>Hr(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Kc(i)){S.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},$0=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=G0(r),n=e.toLowerCase();s.includes(n)&&OA(r,n,t)})},UA=(i,e,t)=>{Hr(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(H.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(H.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>Hr(E,e)),Array.prototype.forEach.call(f,E=>Hr(E,t))):m==="attributes"&&g===ue.MEDIA_CHROME_ATTRIBUTES&&(Kc(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>Hr(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>Hr(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{Hr(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(H.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(H.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};S.customElements.get("media-controller")||S.customElements.define("media-controller",rl);var Vc=rl;var qc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ze=(i,e,t)=>(qc(i,e,"read from private field"),t?t.call(i):e.get(i)),Qs=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sl=(i,e,t,r)=>(qc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),FA=(i,e,t)=>(qc(i,e,"access private method"),t),hi,Js,fr,Zs,al,Yc,K0,nl={TOOLTIP_PLACEMENT:"tooltipplacement"},W0=B.createElement("template");W0.innerHTML=`
149
149
  <style>
150
150
  :host {
151
151
  position: relative;
@@ -220,7 +220,7 @@
220
220
  <slot name="tooltip-content"></slot>
221
221
  </media-tooltip>
222
222
  </slot>
223
- `;var we=class extends S.HTMLElement{constructor(e={}){var t;if(super(),Qs(this,qc),Qs(this,hi,void 0),this.preventClick=!1,this.tooltipEl=null,this.tooltipContent="",Qs(this,Js,r=>{this.preventClick||this.handleClick(r),setTimeout(Ze(this,fr),0)}),Qs(this,fr,()=>{var r,s;(s=(r=this.tooltipEl)==null?void 0:r.updateXOffset)==null||s.call(r)}),Qs(this,Zs,r=>{let{key:s}=r;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",Ze(this,Zs));return}this.preventClick||this.handleClick(r)}),Qs(this,ol,r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",Ze(this,Zs));return}this.addEventListener("keyup",Ze(this,Zs),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let r=W0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=B.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),e.tooltipContent&&(r.querySelector('slot[name="tooltip-content"]').innerHTML=(t=e.tooltipContent)!=null?t:"",this.tooltipContent=e.tooltipContent),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(r)}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",al.TOOLTIP_PLACEMENT,ue.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",Ze(this,Js)),this.addEventListener("keydown",Ze(this,ol)),this.tabIndex=0}disable(){this.removeEventListener("click",Ze(this,Js)),this.removeEventListener("keydown",Ze(this,ol)),this.removeEventListener("keyup",Ze(this,Zs)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ze(this,hi))==null?void 0:s.unassociateElement)==null||n.call(s,this),nl(this,hi,null)),r&&this.isConnected&&(nl(this,hi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ze(this,hi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t?r==null?this.enable():this.disable():e===al.TOOLTIP_PLACEMENT&&this.tooltipEl&&r!==t&&(this.tooltipEl.placement=r),Ze(this,fr).call(this)}connectedCallback(){var e,t,r;let{style:s}=ke(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(nl(this,hi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Ze(this,hi))==null?void 0:t.associateElement)==null||r.call(t,this)),S.customElements.whenDefined("media-tooltip").then(()=>UA(this,qc,K0).call(this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Ze(this,hi))==null?void 0:e.unassociateElement)==null||t.call(e,this),nl(this,hi,null),this.removeEventListener("mouseenter",Ze(this,fr)),this.removeEventListener("focus",Ze(this,fr)),this.removeEventListener("click",Ze(this,Js))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return me(this,al.TOOLTIP_PLACEMENT)}set tooltipPlacement(e){ce(this,al.TOOLTIP_PLACEMENT,e)}handleClick(e){}};hi=new WeakMap;Js=new WeakMap;fr=new WeakMap;Zs=new WeakMap;ol=new WeakMap;qc=new WeakSet;K0=function(){this.addEventListener("mouseenter",Ze(this,fr)),this.addEventListener("focus",Ze(this,fr)),this.addEventListener("click",Ze(this,Js));let i=this.tooltipPlacement;i&&this.tooltipEl&&(this.tooltipEl.placement=i)};S.customElements.get("media-chrome-button")||S.customElements.define("media-chrome-button",we);var V0=`<svg aria-hidden="true" viewBox="0 0 26 24">
223
+ `;var De=class extends S.HTMLElement{constructor(e={}){var t;if(super(),Qs(this,Yc),Qs(this,hi,void 0),this.preventClick=!1,this.tooltipEl=null,this.tooltipContent="",Qs(this,Js,r=>{this.preventClick||this.handleClick(r),setTimeout(Ze(this,fr),0)}),Qs(this,fr,()=>{var r,s;(s=(r=this.tooltipEl)==null?void 0:r.updateXOffset)==null||s.call(r)}),Qs(this,Zs,r=>{let{key:s}=r;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",Ze(this,Zs));return}this.preventClick||this.handleClick(r)}),Qs(this,al,r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",Ze(this,Zs));return}this.addEventListener("keyup",Ze(this,Zs),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let r=W0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=B.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),e.tooltipContent&&(r.querySelector('slot[name="tooltip-content"]').innerHTML=(t=e.tooltipContent)!=null?t:"",this.tooltipContent=e.tooltipContent),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(r)}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",nl.TOOLTIP_PLACEMENT,ue.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",Ze(this,Js)),this.addEventListener("keydown",Ze(this,al)),this.tabIndex=0}disable(){this.removeEventListener("click",Ze(this,Js)),this.removeEventListener("keydown",Ze(this,al)),this.removeEventListener("keyup",Ze(this,Zs)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ze(this,hi))==null?void 0:s.unassociateElement)==null||n.call(s,this),sl(this,hi,null)),r&&this.isConnected&&(sl(this,hi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ze(this,hi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t?r==null?this.enable():this.disable():e===nl.TOOLTIP_PLACEMENT&&this.tooltipEl&&r!==t&&(this.tooltipEl.placement=r),Ze(this,fr).call(this)}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(sl(this,hi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Ze(this,hi))==null?void 0:t.associateElement)==null||r.call(t,this)),S.customElements.whenDefined("media-tooltip").then(()=>FA(this,Yc,K0).call(this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Ze(this,hi))==null?void 0:e.unassociateElement)==null||t.call(e,this),sl(this,hi,null),this.removeEventListener("mouseenter",Ze(this,fr)),this.removeEventListener("focus",Ze(this,fr)),this.removeEventListener("click",Ze(this,Js))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return me(this,nl.TOOLTIP_PLACEMENT)}set tooltipPlacement(e){ce(this,nl.TOOLTIP_PLACEMENT,e)}handleClick(e){}};hi=new WeakMap;Js=new WeakMap;fr=new WeakMap;Zs=new WeakMap;al=new WeakMap;Yc=new WeakSet;K0=function(){this.addEventListener("mouseenter",Ze(this,fr)),this.addEventListener("focus",Ze(this,fr)),this.addEventListener("click",Ze(this,Js));let i=this.tooltipPlacement;i&&this.tooltipEl&&(this.tooltipEl.placement=i)};S.customElements.get("media-chrome-button")||S.customElements.define("media-chrome-button",De);var V0=`<svg aria-hidden="true" viewBox="0 0 26 24">
224
224
  <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
225
225
  </svg>
226
226
  `,q0=B.createElement("template");q0.innerHTML=`
@@ -244,12 +244,12 @@
244
244
  <slot name="enter">${V0}</slot>
245
245
  <slot name="exit">${V0}</slot>
246
246
  </slot>
247
- `;var FA=`
247
+ `;var BA=`
248
248
  <slot name="tooltip-enter">${he.ENTER_AIRPLAY}</slot>
249
249
  <slot name="tooltip-exit">${he.EXIT_AIRPLAY}</slot>
250
- `,Y0=i=>{let e=i.mediaIsAirplaying?Ne.EXIT_AIRPLAY():Ne.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},zc=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_AIRPLAYING,y.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:q0,tooltipContent:FA,...e})}connectedCallback(){super.connectedCallback(),Y0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_AIRPLAYING&&Y0(this)}get mediaIsAirplaying(){return Se(this,y.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){_e(this,y.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return me(this,y.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ce(this,y.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new S.CustomEvent(H.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};S.customElements.get("media-airplay-button")||S.customElements.define("media-airplay-button",zc);var BA=`<svg aria-hidden="true" viewBox="0 0 26 24">
250
+ `,Y0=i=>{let e=i.mediaIsAirplaying?Ue.EXIT_AIRPLAY():Ue.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},jc=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_AIRPLAYING,y.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:q0,tooltipContent:BA,...e})}connectedCallback(){super.connectedCallback(),Y0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_AIRPLAYING&&Y0(this)}get mediaIsAirplaying(){return xe(this,y.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Ae(this,y.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return me(this,y.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ce(this,y.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new S.CustomEvent(H.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};S.customElements.get("media-airplay-button")||S.customElements.define("media-airplay-button",jc);var $A=`<svg aria-hidden="true" viewBox="0 0 26 24">
251
251
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
252
- </svg>`,$A=`<svg aria-hidden="true" viewBox="0 0 26 24">
252
+ </svg>`,HA=`<svg aria-hidden="true" viewBox="0 0 26 24">
253
253
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
254
254
  </svg>`,Q0=B.createElement("template");Q0.innerHTML=`
255
255
  <style>
@@ -269,13 +269,13 @@
269
269
  </style>
270
270
 
271
271
  <slot name="icon">
272
- <slot name="on">${BA}</slot>
273
- <slot name="off">${$A}</slot>
272
+ <slot name="on">${$A}</slot>
273
+ <slot name="off">${HA}</slot>
274
274
  </slot>
275
- `;var HA=`
275
+ `;var GA=`
276
276
  <slot name="tooltip-enable">${he.ENABLE_CAPTIONS}</slot>
277
277
  <slot name="tooltip-disable">${he.DISABLE_CAPTIONS}</slot>
278
- `,j0=i=>{i.setAttribute("aria-checked",Xo(i).toString())},Xc=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:Q0,tooltipContent:HA,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Oe.CLOSED_CAPTIONS()),j0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&j0(this)}get mediaSubtitlesList(){return z0(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){X0(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return z0(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){X0(this,y.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new S.CustomEvent(H.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},z0=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},X0=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-button")||S.customElements.define("media-captions-button",Xc);var GA='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',KA='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',J0=B.createElement("template");J0.innerHTML=`
278
+ `,j0=i=>{i.setAttribute("aria-checked",zo(i).toString())},zc=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:Q0,tooltipContent:GA,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Ne.CLOSED_CAPTIONS()),j0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&j0(this)}get mediaSubtitlesList(){return z0(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){X0(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return z0(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){X0(this,y.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new S.CustomEvent(H.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},z0=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},X0=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-button")||S.customElements.define("media-captions-button",zc);var KA='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',WA='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',J0=B.createElement("template");J0.innerHTML=`
279
279
  <style>
280
280
  :host([${y.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) {
281
281
  display: none !important;
@@ -293,13 +293,13 @@
293
293
  </style>
294
294
 
295
295
  <slot name="icon">
296
- <slot name="enter">${GA}</slot>
297
- <slot name="exit">${KA}</slot>
296
+ <slot name="enter">${KA}</slot>
297
+ <slot name="exit">${WA}</slot>
298
298
  </slot>
299
- `;var WA=`
299
+ `;var VA=`
300
300
  <slot name="tooltip-enter">${he.START_CAST}</slot>
301
301
  <slot name="tooltip-exit">${he.STOP_CAST}</slot>
302
- `,Z0=i=>{let e=i.mediaIsCasting?Ne.EXIT_CAST():Ne.ENTER_CAST();i.setAttribute("aria-label",e)},Qc=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_CASTING,y.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:J0,tooltipContent:WA,...e})}connectedCallback(){super.connectedCallback(),Z0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_CASTING&&Z0(this)}get mediaIsCasting(){return Se(this,y.MEDIA_IS_CASTING)}set mediaIsCasting(e){_e(this,y.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return me(this,y.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ce(this,y.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?H.MEDIA_EXIT_CAST_REQUEST:H.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-cast-button")||S.customElements.define("media-cast-button",Qc);var sh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Kr=(i,e,t)=>(sh(i,e,"read from private field"),t?t.call(i):e.get(i)),qi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nh=(i,e,t,r)=>(sh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Gr=(i,e,t)=>(sh(i,e,"access private method"),t),dl,la,Wr,ll,Zc,Jc,ev,eh,tv,th,iv,ih,rv,rh,sv;function VA(i){return`
302
+ `,Z0=i=>{let e=i.mediaIsCasting?Ue.EXIT_CAST():Ue.ENTER_CAST();i.setAttribute("aria-label",e)},Xc=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_CASTING,y.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:J0,tooltipContent:VA,...e})}connectedCallback(){super.connectedCallback(),Z0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_CASTING&&Z0(this)}get mediaIsCasting(){return xe(this,y.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ae(this,y.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return me(this,y.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ce(this,y.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?H.MEDIA_EXIT_CAST_REQUEST:H.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-cast-button")||S.customElements.define("media-cast-button",Xc);var rh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Kr=(i,e,t)=>(rh(i,e,"read from private field"),t?t.call(i):e.get(i)),qi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sh=(i,e,t,r)=>(rh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Gr=(i,e,t)=>(rh(i,e,"access private method"),t),ll,oa,Wr,ol,Qc,Zc,ev,Jc,tv,eh,iv,th,rv,ih,sv;function YA(i){return`
303
303
  <style>
304
304
  :host {
305
305
  font: var(--media-font,
@@ -339,11 +339,11 @@
339
339
  }
340
340
  </style>
341
341
  ${this.getSlotTemplateHTML(i)}
342
- `}function YA(i){return`
342
+ `}function qA(i){return`
343
343
  <slot id="content"></slot>
344
- `}var oa={OPEN:"open",ANCHOR:"anchor"},Vr=class extends S.HTMLElement{constructor(){super(),qi(this,ll),qi(this,Jc),qi(this,eh),qi(this,th),qi(this,ih),qi(this,rh),qi(this,dl,!1),qi(this,la,null),qi(this,Wr,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[oa.OPEN,oa.ANCHOR]}get open(){return Se(this,oa.OPEN)}set open(e){_e(this,oa.OPEN,e)}handleEvent(e){switch(e.type){case"invoke":Gr(this,th,iv).call(this,e);break;case"focusout":Gr(this,ih,rv).call(this,e);break;case"keydown":Gr(this,rh,sv).call(this,e);break}}connectedCallback(){Gr(this,ll,Zc).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){Gr(this,ll,Zc).call(this),e===oa.OPEN&&r!==t&&(this.open?Gr(this,Jc,ev).call(this):Gr(this,eh,tv).call(this))}focus(){nh(this,la,zn());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;let r=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');r==null||r.focus()}get keysUsed(){return["Escape","Tab"]}};dl=new WeakMap;la=new WeakMap;Wr=new WeakMap;ll=new WeakSet;Zc=function(){if(!Kr(this,dl)&&(nh(this,dl,!0),!this.shadowRoot)){this.attachShadow({mode:"open"});let i=m0(this.attributes);this.shadowRoot.innerHTML=`
344
+ `}var aa={OPEN:"open",ANCHOR:"anchor"},Vr=class extends S.HTMLElement{constructor(){super(),qi(this,ol),qi(this,Zc),qi(this,Jc),qi(this,eh),qi(this,th),qi(this,ih),qi(this,ll,!1),qi(this,oa,null),qi(this,Wr,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[aa.OPEN,aa.ANCHOR]}get open(){return xe(this,aa.OPEN)}set open(e){Ae(this,aa.OPEN,e)}handleEvent(e){switch(e.type){case"invoke":Gr(this,eh,iv).call(this,e);break;case"focusout":Gr(this,th,rv).call(this,e);break;case"keydown":Gr(this,ih,sv).call(this,e);break}}connectedCallback(){Gr(this,ol,Qc).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){Gr(this,ol,Qc).call(this),e===aa.OPEN&&r!==t&&(this.open?Gr(this,Zc,ev).call(this):Gr(this,Jc,tv).call(this))}focus(){sh(this,oa,jn());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;let r=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');r==null||r.focus()}get keysUsed(){return["Escape","Tab"]}};ll=new WeakMap;oa=new WeakMap;Wr=new WeakMap;ol=new WeakSet;Qc=function(){if(!Kr(this,ll)&&(sh(this,ll,!0),!this.shadowRoot)){this.attachShadow({mode:"open"});let i=m0(this.attributes);this.shadowRoot.innerHTML=`
345
345
  ${this.constructor.getTemplateHTML(i)}
346
- `}};Jc=new WeakSet;ev=function(){var i;(i=Kr(this,Wr))==null||i.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};eh=new WeakSet;tv=function(){var i;(i=Kr(this,Wr))==null||i.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))};th=new WeakSet;iv=function(i){nh(this,Wr,i.relatedTarget),At(this,i.relatedTarget)||(this.open=!this.open)};ih=new WeakSet;rv=function(i){var e;At(this,i.relatedTarget)||((e=Kr(this,la))==null||e.focus(),Kr(this,Wr)&&Kr(this,Wr)!==i.relatedTarget&&this.open&&(this.open=!1))};rh=new WeakSet;sv=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=Kr(this,la))==null||n.focus(),this.open=!1))};Vr.getTemplateHTML=VA;Vr.getSlotTemplateHTML=YA;S.customElements.get("media-chrome-dialog")||S.customElements.define("media-chrome-dialog",Vr);var hh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ve=(i,e,t)=>(hh(i,e,"read from private field"),t?t.call(i):e.get(i)),vt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mr=(i,e,t,r)=>(hh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xt=(i,e,t)=>(hh(i,e,"access private method"),t),fi,bl,ul,cl,Qt,vl,hl,fl,ml,fh,nv,pl,ah,gl,oh,El,mh,lh,av,dh,ov,uh,lv,ch,dv,uv=B.createElement("template");uv.innerHTML=`
346
+ `}};Zc=new WeakSet;ev=function(){var i;(i=Kr(this,Wr))==null||i.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};Jc=new WeakSet;tv=function(){var i;(i=Kr(this,Wr))==null||i.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))};eh=new WeakSet;iv=function(i){sh(this,Wr,i.relatedTarget),At(this,i.relatedTarget)||(this.open=!this.open)};th=new WeakSet;rv=function(i){var e;At(this,i.relatedTarget)||((e=Kr(this,oa))==null||e.focus(),Kr(this,Wr)&&Kr(this,Wr)!==i.relatedTarget&&this.open&&(this.open=!1))};ih=new WeakSet;sv=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=Kr(this,oa))==null||n.focus(),this.open=!1))};Vr.getTemplateHTML=YA;Vr.getSlotTemplateHTML=qA;S.customElements.get("media-chrome-dialog")||S.customElements.define("media-chrome-dialog",Vr);var ch=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ve=(i,e,t)=>(ch(i,e,"read from private field"),t?t.call(i):e.get(i)),vt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mr=(i,e,t,r)=>(ch(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xt=(i,e,t)=>(ch(i,e,"access private method"),t),fi,El,dl,ul,Qt,gl,cl,hl,fl,hh,nv,ml,nh,pl,ah,vl,fh,oh,av,lh,ov,dh,lv,uh,dv,uv=B.createElement("template");uv.innerHTML=`
347
347
  <style>
348
348
  :host {
349
349
  --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
@@ -565,7 +565,7 @@
565
565
  <input id="range" type="range" min="0" max="1" step="any" value="0">
566
566
  </div>
567
567
  <div id="rightgap"></div>
568
- `;var Yr=class extends S.HTMLElement{constructor(){super(),vt(this,fh),vt(this,pl),vt(this,gl),vt(this,El),vt(this,lh),vt(this,dh),vt(this,uh),vt(this,ch),vt(this,fi,void 0),vt(this,bl,void 0),vt(this,ul,void 0),vt(this,cl,void 0),vt(this,Qt,{}),vt(this,vl,[]),vt(this,hl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=ke(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),vt(this,fl,()=>{let{style:e}=ke(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),vt(this,ml,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(uv.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),mr(this,ul,this.shadowRoot.querySelector("#startpoint")),mr(this,cl,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ve(this,fi))==null?void 0:s.unassociateElement)==null||n.call(s,this),mr(this,fi,null)),r&&this.isConnected&&(mr(this,fi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ve(this,fi))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),Xt(this,pl,ah).call(this)):(this.range.setAttribute(e,r),Xt(this,gl,oh).call(this)))}connectedCallback(){var e,t,r;let{style:s}=ke(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),Ve(this,Qt).pointer=ke(this.shadowRoot,"#pointer"),Ve(this,Qt).progress=ke(this.shadowRoot,"#progress"),Ve(this,Qt).thumb=ke(this.shadowRoot,"#thumb"),Ve(this,Qt).activeSegment=ke(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(mr(this,fi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Ve(this,fi))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",Ve(this,hl)),this.shadowRoot.addEventListener("focusout",Ve(this,fl)),Xt(this,pl,ah).call(this),Gi(this.container,Ve(this,ml))}disconnectedCallback(){var e,t;Xt(this,gl,oh).call(this),(t=(e=Ve(this,fi))==null?void 0:e.unassociateElement)==null||t.call(e,this),mr(this,fi,null),this.shadowRoot.removeEventListener("focusin",Ve(this,hl)),this.shadowRoot.removeEventListener("focusout",Ve(this,fl)),Or(this.container,Ve(this,ml))}updatePointerBar(e){var t;(t=Ve(this,Qt).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=Ve(this,Qt).progress)==null||e.style.setProperty("width",`${r}%`),(t=Ve(this,Qt).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];mr(this,vl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=B.createElementNS("http://www.w3.org/2000/svg","rect"),f=ke(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=p0(e.clientX,e.clientY,Ve(this,ul).getBoundingClientRect(),Ve(this,cl).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":Xt(this,ch,dv).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":Xt(this,lh,av).call(this,e);break;case"pointerdown":Xt(this,El,mh).call(this,e);break;case"pointerup":Xt(this,dh,ov).call(this);break;case"pointerleave":Xt(this,uh,lv).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};fi=new WeakMap;bl=new WeakMap;ul=new WeakMap;cl=new WeakMap;Qt=new WeakMap;vl=new WeakMap;hl=new WeakMap;fl=new WeakMap;ml=new WeakMap;fh=new WeakSet;nv=function(i){let e=Ve(this,Qt).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${Ve(this,vl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};pl=new WeakSet;ah=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};gl=new WeakSet;oh=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=S.window)==null||i.removeEventListener("pointerup",this),(e=S.window)==null||e.removeEventListener("pointermove",this)};El=new WeakSet;mh=function(i){var e;mr(this,bl,i.composedPath().includes(this.range)),(e=S.window)==null||e.addEventListener("pointerup",this)};lh=new WeakSet;av=function(i){var e;i.pointerType!=="mouse"&&Xt(this,El,mh).call(this,i),this.addEventListener("pointerleave",this),(e=S.window)==null||e.addEventListener("pointermove",this)};dh=new WeakSet;ov=function(){var i;(i=S.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};uh=new WeakSet;lv=function(){var i,e;this.removeEventListener("pointerleave",this),(i=S.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=Ve(this,Qt).activeSegment)==null||e.style.removeProperty("transform")};ch=new WeakSet;dv=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),Xt(this,fh,nv).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!Ve(this,bl))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};S.customElements.get("media-chrome-range")||S.customElements.define("media-chrome-range",Yr);var cv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},yl=(i,e,t)=>(cv(i,e,"read from private field"),t?t.call(i):e.get(i)),qA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Tl=(i,e,t,r)=>(cv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),mi,hv=B.createElement("template");hv.innerHTML=`
568
+ `;var Yr=class extends S.HTMLElement{constructor(){super(),vt(this,hh),vt(this,ml),vt(this,pl),vt(this,vl),vt(this,oh),vt(this,lh),vt(this,dh),vt(this,uh),vt(this,fi,void 0),vt(this,El,void 0),vt(this,dl,void 0),vt(this,ul,void 0),vt(this,Qt,{}),vt(this,gl,[]),vt(this,cl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Ce(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),vt(this,hl,()=>{let{style:e}=Ce(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),vt(this,fl,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(uv.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),mr(this,dl,this.shadowRoot.querySelector("#startpoint")),mr(this,ul,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ve(this,fi))==null?void 0:s.unassociateElement)==null||n.call(s,this),mr(this,fi,null)),r&&this.isConnected&&(mr(this,fi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ve(this,fi))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),Xt(this,ml,nh).call(this)):(this.range.setAttribute(e,r),Xt(this,pl,ah).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),Ve(this,Qt).pointer=Ce(this.shadowRoot,"#pointer"),Ve(this,Qt).progress=Ce(this.shadowRoot,"#progress"),Ve(this,Qt).thumb=Ce(this.shadowRoot,"#thumb"),Ve(this,Qt).activeSegment=Ce(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(mr(this,fi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Ve(this,fi))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",Ve(this,cl)),this.shadowRoot.addEventListener("focusout",Ve(this,hl)),Xt(this,ml,nh).call(this),Gi(this.container,Ve(this,fl))}disconnectedCallback(){var e,t;Xt(this,pl,ah).call(this),(t=(e=Ve(this,fi))==null?void 0:e.unassociateElement)==null||t.call(e,this),mr(this,fi,null),this.shadowRoot.removeEventListener("focusin",Ve(this,cl)),this.shadowRoot.removeEventListener("focusout",Ve(this,hl)),Or(this.container,Ve(this,fl))}updatePointerBar(e){var t;(t=Ve(this,Qt).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=Ve(this,Qt).progress)==null||e.style.setProperty("width",`${r}%`),(t=Ve(this,Qt).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];mr(this,gl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=B.createElementNS("http://www.w3.org/2000/svg","rect"),f=Ce(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=p0(e.clientX,e.clientY,Ve(this,dl).getBoundingClientRect(),Ve(this,ul).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":Xt(this,uh,dv).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":Xt(this,oh,av).call(this,e);break;case"pointerdown":Xt(this,vl,fh).call(this,e);break;case"pointerup":Xt(this,lh,ov).call(this);break;case"pointerleave":Xt(this,dh,lv).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};fi=new WeakMap;El=new WeakMap;dl=new WeakMap;ul=new WeakMap;Qt=new WeakMap;gl=new WeakMap;cl=new WeakMap;hl=new WeakMap;fl=new WeakMap;hh=new WeakSet;nv=function(i){let e=Ve(this,Qt).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${Ve(this,gl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};ml=new WeakSet;nh=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};pl=new WeakSet;ah=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=S.window)==null||i.removeEventListener("pointerup",this),(e=S.window)==null||e.removeEventListener("pointermove",this)};vl=new WeakSet;fh=function(i){var e;mr(this,El,i.composedPath().includes(this.range)),(e=S.window)==null||e.addEventListener("pointerup",this)};oh=new WeakSet;av=function(i){var e;i.pointerType!=="mouse"&&Xt(this,vl,fh).call(this,i),this.addEventListener("pointerleave",this),(e=S.window)==null||e.addEventListener("pointermove",this)};lh=new WeakSet;ov=function(){var i;(i=S.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};dh=new WeakSet;lv=function(){var i,e;this.removeEventListener("pointerleave",this),(i=S.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=Ve(this,Qt).activeSegment)==null||e.style.removeProperty("transform")};uh=new WeakSet;dv=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),Xt(this,hh,nv).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!Ve(this,El))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};S.customElements.get("media-chrome-range")||S.customElements.define("media-chrome-range",Yr);var cv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},bl=(i,e,t)=>(cv(i,e,"read from private field"),t?t.call(i):e.get(i)),jA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yl=(i,e,t,r)=>(cv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),mi,hv=B.createElement("template");hv.innerHTML=`
569
569
  <style>
570
570
  :host {
571
571
 
@@ -591,7 +591,7 @@
591
591
  </style>
592
592
 
593
593
  <slot></slot>
594
- `;var ph=class extends S.HTMLElement{constructor(){super(),qA(this,mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(hv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=yl(this,mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Tl(this,mi,null)),r&&this.isConnected&&(Tl(this,mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=yl(this,mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(Tl(this,mi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=yl(this,mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=yl(this,mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Tl(this,mi,null)}};mi=new WeakMap;S.customElements.get("media-control-bar")||S.customElements.define("media-control-bar",ph);var fv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_l=(i,e,t)=>(fv(i,e,"read from private field"),t?t.call(i):e.get(i)),jA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Al=(i,e,t,r)=>(fv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),pi,mv=B.createElement("template");mv.innerHTML=`
594
+ `;var mh=class extends S.HTMLElement{constructor(){super(),jA(this,mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(hv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=bl(this,mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),yl(this,mi,null)),r&&this.isConnected&&(yl(this,mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=bl(this,mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(yl(this,mi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=bl(this,mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=bl(this,mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),yl(this,mi,null)}};mi=new WeakMap;S.customElements.get("media-control-bar")||S.customElements.define("media-control-bar",mh);var fv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Tl=(i,e,t)=>(fv(i,e,"read from private field"),t?t.call(i):e.get(i)),zA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_l=(i,e,t,r)=>(fv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),pi,mv=B.createElement("template");mv.innerHTML=`
595
595
  <style>
596
596
  :host {
597
597
  font: var(--media-font,
@@ -624,7 +624,7 @@
624
624
  }
625
625
  </style>
626
626
  <slot></slot>
627
- `;var Zt=class extends S.HTMLElement{constructor(){super(),jA(this,pi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(mv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=_l(this,pi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Al(this,pi,null)),r&&this.isConnected&&(Al(this,pi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=_l(this,pi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=ke(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(Al(this,pi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=_l(this,pi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=_l(this,pi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Al(this,pi,null)}};pi=new WeakMap;S.customElements.get("media-text-display")||S.customElements.define("media-text-display",Zt);var gv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pv=(i,e,t)=>(gv(i,e,"read from private field"),t?t.call(i):e.get(i)),zA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},XA=(i,e,t,r)=>(gv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),da,gh=class extends Zt{constructor(){super(),zA(this,da,void 0),XA(this,da,this.shadowRoot.querySelector("slot")),pv(this,da).textContent=li(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===y.MEDIA_DURATION&&(pv(this,da).textContent=li(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){Ee(this,y.MEDIA_DURATION,e)}};da=new WeakMap;S.customElements.get("media-duration-display")||S.customElements.define("media-duration-display",gh);var Ev=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},QA=(i,e,t)=>(Ev(i,e,"read from private field"),t?t.call(i):e.get(i)),ZA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},JA=(i,e,t,r)=>(Ev(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Sl;function eS(i){return`
627
+ `;var Zt=class extends S.HTMLElement{constructor(){super(),zA(this,pi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(mv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=Tl(this,pi))==null?void 0:s.unassociateElement)==null||n.call(s,this),_l(this,pi,null)),r&&this.isConnected&&(_l(this,pi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Tl(this,pi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(_l(this,pi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Tl(this,pi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Tl(this,pi))==null?void 0:e.unassociateElement)==null||t.call(e,this),_l(this,pi,null)}};pi=new WeakMap;S.customElements.get("media-text-display")||S.customElements.define("media-text-display",Zt);var gv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pv=(i,e,t)=>(gv(i,e,"read from private field"),t?t.call(i):e.get(i)),XA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},QA=(i,e,t,r)=>(gv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),la,ph=class extends Zt{constructor(){super(),XA(this,la,void 0),QA(this,la,this.shadowRoot.querySelector("slot")),pv(this,la).textContent=li(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===y.MEDIA_DURATION&&(pv(this,la).textContent=li(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){be(this,y.MEDIA_DURATION,e)}};la=new WeakMap;S.customElements.get("media-duration-display")||S.customElements.define("media-duration-display",ph);var Ev=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ZA=(i,e,t)=>(Ev(i,e,"read from private field"),t?t.call(i):e.get(i)),JA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},eS=(i,e,t,r)=>(Ev(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Al;function tS(i){return`
628
628
  <style>
629
629
  :host {
630
630
  background: rgb(20 20 30 / .8);
@@ -643,9 +643,9 @@
643
643
  <slot name="error-${i.mediaerrorcode}" id="content">
644
644
  ${bv({code:+i.mediaerrorcode,message:i.mediaerrormessage})}
645
645
  </slot>
646
- `}function tS(i){return i.code&&Ic(i)!==null}function bv(i){var e;let{title:t,message:r}=(e=Ic(i))!=null?e:{},s="";return t&&(s+=`<slot name="error-${i.code}-title"><h3>${t}</h3></slot>`),r&&(s+=`<slot name="error-${i.code}-message"><p>${r}</p></slot>`),s}var vv=[y.MEDIA_ERROR_CODE,y.MEDIA_ERROR_MESSAGE],en=class extends Vr{constructor(){super(...arguments),ZA(this,Sl,null)}static get observedAttributes(){return[...super.observedAttributes,...vv]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,r){var s;if(super.attributeChangedCallback(e,t,r),!vv.includes(e))return;let n=(s=this.mediaError)!=null?s:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=tS(n),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(n))}get mediaError(){return QA(this,Sl)}set mediaError(e){JA(this,Sl,e)}get mediaErrorCode(){return fe(this,"mediaerrorcode")}set mediaErrorCode(e){Ee(this,"mediaerrorcode",e)}get mediaErrorMessage(){return me(this,"mediaerrormessage")}set mediaErrorMessage(e){ce(this,"mediaerrormessage",e)}};Sl=new WeakMap;en.getSlotTemplateHTML=eS;en.formatErrorMessage=bv;S.customElements.get("media-error-dialog")||S.customElements.define("media-error-dialog",en);var xl=en;var iS=`<svg aria-hidden="true" viewBox="0 0 26 24">
646
+ `}function iS(i){return i.code&&Rc(i)!==null}function bv(i){var e;let{title:t,message:r}=(e=Rc(i))!=null?e:{},s="";return t&&(s+=`<slot name="error-${i.code}-title"><h3>${t}</h3></slot>`),r&&(s+=`<slot name="error-${i.code}-message"><p>${r}</p></slot>`),s}var vv=[y.MEDIA_ERROR_CODE,y.MEDIA_ERROR_MESSAGE],en=class extends Vr{constructor(){super(...arguments),JA(this,Al,null)}static get observedAttributes(){return[...super.observedAttributes,...vv]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,r){var s;if(super.attributeChangedCallback(e,t,r),!vv.includes(e))return;let n=(s=this.mediaError)!=null?s:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=iS(n),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(n))}get mediaError(){return ZA(this,Al)}set mediaError(e){eS(this,Al,e)}get mediaErrorCode(){return fe(this,"mediaerrorcode")}set mediaErrorCode(e){be(this,"mediaerrorcode",e)}get mediaErrorMessage(){return me(this,"mediaerrormessage")}set mediaErrorMessage(e){ce(this,"mediaerrormessage",e)}};Al=new WeakMap;en.getSlotTemplateHTML=tS;en.formatErrorMessage=bv;S.customElements.get("media-error-dialog")||S.customElements.define("media-error-dialog",en);var Sl=en;var rS=`<svg aria-hidden="true" viewBox="0 0 26 24">
647
647
  <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
648
- </svg>`,rS=`<svg aria-hidden="true" viewBox="0 0 26 24">
648
+ </svg>`,sS=`<svg aria-hidden="true" viewBox="0 0 26 24">
649
649
  <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
650
650
  </svg>`,Tv=B.createElement("template");Tv.innerHTML=`
651
651
  <style>
@@ -665,13 +665,13 @@
665
665
  </style>
666
666
 
667
667
  <slot name="icon">
668
- <slot name="enter">${iS}</slot>
669
- <slot name="exit">${rS}</slot>
668
+ <slot name="enter">${rS}</slot>
669
+ <slot name="exit">${sS}</slot>
670
670
  </slot>
671
- `;var sS=`
671
+ `;var nS=`
672
672
  <slot name="tooltip-enter">${he.ENTER_FULLSCREEN}</slot>
673
673
  <slot name="tooltip-exit">${he.EXIT_FULLSCREEN}</slot>
674
- `,yv=i=>{let e=i.mediaIsFullscreen?Ne.EXIT_FULLSCREEN():Ne.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},vh=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_FULLSCREEN,y.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Tv,tooltipContent:sS,...e})}connectedCallback(){super.connectedCallback(),yv(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_FULLSCREEN&&yv(this)}get mediaFullscreenUnavailable(){return me(this,y.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ce(this,y.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Se(this,y.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){_e(this,y.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?H.MEDIA_EXIT_FULLSCREEN_REQUEST:H.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-fullscreen-button")||S.customElements.define("media-fullscreen-button",vh);var{MEDIA_TIME_IS_LIVE:Rl,MEDIA_PAUSED:ua}=y,{MEDIA_SEEK_TO_LIVE_REQUEST:nS,MEDIA_PLAY_REQUEST:aS}=H,oS='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',Av=B.createElement("template");Av.innerHTML=`
674
+ `,yv=i=>{let e=i.mediaIsFullscreen?Ue.EXIT_FULLSCREEN():Ue.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},gh=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_FULLSCREEN,y.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Tv,tooltipContent:nS,...e})}connectedCallback(){super.connectedCallback(),yv(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_FULLSCREEN&&yv(this)}get mediaFullscreenUnavailable(){return me(this,y.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ce(this,y.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return xe(this,y.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ae(this,y.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?H.MEDIA_EXIT_FULLSCREEN_REQUEST:H.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-fullscreen-button")||S.customElements.define("media-fullscreen-button",gh);var{MEDIA_TIME_IS_LIVE:xl,MEDIA_PAUSED:da}=y,{MEDIA_SEEK_TO_LIVE_REQUEST:aS,MEDIA_PLAY_REQUEST:oS}=H,lS='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',Av=B.createElement("template");Av.innerHTML=`
675
675
  <style>
676
676
  :host { --media-tooltip-display: none; }
677
677
 
@@ -683,22 +683,22 @@
683
683
  color: var(--media-live-button-icon-color, rgb(140, 140, 140));
684
684
  }
685
685
 
686
- :host([${Rl}]:not([${ua}])) slot[name=indicator] > *,
687
- :host([${Rl}]:not([${ua}])) ::slotted([slot=indicator]) {
686
+ :host([${xl}]:not([${da}])) slot[name=indicator] > *,
687
+ :host([${xl}]:not([${da}])) ::slotted([slot=indicator]) {
688
688
  fill: var(--media-live-button-indicator-color, rgb(255, 0, 0));
689
689
  color: var(--media-live-button-indicator-color, rgb(255, 0, 0));
690
690
  }
691
691
 
692
- :host([${Rl}]:not([${ua}])) {
692
+ :host([${xl}]:not([${da}])) {
693
693
  cursor: not-allowed;
694
694
  }
695
695
 
696
696
  </style>
697
697
 
698
- <slot name="indicator">${oS}</slot>
698
+ <slot name="indicator">${lS}</slot>
699
699
 
700
700
  <slot name="spacer">&nbsp;</slot><slot name="text">LIVE</slot>
701
- `;var _v=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?Ne.SEEK_LIVE():Ne.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},Eh=class extends we{static get observedAttributes(){return[...super.observedAttributes,ua,Rl]}constructor(e={}){super({slotTemplate:Av,...e})}connectedCallback(){_v(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),_v(this)}get mediaPaused(){return Se(this,y.MEDIA_PAUSED)}set mediaPaused(e){_e(this,y.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Se(this,y.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){_e(this,y.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new S.CustomEvent(nS,{composed:!0,bubbles:!0})),this.hasAttribute(ua)&&this.dispatchEvent(new S.CustomEvent(aS,{composed:!0,bubbles:!0})))}};S.customElements.get("media-live-button")||S.customElements.define("media-live-button",Eh);var Rv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ca=(i,e,t)=>(Rv(i,e,"read from private field"),t?t.call(i):e.get(i)),Sv=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ha=(i,e,t,r)=>(Rv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),gi,Il,xv={LOADING_DELAY:"loadingdelay"},Iv=500,Lv=B.createElement("template"),lS=`
701
+ `;var _v=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?Ue.SEEK_LIVE():Ue.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},vh=class extends De{static get observedAttributes(){return[...super.observedAttributes,da,xl]}constructor(e={}){super({slotTemplate:Av,...e})}connectedCallback(){_v(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),_v(this)}get mediaPaused(){return xe(this,y.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,y.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return xe(this,y.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ae(this,y.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new S.CustomEvent(aS,{composed:!0,bubbles:!0})),this.hasAttribute(da)&&this.dispatchEvent(new S.CustomEvent(oS,{composed:!0,bubbles:!0})))}};S.customElements.get("media-live-button")||S.customElements.define("media-live-button",vh);var Rv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ua=(i,e,t)=>(Rv(i,e,"read from private field"),t?t.call(i):e.get(i)),Sv=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ca=(i,e,t,r)=>(Rv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),gi,Rl,xv={LOADING_DELAY:"loadingdelay"},Iv=500,Lv=B.createElement("template"),dS=`
702
702
  <svg aria-hidden="true" viewBox="0 0 100 100">
703
703
  <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
704
704
  <animateTransform
@@ -756,13 +756,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
756
756
  }
757
757
  </style>
758
758
 
759
- <slot name="icon">${lS}</slot>
760
- <div id="status" role="status" aria-live="polite">${Oe.MEDIA_LOADING()}</div>
761
- `;var bh=class extends S.HTMLElement{constructor(){if(super(),Sv(this,gi,void 0),Sv(this,Il,Iv),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=Lv.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED,y.MEDIA_LOADING,xv.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===xv.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=ca(this,gi))==null?void 0:s.unassociateElement)==null||n.call(s,this),ha(this,gi,null)),r&&this.isConnected&&(ha(this,gi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ca(this,gi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(ha(this,gi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ca(this,gi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ca(this,gi))==null?void 0:e.unassociateElement)==null||t.call(e,this),ha(this,gi,null)}get loadingDelay(){return ca(this,Il)}set loadingDelay(e){ha(this,Il,e);let{style:t}=ke(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Se(this,y.MEDIA_PAUSED)}set mediaPaused(e){_e(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return Se(this,y.MEDIA_LOADING)}set mediaLoading(e){_e(this,y.MEDIA_LOADING,e)}};gi=new WeakMap;Il=new WeakMap;S.customElements.get("media-loading-indicator")||S.customElements.define("media-loading-indicator",bh);var{MEDIA_VOLUME_LEVEL:qr}=y,dS=`<svg aria-hidden="true" viewBox="0 0 24 24">
759
+ <slot name="icon">${dS}</slot>
760
+ <div id="status" role="status" aria-live="polite">${Ne.MEDIA_LOADING()}</div>
761
+ `;var Eh=class extends S.HTMLElement{constructor(){if(super(),Sv(this,gi,void 0),Sv(this,Rl,Iv),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=Lv.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED,y.MEDIA_LOADING,xv.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===xv.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=ua(this,gi))==null?void 0:s.unassociateElement)==null||n.call(s,this),ca(this,gi,null)),r&&this.isConnected&&(ca(this,gi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ua(this,gi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(ca(this,gi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ua(this,gi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ua(this,gi))==null?void 0:e.unassociateElement)==null||t.call(e,this),ca(this,gi,null)}get loadingDelay(){return ua(this,Rl)}set loadingDelay(e){ca(this,Rl,e);let{style:t}=Ce(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return xe(this,y.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return xe(this,y.MEDIA_LOADING)}set mediaLoading(e){Ae(this,y.MEDIA_LOADING,e)}};gi=new WeakMap;Rl=new WeakMap;S.customElements.get("media-loading-indicator")||S.customElements.define("media-loading-indicator",Eh);var{MEDIA_VOLUME_LEVEL:qr}=y,uS=`<svg aria-hidden="true" viewBox="0 0 24 24">
762
762
  <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
763
763
  </svg>`,kv=`<svg aria-hidden="true" viewBox="0 0 24 24">
764
764
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
765
- </svg>`,uS=`<svg aria-hidden="true" viewBox="0 0 24 24">
765
+ </svg>`,cS=`<svg aria-hidden="true" viewBox="0 0 24 24">
766
766
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
767
767
  </svg>`,wv=B.createElement("template");wv.innerHTML=`
768
768
  <style>
@@ -791,15 +791,15 @@ svg, img, ::slotted(svg), ::slotted(img) {
791
791
  </style>
792
792
 
793
793
  <slot name="icon">
794
- <slot name="off">${dS}</slot>
794
+ <slot name="off">${uS}</slot>
795
795
  <slot name="low">${kv}</slot>
796
796
  <slot name="medium">${kv}</slot>
797
- <slot name="high">${uS}</slot>
797
+ <slot name="high">${cS}</slot>
798
798
  </slot>
799
- `;var cS=`
799
+ `;var hS=`
800
800
  <slot name="tooltip-mute">${he.MUTE}</slot>
801
801
  <slot name="tooltip-unmute">${he.UNMUTE}</slot>
802
- `,Cv=i=>{let t=i.mediaVolumeLevel==="off"?Ne.UNMUTE():Ne.MUTE();i.setAttribute("aria-label",t)},yh=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:wv,tooltipContent:cS,...e})}connectedCallback(){Cv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_VOLUME_LEVEL&&Cv(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return me(this,y.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ce(this,y.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?H.MEDIA_UNMUTE_REQUEST:H.MEDIA_MUTE_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-mute-button")||S.customElements.define("media-mute-button",yh);var Dv=`<svg aria-hidden="true" viewBox="0 0 28 24">
802
+ `,Cv=i=>{let t=i.mediaVolumeLevel==="off"?Ue.UNMUTE():Ue.MUTE();i.setAttribute("aria-label",t)},bh=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:wv,tooltipContent:hS,...e})}connectedCallback(){Cv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_VOLUME_LEVEL&&Cv(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return me(this,y.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ce(this,y.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?H.MEDIA_UNMUTE_REQUEST:H.MEDIA_MUTE_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-mute-button")||S.customElements.define("media-mute-button",bh);var Dv=`<svg aria-hidden="true" viewBox="0 0 28 24">
803
803
  <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
804
804
  </svg>`,Pv=B.createElement("template");Pv.innerHTML=`
805
805
  <style>
@@ -822,10 +822,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
822
822
  <slot name="enter">${Dv}</slot>
823
823
  <slot name="exit">${Dv}</slot>
824
824
  </slot>
825
- `;var hS=`
825
+ `;var fS=`
826
826
  <slot name="tooltip-enter">${he.ENTER_PIP}</slot>
827
827
  <slot name="tooltip-exit">${he.EXIT_PIP}</slot>
828
- `,Mv=i=>{let e=i.mediaIsPip?Ne.EXIT_PIP():Ne.ENTER_PIP();i.setAttribute("aria-label",e)},Th=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_PIP,y.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Pv,tooltipContent:hS,...e})}connectedCallback(){Mv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_IS_PIP&&Mv(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return me(this,y.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ce(this,y.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Se(this,y.MEDIA_IS_PIP)}set mediaIsPip(e){_e(this,y.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?H.MEDIA_EXIT_PIP_REQUEST:H.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-pip-button")||S.customElements.define("media-pip-button",Th);var fS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ll=(i,e,t)=>(fS(i,e,"read from private field"),t?t.call(i):e.get(i)),mS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},tn,_h={RATES:"rates"},Sh=[1,1.2,1.5,1.7,2],rn=1,Ov=B.createElement("template");Ov.innerHTML=`
828
+ `,Mv=i=>{let e=i.mediaIsPip?Ue.EXIT_PIP():Ue.ENTER_PIP();i.setAttribute("aria-label",e)},yh=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_PIP,y.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Pv,tooltipContent:fS,...e})}connectedCallback(){Mv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_IS_PIP&&Mv(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return me(this,y.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ce(this,y.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return xe(this,y.MEDIA_IS_PIP)}set mediaIsPip(e){Ae(this,y.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?H.MEDIA_EXIT_PIP_REQUEST:H.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-pip-button")||S.customElements.define("media-pip-button",yh);var mS=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Il=(i,e,t)=>(mS(i,e,"read from private field"),t?t.call(i):e.get(i)),pS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},tn,Th={RATES:"rates"},Ah=[1,1.2,1.5,1.7,2],rn=1,Ov=B.createElement("template");Ov.innerHTML=`
829
829
  <style>
830
830
  :host {
831
831
  min-width: 5ch;
@@ -833,9 +833,9 @@ svg, img, ::slotted(svg), ::slotted(img) {
833
833
  }
834
834
  </style>
835
835
  <slot name="icon"></slot>
836
- `;var Ah=class extends we{constructor(e={}){super({slotTemplate:Ov,tooltipContent:he.PLAYBACK_RATE,...e}),mS(this,tn,new ui(this,_h.RATES,{defaultValue:Sh})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${rn}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,_h.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===_h.RATES&&(Ll(this,tn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?rn:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Oe.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return Ll(this,tn)}set rates(e){e?Array.isArray(e)&&(Ll(this,tn).value=e.join(" ")):Ll(this,tn).value=""}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,rn)}set mediaPlaybackRate(e){Ee(this,y.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:rn,n=new S.CustomEvent(H.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};tn=new WeakMap;S.customElements.get("media-playback-rate-button")||S.customElements.define("media-playback-rate-button",Ah);var pS=`<svg aria-hidden="true" viewBox="0 0 24 24">
836
+ `;var _h=class extends De{constructor(e={}){super({slotTemplate:Ov,tooltipContent:he.PLAYBACK_RATE,...e}),pS(this,tn,new ui(this,Th.RATES,{defaultValue:Ah})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${rn}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Th.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Th.RATES&&(Il(this,tn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?rn:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ne.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return Il(this,tn)}set rates(e){e?Array.isArray(e)&&(Il(this,tn).value=e.join(" ")):Il(this,tn).value=""}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,rn)}set mediaPlaybackRate(e){be(this,y.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:rn,n=new S.CustomEvent(H.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};tn=new WeakMap;S.customElements.get("media-playback-rate-button")||S.customElements.define("media-playback-rate-button",_h);var gS=`<svg aria-hidden="true" viewBox="0 0 24 24">
837
837
  <path d="m6 21 15-9L6 3v18Z"/>
838
- </svg>`,gS=`<svg aria-hidden="true" viewBox="0 0 24 24">
838
+ </svg>`,vS=`<svg aria-hidden="true" viewBox="0 0 24 24">
839
839
  <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
840
840
  </svg>`,Uv=B.createElement("template");Uv.innerHTML=`
841
841
  <style>
@@ -851,13 +851,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
851
851
  </style>
852
852
 
853
853
  <slot name="icon">
854
- <slot name="play">${pS}</slot>
855
- <slot name="pause">${gS}</slot>
854
+ <slot name="play">${gS}</slot>
855
+ <slot name="pause">${vS}</slot>
856
856
  </slot>
857
- `;var vS=`
857
+ `;var ES=`
858
858
  <slot name="tooltip-play">${he.PLAY}</slot>
859
859
  <slot name="tooltip-pause">${he.PAUSE}</slot>
860
- `,Nv=i=>{let e=i.mediaPaused?Ne.PLAY():Ne.PAUSE();i.setAttribute("aria-label",e)},xh=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Uv,tooltipContent:vS,...e})}connectedCallback(){Nv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_PAUSED&&Nv(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Se(this,y.MEDIA_PAUSED)}set mediaPaused(e){_e(this,y.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-play-button")||S.customElements.define("media-play-button",xh);var vi={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Fv=B.createElement("template");Fv.innerHTML=`
860
+ `,Nv=i=>{let e=i.mediaPaused?Ue.PLAY():Ue.PAUSE();i.setAttribute("aria-label",e)},Sh=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Uv,tooltipContent:ES,...e})}connectedCallback(){Nv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_PAUSED&&Nv(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return xe(this,y.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,y.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?H.MEDIA_PLAY_REQUEST:H.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new S.CustomEvent(e,{composed:!0,bubbles:!0}))}};S.customElements.get("media-play-button")||S.customElements.define("media-play-button",Sh);var vi={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Fv=B.createElement("template");Fv.innerHTML=`
861
861
  <style>
862
862
  :host {
863
863
  pointer-events: none;
@@ -879,7 +879,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
879
879
  </style>
880
880
 
881
881
  <img part="poster img" aria-hidden="true" id="image"/>
882
- `;var ES=i=>{i.style.removeProperty("background-image")},bS=(i,e)=>{i.style["background-image"]=`url('${e}')`},Rh=class extends S.HTMLElement{static get observedAttributes(){return[vi.PLACEHOLDER_SRC,vi.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Fv.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===vi.SRC&&(r==null?this.image.removeAttribute(vi.SRC):this.image.setAttribute(vi.SRC,r)),e===vi.PLACEHOLDER_SRC&&(r==null?ES(this.image):bS(this.image,r))}get placeholderSrc(){return me(this,vi.PLACEHOLDER_SRC)}set placeholderSrc(e){ce(this,vi.SRC,e)}get src(){return me(this,vi.SRC)}set src(e){ce(this,vi.SRC,e)}};S.customElements.get("media-poster-image")||S.customElements.define("media-poster-image",Rh);var Bv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},yS=(i,e,t)=>(Bv(i,e,"read from private field"),t?t.call(i):e.get(i)),TS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_S=(i,e,t,r)=>(Bv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),kl,Ih=class extends Zt{constructor(){super(),TS(this,kl,void 0),_S(this,kl,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(yS(this,kl).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return me(this,y.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ce(this,y.MEDIA_PREVIEW_CHAPTER,e)}};kl=new WeakMap;S.customElements.get("media-preview-chapter-display")||S.customElements.define("media-preview-chapter-display",Ih);var $v=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Cl=(i,e,t)=>($v(i,e,"read from private field"),t?t.call(i):e.get(i)),AS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},wl=(i,e,t,r)=>($v(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ei,Hv=B.createElement("template");Hv.innerHTML=`
882
+ `;var bS=i=>{i.style.removeProperty("background-image")},yS=(i,e)=>{i.style["background-image"]=`url('${e}')`},xh=class extends S.HTMLElement{static get observedAttributes(){return[vi.PLACEHOLDER_SRC,vi.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Fv.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===vi.SRC&&(r==null?this.image.removeAttribute(vi.SRC):this.image.setAttribute(vi.SRC,r)),e===vi.PLACEHOLDER_SRC&&(r==null?bS(this.image):yS(this.image,r))}get placeholderSrc(){return me(this,vi.PLACEHOLDER_SRC)}set placeholderSrc(e){ce(this,vi.SRC,e)}get src(){return me(this,vi.SRC)}set src(e){ce(this,vi.SRC,e)}};S.customElements.get("media-poster-image")||S.customElements.define("media-poster-image",xh);var Bv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},TS=(i,e,t)=>(Bv(i,e,"read from private field"),t?t.call(i):e.get(i)),_S=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},AS=(i,e,t,r)=>(Bv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ll,Rh=class extends Zt{constructor(){super(),_S(this,Ll,void 0),AS(this,Ll,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(TS(this,Ll).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return me(this,y.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ce(this,y.MEDIA_PREVIEW_CHAPTER,e)}};Ll=new WeakMap;S.customElements.get("media-preview-chapter-display")||S.customElements.define("media-preview-chapter-display",Rh);var $v=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},kl=(i,e,t)=>($v(i,e,"read from private field"),t?t.call(i):e.get(i)),SS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Cl=(i,e,t,r)=>($v(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ei,Hv=B.createElement("template");Hv.innerHTML=`
883
883
  <style>
884
884
  :host {
885
885
  box-sizing: border-box;
@@ -893,11 +893,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
893
893
  }
894
894
  </style>
895
895
  <img crossorigin loading="eager" decoding="async">
896
- `;var Lh=class extends S.HTMLElement{constructor(){super(),AS(this,Ei,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Hv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(wl(this,Ei,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Cl(this,Ei))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Cl(this,Ei))==null?void 0:e.unassociateElement)==null||t.call(e,this),wl(this,Ei,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=Cl(this,Ei))==null?void 0:s.unassociateElement)==null||n.call(s,this),wl(this,Ei,null)),r&&this.isConnected&&(wl(this,Ei,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Cl(this,Ei))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return me(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(y.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(y.MEDIA_PREVIEW_COORDS);return}this.setAttribute(y.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=ke(this.shadowRoot,":host"),b=ke(this.shadowRoot,"img").style,T=this.shadowRoot.querySelector("img"),_=p?"min":"max";E.setProperty(`${_}-width`,"initial","important"),E.setProperty(`${_}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{b.width=`${this.imgWidth*g}px`,b.height=`${this.imgHeight*g}px`,b.display="block"};T.src!==o&&(T.onload=()=>{this.imgWidth=T.naturalWidth,this.imgHeight=T.naturalHeight,A()},T.src=o,A()),A(),b.transform=`translate(-${r*g}px, -${s*g}px)`}};Ei=new WeakMap;S.customElements.get("media-preview-thumbnail")||S.customElements.define("media-preview-thumbnail",Lh);var Kv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Gv=(i,e,t)=>(Kv(i,e,"read from private field"),t?t.call(i):e.get(i)),SS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},xS=(i,e,t,r)=>(Kv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fa,kh=class extends Zt{constructor(){super(),SS(this,fa,void 0),xS(this,fa,this.shadowRoot.querySelector("slot")),Gv(this,fa).textContent=li(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_TIME&&r!=null&&(Gv(this,fa).textContent=li(parseFloat(r)))}get mediaPreviewTime(){return fe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){Ee(this,y.MEDIA_PREVIEW_TIME,e)}};fa=new WeakMap;S.customElements.get("media-preview-time-display")||S.customElements.define("media-preview-time-display",kh);var sn={SEEK_OFFSET:"seekoffset"},Dl=30,RS=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${Dl}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Wv=B.createElement("template");Wv.innerHTML=`
897
- <slot name="icon">${RS}</slot>
898
- `;var IS=0,Ch=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,sn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Wv,tooltipContent:he.SEEK_BACKWARD,...e})}connectedCallback(){this.seekOffset=fe(this,sn.SEEK_OFFSET,Dl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===sn.SEEK_OFFSET&&(this.seekOffset=fe(this,sn.SEEK_OFFSET,Dl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return fe(this,sn.SEEK_OFFSET,Dl)}set seekOffset(e){Ee(this,sn.SEEK_OFFSET,e),this.setAttribute("aria-label",Ne.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),$o(Ho(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME,IS)}set mediaCurrentTime(e){Ee(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};S.customElements.get("media-seek-backward-button")||S.customElements.define("media-seek-backward-button",Ch);var nn={SEEK_OFFSET:"seekoffset"},Ml=30,LS=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${Ml}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,Vv=B.createElement("template");Vv.innerHTML=`
899
- <slot name="icon">${LS}</slot>
900
- `;var kS=0,wh=class extends we{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,nn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Vv,tooltipContent:he.SEEK_FORWARD,...e})}connectedCallback(){this.seekOffset=fe(this,nn.SEEK_OFFSET,Ml),super.connectedCallback()}attributeChangedCallback(e,t,r){e===nn.SEEK_OFFSET&&(this.seekOffset=fe(this,nn.SEEK_OFFSET,Ml)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return fe(this,nn.SEEK_OFFSET,Ml)}set seekOffset(e){Ee(this,nn.SEEK_OFFSET,e),this.setAttribute("aria-label",Ne.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),$o(Ho(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME,kS)}set mediaCurrentTime(e){Ee(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};S.customElements.get("media-seek-forward-button")||S.customElements.define("media-seek-forward-button",wh);var zv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Dh=(i,e,t)=>(zv(i,e,"read from private field"),t?t.call(i):e.get(i)),CS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},wS=(i,e,t,r)=>(zv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),an,Jt={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Yv=[...Object.values(Jt),y.MEDIA_CURRENT_TIME,y.MEDIA_DURATION,y.MEDIA_SEEKABLE],qv=["Enter"," "],DS="&nbsp;/&nbsp;",jv=(i,{timesSep:e=DS}={})=>{var t,r;let s=i.hasAttribute(Jt.REMAINING),n=i.hasAttribute(Jt.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?li(0-(l-a)):li(a);return n?`${d}${e}${li(l)}`:d},MS="video not loaded, unknown time.",PS=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",MS);return}let n=i.hasAttribute(Jt.REMAINING),a=i.hasAttribute(Jt.SHOW_DURATION),o=n?Pr(0-(s-t)):Pr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=Pr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},Mh=class extends Zt{constructor(){super(),CS(this,an,void 0),wS(this,an,this.shadowRoot.querySelector("slot")),Dh(this,an).innerHTML=`${jv(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Yv,"disabled"]}connectedCallback(){let{style:e}=ke(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Oe.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!qv.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!qv.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Yv.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Se(this,Jt.REMAINING)}set remaining(e){_e(this,Jt.REMAINING,e)}get showDuration(){return Se(this,Jt.SHOW_DURATION)}set showDuration(e){_e(this,Jt.SHOW_DURATION,e)}get noToggle(){return Se(this,Jt.NO_TOGGLE)}set noToggle(e){_e(this,Jt.NO_TOGGLE,e)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){Ee(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){Ee(this,y.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}update(){let e=jv(this);PS(this),e!==Dh(this,an).innerHTML&&(Dh(this,an).innerHTML=e)}};an=new WeakMap;S.customElements.get("media-time-display")||S.customElements.define("media-time-display",Mh);var Xv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dt=(i,e,t)=>(Xv(i,e,"read from private field"),t?t.call(i):e.get(i)),bi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bt=(i,e,t,r)=>(Xv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),OS=(i,e,t,r)=>({set _(s){Bt(i,e,s,t)},get _(){return dt(i,e,r)}}),on,Pl,ln,ma,Ol,Nl,Ul,dn,jr,Fl,Bl=class{constructor(e,t,r){bi(this,on,void 0),bi(this,Pl,void 0),bi(this,ln,void 0),bi(this,ma,void 0),bi(this,Ol,void 0),bi(this,Nl,void 0),bi(this,Ul,void 0),bi(this,dn,void 0),bi(this,jr,0),bi(this,Fl,(s=performance.now())=>{Bt(this,jr,requestAnimationFrame(dt(this,Fl))),Bt(this,ma,performance.now()-dt(this,ln));let n=1e3/this.fps;if(dt(this,ma)>n){Bt(this,ln,s-dt(this,ma)%n);let a=1e3/((s-dt(this,Pl))/++OS(this,Ol)._),o=(s-dt(this,Nl))/1e3/this.duration,l=dt(this,Ul)+o*this.playbackRate;l-dt(this,on).valueAsNumber>0?Bt(this,dn,this.playbackRate/this.duration/a):(Bt(this,dn,.995*dt(this,dn)),l=dt(this,on).valueAsNumber+dt(this,dn)),this.callback(l)}}),Bt(this,on,e),this.callback=t,this.fps=r}start(){dt(this,jr)===0&&(Bt(this,ln,performance.now()),Bt(this,Pl,dt(this,ln)),Bt(this,Ol,0),dt(this,Fl).call(this))}stop(){dt(this,jr)!==0&&(cancelAnimationFrame(dt(this,jr)),Bt(this,jr,0))}update({start:e,duration:t,playbackRate:r}){let s=e-dt(this,on).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Bt(this,Ul,e),Bt(this,Nl,performance.now()),this.duration=t,this.playbackRate=r}};on=new WeakMap;Pl=new WeakMap;ln=new WeakMap;ma=new WeakMap;Ol=new WeakMap;Nl=new WeakMap;Ul=new WeakMap;dn=new WeakMap;jr=new WeakMap;Fl=new WeakMap;var Fh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},it=(i,e,t)=>(Fh(i,e,"read from private field"),t?t.call(i):e.get(i)),ut=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yi=(i,e,t,r)=>(Fh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bt=(i,e,t)=>(Fh(i,e,"access private method"),t),un,zr,Gl,ga,Kl,Hl,va,Ea,cn,hn,pa,Bh,Qv,Ph,Wl,$h,Vl,Hh,Yl,Gh,Oh,Zv,ba,ql,Nh,Jv,NS="video not loaded, unknown time.",US=i=>{let e=i.range,t=Pr(+tE(i)),r=Pr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:NS;e.setAttribute("aria-valuetext",s)},eE=B.createElement("template");eE.innerHTML=`
896
+ `;var Ih=class extends S.HTMLElement{constructor(){super(),SS(this,Ei,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Hv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(Cl(this,Ei,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=kl(this,Ei))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=kl(this,Ei))==null?void 0:e.unassociateElement)==null||t.call(e,this),Cl(this,Ei,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=kl(this,Ei))==null?void 0:s.unassociateElement)==null||n.call(s,this),Cl(this,Ei,null)),r&&this.isConnected&&(Cl(this,Ei,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=kl(this,Ei))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return me(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(y.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(y.MEDIA_PREVIEW_COORDS);return}this.setAttribute(y.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Ce(this.shadowRoot,":host"),b=Ce(this.shadowRoot,"img").style,T=this.shadowRoot.querySelector("img"),_=p?"min":"max";E.setProperty(`${_}-width`,"initial","important"),E.setProperty(`${_}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{b.width=`${this.imgWidth*g}px`,b.height=`${this.imgHeight*g}px`,b.display="block"};T.src!==o&&(T.onload=()=>{this.imgWidth=T.naturalWidth,this.imgHeight=T.naturalHeight,A()},T.src=o,A()),A(),b.transform=`translate(-${r*g}px, -${s*g}px)`}};Ei=new WeakMap;S.customElements.get("media-preview-thumbnail")||S.customElements.define("media-preview-thumbnail",Ih);var Kv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Gv=(i,e,t)=>(Kv(i,e,"read from private field"),t?t.call(i):e.get(i)),xS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},RS=(i,e,t,r)=>(Kv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ha,Lh=class extends Zt{constructor(){super(),xS(this,ha,void 0),RS(this,ha,this.shadowRoot.querySelector("slot")),Gv(this,ha).textContent=li(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_TIME&&r!=null&&(Gv(this,ha).textContent=li(parseFloat(r)))}get mediaPreviewTime(){return fe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){be(this,y.MEDIA_PREVIEW_TIME,e)}};ha=new WeakMap;S.customElements.get("media-preview-time-display")||S.customElements.define("media-preview-time-display",Lh);var sn={SEEK_OFFSET:"seekoffset"},wl=30,IS=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${wl}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Wv=B.createElement("template");Wv.innerHTML=`
897
+ <slot name="icon">${IS}</slot>
898
+ `;var LS=0,kh=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,sn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Wv,tooltipContent:he.SEEK_BACKWARD,...e})}connectedCallback(){this.seekOffset=fe(this,sn.SEEK_OFFSET,wl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===sn.SEEK_OFFSET&&(this.seekOffset=fe(this,sn.SEEK_OFFSET,wl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return fe(this,sn.SEEK_OFFSET,wl)}set seekOffset(e){be(this,sn.SEEK_OFFSET,e),this.setAttribute("aria-label",Ue.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),Bo($o(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME,LS)}set mediaCurrentTime(e){be(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};S.customElements.get("media-seek-backward-button")||S.customElements.define("media-seek-backward-button",kh);var nn={SEEK_OFFSET:"seekoffset"},Dl=30,kS=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${Dl}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,Vv=B.createElement("template");Vv.innerHTML=`
899
+ <slot name="icon">${kS}</slot>
900
+ `;var CS=0,Ch=class extends De{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,nn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Vv,tooltipContent:he.SEEK_FORWARD,...e})}connectedCallback(){this.seekOffset=fe(this,nn.SEEK_OFFSET,Dl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===nn.SEEK_OFFSET&&(this.seekOffset=fe(this,nn.SEEK_OFFSET,Dl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return fe(this,nn.SEEK_OFFSET,Dl)}set seekOffset(e){be(this,nn.SEEK_OFFSET,e),this.setAttribute("aria-label",Ue.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),Bo($o(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME,CS)}set mediaCurrentTime(e){be(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};S.customElements.get("media-seek-forward-button")||S.customElements.define("media-seek-forward-button",Ch);var zv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},wh=(i,e,t)=>(zv(i,e,"read from private field"),t?t.call(i):e.get(i)),wS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},DS=(i,e,t,r)=>(zv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),an,Jt={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Yv=[...Object.values(Jt),y.MEDIA_CURRENT_TIME,y.MEDIA_DURATION,y.MEDIA_SEEKABLE],qv=["Enter"," "],MS="&nbsp;/&nbsp;",jv=(i,{timesSep:e=MS}={})=>{var t,r;let s=i.hasAttribute(Jt.REMAINING),n=i.hasAttribute(Jt.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?li(0-(l-a)):li(a);return n?`${d}${e}${li(l)}`:d},PS="video not loaded, unknown time.",OS=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",PS);return}let n=i.hasAttribute(Jt.REMAINING),a=i.hasAttribute(Jt.SHOW_DURATION),o=n?Pr(0-(s-t)):Pr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=Pr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},Dh=class extends Zt{constructor(){super(),wS(this,an,void 0),DS(this,an,this.shadowRoot.querySelector("slot")),wh(this,an).innerHTML=`${jv(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Yv,"disabled"]}connectedCallback(){let{style:e}=Ce(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Ne.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!qv.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!qv.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Yv.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return xe(this,Jt.REMAINING)}set remaining(e){Ae(this,Jt.REMAINING,e)}get showDuration(){return xe(this,Jt.SHOW_DURATION)}set showDuration(e){Ae(this,Jt.SHOW_DURATION,e)}get noToggle(){return xe(this,Jt.NO_TOGGLE)}set noToggle(e){Ae(this,Jt.NO_TOGGLE,e)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){be(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){be(this,y.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}update(){let e=jv(this);OS(this),e!==wh(this,an).innerHTML&&(wh(this,an).innerHTML=e)}};an=new WeakMap;S.customElements.get("media-time-display")||S.customElements.define("media-time-display",Dh);var Xv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dt=(i,e,t)=>(Xv(i,e,"read from private field"),t?t.call(i):e.get(i)),bi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bt=(i,e,t,r)=>(Xv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),NS=(i,e,t,r)=>({set _(s){Bt(i,e,s,t)},get _(){return dt(i,e,r)}}),on,Ml,ln,fa,Pl,Ol,Nl,dn,jr,Ul,Fl=class{constructor(e,t,r){bi(this,on,void 0),bi(this,Ml,void 0),bi(this,ln,void 0),bi(this,fa,void 0),bi(this,Pl,void 0),bi(this,Ol,void 0),bi(this,Nl,void 0),bi(this,dn,void 0),bi(this,jr,0),bi(this,Ul,(s=performance.now())=>{Bt(this,jr,requestAnimationFrame(dt(this,Ul))),Bt(this,fa,performance.now()-dt(this,ln));let n=1e3/this.fps;if(dt(this,fa)>n){Bt(this,ln,s-dt(this,fa)%n);let a=1e3/((s-dt(this,Ml))/++NS(this,Pl)._),o=(s-dt(this,Ol))/1e3/this.duration,l=dt(this,Nl)+o*this.playbackRate;l-dt(this,on).valueAsNumber>0?Bt(this,dn,this.playbackRate/this.duration/a):(Bt(this,dn,.995*dt(this,dn)),l=dt(this,on).valueAsNumber+dt(this,dn)),this.callback(l)}}),Bt(this,on,e),this.callback=t,this.fps=r}start(){dt(this,jr)===0&&(Bt(this,ln,performance.now()),Bt(this,Ml,dt(this,ln)),Bt(this,Pl,0),dt(this,Ul).call(this))}stop(){dt(this,jr)!==0&&(cancelAnimationFrame(dt(this,jr)),Bt(this,jr,0))}update({start:e,duration:t,playbackRate:r}){let s=e-dt(this,on).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Bt(this,Nl,e),Bt(this,Ol,performance.now()),this.duration=t,this.playbackRate=r}};on=new WeakMap;Ml=new WeakMap;ln=new WeakMap;fa=new WeakMap;Pl=new WeakMap;Ol=new WeakMap;Nl=new WeakMap;dn=new WeakMap;jr=new WeakMap;Ul=new WeakMap;var Uh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},it=(i,e,t)=>(Uh(i,e,"read from private field"),t?t.call(i):e.get(i)),ut=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yi=(i,e,t,r)=>(Uh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bt=(i,e,t)=>(Uh(i,e,"access private method"),t),un,zr,Hl,pa,Gl,$l,ga,va,cn,hn,ma,Fh,Qv,Mh,Kl,Bh,Wl,$h,Vl,Hh,Ph,Zv,Ea,Yl,Oh,Jv,US="video not loaded, unknown time.",FS=i=>{let e=i.range,t=Pr(+tE(i)),r=Pr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:US;e.setAttribute("aria-valuetext",s)},eE=B.createElement("template");eE.innerHTML=`
901
901
  <style>
902
902
  :host {
903
903
  --media-box-border-radius: 4px;
@@ -1110,7 +1110,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1110
1110
 
1111
1111
  </slot>
1112
1112
  </div>
1113
- `;var $l=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},tE=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},Uh=class extends Yr{constructor(){super(),ut(this,hn),ut(this,Bh),ut(this,Wl),ut(this,Vl),ut(this,Yl),ut(this,Oh),ut(this,ba),ut(this,Nh),ut(this,un,void 0),ut(this,zr,void 0),ut(this,Gl,void 0),ut(this,ga,void 0),ut(this,Kl,void 0),ut(this,Hl,void 0),ut(this,va,void 0),ut(this,Ea,void 0),ut(this,cn,void 0),ut(this,Ph,r=>{this.dragging||(Ks(r)&&(this.range.valueAsNumber=r),this.updateBar())}),this.container.appendChild(eE.content.cloneNode(!0)),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),yi(this,Gl,this.shadowRoot.querySelectorAll('[part~="box"]')),yi(this,Kl,this.shadowRoot.querySelector('[part~="preview-box"]')),yi(this,Hl,this.shadowRoot.querySelector('[part~="current-box"]'));let t=getComputedStyle(this);yi(this,va,parseInt(t.getPropertyValue("--media-box-padding-left"))),yi(this,Ea,parseInt(t.getPropertyValue("--media-box-padding-right"))),yi(this,zr,new Bl(this.range,it(this,Ph),60))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_DURATION,y.MEDIA_SEEKABLE,y.MEDIA_CURRENT_TIME,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_TIME,y.MEDIA_PREVIEW_CHAPTER,y.MEDIA_BUFFERED,y.MEDIA_PLAYBACK_RATE,y.MEDIA_LOADING,y.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",Oe.SEEK()),bt(this,hn,pa).call(this),yi(this,un,this.getRootNode()),(e=it(this,un))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),bt(this,hn,pa).call(this),(e=it(this,un))==null||e.removeEventListener("transitionstart",this),yi(this,un,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===y.MEDIA_CURRENT_TIME||e===y.MEDIA_PAUSED||e===y.MEDIA_ENDED||e===y.MEDIA_LOADING||e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE?(it(this,zr).update({start:$l(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),bt(this,hn,pa).call(this),US(this)):e===y.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=it(this,cn),this.updateBar()))}get mediaChaptersCues(){return it(this,cn)}set mediaChaptersCues(e){var t;yi(this,cn,e),this.updateSegments((t=it(this,cn))==null?void 0:t.map(r=>({start:$l(this,r.startTime),end:$l(this,r.endTime)})))}get mediaPaused(){return Se(this,y.MEDIA_PAUSED)}set mediaPaused(e){_e(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return Se(this,y.MEDIA_LOADING)}set mediaLoading(e){_e(this,y.MEDIA_LOADING,e)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){Ee(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){Ee(this,y.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){Ee(this,y.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(y.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(y.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(y.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return me(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return fe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){Ee(this,y.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Se(this,y.MEDIA_ENDED)}set mediaEnded(e){_e(this,y.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=$l(this,a)}let{style:s}=ke(this.shadowRoot,"#buffered");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=ke(this.shadowRoot,"#current-rail"),r=ke(this.shadowRoot,'[part~="current-box"]'),s=bt(this,Wl,$h).call(this,it(this,Hl)),n=bt(this,Vl,Hh).call(this,s,this.range.valueAsNumber),a=bt(this,Yl,Gh).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":bt(this,Nh,Jv).call(this);break;case"pointermove":bt(this,Oh,Zv).call(this,e);break;case"pointerup":case"pointerleave":bt(this,ba,ql).call(this,null);break;case"transitionstart":At(e.target,this)&&setTimeout(()=>bt(this,hn,pa).call(this),0);break}}};un=new WeakMap;zr=new WeakMap;Gl=new WeakMap;ga=new WeakMap;Kl=new WeakMap;Hl=new WeakMap;va=new WeakMap;Ea=new WeakMap;cn=new WeakMap;hn=new WeakSet;pa=function(){bt(this,Bh,Qv).call(this)?it(this,zr).start():it(this,zr).stop()};Bh=new WeakSet;Qv=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Go(this)};Ph=new WeakMap;Wl=new WeakSet;$h=function(i){var e;let r=((e=this.getAttribute("bounds")?di(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Vl=new WeakSet;Hh=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Yl=new WeakSet;Gh=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+it(this,va)){let a=i.range.left-i.bounds.left-it(this,va);return`${n-t/2+a}px`}if(n>s-it(this,Ea)){let a=i.bounds.right-i.range.right-it(this,Ea);return`${n+t/2-a-i.range.width}px`}return 0};Oh=new WeakSet;Zv=function(i){let e=[...it(this,Gl)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){bt(this,ba,ql).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=ke(this.shadowRoot,"#preview-rail"),s=ke(this.shadowRoot,'[part~="preview-box"]'),n=bt(this,Wl,$h).call(this,it(this,Kl)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=bt(this,Vl,Hh).call(this,n,a),l=bt(this,Yl,Gh).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(it(this,ga))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(yi(this,ga,a*t),bt(this,ba,ql).call(this,it(this,ga)))};ba=new WeakSet;ql=function(i){this.dispatchEvent(new S.CustomEvent(H.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};Nh=new WeakSet;Jv=function(){it(this,zr).stop();let i=tE(this);this.dispatchEvent(new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};S.customElements.get("media-time-range")||S.customElements.define("media-time-range",Uh);var fn={PLACEMENT:"placement",BOUNDS:"bounds"},iE=B.createElement("template");iE.innerHTML=`
1113
+ `;var Bl=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},tE=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},Nh=class extends Yr{constructor(){super(),ut(this,hn),ut(this,Fh),ut(this,Kl),ut(this,Wl),ut(this,Vl),ut(this,Ph),ut(this,Ea),ut(this,Oh),ut(this,un,void 0),ut(this,zr,void 0),ut(this,Hl,void 0),ut(this,pa,void 0),ut(this,Gl,void 0),ut(this,$l,void 0),ut(this,ga,void 0),ut(this,va,void 0),ut(this,cn,void 0),ut(this,Mh,r=>{this.dragging||(Ks(r)&&(this.range.valueAsNumber=r),this.updateBar())}),this.container.appendChild(eE.content.cloneNode(!0)),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),yi(this,Hl,this.shadowRoot.querySelectorAll('[part~="box"]')),yi(this,Gl,this.shadowRoot.querySelector('[part~="preview-box"]')),yi(this,$l,this.shadowRoot.querySelector('[part~="current-box"]'));let t=getComputedStyle(this);yi(this,ga,parseInt(t.getPropertyValue("--media-box-padding-left"))),yi(this,va,parseInt(t.getPropertyValue("--media-box-padding-right"))),yi(this,zr,new Fl(this.range,it(this,Mh),60))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_DURATION,y.MEDIA_SEEKABLE,y.MEDIA_CURRENT_TIME,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_TIME,y.MEDIA_PREVIEW_CHAPTER,y.MEDIA_BUFFERED,y.MEDIA_PLAYBACK_RATE,y.MEDIA_LOADING,y.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",Ne.SEEK()),bt(this,hn,ma).call(this),yi(this,un,this.getRootNode()),(e=it(this,un))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),bt(this,hn,ma).call(this),(e=it(this,un))==null||e.removeEventListener("transitionstart",this),yi(this,un,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===y.MEDIA_CURRENT_TIME||e===y.MEDIA_PAUSED||e===y.MEDIA_ENDED||e===y.MEDIA_LOADING||e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE?(it(this,zr).update({start:Bl(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),bt(this,hn,ma).call(this),FS(this)):e===y.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=it(this,cn),this.updateBar()))}get mediaChaptersCues(){return it(this,cn)}set mediaChaptersCues(e){var t;yi(this,cn,e),this.updateSegments((t=it(this,cn))==null?void 0:t.map(r=>({start:Bl(this,r.startTime),end:Bl(this,r.endTime)})))}get mediaPaused(){return xe(this,y.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return xe(this,y.MEDIA_LOADING)}set mediaLoading(e){Ae(this,y.MEDIA_LOADING,e)}get mediaDuration(){return fe(this,y.MEDIA_DURATION)}set mediaDuration(e){be(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return fe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){be(this,y.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){be(this,y.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(y.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(y.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(y.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return me(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return fe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){be(this,y.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return xe(this,y.MEDIA_ENDED)}set mediaEnded(e){Ae(this,y.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Bl(this,a)}let{style:s}=Ce(this.shadowRoot,"#buffered");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Ce(this.shadowRoot,"#current-rail"),r=Ce(this.shadowRoot,'[part~="current-box"]'),s=bt(this,Kl,Bh).call(this,it(this,$l)),n=bt(this,Wl,$h).call(this,s,this.range.valueAsNumber),a=bt(this,Vl,Hh).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":bt(this,Oh,Jv).call(this);break;case"pointermove":bt(this,Ph,Zv).call(this,e);break;case"pointerup":case"pointerleave":bt(this,Ea,Yl).call(this,null);break;case"transitionstart":At(e.target,this)&&setTimeout(()=>bt(this,hn,ma).call(this),0);break}}};un=new WeakMap;zr=new WeakMap;Hl=new WeakMap;pa=new WeakMap;Gl=new WeakMap;$l=new WeakMap;ga=new WeakMap;va=new WeakMap;cn=new WeakMap;hn=new WeakSet;ma=function(){bt(this,Fh,Qv).call(this)?it(this,zr).start():it(this,zr).stop()};Fh=new WeakSet;Qv=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Ho(this)};Mh=new WeakMap;Kl=new WeakSet;Bh=function(i){var e;let r=((e=this.getAttribute("bounds")?di(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Wl=new WeakSet;$h=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Vl=new WeakSet;Hh=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+it(this,ga)){let a=i.range.left-i.bounds.left-it(this,ga);return`${n-t/2+a}px`}if(n>s-it(this,va)){let a=i.bounds.right-i.range.right-it(this,va);return`${n+t/2-a-i.range.width}px`}return 0};Ph=new WeakSet;Zv=function(i){let e=[...it(this,Hl)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){bt(this,Ea,Yl).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Ce(this.shadowRoot,"#preview-rail"),s=Ce(this.shadowRoot,'[part~="preview-box"]'),n=bt(this,Kl,Bh).call(this,it(this,Gl)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=bt(this,Wl,$h).call(this,n,a),l=bt(this,Vl,Hh).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(it(this,pa))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(yi(this,pa,a*t),bt(this,Ea,Yl).call(this,it(this,pa)))};Ea=new WeakSet;Yl=function(i){this.dispatchEvent(new S.CustomEvent(H.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};Oh=new WeakSet;Jv=function(){it(this,zr).stop();let i=tE(this);this.dispatchEvent(new S.CustomEvent(H.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};S.customElements.get("media-time-range")||S.customElements.define("media-time-range",Nh);var fn={PLACEMENT:"placement",BOUNDS:"bounds"},iE=B.createElement("template");iE.innerHTML=`
1114
1114
  <style>
1115
1115
  :host {
1116
1116
  --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7)));
@@ -1220,9 +1220,9 @@ svg, img, ::slotted(svg), ::slotted(img) {
1220
1220
  </style>
1221
1221
  <slot></slot>
1222
1222
  <div id="arrow"></div>
1223
- `;var Kh=class extends S.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!Go(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),s=(e=di(this,"#"+this.bounds))!=null?e:Ge(this);if(!s)return;let{x:n,width:a}=s.getBoundingClientRect(),{x:o,width:l}=this.getBoundingClientRect(),d=o+l,u=n+a,c=r.getPropertyValue("--media-tooltip-offset-x"),h=c?parseFloat(c.replace("px","")):0,f=r.getPropertyValue("--media-tooltip-container-margin"),m=f?parseFloat(f.replace("px","")):0,p=o-n+h-m,g=d-u+h+m;if(p<0){this.style.setProperty("--media-tooltip-offset-x",`${p}px`);return}if(g>0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(iE.content.cloneNode(!0))),this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[fn.PLACEMENT,fn.BOUNDS]}get placement(){return me(this,fn.PLACEMENT)}set placement(e){ce(this,fn.PLACEMENT,e)}get bounds(){return me(this,fn.BOUNDS)}set bounds(e){ce(this,fn.BOUNDS,e)}};S.customElements.get("media-tooltip")||S.customElements.define("media-tooltip",Kh);var FS=1,BS=i=>i.mediaMuted?0:i.mediaVolume,$S=i=>`${Math.round(i*100)}%`,Wh=class extends Yr{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME,y.MEDIA_MUTED,y.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new S.CustomEvent(H.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",Oe.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===y.MEDIA_VOLUME||e===y.MEDIA_MUTED)&&(this.range.valueAsNumber=BS(this),this.range.setAttribute("aria-valuetext",$S(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return fe(this,y.MEDIA_VOLUME,FS)}set mediaVolume(e){Ee(this,y.MEDIA_VOLUME,e)}get mediaMuted(){return Se(this,y.MEDIA_MUTED)}set mediaMuted(e){_e(this,y.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return me(this,y.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ce(this,y.MEDIA_VOLUME_UNAVAILABLE,e)}};S.customElements.get("media-volume-range")||S.customElements.define("media-volume-range",Wh);var HS=Object.create,uE=Object.defineProperty,GS=Object.getOwnPropertyDescriptor,KS=Object.getOwnPropertyNames,WS=Object.getPrototypeOf,VS=Object.prototype.hasOwnProperty,cE=function(i,e){return function(){return i&&(e=i(i=0)),e}},Ct=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},YS=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=KS(e),n=0,a=s.length,o;n<a;n++)o=s[n],!VS.call(i,o)&&o!==t&&uE(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=GS(e,o))||r.enumerable});return i},ti=function(i,e,t){return t=i!=null?HS(WS(i)):{},YS(e||!i||!i.__esModule?uE(t,"default",{value:i,enumerable:!0}):t,i)},_i=Ct(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function es(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):es(i,e)}var ts=cE(function(){ts()});function tf(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var rf=cE(function(){}),hE=Ct(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),qS=Ct(function(i,e){ts(),e.exports=t;function t(r,s){if(!es(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),jS=Ct(function(i,e){ts(),e.exports=t;function t(r,s){if(!es(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),fE=Ct(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),mE=Ct(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),pE=Ct(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),zS=Ct(function(i,e){rf(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=tf(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],b=(E.prefix?E.prefix+":":"")+g;f.push({name:b,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),gE=Ct(function(i,e){ts();var t=hE(),r=fE(),s=mE(),n=pE(),a=zS(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!es(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),XS=Ct(function(i,e){ts();var t=gE();e.exports=r;function r(s){if(!es(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),QS=Ct(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),ZS=Ct(function(i,e){ts();var t=hE(),r=qS(),s=jS(),n=gE(),a=XS(),o=QS(),l=fE(),d=mE(),u=pE();e.exports=c;function c(){if(!es(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),JS=Ct(function(i,e){var t=ZS();e.exports=new t}),e1=Ct(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=JS(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function t1(i){if(Array.isArray(i))return i}function i1(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function r1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1224
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xh(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function vE(i,e){if(i){if(typeof i=="string")return Xh(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Xh(i,e)}}function ji(i,e){return t1(i)||i1(i,e)||vE(i,e)||r1()}var _a=ti(_i()),Sa=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},EE=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},Qr=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=EE()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},Qh=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=Qr(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]};function s1(i){if(Array.isArray(i))return Xh(i)}function n1(i){if(typeof Symbol!="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function a1(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1225
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ti(i){return s1(i)||n1(i)||vE(i)||a1()}var Zr={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o1=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,r,s,n,a,o=i?[console,i]:[console],l=(t=console.trace).bind.apply(t,Ti(o)),d=(r=console.info).bind.apply(r,Ti(o)),u=(s=console.debug).bind.apply(s,Ti(o)),c=(n=console.warn).bind.apply(n,Ti(o)),h=(a=console.error).bind.apply(a,Ti(o)),f=e;return{trace:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.TRACE))return l.apply(void 0,Ti(p))},debug:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.DEBUG))return u.apply(void 0,Ti(p))},info:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.INFO))return d.apply(void 0,Ti(p))},warn:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.WARN))return c.apply(void 0,Ti(p))},error:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.ERROR))return h.apply(void 0,Ti(p))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},Ye=o1("[mux]"),Vh=ti(_i());function Zh(){var i=Vh.default.doNotTrack||Vh.default.navigator&&Vh.default.navigator.doNotTrack;return i==="1"}var l1=ti(_i()),d1={now:function(){var i=l1.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},rt=d1;function ne(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}ts();function ct(i,e){if(!es(i,e))throw new TypeError("Cannot call a class as a function")}function rE(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Ai(i,e,t){return e&&rE(i.prototype,e),t&&rE(i,t),i}function W(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Jh(i,e){return Jh=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},Jh(i,e)}function u1(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&Jh(i,e)}function zl(i){return zl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},zl(i)}function c1(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}rf();function h1(i,e){return e&&(tf(e)==="object"||typeof e=="function")?e:ne(i)}function f1(i){var e=c1();return function(){var t=zl(i),r;if(e){var s=zl(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return h1(this,r)}}var ei=function(i){return xa(i)[0]},xa=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},Yh=ti(_i()),m1={exists:function(){var i=Yh.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Yh.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Yh.default.performance,e=i&&i.timing;return e&&e.navigationStart}},Xl=m1;function Je(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Ql(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){W(i,s,t[s])})}return i}function p1(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function sf(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):p1(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var g1=["x-cdn","content-type"],bE=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],v1=g1.concat(bE);function nf(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(v1.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Zl(i){if(i){var e=bE.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var E1=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},yE=E1,jl=function(i){if(!i)return{};var e=Xl.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},ya=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return nf(i.getAllResponseHeaders())},b1=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var b=parseInt(s.version),T;return b===1&&E.programDateTime!==null&&(T=E.programDateTime),b===0&&E.pdt!==null&&(T=E.pdt),T};if(!Xl.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,b){return i.emit(e,E,b)},d=function(E,b){var T=b.levels,_=b.audioTracks,A=b.url,k=b.stats,x=b.networkDetails,M=b.sessionData,O={},D={};T.forEach(function(K,ee){O[ee]={width:K.width,height:K.height,bitrate:K.bitrate,attrs:K.attrs}}),_.forEach(function(K,ee){D[ee]={name:K.name,language:K.lang,bitrate:K.bitrate}});var R=jl(k),P=R.bytesLoaded,N=R.requestStart,$=R.responseStart,G=R.responseEnd;l("requestcompleted",sf(Ql({},yE(M)),{request_event_type:E,request_bytes_loaded:P,request_start:N,request_response_start:$,request_response_end:G,request_type:"manifest",request_hostname:ei(A),request_response_headers:ya(x),request_rendition_lists:{media:O,audio:D,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,b){var T=b.details,_=b.level,A=b.networkDetails,k=b.stats,x=jl(k),M=x.bytesLoaded,O=x.requestStart,D=x.responseStart,R=x.responseEnd,P=T.fragments[T.fragments.length-1],N=o(P)+a(P.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:M,request_start:O,request_response_start:D,request_response_end:R,request_current_level:_,request_type:"manifest",request_hostname:ei(T.url),request_response_headers:ya(A),video_holdback:T.holdBack&&a(T.holdBack),video_part_holdback:T.partHoldBack&&a(T.partHoldBack),video_part_target_duration:T.partTarget&&a(T.partTarget),video_target_duration:T.targetduration&&a(T.targetduration),video_source_is_live:T.live,player_manifest_newest_program_time:isNaN(N)?void 0:N})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,b){var T=b.details,_=b.networkDetails,A=b.stats,k=jl(A),x=k.bytesLoaded,M=k.requestStart,O=k.responseStart,D=k.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:M,request_response_start:O,request_response_end:D,request_type:"manifest",request_hostname:ei(T.url),request_response_headers:ya(_)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,b){var T=b.stats,_=b.networkDetails,A=b.frag;T=T||A.stats;var k=jl(T),x=k.bytesLoaded,M=k.requestStart,O=k.responseStart,D=k.responseEnd,R=_?ya(_):void 0,P={request_event_type:E,request_bytes_loaded:x,request_start:M,request_response_start:O,request_response_end:D,request_hostname:_?ei(_.responseURL):void 0,request_id:R?Zl(R):void 0,request_response_headers:R,request_media_duration:A.duration,request_url:_==null?void 0:_.responseURL};A.type==="main"?(P.request_type="media",P.request_current_level=A.level,P.request_video_width=(t.levels[A.level]||{}).width,P.request_video_height=(t.levels[A.level]||{}).height,P.request_labeled_bitrate=(t.levels[A.level]||{}).bitrate):P.request_type=A.type,l("requestcompleted",P)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,b){var T=b.frag,_=T.start,A=o(T),k={currentFragmentPDT:A,currentFragmentStart:a(_)};l("fragmentchange",k)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,b){var T=b.type,_=b.details,A=b.response,k=b.fatal,x=b.frag,M=b.networkDetails,O=(x==null?void 0:x.url)||b.url||"",D=M?ya(M):void 0;if((_===s.ErrorDetails.MANIFEST_LOAD_ERROR||_===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT||_===s.ErrorDetails.LEVEL_LOAD_ERROR||_===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:_,request_url:O,request_hostname:ei(O),request_id:D?Zl(D):void 0,request_type:_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:A==null?void 0:A.code,request_error_text:A==null?void 0:A.text}),k){var R,P="".concat(O?"url: ".concat(O,`
1223
+ `;var Gh=class extends S.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!Ho(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),s=(e=di(this,"#"+this.bounds))!=null?e:Ke(this);if(!s)return;let{x:n,width:a}=s.getBoundingClientRect(),{x:o,width:l}=this.getBoundingClientRect(),d=o+l,u=n+a,c=r.getPropertyValue("--media-tooltip-offset-x"),h=c?parseFloat(c.replace("px","")):0,f=r.getPropertyValue("--media-tooltip-container-margin"),m=f?parseFloat(f.replace("px","")):0,p=o-n+h-m,g=d-u+h+m;if(p<0){this.style.setProperty("--media-tooltip-offset-x",`${p}px`);return}if(g>0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(iE.content.cloneNode(!0))),this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[fn.PLACEMENT,fn.BOUNDS]}get placement(){return me(this,fn.PLACEMENT)}set placement(e){ce(this,fn.PLACEMENT,e)}get bounds(){return me(this,fn.BOUNDS)}set bounds(e){ce(this,fn.BOUNDS,e)}};S.customElements.get("media-tooltip")||S.customElements.define("media-tooltip",Gh);var BS=1,$S=i=>i.mediaMuted?0:i.mediaVolume,HS=i=>`${Math.round(i*100)}%`,Kh=class extends Yr{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME,y.MEDIA_MUTED,y.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new S.CustomEvent(H.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",Ne.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===y.MEDIA_VOLUME||e===y.MEDIA_MUTED)&&(this.range.valueAsNumber=$S(this),this.range.setAttribute("aria-valuetext",HS(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return fe(this,y.MEDIA_VOLUME,BS)}set mediaVolume(e){be(this,y.MEDIA_VOLUME,e)}get mediaMuted(){return xe(this,y.MEDIA_MUTED)}set mediaMuted(e){Ae(this,y.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return me(this,y.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ce(this,y.MEDIA_VOLUME_UNAVAILABLE,e)}};S.customElements.get("media-volume-range")||S.customElements.define("media-volume-range",Kh);var GS=Object.create,uE=Object.defineProperty,KS=Object.getOwnPropertyDescriptor,WS=Object.getOwnPropertyNames,VS=Object.getPrototypeOf,YS=Object.prototype.hasOwnProperty,cE=function(i,e){return function(){return i&&(e=i(i=0)),e}},Ct=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},qS=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=WS(e),n=0,a=s.length,o;n<a;n++)o=s[n],!YS.call(i,o)&&o!==t&&uE(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=KS(e,o))||r.enumerable});return i},ti=function(i,e,t){return t=i!=null?GS(VS(i)):{},qS(e||!i||!i.__esModule?uE(t,"default",{value:i,enumerable:!0}):t,i)},_i=Ct(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function es(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):es(i,e)}var ts=cE(function(){ts()});function ef(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var tf=cE(function(){}),hE=Ct(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),jS=Ct(function(i,e){ts(),e.exports=t;function t(r,s){if(!es(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),zS=Ct(function(i,e){ts(),e.exports=t;function t(r,s){if(!es(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),fE=Ct(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),mE=Ct(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),pE=Ct(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),XS=Ct(function(i,e){tf(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=ef(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],b=(E.prefix?E.prefix+":":"")+g;f.push({name:b,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),gE=Ct(function(i,e){ts();var t=hE(),r=fE(),s=mE(),n=pE(),a=XS(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!es(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),QS=Ct(function(i,e){ts();var t=gE();e.exports=r;function r(s){if(!es(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),ZS=Ct(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),JS=Ct(function(i,e){ts();var t=hE(),r=jS(),s=zS(),n=gE(),a=QS(),o=ZS(),l=fE(),d=mE(),u=pE();e.exports=c;function c(){if(!es(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),e1=Ct(function(i,e){var t=JS();e.exports=new t}),t1=Ct(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=e1(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function i1(i){if(Array.isArray(i))return i}function r1(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function s1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1224
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zh(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function vE(i,e){if(i){if(typeof i=="string")return zh(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return zh(i,e)}}function ji(i,e){return i1(i)||r1(i,e)||vE(i,e)||s1()}var Ta=ti(_i()),Aa=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},EE=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},Qr=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=EE()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},Xh=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=Qr(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]};function n1(i){if(Array.isArray(i))return zh(i)}function a1(i){if(typeof Symbol!="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function o1(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1225
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ti(i){return n1(i)||a1(i)||vE(i)||o1()}var Zr={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},l1=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,r,s,n,a,o=i?[console,i]:[console],l=(t=console.trace).bind.apply(t,Ti(o)),d=(r=console.info).bind.apply(r,Ti(o)),u=(s=console.debug).bind.apply(s,Ti(o)),c=(n=console.warn).bind.apply(n,Ti(o)),h=(a=console.error).bind.apply(a,Ti(o)),f=e;return{trace:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.TRACE))return l.apply(void 0,Ti(p))},debug:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.DEBUG))return u.apply(void 0,Ti(p))},info:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.INFO))return d.apply(void 0,Ti(p))},warn:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.WARN))return c.apply(void 0,Ti(p))},error:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Zr.ERROR))return h.apply(void 0,Ti(p))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},Ye=l1("[mux]"),Wh=ti(_i());function Qh(){var i=Wh.default.doNotTrack||Wh.default.navigator&&Wh.default.navigator.doNotTrack;return i==="1"}var d1=ti(_i()),u1={now:function(){var i=d1.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},rt=u1;function ne(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}ts();function ct(i,e){if(!es(i,e))throw new TypeError("Cannot call a class as a function")}function rE(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Ai(i,e,t){return e&&rE(i.prototype,e),t&&rE(i,t),i}function W(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Zh(i,e){return Zh=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},Zh(i,e)}function c1(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&Zh(i,e)}function jl(i){return jl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},jl(i)}function h1(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}tf();function f1(i,e){return e&&(ef(e)==="object"||typeof e=="function")?e:ne(i)}function m1(i){var e=h1();return function(){var t=jl(i),r;if(e){var s=jl(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return f1(this,r)}}var ei=function(i){return Sa(i)[0]},Sa=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},Vh=ti(_i()),p1={exists:function(){var i=Vh.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Vh.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Vh.default.performance,e=i&&i.timing;return e&&e.navigationStart}},zl=p1;function Je(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Xl(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){W(i,s,t[s])})}return i}function g1(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function rf(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):g1(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var v1=["x-cdn","content-type"],bE=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],E1=v1.concat(bE);function sf(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(E1.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Ql(i){if(i){var e=bE.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var b1=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},yE=b1,ql=function(i){if(!i)return{};var e=zl.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},ba=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return sf(i.getAllResponseHeaders())},y1=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var b=parseInt(s.version),T;return b===1&&E.programDateTime!==null&&(T=E.programDateTime),b===0&&E.pdt!==null&&(T=E.pdt),T};if(!zl.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,b){return i.emit(e,E,b)},d=function(E,b){var T=b.levels,_=b.audioTracks,A=b.url,k=b.stats,x=b.networkDetails,M=b.sessionData,O={},w={};T.forEach(function(K,ee){O[ee]={width:K.width,height:K.height,bitrate:K.bitrate,attrs:K.attrs}}),_.forEach(function(K,ee){w[ee]={name:K.name,language:K.lang,bitrate:K.bitrate}});var R=ql(k),P=R.bytesLoaded,N=R.requestStart,$=R.responseStart,G=R.responseEnd;l("requestcompleted",rf(Xl({},yE(M)),{request_event_type:E,request_bytes_loaded:P,request_start:N,request_response_start:$,request_response_end:G,request_type:"manifest",request_hostname:ei(A),request_response_headers:ba(x),request_rendition_lists:{media:O,audio:w,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,b){var T=b.details,_=b.level,A=b.networkDetails,k=b.stats,x=ql(k),M=x.bytesLoaded,O=x.requestStart,w=x.responseStart,R=x.responseEnd,P=T.fragments[T.fragments.length-1],N=o(P)+a(P.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:M,request_start:O,request_response_start:w,request_response_end:R,request_current_level:_,request_type:"manifest",request_hostname:ei(T.url),request_response_headers:ba(A),video_holdback:T.holdBack&&a(T.holdBack),video_part_holdback:T.partHoldBack&&a(T.partHoldBack),video_part_target_duration:T.partTarget&&a(T.partTarget),video_target_duration:T.targetduration&&a(T.targetduration),video_source_is_live:T.live,player_manifest_newest_program_time:isNaN(N)?void 0:N})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,b){var T=b.details,_=b.networkDetails,A=b.stats,k=ql(A),x=k.bytesLoaded,M=k.requestStart,O=k.responseStart,w=k.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:M,request_response_start:O,request_response_end:w,request_type:"manifest",request_hostname:ei(T.url),request_response_headers:ba(_)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,b){var T=b.stats,_=b.networkDetails,A=b.frag;T=T||A.stats;var k=ql(T),x=k.bytesLoaded,M=k.requestStart,O=k.responseStart,w=k.responseEnd,R=_?ba(_):void 0,P={request_event_type:E,request_bytes_loaded:x,request_start:M,request_response_start:O,request_response_end:w,request_hostname:_?ei(_.responseURL):void 0,request_id:R?Ql(R):void 0,request_response_headers:R,request_media_duration:A.duration,request_url:_==null?void 0:_.responseURL};A.type==="main"?(P.request_type="media",P.request_current_level=A.level,P.request_video_width=(t.levels[A.level]||{}).width,P.request_video_height=(t.levels[A.level]||{}).height,P.request_labeled_bitrate=(t.levels[A.level]||{}).bitrate):P.request_type=A.type,l("requestcompleted",P)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,b){var T=b.frag,_=T.start,A=o(T),k={currentFragmentPDT:A,currentFragmentStart:a(_)};l("fragmentchange",k)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,b){var T=b.type,_=b.details,A=b.response,k=b.fatal,x=b.frag,M=b.networkDetails,O=(x==null?void 0:x.url)||b.url||"",w=M?ba(M):void 0;if((_===s.ErrorDetails.MANIFEST_LOAD_ERROR||_===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT||_===s.ErrorDetails.LEVEL_LOAD_ERROR||_===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:_,request_url:O,request_hostname:ei(O),request_id:w?Ql(w):void 0,request_type:_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:A==null?void 0:A.code,request_error_text:A==null?void 0:A.text}),k){var R,P="".concat(O?"url: ".concat(O,`
1226
1226
  `):"")+"".concat(A&&(A.code||A.text)?"response: ".concat(A.code,", ").concat(A.text,`
1227
1227
  `):"")+"".concat(b.reason?"failure reason: ".concat(b.reason,`
1228
1228
  `):"")+"".concat(b.level?"level: ".concat(b.level,`
@@ -1231,38 +1231,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1231
1231
  `):"")+"".concat(b.error?"error: ".concat(b.error,`
1232
1232
  `):"")+"".concat(b.event?"event: ".concat(b.event,`
1233
1233
  `):"")+"".concat(b.err?"error message: ".concat((R=b.err)===null||R===void 0?void 0:R.message,`
1234
- `):"");l("error",{player_error_code:T,player_error_message:_,player_error_context:P})}};t.on(s.Events.ERROR,m);var p=function(E,b){var T=b.frag,_=T&&T._url||"";l("requestcanceled",{request_event_type:E,request_url:_,request_type:"media",request_hostname:ei(_)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,b){var T=b.level,_=t.levels[T];if(_&&_.attrs&&_.attrs.BANDWIDTH){var A=_.attrs.BANDWIDTH,k,x=parseFloat(_.attrs["FRAME-RATE"]);isNaN(x)||(k=x),A?l("renditionchange",{video_source_fps:k,video_source_bitrate:A,video_source_width:_.width,video_source_height:_.height,video_source_rendition_name:_.name,video_source_codec:_==null?void 0:_.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},y1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},sE=function(i,e){if(!i||!i.requestEndDate)return{};var t=ei(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=nf(d[d.length-1]._responseHeaders||""));var c=u?Zl(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},T1=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},_1=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},A1=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},S1=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=A1(t),a=function(T,_){return i.emit(e,T,_)},o=function(T){var _=T.type,A=T.data,k=(A||{}).url;a("requestcompleted",{request_event_type:_,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ei(k),request_url:k})};t.on("manifestLoaded",o);var l={},d=function(T){if(typeof T.getRequests!="function")return null;var _=T.getRequests({state:"executed"});return _.length===0?null:_[_.length-1]},u=function(T){var _=T.type,A=T.fragmentModel,k=T.chunk,x=d(A);c({type:_,request:x,chunk:k})},c=function(T){var _=T.type,A=T.chunk,k=T.request,x=(A||{}).mediaInfo,M=x||{},O=M.type,D=M.bitrateList;D=D||[];var R={};D.forEach(function(le,te){R[te]={},R[te].width=le.width,R[te].height=le.height,R[te].bitrate=le.bandwidth,R[te].attrs={}}),O==="video"?l.video=R:O==="audio"?l.audio=R:l.media=R;var P=sE(k,t),N=P.requestStart,$=P.requestResponseStart,G=P.requestResponseEnd,K=P.requestResponseHeaders,ee=P.requestMediaDuration,ae=P.requestHostname,q=P.requestUrl,V=P.requestId;a("requestcompleted",{request_event_type:_,request_start:N,request_response_start:$,request_response_end:G,request_bytes_loaded:-1,request_type:O+"_init",request_response_headers:K,request_hostname:ae,request_id:V,request_url:q,request_media_duration:ee,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(T){var _=T.type,A=T.fragmentModel,k=T.chunk,x=d(A);f({type:_,request:x,chunk:k})},f=function(T){var _=T.type,A=T.chunk,k=T.request,x=A||{},M=x.mediaInfo,O=x.start,D=M||{},R=D.type,P=sE(k,t),N=P.requestStart,$=P.requestResponseStart,G=P.requestResponseEnd,K=P.requestBytesLoaded,ee=P.requestResponseHeaders,ae=P.requestMediaDuration,q=P.requestHostname,V=P.requestUrl,le=P.requestId,te=T1(R,t),ve=te.currentLevel,Be=te.renditionWidth,We=te.renditionHeight,je=te.renditionBitrate;a("requestcompleted",{request_event_type:_,request_start:N,request_response_start:$,request_response_end:G,request_bytes_loaded:K,request_type:R,request_response_headers:ee,request_hostname:q,request_id:le,request_url:V,request_media_start_time:O,request_media_duration:ae,request_current_level:ve,request_labeled_bitrate:je,request_video_width:Be,request_video_height:We})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var T=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(T+=m.audio.bitrate),T!==m.totalBitrate)return m.totalBitrate=T,{video_source_bitrate:T,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:_1(m.video.codec)}}},g=function(T,_,A){if(typeof T.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",T);return}var k=T.mediaType;if(k==="audio"||k==="video"){var x=t.getBitrateInfoListFor(k).find(function(O){var D=O.qualityIndex;return D===T.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(k));return}m[k]=sf(Ql({},x),{codec:t.getCurrentTrackFor(k).codec});var M=p();M&&a("renditionchange",M)}};t.on("qualityChangeRendered",g);var E=function(T){var _=T.request,A=T.mediaType;_=_||{},a("requestcanceled",{request_event_type:_.type+"_"+_.action,request_url:_.url,request_type:A,request_hostname:ei(_.url)})};t.on("fragmentLoadingAbandoned",E);var b=function(T){var _=T.error,A,k,x=(_==null||(A=_.data)===null||A===void 0?void 0:A.request)||{},M=(_==null||(k=_.data)===null||k===void 0?void 0:k.response)||{};(_==null?void 0:_.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:ei(x.url),request_type:x.mediaType,request_error_code:M.status,request_error_text:M.statusText});var O="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1234
+ `):"");l("error",{player_error_code:T,player_error_message:_,player_error_context:P})}};t.on(s.Events.ERROR,m);var p=function(E,b){var T=b.frag,_=T&&T._url||"";l("requestcanceled",{request_event_type:E,request_url:_,request_type:"media",request_hostname:ei(_)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,b){var T=b.level,_=t.levels[T];if(_&&_.attrs&&_.attrs.BANDWIDTH){var A=_.attrs.BANDWIDTH,k,x=parseFloat(_.attrs["FRAME-RATE"]);isNaN(x)||(k=x),A?l("renditionchange",{video_source_fps:k,video_source_bitrate:A,video_source_width:_.width,video_source_height:_.height,video_source_rendition_name:_.name,video_source_codec:_==null?void 0:_.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},T1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},sE=function(i,e){if(!i||!i.requestEndDate)return{};var t=ei(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=sf(d[d.length-1]._responseHeaders||""));var c=u?Ql(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},_1=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},A1=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},S1=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},x1=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=S1(t),a=function(T,_){return i.emit(e,T,_)},o=function(T){var _=T.type,A=T.data,k=(A||{}).url;a("requestcompleted",{request_event_type:_,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ei(k),request_url:k})};t.on("manifestLoaded",o);var l={},d=function(T){if(typeof T.getRequests!="function")return null;var _=T.getRequests({state:"executed"});return _.length===0?null:_[_.length-1]},u=function(T){var _=T.type,A=T.fragmentModel,k=T.chunk,x=d(A);c({type:_,request:x,chunk:k})},c=function(T){var _=T.type,A=T.chunk,k=T.request,x=(A||{}).mediaInfo,M=x||{},O=M.type,w=M.bitrateList;w=w||[];var R={};w.forEach(function(le,te){R[te]={},R[te].width=le.width,R[te].height=le.height,R[te].bitrate=le.bandwidth,R[te].attrs={}}),O==="video"?l.video=R:O==="audio"?l.audio=R:l.media=R;var P=sE(k,t),N=P.requestStart,$=P.requestResponseStart,G=P.requestResponseEnd,K=P.requestResponseHeaders,ee=P.requestMediaDuration,ae=P.requestHostname,q=P.requestUrl,V=P.requestId;a("requestcompleted",{request_event_type:_,request_start:N,request_response_start:$,request_response_end:G,request_bytes_loaded:-1,request_type:O+"_init",request_response_headers:K,request_hostname:ae,request_id:V,request_url:q,request_media_duration:ee,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(T){var _=T.type,A=T.fragmentModel,k=T.chunk,x=d(A);f({type:_,request:x,chunk:k})},f=function(T){var _=T.type,A=T.chunk,k=T.request,x=A||{},M=x.mediaInfo,O=x.start,w=M||{},R=w.type,P=sE(k,t),N=P.requestStart,$=P.requestResponseStart,G=P.requestResponseEnd,K=P.requestBytesLoaded,ee=P.requestResponseHeaders,ae=P.requestMediaDuration,q=P.requestHostname,V=P.requestUrl,le=P.requestId,te=_1(R,t),Ee=te.currentLevel,$e=te.renditionWidth,We=te.renditionHeight,je=te.renditionBitrate;a("requestcompleted",{request_event_type:_,request_start:N,request_response_start:$,request_response_end:G,request_bytes_loaded:K,request_type:R,request_response_headers:ee,request_hostname:q,request_id:le,request_url:V,request_media_start_time:O,request_media_duration:ae,request_current_level:Ee,request_labeled_bitrate:je,request_video_width:$e,request_video_height:We})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var T=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(T+=m.audio.bitrate),T!==m.totalBitrate)return m.totalBitrate=T,{video_source_bitrate:T,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:A1(m.video.codec)}}},g=function(T,_,A){if(typeof T.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",T);return}var k=T.mediaType;if(k==="audio"||k==="video"){var x=t.getBitrateInfoListFor(k).find(function(O){var w=O.qualityIndex;return w===T.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(k));return}m[k]=rf(Xl({},x),{codec:t.getCurrentTrackFor(k).codec});var M=p();M&&a("renditionchange",M)}};t.on("qualityChangeRendered",g);var E=function(T){var _=T.request,A=T.mediaType;_=_||{},a("requestcanceled",{request_event_type:_.type+"_"+_.action,request_url:_.url,request_type:A,request_hostname:ei(_.url)})};t.on("fragmentLoadingAbandoned",E);var b=function(T){var _=T.error,A,k,x=(_==null||(A=_.data)===null||A===void 0?void 0:A.request)||{},M=(_==null||(k=_.data)===null||k===void 0?void 0:k.response)||{};(_==null?void 0:_.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:ei(x.url),request_type:x.mediaType,request_error_code:M.status,request_error_text:M.statusText});var O="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1235
1235
  `):"")+"".concat(M!=null&&M.status||M!=null&&M.statusText?"response: ".concat(M==null?void 0:M.status,", ").concat(M==null?void 0:M.statusText,`
1236
- `):"");a("error",{player_error_code:_==null?void 0:_.code,player_error_message:_==null?void 0:_.message,player_error_context:O})};t.on("error",b),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",b),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},x1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},nE=0,R1=function(){"use strict";function i(){ct(this,i),W(this,"_listeners",void 0)}return Ai(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++nE,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++nE;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),I1=R1,qh=ti(_i()),L1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_playbackHeartbeatInterval",void 0),W(this,"_playheadShouldBeProgressing",void 0),W(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(qh.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ai(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=qh.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(qh.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),k1=L1,C1=function i(e){"use strict";var t=this;ct(this,i),W(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},w1=C1,D1=function(){"use strict";function i(e){ct(this,i),W(this,"_watchTimeTrackerLastCheckedTime",void 0),W(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Ai(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Je(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),M1=D1,P1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),W(this,"_lastTime",void 0),W(this,"_isAdPlaying",void 0),W(this,"_callbackUpdatePlaybackTime",void 0),W(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=rt.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=rt.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ai(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=rt.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Je(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),O1=P1,N1=function(){"use strict";function i(e){ct(this,i),W(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Ai(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),U1=N1,aE=5*60*1e3,F1=function i(e){"use strict";if(ct(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Je(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>aE&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(aE,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Je(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},B1=F1,$1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_lastCheckedTime",void 0),W(this,"_lastPlayheadTime",void 0),W(this,"_lastPlayheadTimeUpdatedTime",void 0),W(this,"_rebuffering",void 0),W(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:rt.now()})}))}return Ai(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),H1=$1,G1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"NAVIGATION_START",void 0),W(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||rt.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ai(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),K1=G1,W1=function i(e){"use strict";var t=this;ct(this,i),W(this,"_lastPlayerHeight",void 0),W(this,"_lastPlayerWidth",void 0),W(this,"_lastPlayheadPosition",void 0),W(this,"_lastSourceHeight",void 0),W(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Je(e.data,"view_total_content_playback_time",a),Je(e.data,"view_total_upscaling",l*a),Je(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},V1=W1,Y1=2e3,q1=function i(e){"use strict";var t=this;ct(this,i),W(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=rt.now(),a=(e.data.viewer_time||n)-(r||n);Je(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=Y1){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Je(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},j1=q1,oE=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},z1=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],X1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_adHasPlayed",void 0),W(this,"_adRequests",void 0),W(this,"_adResponses",void 0),W(this,"_currentAdRequestNumber",void 0),W(this,"_currentAdResponseNumber",void 0),W(this,"_prerollPlayTime",void 0),W(this,"_wouldBeNewAdPlay",void 0),W(this,"isAdBreak",void 0),W(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),z1.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),oE(t._adRequests,n),Je(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Je(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),oE(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Je(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Je(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Je(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Je(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ai(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=ji(xa(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=ji(xa(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),Q1=X1,lE=ti(_i()),Z1=function i(e){"use strict";ct(this,i);var t,r,s=function(){e.disableRebufferTracking||(Je(e.data,"view_waiting_rebuffer_count",1),t=rt.now(),r=lE.default.setInterval(function(){if(t){var d=rt.now();Je(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Je(e.data,"view_waiting_rebuffer_duration",rt.now()-t),t=!1,lE.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},J1=Z1,ex=function i(e){"use strict";var t=this;ct(this,i),W(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=rt.now(),e.on("before*",s)},s=function(n){var a=rt.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},tx=ex,jh=ti(_i()),TE=function(i){return i()}(function(){var i=function(){for(var t=0,r={};t<arguments.length;t++){var s=arguments[t];for(var n in s)r[n]=s[n]}return r};function e(t){function r(s,n,a){var o;if(typeof document!="undefined"){if(arguments.length>1){if(a=i({path:"/"},r.defaults,a),typeof a.expires=="number"){var l=new Date;l.setMilliseconds(l.getMilliseconds()+a.expires*864e5),a.expires=l}try{o=JSON.stringify(n),/^[\{\[]/.test(o)&&(n=o)}catch{}return t.write?n=t.write(n,s):n=encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),s=encodeURIComponent(String(s)),s=s.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),s=s.replace(/[\(\)]/g,escape),document.cookie=[s,"=",n,a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}s||(o={});for(var d=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c<d.length;c++){var h=d[c].split("="),f=h.slice(1).join("=");f.charAt(0)==='"'&&(f=f.slice(1,-1));try{var m=h[0].replace(u,decodeURIComponent);if(f=t.read?t.read(f,m):t(f,m)||f.replace(u,decodeURIComponent),this.json)try{f=JSON.parse(f)}catch{}if(s===m){o=f;break}s||(o[m]=f)}catch{}}return o}}return r.set=r,r.get=function(s){return r.call(r,s)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(s,n){r(s,"",i(n,{expires:-1}))},r.withConverter=e,r}return e(function(){})}),_E="muxData",ix=function(i){return Object.entries(i).map(function(e){var t=ji(e,2),r=t[0],s=t[1];return"".concat(r,"=").concat(s)}).join("&")},rx=function(i){return i.split("&").reduce(function(e,t){var r=ji(t.split("="),2),s=r[0],n=r[1],a=+n,o=n&&a==n?a:n;return e[s]=o,e},{})},AE=function(){var i;try{i=rx(TE.get(_E)||"")}catch{i={}}return i},SE=function(i){try{TE.set(_E,ix(i),{expires:365})}catch{}},sx=function(){var i=AE();return i.mux_viewer_id=i.mux_viewer_id||Sa(),i.msn=i.msn||Math.random(),SE(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},nx=function(){var i=AE(),e=rt.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=Sa(),i.sst=e),i.sex=e+25*60*1e3,SE(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function ax(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var ox=ti(_i()),xE=function(){var i;switch(RE()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},RE=function(){var i=ox.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};xE.getConnectionFromAPI=RE;var lx=xE,dx={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},ux=IE(dx),cx={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},dE=IE(cx);function IE(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function ef(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=ux[a];o||(Ye.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),dE[l]?o+=dE[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ye.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var Jr=ti(_i()),hx={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},fx=56*1024,mx=["hb","requestcompleted","requestfailed","requestcanceled"],px="https://img.litix.io",zi=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||px,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},hx,e)};zi.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};zi.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};zi.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Jr.default.clearTimeout(this._sendTimeout)};zi.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],ef({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);LE(this._beaconUrl,t,!0,function(){})};zi.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=rt.now();LE(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ye.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=rt.now()-r,i._postInFlight=!1})}};zi.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};zi.prototype._startBeaconSending=function(){var i=this;Jr.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Jr.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};zi.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(rt.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ye.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return mx.indexOf(l.e)===-1}),a()),o()||(Ye.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var gx=function(i){return i.length<=fx},LE=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Jr.default.fetch){Jr.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:gx(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Jr.default.XMLHttpRequest){var s=new Jr.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},vx=zi,Ex=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],bx=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],yx=["ad_id","ad_creative_id","ad_universal_id"],Tx=["viewstart","error","ended","viewend"],_x=10*60*1e3,Ax=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ct(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;W(this,"mux",void 0),W(this,"envKey",void 0),W(this,"options",void 0),W(this,"eventQueue",void 0),W(this,"sampleRate",void 0),W(this,"disableCookies",void 0),W(this,"respectDoNotTrack",void 0),W(this,"previousBeaconData",void 0),W(this,"lastEventTime",void 0),W(this,"rateLimited",void 0),W(this,"pageLevelData",void 0),W(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new vx(ax(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var b;this.respectDoNotTrack=(b=this.options.respectDoNotTrack)!==null&&b!==void 0?b:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:lx(),page_url:jh.default===null||jh.default===void 0||(p=jh.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:sx()}return Ai(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&Zh())return Ye.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ye.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:nx(),s=sf(Ql({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=ef(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ye.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ye.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ye.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):Tx.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=ef(s),this.eventQueue.queueEvent(s.event,l),Ye.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=_x)s=Ql({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=ji(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||Ex.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||yx.includes(t)&&bx.includes(e))}}]),i}(),Sx=function i(e){"use strict";ct(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var b,T;if(p?(b=p-(m!=null?m:0),T=(g!=null?g:0)-p):T=(g!=null?g:0)-(m!=null?m:0),T>0&&E&&E>0){var _=E/T*8e3;a++,r+=E,s+=T,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,_),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,b>0&&(t+=b,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,b),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},xx=Sx,Rx=60*60*1e3,Ix=function i(e){"use strict";var t=this;ct(this,i),W(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=rt.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Rx){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,W({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Lx=Ix,kx=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],Cx=new Set(["requestcompleted","requestfailed","requestcanceled"]),wx=function(i){"use strict";u1(t,i);var e=f1(t);function t(r,s,n){ct(this,t);var a;a=e.call(this),W(ne(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),W(ne(a),"NAVIGATION_START",void 0),W(ne(a),"_destroyed",void 0),W(ne(a),"_heartBeatTimeout",void 0),W(ne(a),"adTracker",void 0),W(ne(a),"dashjs",void 0),W(ne(a),"data",void 0),W(ne(a),"disablePlayheadRebufferTracking",void 0),W(ne(a),"disableRebufferTracking",void 0),W(ne(a),"errorTracker",void 0),W(ne(a),"errorTranslator",void 0),W(ne(a),"getAdData",void 0),W(ne(a),"getPlayheadTime",void 0),W(ne(a),"getStateData",void 0),W(ne(a),"hlsjs",void 0),W(ne(a),"id",void 0),W(ne(a),"longResumeTracker",void 0),W(ne(a),"minimumRebufferDuration",void 0),W(ne(a),"mux",void 0),W(ne(a),"oldEmit",void 0),W(ne(a),"playbackEventDispatcher",void 0),W(ne(a),"playbackHeartbeat",void 0),W(ne(a),"playbackHeartbeatTime",void 0),W(ne(a),"playheadTime",void 0),W(ne(a),"seekingTracker",void 0),W(ne(a),"sustainedRebufferThreshold",void 0),W(ne(a),"watchTimeTracker",void 0),W(ne(a),"currentFragmentPDT",void 0),W(ne(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Xl.domContentLoadedEventEnd(),a.NAVIGATION_START=Xl.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ye.level=n.debug?Zr.DEBUG:Zr.WARN,a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Ax(r,n.data.env_key,n),a.data={player_instance_id:Sa(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(ne(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(ne(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),kx.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new Lx(ne(a)),a.errorTracker=new w1(ne(a)),new tx(ne(a)),a.seekingTracker=new j1(ne(a)),a.playheadTime=new U1(ne(a)),a.playbackHeartbeat=new k1(ne(a)),new V1(ne(a)),a.watchTimeTracker=new M1(ne(a)),new O1(ne(a)),a.adTracker=new Q1(ne(a)),new H1(ne(a)),new B1(ne(a)),new K1(ne(a)),new J1(ne(a)),new xx(ne(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ai(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=ji(xa(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,Cx.has(r)||this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=Sa(),n=function(){s===r.data.view_id&&Je(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4)}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,b1(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(y1(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,S1(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(x1(this.dashjs),this.dashjs=void 0)}}]),t}(I1),Dx=wx;rf();var Ta=ti(e1());function Mx(){return Ta.default&&!!(Ta.default.fullscreenElement||Ta.default.webkitFullscreenElement||Ta.default.mozFullScreenElement||Ta.default.msFullscreenElement)}var Px=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Ox={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function Nx(i,e,t){var r=ji(Qh(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&tf(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:Mx(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var b=E.getTime();if(p.player_program_time=b+g,s.seekable.length>0){var T=b+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=T}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=ji(Qh(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Px.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Ox[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Ux(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ye.info("safeCall error",n)}return s}var Aa=ti(_i()),mn;Aa.default&&Aa.default.WeakMap&&(mn=new WeakMap);function Fx(i,e){if(!i||!e||!Aa.default||typeof Aa.default.getComputedStyle!="function")return"";var t;return mn&&mn.has(i)&&(t=mn.get(i)),t||(t=Aa.default.getComputedStyle(i,null),mn&&mn.set(i,t)),t.getPropertyValue(e)}function Bx(i){return Math.floor(i*1e3)}var Xr={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},Jl=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};Jl.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1236
+ `):"");a("error",{player_error_code:_==null?void 0:_.code,player_error_message:_==null?void 0:_.message,player_error_context:O})};t.on("error",b),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",b),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},R1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},nE=0,I1=function(){"use strict";function i(){ct(this,i),W(this,"_listeners",void 0)}return Ai(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++nE,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++nE;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),L1=I1,Yh=ti(_i()),k1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_playbackHeartbeatInterval",void 0),W(this,"_playheadShouldBeProgressing",void 0),W(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(Yh.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ai(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=Yh.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(Yh.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),C1=k1,w1=function i(e){"use strict";var t=this;ct(this,i),W(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},D1=w1,M1=function(){"use strict";function i(e){ct(this,i),W(this,"_watchTimeTrackerLastCheckedTime",void 0),W(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Ai(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Je(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),P1=M1,O1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),W(this,"_lastTime",void 0),W(this,"_isAdPlaying",void 0),W(this,"_callbackUpdatePlaybackTime",void 0),W(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=rt.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=rt.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ai(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=rt.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Je(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),N1=O1,U1=function(){"use strict";function i(e){ct(this,i),W(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Ai(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),F1=U1,aE=5*60*1e3,B1=function i(e){"use strict";if(ct(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Je(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>aE&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(aE,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Je(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},$1=B1,H1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_lastCheckedTime",void 0),W(this,"_lastPlayheadTime",void 0),W(this,"_lastPlayheadTimeUpdatedTime",void 0),W(this,"_rebuffering",void 0),W(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:rt.now()})}))}return Ai(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),G1=H1,K1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"NAVIGATION_START",void 0),W(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||rt.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ai(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),W1=K1,V1=function i(e){"use strict";var t=this;ct(this,i),W(this,"_lastPlayerHeight",void 0),W(this,"_lastPlayerWidth",void 0),W(this,"_lastPlayheadPosition",void 0),W(this,"_lastSourceHeight",void 0),W(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Je(e.data,"view_total_content_playback_time",a),Je(e.data,"view_total_upscaling",l*a),Je(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},Y1=V1,q1=2e3,j1=function i(e){"use strict";var t=this;ct(this,i),W(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=rt.now(),a=(e.data.viewer_time||n)-(r||n);Je(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=q1){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Je(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},z1=j1,oE=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},X1=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],Q1=function(){"use strict";function i(e){var t=this;ct(this,i),W(this,"_adHasPlayed",void 0),W(this,"_adRequests",void 0),W(this,"_adResponses",void 0),W(this,"_currentAdRequestNumber",void 0),W(this,"_currentAdResponseNumber",void 0),W(this,"_prerollPlayTime",void 0),W(this,"_wouldBeNewAdPlay",void 0),W(this,"isAdBreak",void 0),W(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),X1.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),oE(t._adRequests,n),Je(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Je(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),oE(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Je(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Je(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Je(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Je(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ai(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=ji(Sa(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=ji(Sa(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),Z1=Q1,lE=ti(_i()),J1=function i(e){"use strict";ct(this,i);var t,r,s=function(){e.disableRebufferTracking||(Je(e.data,"view_waiting_rebuffer_count",1),t=rt.now(),r=lE.default.setInterval(function(){if(t){var d=rt.now();Je(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Je(e.data,"view_waiting_rebuffer_duration",rt.now()-t),t=!1,lE.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},ex=J1,tx=function i(e){"use strict";var t=this;ct(this,i),W(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=rt.now(),e.on("before*",s)},s=function(n){var a=rt.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},ix=tx,qh=ti(_i()),TE=function(i){return i()}(function(){var i=function(){for(var t=0,r={};t<arguments.length;t++){var s=arguments[t];for(var n in s)r[n]=s[n]}return r};function e(t){function r(s,n,a){var o;if(typeof document!="undefined"){if(arguments.length>1){if(a=i({path:"/"},r.defaults,a),typeof a.expires=="number"){var l=new Date;l.setMilliseconds(l.getMilliseconds()+a.expires*864e5),a.expires=l}try{o=JSON.stringify(n),/^[\{\[]/.test(o)&&(n=o)}catch{}return t.write?n=t.write(n,s):n=encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),s=encodeURIComponent(String(s)),s=s.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),s=s.replace(/[\(\)]/g,escape),document.cookie=[s,"=",n,a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}s||(o={});for(var d=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c<d.length;c++){var h=d[c].split("="),f=h.slice(1).join("=");f.charAt(0)==='"'&&(f=f.slice(1,-1));try{var m=h[0].replace(u,decodeURIComponent);if(f=t.read?t.read(f,m):t(f,m)||f.replace(u,decodeURIComponent),this.json)try{f=JSON.parse(f)}catch{}if(s===m){o=f;break}s||(o[m]=f)}catch{}}return o}}return r.set=r,r.get=function(s){return r.call(r,s)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(s,n){r(s,"",i(n,{expires:-1}))},r.withConverter=e,r}return e(function(){})}),_E="muxData",rx=function(i){return Object.entries(i).map(function(e){var t=ji(e,2),r=t[0],s=t[1];return"".concat(r,"=").concat(s)}).join("&")},sx=function(i){return i.split("&").reduce(function(e,t){var r=ji(t.split("="),2),s=r[0],n=r[1],a=+n,o=n&&a==n?a:n;return e[s]=o,e},{})},AE=function(){var i;try{i=sx(TE.get(_E)||"")}catch{i={}}return i},SE=function(i){try{TE.set(_E,rx(i),{expires:365})}catch{}},nx=function(){var i=AE();return i.mux_viewer_id=i.mux_viewer_id||Aa(),i.msn=i.msn||Math.random(),SE(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},ax=function(){var i=AE(),e=rt.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=Aa(),i.sst=e),i.sex=e+25*60*1e3,SE(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function ox(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var lx=ti(_i()),xE=function(){var i;switch(RE()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},RE=function(){var i=lx.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};xE.getConnectionFromAPI=RE;var dx=xE,ux={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},cx=IE(ux),hx={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},dE=IE(hx);function IE(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function Jh(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=cx[a];o||(Ye.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),dE[l]?o+=dE[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ye.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var Jr=ti(_i()),fx={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},mx=56*1024,px=["hb","requestcompleted","requestfailed","requestcanceled"],gx="https://img.litix.io",zi=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||gx,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},fx,e)};zi.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};zi.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};zi.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Jr.default.clearTimeout(this._sendTimeout)};zi.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],Jh({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);LE(this._beaconUrl,t,!0,function(){})};zi.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=rt.now();LE(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ye.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=rt.now()-r,i._postInFlight=!1})}};zi.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};zi.prototype._startBeaconSending=function(){var i=this;Jr.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Jr.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};zi.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(rt.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ye.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return px.indexOf(l.e)===-1}),a()),o()||(Ye.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var vx=function(i){return i.length<=mx},LE=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Jr.default.fetch){Jr.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:vx(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Jr.default.XMLHttpRequest){var s=new Jr.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},Ex=zi,bx=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],yx=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],Tx=["ad_id","ad_creative_id","ad_universal_id"],_x=["viewstart","error","ended","viewend"],Ax=10*60*1e3,Sx=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ct(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;W(this,"mux",void 0),W(this,"envKey",void 0),W(this,"options",void 0),W(this,"eventQueue",void 0),W(this,"sampleRate",void 0),W(this,"disableCookies",void 0),W(this,"respectDoNotTrack",void 0),W(this,"previousBeaconData",void 0),W(this,"lastEventTime",void 0),W(this,"rateLimited",void 0),W(this,"pageLevelData",void 0),W(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new Ex(ox(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var b;this.respectDoNotTrack=(b=this.options.respectDoNotTrack)!==null&&b!==void 0?b:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:dx(),page_url:qh.default===null||qh.default===void 0||(p=qh.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:nx()}return Ai(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&Qh())return Ye.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ye.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:ax(),s=rf(Xl({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=Jh(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ye.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ye.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ye.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):_x.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=Jh(s),this.eventQueue.queueEvent(s.event,l),Ye.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=Ax)s=Xl({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=ji(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||bx.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||Tx.includes(t)&&yx.includes(e))}}]),i}(),xx=function i(e){"use strict";ct(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var b,T;if(p?(b=p-(m!=null?m:0),T=(g!=null?g:0)-p):T=(g!=null?g:0)-(m!=null?m:0),T>0&&E&&E>0){var _=E/T*8e3;a++,r+=E,s+=T,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,_),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,b>0&&(t+=b,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,b),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},Rx=xx,Ix=60*60*1e3,Lx=function i(e){"use strict";var t=this;ct(this,i),W(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=rt.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Ix){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,W({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},kx=Lx,Cx=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],wx=new Set(["requestcompleted","requestfailed","requestcanceled"]),Dx=function(i){"use strict";c1(t,i);var e=m1(t);function t(r,s,n){ct(this,t);var a;a=e.call(this),W(ne(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),W(ne(a),"NAVIGATION_START",void 0),W(ne(a),"_destroyed",void 0),W(ne(a),"_heartBeatTimeout",void 0),W(ne(a),"adTracker",void 0),W(ne(a),"dashjs",void 0),W(ne(a),"data",void 0),W(ne(a),"disablePlayheadRebufferTracking",void 0),W(ne(a),"disableRebufferTracking",void 0),W(ne(a),"errorTracker",void 0),W(ne(a),"errorTranslator",void 0),W(ne(a),"getAdData",void 0),W(ne(a),"getPlayheadTime",void 0),W(ne(a),"getStateData",void 0),W(ne(a),"hlsjs",void 0),W(ne(a),"id",void 0),W(ne(a),"longResumeTracker",void 0),W(ne(a),"minimumRebufferDuration",void 0),W(ne(a),"mux",void 0),W(ne(a),"oldEmit",void 0),W(ne(a),"playbackEventDispatcher",void 0),W(ne(a),"playbackHeartbeat",void 0),W(ne(a),"playbackHeartbeatTime",void 0),W(ne(a),"playheadTime",void 0),W(ne(a),"seekingTracker",void 0),W(ne(a),"sustainedRebufferThreshold",void 0),W(ne(a),"watchTimeTracker",void 0),W(ne(a),"currentFragmentPDT",void 0),W(ne(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=zl.domContentLoadedEventEnd(),a.NAVIGATION_START=zl.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ye.level=n.debug?Zr.DEBUG:Zr.WARN,a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Sx(r,n.data.env_key,n),a.data={player_instance_id:Aa(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(ne(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(ne(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),Cx.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new kx(ne(a)),a.errorTracker=new D1(ne(a)),new ix(ne(a)),a.seekingTracker=new z1(ne(a)),a.playheadTime=new F1(ne(a)),a.playbackHeartbeat=new C1(ne(a)),new Y1(ne(a)),a.watchTimeTracker=new P1(ne(a)),new N1(ne(a)),a.adTracker=new Z1(ne(a)),new G1(ne(a)),new $1(ne(a)),new W1(ne(a)),new ex(ne(a)),new Rx(ne(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ai(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=ji(Sa(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,wx.has(r)||this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=Aa(),n=function(){s===r.data.view_id&&Je(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4)}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,y1(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(T1(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,x1(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(R1(this.dashjs),this.dashjs=void 0)}}]),t}(L1),Mx=Dx;tf();var ya=ti(t1());function Px(){return ya.default&&!!(ya.default.fullscreenElement||ya.default.webkitFullscreenElement||ya.default.mozFullScreenElement||ya.default.msFullscreenElement)}var Ox=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Nx={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function Ux(i,e,t){var r=ji(Xh(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&ef(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:Px(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var b=E.getTime();if(p.player_program_time=b+g,s.seekable.length>0){var T=b+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=T}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=ji(Xh(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Ox.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Nx[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Fx(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ye.info("safeCall error",n)}return s}var _a=ti(_i()),mn;_a.default&&_a.default.WeakMap&&(mn=new WeakMap);function Bx(i,e){if(!i||!e||!_a.default||typeof _a.default.getComputedStyle!="function")return"";var t;return mn&&mn.has(i)&&(t=mn.get(i)),t||(t=_a.default.getComputedStyle(i,null),mn&&mn.set(i,t)),t.getPropertyValue(e)}function $x(i){return Math.floor(i*1e3)}var Xr={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},Zl=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};Zl.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1237
1237
  `);e>-1;e=this.buffer.indexOf(`
1238
- `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};Jl.prototype.processLine=function(i){var e=i.indexOf(":"),t=Kx(i,e),r=t[0],s=t.length===2?af(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case Xr.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case Xr.PART_INF:{zh(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case Xr.SERVER_CONTROL:{zh(this.manifest,t),this.setHoldBack();break}case Xr.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case Xr.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case Xr.VERSION:{zh(this.manifest,t);break}case Xr.SESSION_DATA:{var o=Wx(t[1]),l=yE(o);Object.assign(this.manifest.sessionData,l)}}};Jl.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var zh=function(i,e){var t=kE(e[0].replace("#EXT-X-","")),r;Gx(e[1])?(r={},r=Object.assign(Hx(e[1]),r)):r=af(e[1]),i[t]=r},kE=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},af=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},$x=function(i){var e={},t=i.split("=");if(t.length>1){var r=kE(t[0]);e[r]=af(t[1])}return e},Hx=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=$x(s);t=Object.assign(n,t)}return t},Gx=function(i){return i.indexOf("=")>-1},Kx=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Wx=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},Vx=Jl,Yx={safeCall:Ux,safeIncrement:Je,getComputedStyle:Fx,secondsToMs:Bx,assign:Object.assign,headersStringToObject:nf,cdnHeadersToRequestId:Zl,extractHostnameAndDomain:xa,extractHostname:ei,manifestParser:Vx,generateShortID:EE,generateUUID:Sa,now:rt.now},qx=Yx,jx={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},zx=jx,Xx="mux-embed",Qx="5.3.1",Zx="2.1",Ht={},pr=function(i){var e=arguments;typeof i=="string"?pr.hasOwnProperty(i)?_a.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),pr[i].apply(null,e)},0):Ye.warn("`"+i+"` is an unknown task"):typeof i=="function"?_a.default.setTimeout(function(){i(pr)},0):Ye.warn("`"+i+"` is invalid.")},Jx={loaded:rt.now(),NAME:Xx,VERSION:Qx,API_VERSION:Zx,PLAYER_TRACKED:!1,monitor:function(i,e){return Nx(pr,i,e)},destroyMonitor:function(i){var e=ji(Qh(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ye.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=Qr(i);Ht[t]?Ht[t].addHLSJS(e):Ye.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=Qr(i);Ht[t]?Ht[t].addDashJS(e):Ye.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=Qr(i);Ht[e]?Ht[e].removeHLSJS():Ye.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=Qr(i);Ht[e]?Ht[e].removeDashJS():Ye.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){Zh()&&e&&e.respectDoNotTrack&&Ye.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=Qr(i);Ht[t]=new Dx(pr,t,e)},emit:function(i,e,t){var r=Qr(i);Ht[r]?(Ht[r].emit(e,t),e==="destroy"&&delete Ht[r]):Ye.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:Zh,log:Ye,utils:qx,events:zx,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(pr,Jx);typeof _a.default!="undefined"&&typeof _a.default.addEventListener=="function"&&_a.default.addEventListener("pagehide",function(i){i.persisted||(pr.WINDOW_UNLOADING=!0)},!1);var ed=pr;function eR(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var xb={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(xb);var Pm=xb.exports;function CE(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function pt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?CE(Object(t),!0).forEach(function(r){rR(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):CE(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function tR(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function iR(i){var e=tR(i,"string");return typeof e=="symbol"?e:String(e)}function rR(i,e,t){return e=iR(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function et(){return et=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},et.apply(this,arguments)}var z=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},sR=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=nR},nR=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),re=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),w=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),rs=function(){},Rf={trace:rs,debug:rs,log:rs,warn:rs,info:rs,error:rs},La=Rf;function aR(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):rs}function oR(i,...e){e.forEach(function(t){La[t]=i[t]?i[t].bind(i):aR(t)})}function lR(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){oR(i,"debug","log","info","warn","error");try{La.log(`Debug logs enabled for "${e}" in hls.js version 1.5.15`)}catch{La=Rf}}else La=Rf}var L=La,dR=/^(\d+)x(\d+)$/,wE=/(.+?)=(".*?"|.*?)(?:,|$)/g,qe=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),et(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=dR.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(wE.lastIndex=0;(t=wE.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function uR(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function cR(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Ed=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){L.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=et(new qe({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);z(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(z(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&z(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},An=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},Le={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},bd=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[Le.AUDIO]:null,[Le.VIDEO]:null,[Le.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Pm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},ka=class extends bd{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new An,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!z(this.programDateTime))return null;let e=z(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[Le.AUDIO]=null,e[Le.VIDEO]=null,e[Le.AUDIOVIDEO]=null}},If=class extends bd{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new An,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},hR=10,Lf=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?z(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||hR}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Om(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function fR(i){let e=kf(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function mR(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function pR(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Om(a)):t=fR(a)}}return t}function kf(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var Sn=typeof self!="undefined"?self:void 0,Ue={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Mt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function DE(i){switch(i){case Mt.FAIRPLAY:return Ue.FAIRPLAY;case Mt.PLAYREADY:return Ue.PLAYREADY;case Mt.WIDEVINE:return Ue.WIDEVINE;case Mt.CLEARKEY:return Ue.CLEARKEY}}var Ia={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function ME(i){if(i===Ia.WIDEVINE)return Ue.WIDEVINE;if(i===Ia.PLAYREADY)return Ue.PLAYREADY;if(i===Ia.CENC||i===Ia.CLEARKEY)return Ue.CLEARKEY}function PE(i){switch(i){case Ue.FAIRPLAY:return Mt.FAIRPLAY;case Ue.PLAYREADY:return Mt.PLAYREADY;case Ue.WIDEVINE:return Mt.WIDEVINE;case Ue.CLEARKEY:return Mt.CLEARKEY}}function of(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ue.FAIRPLAY,Ue.WIDEVINE,Ue.PLAYREADY,Ue.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ue.WIDEVINE]&&t&&r.push(Ue.WIDEVINE),r}var Rb=function(i){return Sn!=null&&(i=Sn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function gR(i,e,t,r){let s;switch(i){case Ue.FAIRPLAY:s=["cenc","sinf"];break;case Ue.WIDEVINE:case Ue.PLAYREADY:s=["cenc"];break;case Ue.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return vR(s,e,t,r)}function vR(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function as(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Nm=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,Ib=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,wa=(i,e)=>{let t=e,r=0;for(;Nm(i,e);){r+=10;let s=Vd(i,e+6);r+=s,Ib(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},Vd=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},ER=(i,e)=>Nm(i,e)&&Vd(i,e+6)+10<=i.length-e,Um=i=>{let e=kb(i);for(let t=0;t<e.length;t++){let r=e[t];if(Lb(r))return SR(r)}},Lb=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",bR=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=Vd(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},kb=i=>{let e=0,t=[];for(;Nm(i,e);){let r=Vd(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=bR(i.subarray(e)),a=yR(n);a&&t.push(a),e+=n.size+10}Ib(i,e)&&(e+=10)}return t},yR=i=>i.type==="PRIV"?TR(i):i.type[0]==="W"?AR(i):_R(i),TR=i=>{if(i.size<2)return;let e=Li(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},_R=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Li(i.data.subarray(t),!0);t+=r.length+1;let s=Li(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Li(i.data.subarray(1));return{key:i.type,data:e}},AR=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Li(i.data.subarray(t),!0);t+=r.length+1;let s=Li(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Li(i.data);return{key:i.type,data:e}},SR=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Li=(i,e=!1)=>{let t=xR();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},lf;function xR(){if(!navigator.userAgent.includes("PlayStation 4"))return!lf&&typeof self.TextDecoder!="undefined"&&(lf=new self.TextDecoder("utf-8")),lf}var xi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},yd=Math.pow(2,32)-1,RR=[].push,Cb={video:1,audio:2,id3:3,text:4};function st(i){return String.fromCharCode.apply(null,i)}function wb(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function ie(i,e){let t=Db(i,e);return t<0?4294967296+t:t}function OE(i,e){let t=ie(i,e);return t*=Math.pow(2,32),t+=ie(i,e+4),t}function Db(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function df(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function IR(i){let e=i.byteLength;for(let t=0;t<e;){let r=ie(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function oe(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=ie(i,s),a=st(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=oe(i.subarray(s+8,o),e.slice(1));l.length&&RR.apply(t,l)}s=o}return t}function LR(i){let e=[],t=i[0],r=8,s=ie(i,r);r+=4;let n=0,a=0;t===0?(n=ie(i,r),a=ie(i,r+4),r+=8):(n=OE(i,r),a=OE(i,r+8),r+=16),r+=2;let o=i.length+a,l=wb(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=ie(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return L.warn("SIDX has hierarchical references (not supported)"),null;let m=ie(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function Mb(i){let e=[],t=oe(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=oe(n,["tkhd"])[0];if(a){let o=a[0],l=ie(a,o===0?12:20),d=oe(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=ie(d,o===0?12:20),c=oe(n,["mdia","hdlr"])[0];if(c){let h=st(c.subarray(8,12)),f={soun:Le.AUDIO,vide:Le.VIDEO}[h];if(f){let m=oe(n,["mdia","minf","stbl","stsd"])[0],p=kR(m);e[l]={timescale:u,type:f},e[f]=pt({timescale:u,id:l},p)}}}}}return oe(i,["moov","mvex","trex"]).forEach(s=>{let n=ie(s,4),a=e[n];a&&(a.default={duration:ie(s,12),flags:ie(s,20)})}),e}function kR(i){let e=i.subarray(8),t=e.subarray(86),r=st(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=oe(e,[r])[0].subarray(r==="enca"?28:78);oe(o,["sinf"]).forEach(d=>{let u=oe(d,["schm"])[0];if(u){let c=st(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=oe(d,["frma"])[0];h&&(s=st(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=oe(t,["avcC"])[0];s+="."+td(a[1])+td(a[2])+td(a[3]);break}case"mp4a":{let a=oe(e,[r])[0],o=oe(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=uf(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=uf(o,l);let u=o[l++];if(u===64)s+="."+td(u);else break;if(l+=12,o[l++]!==5)break;l=uf(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=oe(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=ie(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=oe(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+Si(o)+"."+Si(l);break}case"vp09":{let a=oe(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+Si(o)+"."+Si(l)+"."+Si(d);break}case"av01":{let a=oe(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3;s+="."+o+"."+Si(l)+d+"."+Si(h)+"."+f+"."+m+p+g+"."+Si(1)+"."+Si(1)+"."+Si(1)+"."+0;break}}return{codec:s,encrypted:n}}function uf(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function td(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function Si(i){return(i<10?"0":"")+i}function CR(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&oe(i,["moov","trak"]).forEach(s=>{let a=oe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=oe(a,["enca"]),l=o.length>0;l||(o=oe(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);oe(u,["sinf"]).forEach(h=>{let f=Pb(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(L.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${xi.hexDump(m)} -> ${xi.hexDump(t)}`),f.set(t,8))}})})}),i}function Pb(i){let e=oe(i,["schm"])[0];if(e){let t=st(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return oe(i,["schi","tenc"])[0]}return null}function wR(i,e){return oe(e,["moof","traf"]).reduce((t,r)=>{let s=oe(r,["tfdt"])[0],n=s[0],a=oe(r,["tfhd"]).reduce((o,l)=>{let d=ie(l,4),u=i[d];if(u){let c=ie(s,4);if(n===1){if(c===yd)return L.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=yd+1,c+=ie(s,8)}let h=u.timescale||9e4,f=c/h;if(z(f)&&(o===null||f<o))return f}return o},null);return a!==null&&z(a)&&(t===null||a<t)?a:t},null)}function DR(i,e){let t=0,r=0,s=0,n=oe(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=oe(o,["tfhd"])[0],d=ie(l,4),u=e[d];if(!u)continue;let c=u.default,h=ie(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=ie(l,12):f=ie(l,8));let m=u.timescale||9e4,p=oe(o,["trun"]);for(let g=0;g<p.length;g++){if(t=MR(p[g]),!t&&f){let E=ie(p[g],4);t=f*E}u.type===Le.VIDEO?r+=t/m:u.type===Le.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=oe(i,["sidx"]);for(let u=0;u<d.length;u++){let c=LR(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&z(l))return l}return r||s}function MR(i){let e=ie(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=ie(i,4);for(let n=0;n<s;n++){if(e&256){let a=ie(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function PR(i,e,t){oe(e,["moof","traf"]).forEach(r=>{oe(r,["tfhd"]).forEach(s=>{let n=ie(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;oe(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=ie(l,4);if(d===0)c-=u,c=Math.max(c,0),df(l,4,c);else{c*=Math.pow(2,32),c+=ie(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(yd+1)),f=Math.floor(c%(yd+1));df(l,4,h),df(l,8,f)}}})})})}function OR(i){let e={valid:null,remainder:null},t=oe(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=as(i,0,r.byteOffset-8),e.remainder=as(i,r.byteOffset-8),e}function Kt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function NE(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return oe(r,["moof"]).map(l=>{let d=l.byteOffset-8;oe(l,["traf"]).map(c=>{let h=oe(c,["tfdt"]).map(f=>{let m=f[0],p=ie(f,4);return m===1&&(p*=Math.pow(2,32),p+=ie(f,8)),p/s})[0];return h!==void 0&&(i=h),oe(c,["tfhd"]).map(f=>{let m=ie(f,4),p=ie(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,b=(p&8)!==0,T=0,_=(p&16)!==0,A=0,k=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),b&&(T=ie(f,x),x+=4),_&&(A=ie(f,x),x+=4),k&&(x+=4),e.type==="video"&&(a=NR(e.codec)),oe(c,["trun"]).map(M=>{let O=M[0],D=ie(M,0)&16777215,R=(D&1)!==0,P=0,N=(D&4)!==0,$=(D&256)!==0,G=0,K=(D&512)!==0,ee=0,ae=(D&1024)!==0,q=(D&2048)!==0,V=0,le=ie(M,4),te=8;R&&(P=ie(M,te),te+=4),N&&(te+=4);let ve=P+d;for(let Be=0;Be<le;Be++){if($?(G=ie(M,te),te+=4):G=T,K?(ee=ie(M,te),te+=4):ee=A,ae&&(te+=4),q&&(O===0?V=ie(M,te):V=Db(M,te),te+=4),e.type===Le.VIDEO){let We=0;for(;We<ee;){let je=ie(r,ve);if(ve+=4,UR(a,r[ve])){let _t=r.subarray(ve,ve+je);Ob(_t,a?2:1,i+V/s,t)}ve+=je,We+=je+4}}i+=G/s}}))})})}),t}function NR(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function UR(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Ob(i,e,t,r){let s=Nb(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){L.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=wb(s,u);if(u+=2,h===49){let f=ie(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,b=E?2+g*3:0,T=new Uint8Array(b);if(E){T[0]=p;for(let _=1;_<b;_++)T[_]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:T})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Li(f),userDataBytes:f})}}}function Nb(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function FR(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;st(i.subarray(d,d+1))!=="\0";)t+=st(i.subarray(d,d+1)),d+=1;for(t+=st(i.subarray(d,d+1)),d+=1;st(i.subarray(d,d+1))!=="\0";)r+=st(i.subarray(d,d+1)),d+=1;r+=st(i.subarray(d,d+1)),d+=1,s=ie(i,12),n=ie(i,16),o=ie(i,20),l=ie(i,24),d=28}else if(e===1){d+=4,s=ie(i,d),d+=4;let c=ie(i,d);d+=4;let h=ie(i,d);for(d+=4,a=2**32*c+h,sR(a)||(a=Number.MAX_SAFE_INTEGER,L.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=ie(i,d),d+=4,l=ie(i,d),d+=4;st(i.subarray(d,d+1))!=="\0";)t+=st(i.subarray(d,d+1)),d+=1;for(t+=st(i.subarray(d,d+1)),d+=1;st(i.subarray(d,d+1))!=="\0";)r+=st(i.subarray(d,d+1)),d+=1;r+=st(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function BR(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function $R(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),BR([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function HR(i){let e=[];if(i instanceof ArrayBuffer){let t=i.byteLength,r=0;for(;r+32<t;){let s=new DataView(i,r),n=GR(s);e.push(n),r+=n.size}}return e}function GR(i){let e=i.getUint32(0),t=i.byteOffset,r=i.byteLength;if(r<e)return{offset:t,size:r};if(i.getUint32(4)!==1886614376)return{offset:t,size:e};let n=i.getUint32(8)>>>24;if(n!==0&&n!==1)return{offset:t,size:e};let a=i.buffer,o=xi.hexDump(new Uint8Array(a,t+12,16)),l=i.getUint32(28),d=null,u=null;if(n===0){if(e-32<l||l<22)return{offset:t,size:e};u=new Uint8Array(a,t+32,l)}else if(n===1){if(!l||r<t+32+l*16+16)return{offset:t,size:e};d=[];for(let c=0;c<l;c++)d.push(new Uint8Array(a,t+32+c*16,16))}return{version:n,systemId:o,kids:d,data:u,offset:t,size:e}}var id={},Da=class i{static clearKeyUriToKeyIdMap(){id={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Mt.FAIRPLAY:case Mt.WIDEVINE:case Mt.PLAYREADY:case Mt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&L.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=KR(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=pR(this.uri);if(t)switch(this.keyFormat){case Mt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Mt.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=$R(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Om(u).subarray(0,16);mR(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=id[this.uri];if(!r){let s=Object.keys(id).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),id[this.uri]=r}this.keyId=r}return this}};function KR(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var Ub=/\{\$([a-zA-Z0-9-_]+)\}/g;function UE(i){return Ub.test(i)}function wt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=Cf(i,n))}}function Cf(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(Ub,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function FE(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function WR(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function os(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function VR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Td={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function YR(i,e){let t=Td[e];return!!t&&!!t[i.slice(0,4)]}function cf(i,e,t=!0){return!i.split(",").some(r=>!Fb(r,e,t))}function Fb(i,e,t=!0){var r;let s=os(t);return(r=s==null?void 0:s.isTypeSupported(Ma(i,e)))!=null?r:!1}function Ma(i,e){return`${e}/mp4;codecs="${i}"`}function BE(i){if(i){let e=i.substring(0,4);return Td.video[e]}return 2}function _d(i){return i.split(",").reduce((e,t)=>{let r=Td.video[t];return r?(r*2+e)/(e?3:2):(Td.audio[t]+e)/(e?2:1)},0)}var hf={};function qR(i,e=!0){if(hf[i])return hf[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(Fb(t[r],"audio",e))return hf[i]=t[r],t[r];return i}var jR=/flac|opus/i;function Ad(i,e=!0){return i.replace(jR,t=>qR(t.toLowerCase(),e))}function $E(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function zR(i){let e=i.split(",");for(let t=0;t<e.length;t++){let r=e[t].split(".");if(r.length>2){let s=r.shift()+".";s+=parseInt(r.shift()).toString(16),s+=("000"+parseInt(r.shift()).toString(16)).slice(-4),e[t]=s}}return e.join(",")}var HE=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,GE=/#EXT-X-MEDIA:(.*)/g,XR=/^#EXT(?:INF|-X-TARGETDURATION):/m,KE=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),QR=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),ss=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Pm.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return XR.test(e)}static parseMasterPlaylist(e,t){let r=UE(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];HE.lastIndex=0;let a;for(;(a=HE.exec(e))!=null;)if(a[1]){var o;let d=new qe(a[1]);wt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=Cf(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),ZR(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new qe(u);wt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=WE(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):L.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new qe(u);wt(s,c,["NAME","VALUE","QUERYPARAM"]),FE(s,c,t)}break}case"CONTENT-STEERING":{let c=new qe(u);wt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=VE(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(GE.lastIndex=0;(s=GE.exec(e))!==null;){let d=new qe(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,wt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],b={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(b.assocLang=m),p&&(b.channels=p),g&&(b.characteristics=g),E&&(b.instreamId=E),c!=null&&c.length){let T=i.findGroup(c,b.groupId)||c[0];YE(b,T,"audioCodec"),YE(b,T,"textCodec")}h.push(b)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Lf(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new ka(s,t),g,E,b,T=-1,_=!1,A=null;for(KE.lastIndex=0,o.m3u8=e,o.hasVariableRefs=UE(e);(g=KE.exec(e))!==null;){_&&(_=!1,p=new ka(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,A&&(p.setByteRange(A),A=null)));let O=g[1];if(O){p.duration=parseFloat(O);let D=(" "+g[2]).slice(1);p.title=D||null,p.tagList.push(D?["INF",O,D]:["INF",O])}else if(g[3]){if(z(p.duration)){p.start=h,b&&zE(p,b,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let D=(" "+g[3]).slice(1);p.relurl=Cf(o,D),qE(p,m),m=p,h+=p.duration,u++,c=0,_=!0}}else if(g[4]){let D=(" "+g[4]).slice(1);m?p.setByteRange(D,m):p.setByteRange(D)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),T===-1&&(T=l.length);else{if(g=g[0].match(QR),!g){L.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let D=(" "+g[E]).slice(1),R=(" "+g[E+1]).slice(1),P=g[E+2]?(" "+g[E+2]).slice(1):"";switch(D){case"PLAYLIST-TYPE":o.type=R.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(R);break;case"SKIP":{let N=new qe(R);wt(o,N,["RECENTLY-REMOVED-DATERANGES"]);let $=N.decimalInteger("SKIPPED-SEGMENTS");if(z($)){o.skippedSegments=$;for(let K=$;K--;)l.unshift(null);u+=$}let G=N.enumeratedString("RECENTLY-REMOVED-DATERANGES");G&&(o.recentlyRemovedDateranges=G.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(R),1);break;case"VERSION":o.version=parseInt(R);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(R||P)&&p.tagList.push(P?[R,P]:[R]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([D]);break;case"BITRATE":p.tagList.push([D,R]);break;case"DATERANGE":{let N=new qe(R);wt(o,N,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),wt(o,N,N.clientAttrs);let $=new Ed(N,o.dateRanges[N.ID]);$.isValid||o.skippedSegments?o.dateRanges[$.id]=$:L.warn(`Ignoring invalid DATERANGE tag: "${R}"`),p.tagList.push(["EXT-X-DATERANGE",R]);break}case"DEFINE":{{let N=new qe(R);wt(o,N,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in N?WR(o,N,a):FE(o,N,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(R);break;case"KEY":{let N=WE(R,t,o);if(N.isSupported()){if(N.method==="NONE"){b=void 0;break}b||(b={}),b[N.keyFormat]&&(b=et({},b)),b[N.keyFormat]=N}else L.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${R}"`);break}case"START":o.startTimeOffset=VE(R);break;case"MAP":{let N=new qe(R);if(wt(o,N,["BYTERANGE","URI"]),p.duration){let $=new ka(s,t);jE($,N,r,b),d=$,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let $=p.byteRangeEndOffset;if($){let G=p.byteRangeStartOffset;A=`${$-G}@${G}`}else A=null;jE(p,N,r,b),d=p,_=!0}break}case"SERVER-CONTROL":{let N=new qe(R);o.canBlockReload=N.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=N.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&N.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=N.optionalFloat("PART-HOLD-BACK",0),o.holdBack=N.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let N=new qe(R);o.partTarget=N.decimalFloatingPoint("PART-TARGET");break}case"PART":{let N=o.partList;N||(N=o.partList=[]);let $=c>0?N[N.length-1]:void 0,G=c++,K=new qe(R);wt(o,K,["BYTERANGE","URI"]);let ee=new If(K,p,t,G,$);N.push(ee),p.duration+=ee.duration;break}case"PRELOAD-HINT":{let N=new qe(R);wt(o,N,["URI"]),o.preloadHint=N;break}case"RENDITION-REPORT":{let N=new qe(R);wt(o,N,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(N);break}default:L.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(qE(p,m),p.cc=f,o.fragmentHint=p,b&&zE(p,b,o));let k=l.length,x=l[0],M=l[k-1];if(h+=o.skippedSegments*o.targetduration,h>0&&k&&M){o.averagetargetduration=h/k;let O=M.sn;o.endSN=O!=="initSegment"?O:0,o.live||(M.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,T>0&&JR(l,T),o}};function WE(i,e,t){var r,s;let n=new qe(i);wt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&L.error(`Invalid IV: ${n.IV}`);let c=o?ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Da(a,c,u,h,l)}function VE(i){let t=new qe(i).decimalFloatingPoint("TIME-OFFSET");return z(t)?t:null}function ZR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>YR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function YE(i,e,t){let r=e[t];r&&(i[t]=r)}function JR(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function qE(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),z(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function jE(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function zE(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ye={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},se={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function XE(i){let{type:e}=i;switch(e){case ye.AUDIO_TRACK:return se.AUDIO;case ye.SUBTITLE_TRACK:return se.SUBTITLE;default:return se.MAIN}}function ff(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var wf=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ye.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ye.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ye.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ye.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){L.trace("[playlist-loader]: playlist request ongoing");return}L.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ye.MANIFEST?n=r.manifestLoadPolicy.default:n=et({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),z((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ye.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ye.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ye.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=et({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),ss.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=ff(e,r),l=ss.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=ss.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(T=>!T.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(L.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new qe({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=ff(e,r),c=0,h=z(l)?l:z(o)?o:0,f=XE(r),m=ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ye.MANIFEST){let p={attrs:new qe({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:re.NETWORK_ERROR,details:w.MANIFEST_PARSING_ERROR,fatal:t.type===ye.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ye.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ye.AUDIO_TRACK||e.type===ye.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);L.warn(`[playlist-loader]: ${a}`);let l=w.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ye.MANIFEST:l=r?w.MANIFEST_LOAD_TIMEOUT:w.MANIFEST_LOAD_ERROR,d=!0;break;case ye.LEVEL:l=r?w.LEVEL_LOAD_TIMEOUT:w.LEVEL_LOAD_ERROR,d=!1;break;case ye.AUDIO_TRACK:l=r?w.AUDIO_TRACK_LOAD_TIMEOUT:w.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ye.SUBTITLE_TRACK:l=r?w.SUBTITLE_TRACK_LOAD_TIMEOUT:w.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:re.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=pt({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=ff(t,s),m=XE(s),p=typeof s.level=="number"&&m===se.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:re.NETWORK_ERROR,details:w.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:re.NETWORK_ERROR,details:w.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ye.MANIFEST:case ye.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ye.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ye.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function Bb(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function $b(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){L.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){L.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function bn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function Df(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=tI(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function eI(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function tI(i,e,t){let r=[],s=eI(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function cd(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var ni={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},iI=.25;function Mf(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function QE(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?pt({type:s},r):r))}return n}var rd=(()=>{let i=Mf();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function mf(i,e){return i.getTime()/1e3-e}function rI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Pf=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(bn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return Bb(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Mf();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===ni.emsg&&!r||!s)continue;let d=kb(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>rd&&(c=rd),c-u<=0&&(c=u+iI);for(let f=0;f<d.length;f++){let m=d[f];if(!Lb(m)){this.updateId3CueEnds(u,l);let p=QE(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===rd&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===ni.audioId3&&l:s==="video"?d=u=>u.type===ni.emsg&&o:d=u=>u.type===ni.audioId3&&l||u.type===ni.emsg&&o,Df(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!z(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Mf();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=mf(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=rd,b=h.endDate;if(b)E=mf(b,l),g=!0;else if(h.endOnNext&&!g){let _=a.reduce((A,k)=>{if(k!==h.id){let x=n[k];if(x.class===h.class&&x.startDate>h.startDate&&(!A||h.startDate<A.startDate))return x}return A},null);_&&(E=mf(_.startDate,l),g=!0)}let T=Object.keys(h.attr);for(let _=0;_<T.length;_++){let A=T[_];if(!uR(A))continue;let k=p[A];if(k)g&&!m.durationKnown&&(k.endTime=E);else if(d){let x=h.attr[A];cR(A)&&(x=rI(x));let M=QE(d,f,E,{key:A,data:x},ni.dateRange);M&&(M.id=c,this.id3Track.addCue(M),p[A]=M)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Of=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s;return d+Math.min(this.stallCount*1,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===w.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&L.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Nf=["NONE","TYPE-0","TYPE-1",null];function sI(i){return Nf.indexOf(i)>-1}var Sd=["SDR","PQ","HLG"];function nI(i){return!!i&&Sd.indexOf(i)>-1}var hd={No:"",Yes:"YES",v2:"v2"};function ZE(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?hd.v2:hd.Yes:hd.No}var xd=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Er=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return JE(this._audioGroups,e)}hasSubtitleGroup(e){return JE(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function JE(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function pf(i,e){let t=e.startPTS;if(z(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function Hb(i,e,t,r,s,n){r-t<=0&&(L.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(z(d)){let g=Math.abs(d-t);z(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)pf(p[f],p[f-1]);for(f=m;f<p.length-1;f++)pf(p[f],p[f+1]);return i.fragmentHint&&pf(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function aI(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(dI(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),z(l.startPTS)&&z(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){L.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=oI(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){L.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),lI(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?Hb(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):Gb(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function oI(i,e,t){let r=et({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Ed(e[s].attr,r[s]);n.isValid?r[s]=n:L.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function lI(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function dI(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function Gb(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Uf(e,r[t].start)}function Uf(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function uI(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments;if(r.length&&t*4>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function cI(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function eb(i,e,t){var r;return i!=null&&i.details?Kb((r=i.details)==null?void 0:r.partList,e,t):null}function Kb(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function Wb(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Rd(i){switch(i.details){case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_TIMEOUT:case w.LEVEL_LOAD_TIMEOUT:case w.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function tb(i,e){let t=Rd(e);return i.default[`${t?"timeout":"error"}Retry`]}function Fm(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function ib(i){return pt(pt({},i),{errorRetry:null,timeoutRetry:null})}function Id(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(hI(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function hI(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var Vb={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function fI(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!z(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(pI(e,t,a))return a}return null}function Ld(i,e,t=0,r=0,s=.005){let n=null;if(i){n=e[i.sn-e[0].sn+1]||null;let o=i.endDTS-t;o>0&&o<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(n=e[0]);if(n&&((!i||i.level===n.level)&&Ff(t,r,n)===0||mI(n,i,Math.min(s,r))))return n;let a=Vb.search(e,Ff.bind(null,t,r));return a&&(a!==i||!n)?a:n}function mI(i,e,t){if(e&&e.start===0&&e.level<i.level&&(e.endPTS||0)>0){let r=e.tagList.reduce((s,n)=>(n[0]==="INF"&&(s+=parseFloat(n[1])),s),t);return i.start<=r}return!1}function Ff(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function pI(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function gI(i,e){return Vb.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ft={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},ii={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Bf=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=L.log.bind(L,"[info]:"),this.warn=L.warn.bind(L,"[warning]:"),this.error=L.error.bind(L,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===se.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case w.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ft.DoNothing,flags:ii.None};return}case w.FRAG_GAP:case w.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ft.SendAlternateToPenaltyBox;return}case w.LEVEL_EMPTY_ERROR:case w.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===se.MAIN?t.level:n.loadLevel;t.details===w.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.SUBTITLE_LOAD_ERROR:case w.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ye.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ye.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ft.SendAlternateToPenaltyBox,t.errorAction.flags=ii.MoveAllAlternatesMatchingHost;return}}return;case w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ft.SendAlternateToPenaltyBox,flags:ii.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case w.BUFFER_ADD_CODEC_ERROR:case w.REMUX_ALLOC_ERROR:case w.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case w.INTERNAL_EXCEPTION:case w.BUFFER_APPENDING_ERROR:case w.BUFFER_FULL_ERROR:case w.LEVEL_SWITCH_ERROR:case w.BUFFER_STALLED_ERROR:case w.BUFFER_SEEK_OVER_HOLE:case w.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ft.DoNothing,flags:ii.None};return}t.type===re.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=tb(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Id(s,n,Rd(e),e.response))return{action:ft.RetryRequest,flags:ii.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=tb(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==w.FRAG_GAP&&s.fragmentError++,Id(o,l,Rd(e),e.response)))return{action:ft.RetryRequest,flags:ii.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===w.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===se.AUDIO&&d===w.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===w.BUFFER_ADD_CODEC_ERROR||d===w.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:k})=>s.audioCodec!==k),T=e.sourceBufferName==="video"&&(d===w.BUFFER_ADD_CODEC_ERROR||d===w.BUFFER_APPEND_ERROR)&&c.some(({codecSet:k,audioCodec:x})=>s.codecSet!==k&&s.audioCodec===x),{type:_,groupId:A}=(a=e.context)!=null?a:{};for(let k=c.length;k--;){let x=(k+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let M=c[x];if(d===w.FRAG_GAP&&p===se.MAIN&&e.frag){let O=c[x].details;if(O){let D=Ld(e.frag,O.fragments,e.frag.start);if(D!=null&&D.gap)continue}}else{if(_===ye.AUDIO_TRACK&&M.hasAudioGroup(A)||_===ye.SUBTITLE_TRACK&&M.hasSubtitleGroup(A))continue;if(p===se.AUDIO&&(o=s.audioGroups)!=null&&o.some(O=>M.hasAudioGroup(O))||p===se.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(O=>M.hasSubtitleGroup(O))||E&&s.audioCodec===M.audioCodec||!E&&s.audioCodec!==M.audioCodec||T&&s.codecSet===M.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ft.SendAlternateToPenaltyBox,flags:ii.None,nextAutoLevel:u}}return{action:ft.SendAlternateToPenaltyBox,flags:ii.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ft.DoNothing:break;case ft.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==w.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ft.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case ii.None:this.switchLevel(e,a);break;case ii.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Nf[Nf.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},Pa=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=L.log.bind(L,`${t}:`),this.warn=L.warn.bind(L,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){L.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&ZE(r);return new xd(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&aI(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,b=s.endSN,T=s.lastPartIndex,_=T!==-1,A=E===b,k=g?0:T;_?(d=A?b+1:E,u=A?k:T+1):d=b+1;let x=s.age,M=x+s.ageHeader,O=Math.min(M-s.partTarget,s.targetduration*1.5);if(O>0){if(r&&O>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${O} with playlist age: ${s.age}`),O=0;else{let D=Math.floor(O/s.targetduration);if(d+=D,u!==void 0){let R=Math.round(O%s.targetduration/s.partTarget);u+=R}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${O} skip sn ${D} to part ${u}`)}s.tuneInGoal=O}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!A){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=uI(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=ZE(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=hd.No),new xd(r,s,n)}checkRetry(e){let t=e.details,r=Rd(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ft.RetryRequest||!s.resolved&&n===ft.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Fm(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},vr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},$f=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new vr(e),this.fast_=new vr(t),this.defaultTTFB_=s,this.ttfb_=new vr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new vr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new vr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new vr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},Yb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},rb={};function vI(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&z(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function EI(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(Yb);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:pt(pt({},n),{},{contentType:Ma(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);z(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:Ma(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=bI(l);return rb[d]||(rb[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function bI(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function yI(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function TI(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Sd.slice(0),t=e.preferHDR!==void 0?e.preferHDR:yI(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function _I(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=TI(e,s);for(let A=n.length;A--;){let k=i[n[A]];d=k.channels[2]>0,c=Math.min(c,k.minHeight),h=Math.min(h,k.minFramerate),f=Math.min(f,k.minBitrate);let x=E.filter(M=>k.videoRanges[M]>0);x.length>0&&(u=!0,p=x)}c=z(c)?c:0,h=z(h)?h:0;let b=Math.max(1080,c),T=Math.max(30,h);return f=z(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,k)=>{let x=i[k];if(k===A)return A;if(x.minBitrate>t)return Xi(k,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),A;if(!x.hasDefaultAudio)return Xi(k,"no renditions with default or auto-select sound found"),A;if(o&&k.indexOf(o.substring(0,4))%5!==0)return Xi(k,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!x.channels[a])return Xi(k,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),A}else if((!o||l)&&d&&x.channels[2]===0)return Xi(k,"no renditions with stereo sound found"),A;return x.minHeight>b?(Xi(k,`min resolution of ${x.minHeight} > maximum of ${b}`),A):x.minFramerate>T?(Xi(k,`min framerate of ${x.minFramerate} > maximum of ${T}`),A):p.some(M=>x.videoRanges[M]>0)?x.maxScore<m?(Xi(k,`max score of ${x.maxScore} < selected max of ${m}`),A):A&&(_d(k)>=_d(A)||x.fragmentError>i[A].fragmentError)?A:(m=x.maxScore,k):(Xi(k,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function Xi(i,e){L.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function AI(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function SI(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function Ii(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Tn(i,s,t))return r}return-1}function Tn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||xI(o,e.characteristics))&&(t===void 0||t(i,e))}function xI(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function pn(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function RI(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=sb(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Ii(i,m,s)>-1});return c>-1?c:sb(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Ii(i,m,s)>-1})}function sb(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var Hf=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,b=this.getBwEstimate(),T=s.levels,_=T[t.level],A=l.total||Math.max(l.loaded,Math.round(d*_.averageBitrate/8)),k=E?u-g:u;k<1&&E&&(k=Math.min(u,l.loaded*8/b));let x=E?l.loaded*1e3/k:0,M=x?(A-l.loaded)/x:A*8/b+f/1e3;if(M<=p)return;let O=x?x*8:b,D=Number.POSITIVE_INFINITY,R;for(R=t.level-1;R>c;R--){let N=T[R].maxBitrate;if(D=this.getTimeToLoadFrag(f/1e3,O,d*N,!T[R].details),D<p)break}if(D>=M||D>d*10)return;s.nextLoadLevel=s.nextAutoLevel=R,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let P=T[R].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>P&&this.resetEstimator(P),this.clearTimer(),L.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1238
+ `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};Zl.prototype.processLine=function(i){var e=i.indexOf(":"),t=Wx(i,e),r=t[0],s=t.length===2?nf(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case Xr.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case Xr.PART_INF:{jh(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case Xr.SERVER_CONTROL:{jh(this.manifest,t),this.setHoldBack();break}case Xr.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case Xr.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case Xr.VERSION:{jh(this.manifest,t);break}case Xr.SESSION_DATA:{var o=Vx(t[1]),l=yE(o);Object.assign(this.manifest.sessionData,l)}}};Zl.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var jh=function(i,e){var t=kE(e[0].replace("#EXT-X-","")),r;Kx(e[1])?(r={},r=Object.assign(Gx(e[1]),r)):r=nf(e[1]),i[t]=r},kE=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},nf=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},Hx=function(i){var e={},t=i.split("=");if(t.length>1){var r=kE(t[0]);e[r]=nf(t[1])}return e},Gx=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=Hx(s);t=Object.assign(n,t)}return t},Kx=function(i){return i.indexOf("=")>-1},Wx=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Vx=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},Yx=Zl,qx={safeCall:Fx,safeIncrement:Je,getComputedStyle:Bx,secondsToMs:$x,assign:Object.assign,headersStringToObject:sf,cdnHeadersToRequestId:Ql,extractHostnameAndDomain:Sa,extractHostname:ei,manifestParser:Yx,generateShortID:EE,generateUUID:Aa,now:rt.now},jx=qx,zx={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},Xx=zx,Qx="mux-embed",Zx="5.3.1",Jx="2.1",Ht={},pr=function(i){var e=arguments;typeof i=="string"?pr.hasOwnProperty(i)?Ta.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),pr[i].apply(null,e)},0):Ye.warn("`"+i+"` is an unknown task"):typeof i=="function"?Ta.default.setTimeout(function(){i(pr)},0):Ye.warn("`"+i+"` is invalid.")},eR={loaded:rt.now(),NAME:Qx,VERSION:Zx,API_VERSION:Jx,PLAYER_TRACKED:!1,monitor:function(i,e){return Ux(pr,i,e)},destroyMonitor:function(i){var e=ji(Xh(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ye.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=Qr(i);Ht[t]?Ht[t].addHLSJS(e):Ye.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=Qr(i);Ht[t]?Ht[t].addDashJS(e):Ye.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=Qr(i);Ht[e]?Ht[e].removeHLSJS():Ye.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=Qr(i);Ht[e]?Ht[e].removeDashJS():Ye.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){Qh()&&e&&e.respectDoNotTrack&&Ye.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=Qr(i);Ht[t]=new Mx(pr,t,e)},emit:function(i,e,t){var r=Qr(i);Ht[r]?(Ht[r].emit(e,t),e==="destroy"&&delete Ht[r]):Ye.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:Qh,log:Ye,utils:jx,events:Xx,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(pr,eR);typeof Ta.default!="undefined"&&typeof Ta.default.addEventListener=="function"&&Ta.default.addEventListener("pagehide",function(i){i.persisted||(pr.WINDOW_UNLOADING=!0)},!1);var Jl=pr;function tR(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var xb={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(xb);var Pm=xb.exports;function CE(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function pt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?CE(Object(t),!0).forEach(function(r){sR(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):CE(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function iR(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function rR(i){var e=iR(i,"string");return typeof e=="symbol"?e:String(e)}function sR(i,e,t){return e=rR(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function et(){return et=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},et.apply(this,arguments)}var z=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},nR=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=aR},aR=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),se=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),D=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),rs=function(){},xf={trace:rs,debug:rs,log:rs,warn:rs,info:rs,error:rs},Ia=xf;function oR(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):rs}function lR(i,...e){e.forEach(function(t){Ia[t]=i[t]?i[t].bind(i):oR(t)})}function dR(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){lR(i,"debug","log","info","warn","error");try{Ia.log(`Debug logs enabled for "${e}" in hls.js version 1.5.15`)}catch{Ia=xf}}else Ia=xf}var L=Ia,uR=/^(\d+)x(\d+)$/,wE=/(.+?)=(".*?"|.*?)(?:,|$)/g,qe=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),et(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=uR.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(wE.lastIndex=0;(t=wE.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function cR(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function hR(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var vd=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){L.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=et(new qe({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);z(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(z(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&z(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},An=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},ke={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Ed=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[ke.AUDIO]:null,[ke.VIDEO]:null,[ke.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Pm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},La=class extends Ed{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new An,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!z(this.programDateTime))return null;let e=z(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ke.AUDIO]=null,e[ke.VIDEO]=null,e[ke.AUDIOVIDEO]=null}},Rf=class extends Ed{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new An,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},fR=10,If=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?z(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||fR}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Om(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function mR(i){let e=Lf(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function pR(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function gR(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Om(a)):t=mR(a)}}return t}function Lf(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var Sn=typeof self!="undefined"?self:void 0,Fe={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Mt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function DE(i){switch(i){case Mt.FAIRPLAY:return Fe.FAIRPLAY;case Mt.PLAYREADY:return Fe.PLAYREADY;case Mt.WIDEVINE:return Fe.WIDEVINE;case Mt.CLEARKEY:return Fe.CLEARKEY}}var Ra={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function ME(i){if(i===Ra.WIDEVINE)return Fe.WIDEVINE;if(i===Ra.PLAYREADY)return Fe.PLAYREADY;if(i===Ra.CENC||i===Ra.CLEARKEY)return Fe.CLEARKEY}function PE(i){switch(i){case Fe.FAIRPLAY:return Mt.FAIRPLAY;case Fe.PLAYREADY:return Mt.PLAYREADY;case Fe.WIDEVINE:return Mt.WIDEVINE;case Fe.CLEARKEY:return Mt.CLEARKEY}}function af(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Fe.FAIRPLAY,Fe.WIDEVINE,Fe.PLAYREADY,Fe.CLEARKEY].filter(s=>!!e[s]):[];return!r[Fe.WIDEVINE]&&t&&r.push(Fe.WIDEVINE),r}var Rb=function(i){return Sn!=null&&(i=Sn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function vR(i,e,t,r){let s;switch(i){case Fe.FAIRPLAY:s=["cenc","sinf"];break;case Fe.WIDEVINE:case Fe.PLAYREADY:s=["cenc"];break;case Fe.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return ER(s,e,t,r)}function ER(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function as(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Nm=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,Ib=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,Ca=(i,e)=>{let t=e,r=0;for(;Nm(i,e);){r+=10;let s=Wd(i,e+6);r+=s,Ib(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},Wd=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},bR=(i,e)=>Nm(i,e)&&Wd(i,e+6)+10<=i.length-e,Um=i=>{let e=kb(i);for(let t=0;t<e.length;t++){let r=e[t];if(Lb(r))return xR(r)}},Lb=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",yR=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=Wd(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},kb=i=>{let e=0,t=[];for(;Nm(i,e);){let r=Wd(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=yR(i.subarray(e)),a=TR(n);a&&t.push(a),e+=n.size+10}Ib(i,e)&&(e+=10)}return t},TR=i=>i.type==="PRIV"?_R(i):i.type[0]==="W"?SR(i):AR(i),_R=i=>{if(i.size<2)return;let e=Li(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},AR=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Li(i.data.subarray(t),!0);t+=r.length+1;let s=Li(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Li(i.data.subarray(1));return{key:i.type,data:e}},SR=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Li(i.data.subarray(t),!0);t+=r.length+1;let s=Li(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Li(i.data);return{key:i.type,data:e}},xR=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Li=(i,e=!1)=>{let t=RR();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},of;function RR(){if(!navigator.userAgent.includes("PlayStation 4"))return!of&&typeof self.TextDecoder!="undefined"&&(of=new self.TextDecoder("utf-8")),of}var xi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},bd=Math.pow(2,32)-1,IR=[].push,Cb={video:1,audio:2,id3:3,text:4};function st(i){return String.fromCharCode.apply(null,i)}function wb(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function ie(i,e){let t=Db(i,e);return t<0?4294967296+t:t}function OE(i,e){let t=ie(i,e);return t*=Math.pow(2,32),t+=ie(i,e+4),t}function Db(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function lf(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function LR(i){let e=i.byteLength;for(let t=0;t<e;){let r=ie(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function oe(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=ie(i,s),a=st(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=oe(i.subarray(s+8,o),e.slice(1));l.length&&IR.apply(t,l)}s=o}return t}function kR(i){let e=[],t=i[0],r=8,s=ie(i,r);r+=4;let n=0,a=0;t===0?(n=ie(i,r),a=ie(i,r+4),r+=8):(n=OE(i,r),a=OE(i,r+8),r+=16),r+=2;let o=i.length+a,l=wb(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=ie(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return L.warn("SIDX has hierarchical references (not supported)"),null;let m=ie(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function Mb(i){let e=[],t=oe(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=oe(n,["tkhd"])[0];if(a){let o=a[0],l=ie(a,o===0?12:20),d=oe(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=ie(d,o===0?12:20),c=oe(n,["mdia","hdlr"])[0];if(c){let h=st(c.subarray(8,12)),f={soun:ke.AUDIO,vide:ke.VIDEO}[h];if(f){let m=oe(n,["mdia","minf","stbl","stsd"])[0],p=CR(m);e[l]={timescale:u,type:f},e[f]=pt({timescale:u,id:l},p)}}}}}return oe(i,["moov","mvex","trex"]).forEach(s=>{let n=ie(s,4),a=e[n];a&&(a.default={duration:ie(s,12),flags:ie(s,20)})}),e}function CR(i){let e=i.subarray(8),t=e.subarray(86),r=st(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=oe(e,[r])[0].subarray(r==="enca"?28:78);oe(o,["sinf"]).forEach(d=>{let u=oe(d,["schm"])[0];if(u){let c=st(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=oe(d,["frma"])[0];h&&(s=st(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=oe(t,["avcC"])[0];s+="."+ed(a[1])+ed(a[2])+ed(a[3]);break}case"mp4a":{let a=oe(e,[r])[0],o=oe(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=df(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=df(o,l);let u=o[l++];if(u===64)s+="."+ed(u);else break;if(l+=12,o[l++]!==5)break;l=df(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=oe(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=ie(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=oe(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+Si(o)+"."+Si(l);break}case"vp09":{let a=oe(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+Si(o)+"."+Si(l)+"."+Si(d);break}case"av01":{let a=oe(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3;s+="."+o+"."+Si(l)+d+"."+Si(h)+"."+f+"."+m+p+g+"."+Si(1)+"."+Si(1)+"."+Si(1)+"."+0;break}}return{codec:s,encrypted:n}}function df(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function ed(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function Si(i){return(i<10?"0":"")+i}function wR(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&oe(i,["moov","trak"]).forEach(s=>{let a=oe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=oe(a,["enca"]),l=o.length>0;l||(o=oe(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);oe(u,["sinf"]).forEach(h=>{let f=Pb(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(L.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${xi.hexDump(m)} -> ${xi.hexDump(t)}`),f.set(t,8))}})})}),i}function Pb(i){let e=oe(i,["schm"])[0];if(e){let t=st(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return oe(i,["schi","tenc"])[0]}return null}function DR(i,e){return oe(e,["moof","traf"]).reduce((t,r)=>{let s=oe(r,["tfdt"])[0],n=s[0],a=oe(r,["tfhd"]).reduce((o,l)=>{let d=ie(l,4),u=i[d];if(u){let c=ie(s,4);if(n===1){if(c===bd)return L.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=bd+1,c+=ie(s,8)}let h=u.timescale||9e4,f=c/h;if(z(f)&&(o===null||f<o))return f}return o},null);return a!==null&&z(a)&&(t===null||a<t)?a:t},null)}function MR(i,e){let t=0,r=0,s=0,n=oe(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=oe(o,["tfhd"])[0],d=ie(l,4),u=e[d];if(!u)continue;let c=u.default,h=ie(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=ie(l,12):f=ie(l,8));let m=u.timescale||9e4,p=oe(o,["trun"]);for(let g=0;g<p.length;g++){if(t=PR(p[g]),!t&&f){let E=ie(p[g],4);t=f*E}u.type===ke.VIDEO?r+=t/m:u.type===ke.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=oe(i,["sidx"]);for(let u=0;u<d.length;u++){let c=kR(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&z(l))return l}return r||s}function PR(i){let e=ie(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=ie(i,4);for(let n=0;n<s;n++){if(e&256){let a=ie(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function OR(i,e,t){oe(e,["moof","traf"]).forEach(r=>{oe(r,["tfhd"]).forEach(s=>{let n=ie(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;oe(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=ie(l,4);if(d===0)c-=u,c=Math.max(c,0),lf(l,4,c);else{c*=Math.pow(2,32),c+=ie(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(bd+1)),f=Math.floor(c%(bd+1));lf(l,4,h),lf(l,8,f)}}})})})}function NR(i){let e={valid:null,remainder:null},t=oe(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=as(i,0,r.byteOffset-8),e.remainder=as(i,r.byteOffset-8),e}function Kt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function NE(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return oe(r,["moof"]).map(l=>{let d=l.byteOffset-8;oe(l,["traf"]).map(c=>{let h=oe(c,["tfdt"]).map(f=>{let m=f[0],p=ie(f,4);return m===1&&(p*=Math.pow(2,32),p+=ie(f,8)),p/s})[0];return h!==void 0&&(i=h),oe(c,["tfhd"]).map(f=>{let m=ie(f,4),p=ie(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,b=(p&8)!==0,T=0,_=(p&16)!==0,A=0,k=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),b&&(T=ie(f,x),x+=4),_&&(A=ie(f,x),x+=4),k&&(x+=4),e.type==="video"&&(a=UR(e.codec)),oe(c,["trun"]).map(M=>{let O=M[0],w=ie(M,0)&16777215,R=(w&1)!==0,P=0,N=(w&4)!==0,$=(w&256)!==0,G=0,K=(w&512)!==0,ee=0,ae=(w&1024)!==0,q=(w&2048)!==0,V=0,le=ie(M,4),te=8;R&&(P=ie(M,te),te+=4),N&&(te+=4);let Ee=P+d;for(let $e=0;$e<le;$e++){if($?(G=ie(M,te),te+=4):G=T,K?(ee=ie(M,te),te+=4):ee=A,ae&&(te+=4),q&&(O===0?V=ie(M,te):V=Db(M,te),te+=4),e.type===ke.VIDEO){let We=0;for(;We<ee;){let je=ie(r,Ee);if(Ee+=4,FR(a,r[Ee])){let _t=r.subarray(Ee,Ee+je);Ob(_t,a?2:1,i+V/s,t)}Ee+=je,We+=je+4}}i+=G/s}}))})})}),t}function UR(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function FR(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Ob(i,e,t,r){let s=Nb(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){L.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=wb(s,u);if(u+=2,h===49){let f=ie(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,b=E?2+g*3:0,T=new Uint8Array(b);if(E){T[0]=p;for(let _=1;_<b;_++)T[_]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:T})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Li(f),userDataBytes:f})}}}function Nb(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function BR(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;st(i.subarray(d,d+1))!=="\0";)t+=st(i.subarray(d,d+1)),d+=1;for(t+=st(i.subarray(d,d+1)),d+=1;st(i.subarray(d,d+1))!=="\0";)r+=st(i.subarray(d,d+1)),d+=1;r+=st(i.subarray(d,d+1)),d+=1,s=ie(i,12),n=ie(i,16),o=ie(i,20),l=ie(i,24),d=28}else if(e===1){d+=4,s=ie(i,d),d+=4;let c=ie(i,d);d+=4;let h=ie(i,d);for(d+=4,a=2**32*c+h,nR(a)||(a=Number.MAX_SAFE_INTEGER,L.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=ie(i,d),d+=4,l=ie(i,d),d+=4;st(i.subarray(d,d+1))!=="\0";)t+=st(i.subarray(d,d+1)),d+=1;for(t+=st(i.subarray(d,d+1)),d+=1;st(i.subarray(d,d+1))!=="\0";)r+=st(i.subarray(d,d+1)),d+=1;r+=st(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function $R(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function HR(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),$R([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function GR(i){let e=[];if(i instanceof ArrayBuffer){let t=i.byteLength,r=0;for(;r+32<t;){let s=new DataView(i,r),n=KR(s);e.push(n),r+=n.size}}return e}function KR(i){let e=i.getUint32(0),t=i.byteOffset,r=i.byteLength;if(r<e)return{offset:t,size:r};if(i.getUint32(4)!==1886614376)return{offset:t,size:e};let n=i.getUint32(8)>>>24;if(n!==0&&n!==1)return{offset:t,size:e};let a=i.buffer,o=xi.hexDump(new Uint8Array(a,t+12,16)),l=i.getUint32(28),d=null,u=null;if(n===0){if(e-32<l||l<22)return{offset:t,size:e};u=new Uint8Array(a,t+32,l)}else if(n===1){if(!l||r<t+32+l*16+16)return{offset:t,size:e};d=[];for(let c=0;c<l;c++)d.push(new Uint8Array(a,t+32+c*16,16))}return{version:n,systemId:o,kids:d,data:u,offset:t,size:e}}var td={},wa=class i{static clearKeyUriToKeyIdMap(){td={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Mt.FAIRPLAY:case Mt.WIDEVINE:case Mt.PLAYREADY:case Mt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&L.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=WR(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=gR(this.uri);if(t)switch(this.keyFormat){case Mt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Mt.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=HR(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Om(u).subarray(0,16);pR(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=td[this.uri];if(!r){let s=Object.keys(td).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),td[this.uri]=r}this.keyId=r}return this}};function WR(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var Ub=/\{\$([a-zA-Z0-9-_]+)\}/g;function UE(i){return Ub.test(i)}function wt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=kf(i,n))}}function kf(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(Ub,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function FE(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function VR(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function os(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function YR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var yd={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function qR(i,e){let t=yd[e];return!!t&&!!t[i.slice(0,4)]}function uf(i,e,t=!0){return!i.split(",").some(r=>!Fb(r,e,t))}function Fb(i,e,t=!0){var r;let s=os(t);return(r=s==null?void 0:s.isTypeSupported(Da(i,e)))!=null?r:!1}function Da(i,e){return`${e}/mp4;codecs="${i}"`}function BE(i){if(i){let e=i.substring(0,4);return yd.video[e]}return 2}function Td(i){return i.split(",").reduce((e,t)=>{let r=yd.video[t];return r?(r*2+e)/(e?3:2):(yd.audio[t]+e)/(e?2:1)},0)}var cf={};function jR(i,e=!0){if(cf[i])return cf[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(Fb(t[r],"audio",e))return cf[i]=t[r],t[r];return i}var zR=/flac|opus/i;function _d(i,e=!0){return i.replace(zR,t=>jR(t.toLowerCase(),e))}function $E(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function XR(i){let e=i.split(",");for(let t=0;t<e.length;t++){let r=e[t].split(".");if(r.length>2){let s=r.shift()+".";s+=parseInt(r.shift()).toString(16),s+=("000"+parseInt(r.shift()).toString(16)).slice(-4),e[t]=s}}return e.join(",")}var HE=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,GE=/#EXT-X-MEDIA:(.*)/g,QR=/^#EXT(?:INF|-X-TARGETDURATION):/m,KE=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),ZR=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),ss=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Pm.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return QR.test(e)}static parseMasterPlaylist(e,t){let r=UE(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];HE.lastIndex=0;let a;for(;(a=HE.exec(e))!=null;)if(a[1]){var o;let d=new qe(a[1]);wt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=kf(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),JR(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new qe(u);wt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=WE(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):L.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new qe(u);wt(s,c,["NAME","VALUE","QUERYPARAM"]),FE(s,c,t)}break}case"CONTENT-STEERING":{let c=new qe(u);wt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=VE(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(GE.lastIndex=0;(s=GE.exec(e))!==null;){let d=new qe(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,wt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],b={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(b.assocLang=m),p&&(b.channels=p),g&&(b.characteristics=g),E&&(b.instreamId=E),c!=null&&c.length){let T=i.findGroup(c,b.groupId)||c[0];YE(b,T,"audioCodec"),YE(b,T,"textCodec")}h.push(b)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new If(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new La(s,t),g,E,b,T=-1,_=!1,A=null;for(KE.lastIndex=0,o.m3u8=e,o.hasVariableRefs=UE(e);(g=KE.exec(e))!==null;){_&&(_=!1,p=new La(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,A&&(p.setByteRange(A),A=null)));let O=g[1];if(O){p.duration=parseFloat(O);let w=(" "+g[2]).slice(1);p.title=w||null,p.tagList.push(w?["INF",O,w]:["INF",O])}else if(g[3]){if(z(p.duration)){p.start=h,b&&zE(p,b,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let w=(" "+g[3]).slice(1);p.relurl=kf(o,w),qE(p,m),m=p,h+=p.duration,u++,c=0,_=!0}}else if(g[4]){let w=(" "+g[4]).slice(1);m?p.setByteRange(w,m):p.setByteRange(w)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),T===-1&&(T=l.length);else{if(g=g[0].match(ZR),!g){L.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let w=(" "+g[E]).slice(1),R=(" "+g[E+1]).slice(1),P=g[E+2]?(" "+g[E+2]).slice(1):"";switch(w){case"PLAYLIST-TYPE":o.type=R.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(R);break;case"SKIP":{let N=new qe(R);wt(o,N,["RECENTLY-REMOVED-DATERANGES"]);let $=N.decimalInteger("SKIPPED-SEGMENTS");if(z($)){o.skippedSegments=$;for(let K=$;K--;)l.unshift(null);u+=$}let G=N.enumeratedString("RECENTLY-REMOVED-DATERANGES");G&&(o.recentlyRemovedDateranges=G.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(R),1);break;case"VERSION":o.version=parseInt(R);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(R||P)&&p.tagList.push(P?[R,P]:[R]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([w]);break;case"BITRATE":p.tagList.push([w,R]);break;case"DATERANGE":{let N=new qe(R);wt(o,N,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),wt(o,N,N.clientAttrs);let $=new vd(N,o.dateRanges[N.ID]);$.isValid||o.skippedSegments?o.dateRanges[$.id]=$:L.warn(`Ignoring invalid DATERANGE tag: "${R}"`),p.tagList.push(["EXT-X-DATERANGE",R]);break}case"DEFINE":{{let N=new qe(R);wt(o,N,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in N?VR(o,N,a):FE(o,N,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(R);break;case"KEY":{let N=WE(R,t,o);if(N.isSupported()){if(N.method==="NONE"){b=void 0;break}b||(b={}),b[N.keyFormat]&&(b=et({},b)),b[N.keyFormat]=N}else L.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${R}"`);break}case"START":o.startTimeOffset=VE(R);break;case"MAP":{let N=new qe(R);if(wt(o,N,["BYTERANGE","URI"]),p.duration){let $=new La(s,t);jE($,N,r,b),d=$,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let $=p.byteRangeEndOffset;if($){let G=p.byteRangeStartOffset;A=`${$-G}@${G}`}else A=null;jE(p,N,r,b),d=p,_=!0}break}case"SERVER-CONTROL":{let N=new qe(R);o.canBlockReload=N.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=N.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&N.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=N.optionalFloat("PART-HOLD-BACK",0),o.holdBack=N.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let N=new qe(R);o.partTarget=N.decimalFloatingPoint("PART-TARGET");break}case"PART":{let N=o.partList;N||(N=o.partList=[]);let $=c>0?N[N.length-1]:void 0,G=c++,K=new qe(R);wt(o,K,["BYTERANGE","URI"]);let ee=new Rf(K,p,t,G,$);N.push(ee),p.duration+=ee.duration;break}case"PRELOAD-HINT":{let N=new qe(R);wt(o,N,["URI"]),o.preloadHint=N;break}case"RENDITION-REPORT":{let N=new qe(R);wt(o,N,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(N);break}default:L.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(qE(p,m),p.cc=f,o.fragmentHint=p,b&&zE(p,b,o));let k=l.length,x=l[0],M=l[k-1];if(h+=o.skippedSegments*o.targetduration,h>0&&k&&M){o.averagetargetduration=h/k;let O=M.sn;o.endSN=O!=="initSegment"?O:0,o.live||(M.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,T>0&&eI(l,T),o}};function WE(i,e,t){var r,s;let n=new qe(i);wt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&L.error(`Invalid IV: ${n.IV}`);let c=o?ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new wa(a,c,u,h,l)}function VE(i){let t=new qe(i).decimalFloatingPoint("TIME-OFFSET");return z(t)?t:null}function JR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>qR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function YE(i,e,t){let r=e[t];r&&(i[t]=r)}function eI(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function qE(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),z(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function jE(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function zE(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var Te={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},re={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function XE(i){let{type:e}=i;switch(e){case Te.AUDIO_TRACK:return re.AUDIO;case Te.SUBTITLE_TRACK:return re.SUBTITLE;default:return re.MAIN}}function hf(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Cf=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Te.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:Te.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:Te.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:Te.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){L.trace("[playlist-loader]: playlist request ongoing");return}L.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Te.MANIFEST?n=r.manifestLoadPolicy.default:n=et({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),z((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===Te.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Te.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Te.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=et({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),ss.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=hf(e,r),l=ss.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=ss.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(T=>!T.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(L.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new qe({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=hf(e,r),c=0,h=z(l)?l:z(o)?o:0,f=XE(r),m=ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===Te.MANIFEST){let p={attrs:new qe({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:se.NETWORK_ERROR,details:D.MANIFEST_PARSING_ERROR,fatal:t.type===Te.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Te.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Te.AUDIO_TRACK||e.type===Te.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);L.warn(`[playlist-loader]: ${a}`);let l=D.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case Te.MANIFEST:l=r?D.MANIFEST_LOAD_TIMEOUT:D.MANIFEST_LOAD_ERROR,d=!0;break;case Te.LEVEL:l=r?D.LEVEL_LOAD_TIMEOUT:D.LEVEL_LOAD_ERROR,d=!1;break;case Te.AUDIO_TRACK:l=r?D.AUDIO_TRACK_LOAD_TIMEOUT:D.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Te.SUBTITLE_TRACK:l=r?D.SUBTITLE_TRACK_LOAD_TIMEOUT:D.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:se.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=pt({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=hf(t,s),m=XE(s),p=typeof s.level=="number"&&m===re.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:se.NETWORK_ERROR,details:D.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:se.NETWORK_ERROR,details:D.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Te.MANIFEST:case Te.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case Te.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case Te.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function Bb(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function $b(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){L.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){L.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function bn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function wf(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=iI(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function tI(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function iI(i,e,t){let r=[],s=tI(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function ud(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var ni={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},rI=.25;function Df(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function QE(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?pt({type:s},r):r))}return n}var id=(()=>{let i=Df();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function ff(i,e){return i.getTime()/1e3-e}function sI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Mf=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(bn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return Bb(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Df();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===ni.emsg&&!r||!s)continue;let d=kb(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>id&&(c=id),c-u<=0&&(c=u+rI);for(let f=0;f<d.length;f++){let m=d[f];if(!Lb(m)){this.updateId3CueEnds(u,l);let p=QE(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===id&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===ni.audioId3&&l:s==="video"?d=u=>u.type===ni.emsg&&o:d=u=>u.type===ni.audioId3&&l||u.type===ni.emsg&&o,wf(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!z(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Df();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=ff(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=id,b=h.endDate;if(b)E=ff(b,l),g=!0;else if(h.endOnNext&&!g){let _=a.reduce((A,k)=>{if(k!==h.id){let x=n[k];if(x.class===h.class&&x.startDate>h.startDate&&(!A||h.startDate<A.startDate))return x}return A},null);_&&(E=ff(_.startDate,l),g=!0)}let T=Object.keys(h.attr);for(let _=0;_<T.length;_++){let A=T[_];if(!cR(A))continue;let k=p[A];if(k)g&&!m.durationKnown&&(k.endTime=E);else if(d){let x=h.attr[A];hR(A)&&(x=sI(x));let M=QE(d,f,E,{key:A,data:x},ni.dateRange);M&&(M.id=c,this.id3Track.addCue(M),p[A]=M)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Pf=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s;return d+Math.min(this.stallCount*1,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===D.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&L.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Of=["NONE","TYPE-0","TYPE-1",null];function nI(i){return Of.indexOf(i)>-1}var Ad=["SDR","PQ","HLG"];function aI(i){return!!i&&Ad.indexOf(i)>-1}var cd={No:"",Yes:"YES",v2:"v2"};function ZE(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?cd.v2:cd.Yes:cd.No}var Sd=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Er=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return JE(this._audioGroups,e)}hasSubtitleGroup(e){return JE(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function JE(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function mf(i,e){let t=e.startPTS;if(z(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function Hb(i,e,t,r,s,n){r-t<=0&&(L.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(z(d)){let g=Math.abs(d-t);z(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)mf(p[f],p[f-1]);for(f=m;f<p.length-1;f++)mf(p[f],p[f+1]);return i.fragmentHint&&mf(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function oI(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(uI(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),z(l.startPTS)&&z(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){L.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=lI(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){L.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),dI(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?Hb(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):Gb(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function lI(i,e,t){let r=et({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new vd(e[s].attr,r[s]);n.isValid?r[s]=n:L.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function dI(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function uI(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function Gb(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Nf(e,r[t].start)}function Nf(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function cI(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments;if(r.length&&t*4>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function hI(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function eb(i,e,t){var r;return i!=null&&i.details?Kb((r=i.details)==null?void 0:r.partList,e,t):null}function Kb(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function Wb(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function xd(i){switch(i.details){case D.FRAG_LOAD_TIMEOUT:case D.KEY_LOAD_TIMEOUT:case D.LEVEL_LOAD_TIMEOUT:case D.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function tb(i,e){let t=xd(e);return i.default[`${t?"timeout":"error"}Retry`]}function Fm(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function ib(i){return pt(pt({},i),{errorRetry:null,timeoutRetry:null})}function Rd(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(fI(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function fI(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var Vb={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function mI(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!z(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(gI(e,t,a))return a}return null}function Id(i,e,t=0,r=0,s=.005){let n=null;if(i){n=e[i.sn-e[0].sn+1]||null;let o=i.endDTS-t;o>0&&o<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(n=e[0]);if(n&&((!i||i.level===n.level)&&Uf(t,r,n)===0||pI(n,i,Math.min(s,r))))return n;let a=Vb.search(e,Uf.bind(null,t,r));return a&&(a!==i||!n)?a:n}function pI(i,e,t){if(e&&e.start===0&&e.level<i.level&&(e.endPTS||0)>0){let r=e.tagList.reduce((s,n)=>(n[0]==="INF"&&(s+=parseFloat(n[1])),s),t);return i.start<=r}return!1}function Uf(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function gI(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function vI(i,e){return Vb.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ft={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},ii={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Ff=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=L.log.bind(L,"[info]:"),this.warn=L.warn.bind(L,"[warning]:"),this.error=L.error.bind(L,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===re.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case D.FRAG_LOAD_ERROR:case D.FRAG_LOAD_TIMEOUT:case D.KEY_LOAD_ERROR:case D.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case D.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ft.DoNothing,flags:ii.None};return}case D.FRAG_GAP:case D.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ft.SendAlternateToPenaltyBox;return}case D.LEVEL_EMPTY_ERROR:case D.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===re.MAIN?t.level:n.loadLevel;t.details===D.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case D.LEVEL_LOAD_ERROR:case D.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case D.AUDIO_TRACK_LOAD_ERROR:case D.AUDIO_TRACK_LOAD_TIMEOUT:case D.SUBTITLE_LOAD_ERROR:case D.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===Te.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===Te.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ft.SendAlternateToPenaltyBox,t.errorAction.flags=ii.MoveAllAlternatesMatchingHost;return}}return;case D.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ft.SendAlternateToPenaltyBox,flags:ii.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case D.BUFFER_ADD_CODEC_ERROR:case D.REMUX_ALLOC_ERROR:case D.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case D.INTERNAL_EXCEPTION:case D.BUFFER_APPENDING_ERROR:case D.BUFFER_FULL_ERROR:case D.LEVEL_SWITCH_ERROR:case D.BUFFER_STALLED_ERROR:case D.BUFFER_SEEK_OVER_HOLE:case D.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ft.DoNothing,flags:ii.None};return}t.type===se.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=tb(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Rd(s,n,xd(e),e.response))return{action:ft.RetryRequest,flags:ii.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=tb(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==D.FRAG_GAP&&s.fragmentError++,Rd(o,l,xd(e),e.response)))return{action:ft.RetryRequest,flags:ii.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===D.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===re.AUDIO&&d===D.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===D.BUFFER_ADD_CODEC_ERROR||d===D.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:k})=>s.audioCodec!==k),T=e.sourceBufferName==="video"&&(d===D.BUFFER_ADD_CODEC_ERROR||d===D.BUFFER_APPEND_ERROR)&&c.some(({codecSet:k,audioCodec:x})=>s.codecSet!==k&&s.audioCodec===x),{type:_,groupId:A}=(a=e.context)!=null?a:{};for(let k=c.length;k--;){let x=(k+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let M=c[x];if(d===D.FRAG_GAP&&p===re.MAIN&&e.frag){let O=c[x].details;if(O){let w=Id(e.frag,O.fragments,e.frag.start);if(w!=null&&w.gap)continue}}else{if(_===Te.AUDIO_TRACK&&M.hasAudioGroup(A)||_===Te.SUBTITLE_TRACK&&M.hasSubtitleGroup(A))continue;if(p===re.AUDIO&&(o=s.audioGroups)!=null&&o.some(O=>M.hasAudioGroup(O))||p===re.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(O=>M.hasSubtitleGroup(O))||E&&s.audioCodec===M.audioCodec||!E&&s.audioCodec!==M.audioCodec||T&&s.codecSet===M.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ft.SendAlternateToPenaltyBox,flags:ii.None,nextAutoLevel:u}}return{action:ft.SendAlternateToPenaltyBox,flags:ii.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ft.DoNothing:break;case ft.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==D.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ft.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case ii.None:this.switchLevel(e,a);break;case ii.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Of[Of.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},Ma=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=L.log.bind(L,`${t}:`),this.warn=L.warn.bind(L,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){L.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&ZE(r);return new Sd(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&oI(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,b=s.endSN,T=s.lastPartIndex,_=T!==-1,A=E===b,k=g?0:T;_?(d=A?b+1:E,u=A?k:T+1):d=b+1;let x=s.age,M=x+s.ageHeader,O=Math.min(M-s.partTarget,s.targetduration*1.5);if(O>0){if(r&&O>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${O} with playlist age: ${s.age}`),O=0;else{let w=Math.floor(O/s.targetduration);if(d+=w,u!==void 0){let R=Math.round(O%s.targetduration/s.partTarget);u+=R}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${O} skip sn ${w} to part ${u}`)}s.tuneInGoal=O}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!A){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=cI(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=ZE(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=cd.No),new Sd(r,s,n)}checkRetry(e){let t=e.details,r=xd(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ft.RetryRequest||!s.resolved&&n===ft.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Fm(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},vr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Bf=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new vr(e),this.fast_=new vr(t),this.defaultTTFB_=s,this.ttfb_=new vr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new vr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new vr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new vr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},Yb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},rb={};function EI(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&z(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function bI(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(Yb);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:pt(pt({},n),{},{contentType:Da(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);z(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:Da(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=yI(l);return rb[d]||(rb[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function yI(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function TI(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function _I(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Ad.slice(0),t=e.preferHDR!==void 0?e.preferHDR:TI(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function AI(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=_I(e,s);for(let A=n.length;A--;){let k=i[n[A]];d=k.channels[2]>0,c=Math.min(c,k.minHeight),h=Math.min(h,k.minFramerate),f=Math.min(f,k.minBitrate);let x=E.filter(M=>k.videoRanges[M]>0);x.length>0&&(u=!0,p=x)}c=z(c)?c:0,h=z(h)?h:0;let b=Math.max(1080,c),T=Math.max(30,h);return f=z(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,k)=>{let x=i[k];if(k===A)return A;if(x.minBitrate>t)return Xi(k,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),A;if(!x.hasDefaultAudio)return Xi(k,"no renditions with default or auto-select sound found"),A;if(o&&k.indexOf(o.substring(0,4))%5!==0)return Xi(k,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!x.channels[a])return Xi(k,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),A}else if((!o||l)&&d&&x.channels[2]===0)return Xi(k,"no renditions with stereo sound found"),A;return x.minHeight>b?(Xi(k,`min resolution of ${x.minHeight} > maximum of ${b}`),A):x.minFramerate>T?(Xi(k,`min framerate of ${x.minFramerate} > maximum of ${T}`),A):p.some(M=>x.videoRanges[M]>0)?x.maxScore<m?(Xi(k,`max score of ${x.maxScore} < selected max of ${m}`),A):A&&(Td(k)>=Td(A)||x.fragmentError>i[A].fragmentError)?A:(m=x.maxScore,k):(Xi(k,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function Xi(i,e){L.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function SI(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function xI(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function Ii(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Tn(i,s,t))return r}return-1}function Tn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||RI(o,e.characteristics))&&(t===void 0||t(i,e))}function RI(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function pn(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function II(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=sb(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Ii(i,m,s)>-1});return c>-1?c:sb(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Ii(i,m,s)>-1})}function sb(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var $f=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,b=this.getBwEstimate(),T=s.levels,_=T[t.level],A=l.total||Math.max(l.loaded,Math.round(d*_.averageBitrate/8)),k=E?u-g:u;k<1&&E&&(k=Math.min(u,l.loaded*8/b));let x=E?l.loaded*1e3/k:0,M=x?(A-l.loaded)/x:A*8/b+f/1e3;if(M<=p)return;let O=x?x*8:b,w=Number.POSITIVE_INFINITY,R;for(R=t.level-1;R>c;R--){let N=T[R].maxBitrate;if(w=this.getTimeToLoadFrag(f/1e3,O,d*N,!T[R].details),w<p)break}if(w>=M||w>d*10)return;s.nextLoadLevel=s.nextAutoLevel=R,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let P=T[R].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>P&&this.resetEstimator(P),this.clearTimer(),L.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1239
1239
  Time to underbuffer: ${p.toFixed(3)} s
1240
1240
  Estimated load time for current fragment: ${M.toFixed(3)} s
1241
- Estimated load time for down switch fragment: ${D.toFixed(3)} s
1241
+ Estimated load time for down switch fragment: ${w.toFixed(3)} s
1242
1242
  TTFB estimate: ${g|0} ms
1243
1243
  Current BW estimate: ${z(b)?b|0:"Unknown"} bps
1244
1244
  New BW estimate: ${this.getBwEstimate()|0} bps
1245
- Switching to level ${R} @ ${P|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(L.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new $f(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case w.BUFFER_ADD_CODEC_ERROR:case w.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case w.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;z(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===se.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==se.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return L.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,L.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(L.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let b=m[c],T=!!(b!=null&&(l=b.details)!=null&&l.live),_=g===-1||u===-1,A,k="SDR",x=(b==null?void 0:b.frameRate)||0,{audioPreference:M,videoPreference:O}=E,D=this.audioTracksByGroup||(this.audioTracksByGroup=AI(p));if(_){if(this.firstSelection!==-1)return this.firstSelection;let G=this.codecTiers||(this.codecTiers=SI(m,D,t,r)),K=_I(G,k,e,M,O),{codecSet:ee,videoRanges:ae,minFramerate:q,minBitrate:V,preferHDR:le}=K;A=ee,k=le?ae[ae.length-1]:ae[0],x=q,e=Math.max(e,V),L.log(`[abr] picked start tier ${JSON.stringify(K)}`)}else A=b==null?void 0:b.codecSet,k=b==null?void 0:b.videoRange;let R=f?f.duration:h?h.duration:0,P=this.bwEstimator.getEstimateTTFB()/1e3,N=[];for(let G=r;G>=t;G--){var $;let K=m[G],ee=G>c;if(!K)continue;if(E.useMediaCapabilities&&!K.supportedResult&&!K.supportedPromise){let Be=navigator.mediaCapabilities;typeof(Be==null?void 0:Be.decodingInfo)=="function"&&vI(K,D,k,x,e,M)?(K.supportedPromise=EI(K,D,Be),K.supportedPromise.then(We=>{if(!this.hls)return;K.supportedResult=We;let je=this.hls.levels,_t=je.indexOf(K);We.error?L.warn(`[abr] MediaCapabilities decodingInfo error: "${We.error}" for level ${_t} ${JSON.stringify(We)}`):We.supported||(L.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${_t} ${JSON.stringify(We)}`),_t>-1&&je.length>1&&(L.log(`[abr] Removing unsupported level ${_t}`),this.hls.removeLevel(_t)))})):K.supportedResult=Yb}if(A&&K.codecSet!==A||k&&K.videoRange!==k||ee&&x>K.frameRate||!ee&&x>0&&x<K.frameRate||K.supportedResult&&!(($=K.supportedResult.decodingInfoResults)!=null&&$[0].smooth)){N.push(G);continue}let ae=K.details,q=(f?ae==null?void 0:ae.partTarget:ae==null?void 0:ae.averagetargetduration)||R,V;ee?V=o*e:V=a*e;let le=R&&s>=R*2&&n===0?m[G].averageBitrate:m[G].maxBitrate,te=this.getTimeToLoadFrag(P,V,le*q,ae===void 0);if(V>=le&&(G===u||K.loadError===0&&K.fragmentError===0)&&(te<=P||!z(te)||T&&!this.bitrateTestDelay||te<d)){let Be=this.forcedAutoLevel;return G!==g&&(Be===-1||Be!==g)&&(N.length&&L.trace(`[abr] Skipped level(s) ${N.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[N[0]].codecs}" ${m[N[0]].videoRange}; not compatible with "${b.codecs}" ${k}`),L.info(`[abr] switch candidate:${c}->${G} adjustedbw(${Math.round(V)})-bitrate=${Math.round(V-le)} ttfb:${P.toFixed(1)} avgDuration:${q.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${te.toFixed(1)} firstSelection:${_} codecSet:${A} videoRange:${k} hls.loadLevel:${g}`)),_&&(this.firstSelection=G),G}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Gf=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},mt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Kf=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=gn(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),sd(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=gn(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&sd(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||sd(t))}getState(e){let t=gn(e),r=this.fragments[t];return r?r.buffered?sd(r)?mt.PARTIAL:mt.OK:mt.APPENDING:mt.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=gn(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=gn(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=gn(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function sd(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function gn(i){return`${i.type}_${i.level}_${i.sn}`}var II={length:0,start:()=>0,end:()=>0},He=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return L.log("failed to get media.buffered",t),II}}},Oa=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=nd(),this.buffering={audio:nd(),video:nd(),audiovideo:nd()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function nd(){return{start:0,executeStart:0,executeEnd:0,end:0}}function fd(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function LI(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function kI(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){L.log("No fragments to align");return}let s=fd(t,r[0].cc);if(!s||s&&!s.startPTS){L.log("No frag in previous level to align on");return}return s}function nb(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function qb(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)nb(t[r],i);e.fragmentHint&&nb(e.fragmentHint,i),e.alignedSliding=!0}function CI(i,e,t){e&&(wI(i,t,e),!t.alignedSliding&&e&&kd(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&Gb(e,t))}function wI(i,e,t){if(LI(i,t,e)){let r=kI(t,e);r&&z(r.start)&&(L.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),qb(r.start,e))}}function kd(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=fd(r,a),n=fd(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=fd(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);qb(d,i)}var ab=Math.pow(2,17),Wf=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new si({type:re.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(lb(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=ob(e),c=ib(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:ab};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:pt({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(lb(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=ob(e,t),c=ib(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:ab};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:pt({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:re.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function ob(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(z(s)&&z(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function lb(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:re.MEDIA_ERROR,details:w.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new si(r)}var si=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Vf=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},Yf=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function DI(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?as(i,0,e-t):i}var qf=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let b=f[m],T=f[b],_=f[T],A=f[E]*257^E*16843008;s[m]=A<<24|A>>>8,n[m]=A<<16|A>>>16,a[m]=A<<8|A>>>24,o[m]=A,A=_*16843009^T*65537^b*257^m*16843008,d[E]=A<<24|A>>>8,u[E]=A<<16|A>>>16,c[E]=A<<8|A>>>24,h[E]=A,m?(m=b^f[f[f[_^b]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],b,T;for(o=0;o<a;o++){if(o<n){b=d[o]=t[o];continue}T=b,o%n===0?(T=T<<8|T>>>24,T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255],T^=h[o/n|0]<<24):n>6&&o%n===4&&(T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255]),d[o]=b=(d[o-n]^T)>>>0}for(l=0;l<a;l++)o=a-l,l&3?T=d[o]:T=d[o-4],l<4||o<=4?u[l]=T:u[l]=m[c[T>>>24]]^p[c[T>>>16&255]]^g[c[T>>>8&255]]^E[c[T&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),b=new Int32Array(E.length),T,_,A,k,x,M,O,D,R,P,N,$,G,K,ee=this.networkToHostOrderSwap;for(;t<E.length;){for(R=ee(E[t]),P=ee(E[t+1]),N=ee(E[t+2]),$=ee(E[t+3]),x=R^n[0],M=$^n[1],O=N^n[2],D=P^n[3],G=4,K=1;K<s;K++)T=l[x>>>24]^d[M>>16&255]^u[O>>8&255]^c[D&255]^n[G],_=l[M>>>24]^d[O>>16&255]^u[D>>8&255]^c[x&255]^n[G+1],A=l[O>>>24]^d[D>>16&255]^u[x>>8&255]^c[M&255]^n[G+2],k=l[D>>>24]^d[x>>16&255]^u[M>>8&255]^c[O&255]^n[G+3],x=T,M=_,O=A,D=k,G=G+4;T=a[x>>>24]<<24^a[M>>16&255]<<16^a[O>>8&255]<<8^a[D&255]^n[G],_=a[M>>>24]<<24^a[O>>16&255]<<16^a[D>>8&255]<<8^a[x&255]^n[G+1],A=a[O>>>24]<<24^a[D>>16&255]<<16^a[x>>8&255]<<8^a[M&255]^n[G+2],k=a[D>>>24]<<24^a[x>>16&255]<<16^a[M>>8&255]<<8^a[O&255]^n[G+3],b[t]=ee(T^f),b[t+1]=ee(k^m),b[t+2]=ee(A^p),b[t+3]=ee(_^g),f=R,m=P,p=N,g=$,t=t+4}return b.buffer}},MI=16,Na=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?DI(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Kt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new qf),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=as(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,r));this.key=t,this.fastAesKey=new Yf(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Vf(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(L.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%MI;return r!==e.length&&(t=as(e,0,r),this.remainderData=as(e,r)),t}logOnce(e){this.logEnabled&&(L.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},PI={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},U={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},Ua=class extends Gf{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=U.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=L.log.bind(L,`${s}:`),this.warn=L.warn.bind(L,`${s}:`),this.hls=e,this.fragmentLoader=new Wf(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Na(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=U.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return He.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===U.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=He.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${z(a)?a.toFixed(3):a}, state: ${n}`),this.state===U.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=U.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===U.FRAG_LOADING||!this.fragCurrent&&a===U.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=U.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===U.STOPPED||this.state===U.ERROR||(this.warn(`Frag error: ${(n==null?void 0:n.message)||n}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===mt.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o,e.duration))&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===mt.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===U.STOPPED||this.state===U.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=U.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===se.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?PI.toString(He.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==se.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=U.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=U.IDLE,o&&(!this.loadedmetadata&&e.type==se.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Oa(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=U.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===U.KEY_LOADING&&(this.state=U.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=U.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),z(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=U.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=eb(r,e.sn,c.index+1)||Kb(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===w.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:re.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==U.PARSING){!this.fragCurrent&&this.state!==U.STOPPED&&this.state!==U.ERROR&&(this.state=U.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?eb(o,n,a):null,d=l?l.fragment:cI(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==U.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Kt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!He.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=He.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return z(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=He.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return He.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){let r=this.config,s=Math.max(Math.min(e-t,r.maxBufferLength),t),n=Math.max(e-t*3,r.maxMaxBufferLength/2,s);return n>=s?(r.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1}getAppendedFrag(e,t=se.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,se.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===mt.OK||r===mt.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=fI(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=gI(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,{maxFragLookUpTolerance:d}=s,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Ld(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===mt.OK||m===mt.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==mt.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&z(n);if(a||!o&&!n){let{fragPrevious:l}=this;CI(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&z(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==U.FRAG_LOADING_WAITING_RETRY)&&(this.state=U.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===w.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ft.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Fm(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=U.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ft.RemoveAlternatePermanently&&(a.resolved=!0);else{L.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ft.SendAlternateToPenaltyBox?this.state=U.WAITING_LEVEL:this.state=U.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===U.PARSING||this.state===U.PARSED){let t=e.frag,r=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,r),n=s&&s.len>.5;n&&this.reduceMaxBufferLength(s.len,(t==null?void 0:t.duration)||10);let a=!n;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${r} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===se.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==U.STOPPED&&(this.state=U.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=He.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===U.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=U.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:Hb(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=U.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},Cd=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=OI(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function OI(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function NI(){return typeof __HLS_WORKER_BUNDLE__=="function"}function UI(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function FI(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ri(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var Fa=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Kt(this.cachedData,e),this.cachedData=null);let r=wa(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Um(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&z(l))&&(this.basePTS=BI(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ni.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else ER(e,s)?(r=wa(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ni.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=as(e,n);this.cachedData?this.cachedData=Kt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:Ri(),id3Track:o,textTrack:Ri()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ri(),id3Track:this._id3Track,textTrack:Ri()}}destroy(){}},BI=(i,e,t)=>{if(z(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function $I(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,L.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function jb(i,e){return i[e]===255&&(i[e+1]&246)===240}function zb(i,e){return i[e+1]&1?7:9}function Bm(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function HI(i,e){return e+5<i.length}function wd(i,e){return e+1<i.length&&jb(i,e)}function GI(i,e){return HI(i,e)&&jb(i,e)&&Bm(i,e)<=i.length-e}function KI(i,e){if(wd(i,e)){let t=zb(i,e);if(e+t>=i.length)return!1;let r=Bm(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||wd(i,s)}return!1}function Xb(i,e,t,r,s){if(!i.samplerate){let n=$I(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,L.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function Qb(i){return 1024*9e4/i}function WI(i,e){let t=zb(i,e);if(e+t<=i.length){let r=Bm(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function Zb(i,e,t,r,s){let n=Qb(i.samplerate),a=r+s*n,o=WI(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var ad=null,VI=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],YI=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],qI=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],jI=[0,1,1,4];function Jb(i,e,t,r,s){if(t+24>e.length)return;let n=ey(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function ey(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=VI[l*14+s-1]*1e3,c=YI[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=qI[t][r],m=jI[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(ad===null){let T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);ad=T?parseInt(T[1]):0}return!!ad&&ad<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function $m(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function ty(i,e){return e+1<i.length&&$m(i,e)}function zI(i,e){return $m(i,e)&&4<=i.length-e}function iy(i,e){if(e+1<i.length&&$m(i,e)){let r=ey(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||ty(i,n)}return!1}var jf=class extends Fa{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=wa(e,0),r=(t==null?void 0:t.length)||0;if(iy(e,r))return!1;for(let s=e.length;r<s;r++)if(KI(e,r))return L.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return GI(e,t)}appendFrame(e,t,r){Xb(e,this.observer,t,r,e.manifestCodec);let s=Zb(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},XI=/\/emsg[-/]ID3/i,zf=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=Ri("video",1),a=this.audioTrack=Ri("audio",1),o=this.txtTrack=Ri("text",1);if(this.id3Track=Ri("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Mb(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=Cb.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return IR(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Kt(this.remainderData,e));let o=OR(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=NE(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=NE(e,t),{videoTrack:t,audioTrack:Ri(),id3Track:s,textTrack:Ri()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=oe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=FR(n);if(XI.test(a.schemeIdUri)){let o=z(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:ni.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},ry=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},Xf=class extends Fa{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=sy(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=wa(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Um(t)!==void 0&&ry(e,r)<16}};function sy(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,b=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),T=1536/o*9e4,_=r+s*T,A=e.subarray(t,t+u);return i.config=b,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:_}),u}var Qf=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&L.log(e.pts+"/"+e.dts+":"+e.debug)}},Dd=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&L.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let k=u();if(k===3&&h(1),m(),m(),h(1),c())for(a=k!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let b=u(),T=u(),_=d(1);_===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let A=[1,1];if(c()&&c())switch(l()){case 1:A=[1,1];break;case 2:A=[12,11];break;case 3:A=[10,11];break;case 4:A=[16,11];break;case 5:A=[40,33];break;case 6:A=[24,11];break;case 7:A=[20,11];break;case 8:A=[32,11];break;case 9:A=[80,33];break;case 10:A=[18,11];break;case 11:A=[15,11];break;case 12:A=[64,33];break;case 13:A=[160,99];break;case 14:A=[4,3];break;case 15:A=[3,2];break;case 16:A=[2,1];break;case 255:{A=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((b+1)*16-e*2-t*2),height:(2-_)*(T+1)*16-(_?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Zf=class extends Qf{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new Dd(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,Ob(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new Dd(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let b=p.subarray(1,4),T="avc1.";for(let _=0;_<3;_++){let A=b[_].toString(16);A.length<2&&(A="0"+A),T+=A}e.codec=T}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Kt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Kt(f.data,t))}return e.naluState=s,a}},Jf=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new Na(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=Nb(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ht=188,em=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new Zf}static probe(e){let t=i.syncOffset(e);return t>0&&L.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ht*5,t-ht)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ht)if(e[l]===71&&(t-l===ht||e[l+ht]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ht*99,e.length-ht)+1)),n||(n=tm(e,l)===0),n&&o>1&&(a===0&&o>2||l+ht>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Cb[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,b=this._pmtId,T=e.length;if(this.remainderData&&(e=Kt(this.remainderData,e),T=e.length,this.remainderData=null),T<ht&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let _=Math.max(0,i.syncOffset(e));T-=(T-_)%ht,T<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,T,e.buffer.byteLength-T));let A=0;for(let x=_;x<T;x+=ht)if(e[x]===71){let M=!!(e[x+1]&64),O=tm(e,x),D=(e[x+3]&48)>>4,R;if(D>1){if(R=x+5+e[x+4],R===x+ht)continue}else R=x+4;switch(O){case u:M&&(c&&(n=vn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(R,x+ht)),c.size+=x+ht-R);break;case h:if(M){if(m&&(n=vn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(R,x+ht)),m.size+=x+ht-R);break;case f:M&&(p&&(n=vn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(R,x+ht)),p.size+=x+ht-R);break;case 0:M&&(R+=e[R]+1),b=this._pmtId=QI(e,R);break;case b:{M&&(R+=e[R]+1);let P=ZI(e,R,this.typeSupported,r,this.observer);u=P.videoPid,u>0&&(a.pid=u,a.segmentCodec=P.segmentVideoCodec),h=P.audioPid,h>0&&(o.pid=h,o.segmentCodec=P.segmentAudioCodec),f=P.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(L.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${_} to parse all TS packets.`),g=null,x=_-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=O;break}}else A++;A>0&&Md(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`)),a.pesData=c,o.pesData=m,l.pesData=p;let k={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(k),k}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=vn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=vn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&L.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=vn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new Jf(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Kt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!wd(n,a);a++);if(a!==r){let c,h=a<o-1;if(h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES",Md(this.observer,new Error(c),h),!h)return}Xb(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=Qb(e.samplerate);l=s.sample.pts+c}else{L.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=Zb(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!wd(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){L.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(ty(r,a)){let l=Jb(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){L.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=sy(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){L.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=et({},t,{type:this._videoTrack?ni.emsg:ni.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function tm(i,e){return((i[e+1]&31)<<8)+i[e+2]}function QI(i,e){return(i[e+10]&31)<<8|i[e+11]}function ZI(i,e,t,r,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=(i[e+1]&15)<<8|i[e+2],o=e+3+a-4,l=(i[e+10]&15)<<8|i[e+11];for(e+=12+l;e<o;){let d=tm(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){gf("ADTS AAC");break}case 15:n.audioPid===-1&&(n.audioPid=d);break;case 21:n.id3Pid===-1&&(n.id3Pid=d);break;case 219:if(!r){gf("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?L.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){gf("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):L.log("AC-3 audio found, not supported in this browser");break;case 6:if(n.audioPid===-1&&u>0){let c=e+5,h=u;for(;h>2;){switch(i[c]){case 106:t.ac3!==!0?L.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=d,n.segmentAudioCodec="ac3");break}let m=i[c+1]+2;c+=m,h-=m}}break;case 194:case 135:return Md(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Md(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function Md(i,e,t){L.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function gf(i){L.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function vn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Kt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(L.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var im=class extends Fa{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=wa(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Um(t)!==void 0&&ry(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(iy(e,r))return L.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return zI(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return Jb(e,t,r,this.basePTS,this.frameIndex)}},Pd=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},gr=Math.pow(2,32)-1,nt=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(gr+1)),o=Math.floor(r%(gr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(gr+1)),a=Math.floor(t%(gr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Kt(i.FTYP,t)}};nt.types=void 0;nt.HDLR_TYPES=void 0;nt.STTS=void 0;nt.STSC=void 0;nt.STCO=void 0;nt.STSZ=void 0;nt.VMHD=void 0;nt.SMHD=void 0;nt.STSD=void 0;nt.FTYP=void 0;nt.DINF=void 0;var ny=9e4;function Hm(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function JI(i,e,t=1,r=!1){return Hm(i,e,1/t,r)}function Ra(i,e=!1){return Hm(i,1e3,1/ny,e)}function eL(i,e=1){return Hm(i,ny,1/e)}var tL=10*1e3,db=1024,iL=1152,rL=1536,En=null,vf=null,_n=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,En===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);En=a?parseInt(a[1]):0}if(vf===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);vf=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){L.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){L.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){L.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Gt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&L.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,b=t.pid>-1,T=t.samples.length,_=e.samples.length>0,A=o&&T>0||T>1;if((!E||_)&&(!b||A)||this.ISGenerated||o){if(this.ISGenerated){var x,M,O,D;let $=this.videoTrackConfig;$&&(t.width!==$.width||t.height!==$.height||((x=t.pixelRatio)==null?void 0:x[0])!==((M=$.pixelRatio)==null?void 0:M[0])||((O=t.pixelRatio)==null?void 0:O[1])!==((D=$.pixelRatio)==null?void 0:D[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let R=this.isVideoContiguous,P=-1,N;if(A&&(P=sL(t.samples),!R&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,P>0){L.warn(`[mp4-remuxer]: Dropped ${P} out of ${T} video samples due to a missing keyframe`);let $=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(P),t.dropped+=P,g+=(t.samples[0].pts-$)/t.inputTimeScale,N=g}else P===-1&&(L.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),m=!1);if(this.ISGenerated){if(_&&A){let $=this.getVideoStartPts(t.samples),K=(Gt(e.samples[0].pts,$)-$)/t.inputTimeScale;p+=Math.max(0,K),g+=Math.max(0,-K)}if(_){if(e.samplerate||(L.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,b||A||l===se.AUDIO?g:void 0),A){let $=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(L.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,R,$)}}else A&&(d=this.remuxVideo(t,g,R,0));d&&(d.firstKeyFrame=P,d.independent=P!==-1,d.firstKeyFramePTS=N)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=ay(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=oy(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):nt.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:nt.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Gt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let q=t*n,V=a[0].pts-Gt(a[0].dts,a[0].pts);En&&u!==null&&Math.abs(q-V-u)<15e3?r=!0:u=q-V}let b=d.baseTime*n/d.timescale;for(let q=0;q<l;q++){let V=a[q];V.pts=Gt(V.pts-b,u),V.dts=Gt(V.dts-b,u),V.dts<a[q>0?q-1:q].dts&&(E=!0)}E&&a.sort(function(q,V){let le=q.dts-V.dts,te=q.pts-V.pts;return le||te}),f=a[0].dts,m=a[a.length-1].dts;let T=m-f,_=T?Math.round(T/(l-1)):h||e.inputTimeScale/30;if(r){let q=f-u,V=q>_,le=q<-1;if((V||le)&&(V?L.warn(`AVC: ${Ra(q,!0)} ms (${q}dts) hole between fragments detected at ${t.toFixed(3)}`):L.warn(`AVC: ${Ra(-q,!0)} ms (${q}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!le||u>=a[0].pts||En)){f=u;let te=a[0].pts-q;if(V)a[0].dts=f,a[0].pts=te;else for(let ve=0;ve<a.length&&!(a[ve].dts>te);ve++)a[ve].dts-=q,a[ve].pts-=q;L.log(`Video: Initial PTS/DTS adjusted: ${Ra(te,!0)}/${Ra(f,!0)}, delta: ${Ra(q,!0)} ms`)}}f=Math.max(0,f);let A=0,k=0,x=f;for(let q=0;q<l;q++){let V=a[q],le=V.units,te=le.length,ve=0;for(let Be=0;Be<te;Be++)ve+=le[Be].data.length;k+=ve,A+=te,V.length=ve,V.dts<x?(V.dts=x,x+=_/4|0||1):x=V.dts,p=Math.min(V.pts,p),g=Math.max(V.pts,g)}m=a[l-1].dts;let M=k+4*A+8,O;try{O=new Uint8Array(M)}catch(q){this.observer.emit(v.ERROR,v.ERROR,{type:re.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:q,bytes:M,reason:`fail allocating video mdat ${M}`});return}let D=new DataView(O.buffer);D.setUint32(0,M),O.set(nt.types.mdat,4);let R=!1,P=Number.POSITIVE_INFINITY,N=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY,G=Number.NEGATIVE_INFINITY;for(let q=0;q<l;q++){let V=a[q],le=V.units,te=0;for(let We=0,je=le.length;We<je;We++){let _t=le[We],nr=_t.data,Bs=_t.data.byteLength;D.setUint32(c,Bs),c+=4,O.set(nr,c),c+=Bs,te+=4+Bs}let ve;if(q<l-1)h=a[q+1].dts-V.dts,ve=a[q+1].pts-V.pts;else{let We=this.config,je=q>0?V.dts-a[q-1].dts:_;if(ve=q>0?V.pts-a[q-1].pts:_,We.stretchShortVideoTrack&&this.nextAudioPts!==null){let _t=Math.floor(We.maxBufferHole*n),nr=(s?p+s*n:this.nextAudioPts)-V.pts;nr>_t?(h=nr-je,h<0?h=je:R=!0,L.log(`[mp4-remuxer]: It is approximately ${nr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=je}else h=je}let Be=Math.round(V.pts-V.dts);P=Math.min(P,h),$=Math.max($,h),N=Math.min(N,ve),G=Math.max(G,ve),o.push(new Od(V.key,h,te,Be))}if(o.length){if(En){if(En<70){let q=o[0].flags;q.dependsOn=2,q.isNonSync=0}}else if(vf&&G-N<$-P&&_/$<.025&&o[0].cts===0){L.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let q=f;for(let V=0,le=o.length;V<le;V++){let te=q+o[V].duration,ve=q+o[V].cts;if(V<le-1){let Be=te+o[V+1].cts;o[V].duration=Be-ve}else o[V].duration=V?o[V-1].duration:_;o[V].cts=0,q=te}}}h=R||!h?_:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let ae={data1:nt.moof(e.sequenceNumber++,f,et({},e,{samples:o})),data2:O,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:"video",hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ae}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return iL;case"ac3":return rL;default:return db}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,b=t*a,T=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(b-E)<9e3||Math.abs(Gt(p[0].pts-T,b)-E)<20*u),p.forEach(function(K){K.pts=Gt(K.pts-T,b)}),!r||E<0){if(p=p.filter(K=>K.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,b):E=p[0].pts}if(e.segmentCodec==="aac"){let K=this.config.maxAudioFramesDrift;for(let ee=0,ae=E;ee<p.length;ee++){let q=p[ee],V=q.pts,le=V-ae,te=Math.abs(1e3*le/a);if(le<=-K*u&&m)ee===0&&(L.warn(`Audio frame @ ${(V/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*le/a)} ms.`),this.nextAudioPts=E=ae=V);else if(le>=K*u&&te<tL&&m){let ve=Math.round(le/u);ae=V-ve*u,ae<0&&(ve--,ae+=u),ee===0&&(this.nextAudioPts=E=ae),L.warn(`[mp4-remuxer]: Injecting ${ve} audio frame @ ${(ae/a).toFixed(3)}s due to ${Math.round(1e3*le/a)} ms gap.`);for(let Be=0;Be<ve;Be++){let We=Math.max(ae,0),je=Pd.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);je||(L.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),je=q.unit.subarray()),p.splice(ee,0,{unit:je,pts:We}),ae+=u,ee++}}q.pts=ae,ae+=u}}let _=null,A=null,k,x=0,M=p.length;for(;M--;)x+=p[M].unit.byteLength;for(let K=0,ee=p.length;K<ee;K++){let ae=p[K],q=ae.unit,V=ae.pts;if(A!==null){let te=f[K-1];te.duration=Math.round((V-A)/l)}else if(r&&e.segmentCodec==="aac"&&(V=E),_=V,x>0){x+=g;try{k=new Uint8Array(x)}catch(te){this.observer.emit(v.ERROR,v.ERROR,{type:re.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:te,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(k.buffer).setUint32(0,x),k.set(nt.types.mdat,4))}else return;k.set(q,g);let le=q.byteLength;g+=le,f.push(new Od(!0,d,le,0)),A=V}let O=f.length;if(!O)return;let D=f[f.length-1];this.nextAudioPts=E=A+l*D.duration;let R=h?new Uint8Array(0):nt.moof(e.sequenceNumber++,_/l,et({},e,{samples:f}));e.samples=[];let P=_/a,N=E/a,G={data1:R,data2:k,startPTS:P,endPTS:N,startDTS:P,endDTS:N,type:"audio",hasAudio:!0,hasVideo:!1,nb:O};return this.isAudioContiguous=!0,G}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*db,m=Math.ceil((h-c)/f),p=Pd.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(L.warn("[mp4-remuxer]: remux empty Audio"),!p){L.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let b=c+E*f;g.push({unit:p,pts:b,dts:b})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Gt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function sL(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function ay(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Gt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Gt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function oy(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Gt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var Od=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},rm=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(CR(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=Mb(e);s.audio&&(t=ub(s.audio,Le.AUDIO)),s.video&&(r=ub(s.video,Le.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:L.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};z(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return L.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=DR(h,m),g=wR(m,h),E=g===null?n:g;(nL(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&L.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let b=e?E-d.baseTime/d.timescale:u,T=b+p;PR(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=T:(L.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let _=!!m.audio,A=!!m.video,k="";_&&(k+="audio"),A&&(k+="video");let x={data1:h,startPTS:b,startDTS:b,endPTS:T,endDTS:T,type:k,hasAudio:_,hasVideo:A,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=ay(r,n,d,d),s.samples.length&&(c.text=oy(s,n,d)),c}};function nL(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function ub(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===Le.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Ad(t,!1);let r="mp4a.40.5";return L.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return L.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var Zi;try{Zi=self.performance.now.bind(self.performance)}catch{L.debug("Unable to use Performance API on this environment"),Zi=Sn==null?void 0:Sn.Date.now}var md=[{demux:zf,remux:rm},{demux:em,remux:_n},{demux:jf,remux:_n},{demux:im,remux:_n}];md.splice(2,0,{demux:Xf,remux:_n});var Nd=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=Zi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:b,initSegmentData:T}=l,_=aL(a,t);if(_&&_.method==="AES-128"){let M=this.getDecrypter();if(M.isSync()){let O=M.softwareDecrypt(a,_.key.buffer,_.iv.buffer);if(r.part>-1&&(O=M.flush()),!O)return n.executeEnd=Zi(),Ef(r);a=new Uint8Array(O)}else return this.decryptionPromise=M.webCryptoDecrypt(a,_.key.buffer,_.iv.buffer).then(O=>{let D=this.push(O,null,r);return this.decryptionPromise=null,D}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let M=this.configureTransmuxer(a);if(M)return L.warn(`[transmuxer] ${M.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:M,reason:M.message}),n.executeEnd=Zi(),Ef(r)}(u||c||m||A)&&this.resetInitSegment(T,p,g,b,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let k=this.transmux(a,_,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=Zi(),k}flush(e){let t=e.transmuxing;t.executeStart=Zi();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Zi(),[Ef(e)];let u=l.flush(o);return pd(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;L.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=Zi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=md.length;h<f;h++){var o;if((o=md[h].demux)!=null&&o.probe(e)){a=md[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Na(this.config)),e}};function aL(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var Ef=i=>({remuxResult:{},chunkMeta:i});function pd(i){return"then"in i&&i.then instanceof Function}var sm=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},nm=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},ly={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,b,T;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(T=1,b=new Array(E-1);T<E;T++)b[T-1]=arguments[T];g.fn.apply(g.context,b)}else{var _=g.length,A;for(T=0;T<_;T++)switch(g[T].once&&this.removeListener(d,g[T].fn,void 0,!0),E){case 1:g[T].fn.call(g[T].context);break;case 2:g[T].fn.call(g[T].context,u);break;case 3:g[T].fn.call(g[T].context,u,c);break;case 4:g[T].fn.call(g[T].context,u,c,h);break;default:if(!b)for(A=1,b=new Array(E-1);A<E;A++)b[A-1]=arguments[A];g[T].fn.apply(g[T].context,b)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(ly);var oL=ly.exports,Gm=eR(oL),Ud=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(d,u)=>{u=u||{},u.frag=this.frag,u.id=this.id,d===v.ERROR&&(this.error=u.error),this.hls.trigger(d,u)};this.observer=new Gm,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=os(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||NI())){try{n.workerPath?(L.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=FI(n.workerPath)):(L.log(`injecting Web Worker for "${t}"`),this.workerContext=UI()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);n.enableWorker=!1,L.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:re.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(n)})}catch(u){L.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new Nd(this.observer,l,n,"",t)}return}this.transmuxer=new Nd(this.observer,l,n,"",t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),b=!(g&&d.level===g.level),T=g?d.sn-g.sn:-1,_=this.part?d.part-this.part.index:-1,A=T===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),k=!b&&(T===1||T===0&&(_===1||A&&_<=0)),x=self.performance.now();(b||T||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(_||!k)&&(a.stats.parsing.start=x);let M=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),O=new nm(E,k,l,b,m,M);if(!k||E||M){L.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1245
+ Switching to level ${R} @ ${P|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(L.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Bf(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case D.BUFFER_ADD_CODEC_ERROR:case D.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case D.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;z(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===re.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==re.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return L.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,L.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(L.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let b=m[c],T=!!(b!=null&&(l=b.details)!=null&&l.live),_=g===-1||u===-1,A,k="SDR",x=(b==null?void 0:b.frameRate)||0,{audioPreference:M,videoPreference:O}=E,w=this.audioTracksByGroup||(this.audioTracksByGroup=SI(p));if(_){if(this.firstSelection!==-1)return this.firstSelection;let G=this.codecTiers||(this.codecTiers=xI(m,w,t,r)),K=AI(G,k,e,M,O),{codecSet:ee,videoRanges:ae,minFramerate:q,minBitrate:V,preferHDR:le}=K;A=ee,k=le?ae[ae.length-1]:ae[0],x=q,e=Math.max(e,V),L.log(`[abr] picked start tier ${JSON.stringify(K)}`)}else A=b==null?void 0:b.codecSet,k=b==null?void 0:b.videoRange;let R=f?f.duration:h?h.duration:0,P=this.bwEstimator.getEstimateTTFB()/1e3,N=[];for(let G=r;G>=t;G--){var $;let K=m[G],ee=G>c;if(!K)continue;if(E.useMediaCapabilities&&!K.supportedResult&&!K.supportedPromise){let $e=navigator.mediaCapabilities;typeof($e==null?void 0:$e.decodingInfo)=="function"&&EI(K,w,k,x,e,M)?(K.supportedPromise=bI(K,w,$e),K.supportedPromise.then(We=>{if(!this.hls)return;K.supportedResult=We;let je=this.hls.levels,_t=je.indexOf(K);We.error?L.warn(`[abr] MediaCapabilities decodingInfo error: "${We.error}" for level ${_t} ${JSON.stringify(We)}`):We.supported||(L.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${_t} ${JSON.stringify(We)}`),_t>-1&&je.length>1&&(L.log(`[abr] Removing unsupported level ${_t}`),this.hls.removeLevel(_t)))})):K.supportedResult=Yb}if(A&&K.codecSet!==A||k&&K.videoRange!==k||ee&&x>K.frameRate||!ee&&x>0&&x<K.frameRate||K.supportedResult&&!(($=K.supportedResult.decodingInfoResults)!=null&&$[0].smooth)){N.push(G);continue}let ae=K.details,q=(f?ae==null?void 0:ae.partTarget:ae==null?void 0:ae.averagetargetduration)||R,V;ee?V=o*e:V=a*e;let le=R&&s>=R*2&&n===0?m[G].averageBitrate:m[G].maxBitrate,te=this.getTimeToLoadFrag(P,V,le*q,ae===void 0);if(V>=le&&(G===u||K.loadError===0&&K.fragmentError===0)&&(te<=P||!z(te)||T&&!this.bitrateTestDelay||te<d)){let $e=this.forcedAutoLevel;return G!==g&&($e===-1||$e!==g)&&(N.length&&L.trace(`[abr] Skipped level(s) ${N.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[N[0]].codecs}" ${m[N[0]].videoRange}; not compatible with "${b.codecs}" ${k}`),L.info(`[abr] switch candidate:${c}->${G} adjustedbw(${Math.round(V)})-bitrate=${Math.round(V-le)} ttfb:${P.toFixed(1)} avgDuration:${q.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${te.toFixed(1)} firstSelection:${_} codecSet:${A} videoRange:${k} hls.loadLevel:${g}`)),_&&(this.firstSelection=G),G}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Hf=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},mt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Gf=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=gn(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),rd(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=gn(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&rd(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||rd(t))}getState(e){let t=gn(e),r=this.fragments[t];return r?r.buffered?rd(r)?mt.PARTIAL:mt.OK:mt.APPENDING:mt.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=gn(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=gn(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=gn(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function rd(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function gn(i){return`${i.type}_${i.level}_${i.sn}`}var LI={length:0,start:()=>0,end:()=>0},Ge=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return L.log("failed to get media.buffered",t),LI}}},Pa=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=sd(),this.buffering={audio:sd(),video:sd(),audiovideo:sd()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function sd(){return{start:0,executeStart:0,executeEnd:0,end:0}}function hd(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function kI(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function CI(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){L.log("No fragments to align");return}let s=hd(t,r[0].cc);if(!s||s&&!s.startPTS){L.log("No frag in previous level to align on");return}return s}function nb(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function qb(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)nb(t[r],i);e.fragmentHint&&nb(e.fragmentHint,i),e.alignedSliding=!0}function wI(i,e,t){e&&(DI(i,t,e),!t.alignedSliding&&e&&Ld(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&Gb(e,t))}function DI(i,e,t){if(kI(i,t,e)){let r=CI(t,e);r&&z(r.start)&&(L.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),qb(r.start,e))}}function Ld(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=hd(r,a),n=hd(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=hd(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);qb(d,i)}var ab=Math.pow(2,17),Kf=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new si({type:se.NETWORK_ERROR,details:D.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(lb(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=ob(e),c=ib(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:ab};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:pt({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(lb(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=ob(e,t),c=ib(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:ab};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:pt({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new si({type:se.NETWORK_ERROR,details:D.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function ob(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(z(s)&&z(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function lb(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:se.MEDIA_ERROR,details:D.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new si(r)}var si=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Wf=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},Vf=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function MI(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?as(i,0,e-t):i}var Yf=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let b=f[m],T=f[b],_=f[T],A=f[E]*257^E*16843008;s[m]=A<<24|A>>>8,n[m]=A<<16|A>>>16,a[m]=A<<8|A>>>24,o[m]=A,A=_*16843009^T*65537^b*257^m*16843008,d[E]=A<<24|A>>>8,u[E]=A<<16|A>>>16,c[E]=A<<8|A>>>24,h[E]=A,m?(m=b^f[f[f[_^b]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],b,T;for(o=0;o<a;o++){if(o<n){b=d[o]=t[o];continue}T=b,o%n===0?(T=T<<8|T>>>24,T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255],T^=h[o/n|0]<<24):n>6&&o%n===4&&(T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255]),d[o]=b=(d[o-n]^T)>>>0}for(l=0;l<a;l++)o=a-l,l&3?T=d[o]:T=d[o-4],l<4||o<=4?u[l]=T:u[l]=m[c[T>>>24]]^p[c[T>>>16&255]]^g[c[T>>>8&255]]^E[c[T&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),b=new Int32Array(E.length),T,_,A,k,x,M,O,w,R,P,N,$,G,K,ee=this.networkToHostOrderSwap;for(;t<E.length;){for(R=ee(E[t]),P=ee(E[t+1]),N=ee(E[t+2]),$=ee(E[t+3]),x=R^n[0],M=$^n[1],O=N^n[2],w=P^n[3],G=4,K=1;K<s;K++)T=l[x>>>24]^d[M>>16&255]^u[O>>8&255]^c[w&255]^n[G],_=l[M>>>24]^d[O>>16&255]^u[w>>8&255]^c[x&255]^n[G+1],A=l[O>>>24]^d[w>>16&255]^u[x>>8&255]^c[M&255]^n[G+2],k=l[w>>>24]^d[x>>16&255]^u[M>>8&255]^c[O&255]^n[G+3],x=T,M=_,O=A,w=k,G=G+4;T=a[x>>>24]<<24^a[M>>16&255]<<16^a[O>>8&255]<<8^a[w&255]^n[G],_=a[M>>>24]<<24^a[O>>16&255]<<16^a[w>>8&255]<<8^a[x&255]^n[G+1],A=a[O>>>24]<<24^a[w>>16&255]<<16^a[x>>8&255]<<8^a[M&255]^n[G+2],k=a[w>>>24]<<24^a[x>>16&255]<<16^a[M>>8&255]<<8^a[O&255]^n[G+3],b[t]=ee(T^f),b[t+1]=ee(k^m),b[t+2]=ee(A^p),b[t+3]=ee(_^g),f=R,m=P,p=N,g=$,t=t+4}return b.buffer}},PI=16,Oa=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?MI(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Kt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Yf),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=as(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,r));this.key=t,this.fastAesKey=new Vf(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Wf(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(L.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%PI;return r!==e.length&&(t=as(e,0,r),this.remainderData=as(e,r)),t}logOnce(e){this.logEnabled&&(L.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},OI={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},U={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},Na=class extends Hf{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=U.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=L.log.bind(L,`${s}:`),this.warn=L.warn.bind(L,`${s}:`),this.hls=e,this.fragmentLoader=new Kf(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Oa(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=U.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return Ge.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===U.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=Ge.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${z(a)?a.toFixed(3):a}, state: ${n}`),this.state===U.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=U.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===U.FRAG_LOADING||!this.fragCurrent&&a===U.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=U.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===U.STOPPED||this.state===U.ERROR||(this.warn(`Frag error: ${(n==null?void 0:n.message)||n}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===mt.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o,e.duration))&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===mt.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===U.STOPPED||this.state===U.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=U.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===re.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?OI.toString(Ge.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==re.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=U.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=U.IDLE,o&&(!this.loadedmetadata&&e.type==re.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Pa(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=U.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===U.KEY_LOADING&&(this.state=U.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=U.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),z(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=U.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=eb(r,e.sn,c.index+1)||Kb(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===D.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:se.OTHER_ERROR,details:D.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==U.PARSING){!this.fragCurrent&&this.state!==U.STOPPED&&this.state!==U.ERROR&&(this.state=U.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?eb(o,n,a):null,d=l?l.fragment:hI(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==U.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Kt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!Ge.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ge.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return z(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ge.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return Ge.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){let r=this.config,s=Math.max(Math.min(e-t,r.maxBufferLength),t),n=Math.max(e-t*3,r.maxMaxBufferLength/2,s);return n>=s?(r.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1}getAppendedFrag(e,t=re.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,re.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===mt.OK||r===mt.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=mI(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=vI(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,{maxFragLookUpTolerance:d}=s,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Id(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===mt.OK||m===mt.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==mt.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&z(n);if(a||!o&&!n){let{fragPrevious:l}=this;wI(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&z(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==U.FRAG_LOADING_WAITING_RETRY)&&(this.state=U.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===D.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ft.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Fm(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=U.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ft.RemoveAlternatePermanently&&(a.resolved=!0);else{L.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ft.SendAlternateToPenaltyBox?this.state=U.WAITING_LEVEL:this.state=U.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===U.PARSING||this.state===U.PARSED){let t=e.frag,r=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,r),n=s&&s.len>.5;n&&this.reduceMaxBufferLength(s.len,(t==null?void 0:t.duration)||10);let a=!n;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${r} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===re.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==U.STOPPED&&(this.state=U.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ge.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===U.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=U.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:Hb(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=U.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},kd=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=NI(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function NI(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function UI(){return typeof __HLS_WORKER_BUNDLE__=="function"}function FI(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function BI(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ri(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var Ua=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Kt(this.cachedData,e),this.cachedData=null);let r=Ca(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Um(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&z(l))&&(this.basePTS=$I(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ni.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else bR(e,s)?(r=Ca(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ni.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=as(e,n);this.cachedData?this.cachedData=Kt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:Ri(),id3Track:o,textTrack:Ri()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ri(),id3Track:this._id3Track,textTrack:Ri()}}destroy(){}},$I=(i,e,t)=>{if(z(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function HI(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,L.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function jb(i,e){return i[e]===255&&(i[e+1]&246)===240}function zb(i,e){return i[e+1]&1?7:9}function Bm(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function GI(i,e){return e+5<i.length}function Cd(i,e){return e+1<i.length&&jb(i,e)}function KI(i,e){return GI(i,e)&&jb(i,e)&&Bm(i,e)<=i.length-e}function WI(i,e){if(Cd(i,e)){let t=zb(i,e);if(e+t>=i.length)return!1;let r=Bm(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||Cd(i,s)}return!1}function Xb(i,e,t,r,s){if(!i.samplerate){let n=HI(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,L.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function Qb(i){return 1024*9e4/i}function VI(i,e){let t=zb(i,e);if(e+t<=i.length){let r=Bm(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function Zb(i,e,t,r,s){let n=Qb(i.samplerate),a=r+s*n,o=VI(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var nd=null,YI=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],qI=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],jI=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],zI=[0,1,1,4];function Jb(i,e,t,r,s){if(t+24>e.length)return;let n=ey(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function ey(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=YI[l*14+s-1]*1e3,c=qI[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=jI[t][r],m=zI[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(nd===null){let T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);nd=T?parseInt(T[1]):0}return!!nd&&nd<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function $m(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function ty(i,e){return e+1<i.length&&$m(i,e)}function XI(i,e){return $m(i,e)&&4<=i.length-e}function iy(i,e){if(e+1<i.length&&$m(i,e)){let r=ey(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||ty(i,n)}return!1}var qf=class extends Ua{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=Ca(e,0),r=(t==null?void 0:t.length)||0;if(iy(e,r))return!1;for(let s=e.length;r<s;r++)if(WI(e,r))return L.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return KI(e,t)}appendFrame(e,t,r){Xb(e,this.observer,t,r,e.manifestCodec);let s=Zb(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},QI=/\/emsg[-/]ID3/i,jf=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=Ri("video",1),a=this.audioTrack=Ri("audio",1),o=this.txtTrack=Ri("text",1);if(this.id3Track=Ri("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Mb(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=Cb.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return LR(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Kt(this.remainderData,e));let o=NR(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=NE(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=NE(e,t),{videoTrack:t,audioTrack:Ri(),id3Track:s,textTrack:Ri()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=oe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=BR(n);if(QI.test(a.schemeIdUri)){let o=z(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:ni.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},ry=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},zf=class extends Ua{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=sy(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=Ca(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Um(t)!==void 0&&ry(e,r)<16}};function sy(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,b=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),T=1536/o*9e4,_=r+s*T,A=e.subarray(t,t+u);return i.config=b,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:_}),u}var Xf=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&L.log(e.pts+"/"+e.dts+":"+e.debug)}},wd=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&L.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let k=u();if(k===3&&h(1),m(),m(),h(1),c())for(a=k!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let b=u(),T=u(),_=d(1);_===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let A=[1,1];if(c()&&c())switch(l()){case 1:A=[1,1];break;case 2:A=[12,11];break;case 3:A=[10,11];break;case 4:A=[16,11];break;case 5:A=[40,33];break;case 6:A=[24,11];break;case 7:A=[20,11];break;case 8:A=[32,11];break;case 9:A=[80,33];break;case 10:A=[18,11];break;case 11:A=[15,11];break;case 12:A=[64,33];break;case 13:A=[160,99];break;case 14:A=[4,3];break;case 15:A=[3,2];break;case 16:A=[2,1];break;case 255:{A=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((b+1)*16-e*2-t*2),height:(2-_)*(T+1)*16-(_?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Qf=class extends Xf{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new wd(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,Ob(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new wd(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let b=p.subarray(1,4),T="avc1.";for(let _=0;_<3;_++){let A=b[_].toString(16);A.length<2&&(A="0"+A),T+=A}e.codec=T}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Kt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Kt(f.data,t))}return e.naluState=s,a}},Zf=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new Oa(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=Nb(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ht=188,Jf=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new Qf}static probe(e){let t=i.syncOffset(e);return t>0&&L.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ht*5,t-ht)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ht)if(e[l]===71&&(t-l===ht||e[l+ht]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ht*99,e.length-ht)+1)),n||(n=em(e,l)===0),n&&o>1&&(a===0&&o>2||l+ht>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Cb[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,b=this._pmtId,T=e.length;if(this.remainderData&&(e=Kt(this.remainderData,e),T=e.length,this.remainderData=null),T<ht&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let _=Math.max(0,i.syncOffset(e));T-=(T-_)%ht,T<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,T,e.buffer.byteLength-T));let A=0;for(let x=_;x<T;x+=ht)if(e[x]===71){let M=!!(e[x+1]&64),O=em(e,x),w=(e[x+3]&48)>>4,R;if(w>1){if(R=x+5+e[x+4],R===x+ht)continue}else R=x+4;switch(O){case u:M&&(c&&(n=vn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(R,x+ht)),c.size+=x+ht-R);break;case h:if(M){if(m&&(n=vn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(R,x+ht)),m.size+=x+ht-R);break;case f:M&&(p&&(n=vn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(R,x+ht)),p.size+=x+ht-R);break;case 0:M&&(R+=e[R]+1),b=this._pmtId=ZI(e,R);break;case b:{M&&(R+=e[R]+1);let P=JI(e,R,this.typeSupported,r,this.observer);u=P.videoPid,u>0&&(a.pid=u,a.segmentCodec=P.segmentVideoCodec),h=P.audioPid,h>0&&(o.pid=h,o.segmentCodec=P.segmentAudioCodec),f=P.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(L.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${_} to parse all TS packets.`),g=null,x=_-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=O;break}}else A++;A>0&&Dd(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`)),a.pesData=c,o.pesData=m,l.pesData=p;let k={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(k),k}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=vn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=vn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&L.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=vn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new Zf(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Kt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!Cd(n,a);a++);if(a!==r){let c,h=a<o-1;if(h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES",Dd(this.observer,new Error(c),h),!h)return}Xb(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=Qb(e.samplerate);l=s.sample.pts+c}else{L.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=Zb(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!Cd(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){L.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(ty(r,a)){let l=Jb(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){L.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=sy(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){L.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=et({},t,{type:this._videoTrack?ni.emsg:ni.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function em(i,e){return((i[e+1]&31)<<8)+i[e+2]}function ZI(i,e){return(i[e+10]&31)<<8|i[e+11]}function JI(i,e,t,r,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=(i[e+1]&15)<<8|i[e+2],o=e+3+a-4,l=(i[e+10]&15)<<8|i[e+11];for(e+=12+l;e<o;){let d=em(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){pf("ADTS AAC");break}case 15:n.audioPid===-1&&(n.audioPid=d);break;case 21:n.id3Pid===-1&&(n.id3Pid=d);break;case 219:if(!r){pf("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?L.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){pf("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):L.log("AC-3 audio found, not supported in this browser");break;case 6:if(n.audioPid===-1&&u>0){let c=e+5,h=u;for(;h>2;){switch(i[c]){case 106:t.ac3!==!0?L.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=d,n.segmentAudioCodec="ac3");break}let m=i[c+1]+2;c+=m,h-=m}}break;case 194:case 135:return Dd(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Dd(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function Dd(i,e,t){L.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function pf(i){L.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function vn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Kt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(L.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var tm=class extends Ua{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=Ca(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Um(t)!==void 0&&ry(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(iy(e,r))return L.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return XI(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return Jb(e,t,r,this.basePTS,this.frameIndex)}},Md=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},gr=Math.pow(2,32)-1,nt=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(gr+1)),o=Math.floor(r%(gr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(gr+1)),a=Math.floor(t%(gr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Kt(i.FTYP,t)}};nt.types=void 0;nt.HDLR_TYPES=void 0;nt.STTS=void 0;nt.STSC=void 0;nt.STCO=void 0;nt.STSZ=void 0;nt.VMHD=void 0;nt.SMHD=void 0;nt.STSD=void 0;nt.FTYP=void 0;nt.DINF=void 0;var ny=9e4;function Hm(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function eL(i,e,t=1,r=!1){return Hm(i,e,1/t,r)}function xa(i,e=!1){return Hm(i,1e3,1/ny,e)}function tL(i,e=1){return Hm(i,ny,1/e)}var iL=10*1e3,db=1024,rL=1152,sL=1536,En=null,gf=null,_n=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,En===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);En=a?parseInt(a[1]):0}if(gf===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);gf=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){L.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){L.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){L.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Gt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&L.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,b=t.pid>-1,T=t.samples.length,_=e.samples.length>0,A=o&&T>0||T>1;if((!E||_)&&(!b||A)||this.ISGenerated||o){if(this.ISGenerated){var x,M,O,w;let $=this.videoTrackConfig;$&&(t.width!==$.width||t.height!==$.height||((x=t.pixelRatio)==null?void 0:x[0])!==((M=$.pixelRatio)==null?void 0:M[0])||((O=t.pixelRatio)==null?void 0:O[1])!==((w=$.pixelRatio)==null?void 0:w[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let R=this.isVideoContiguous,P=-1,N;if(A&&(P=nL(t.samples),!R&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,P>0){L.warn(`[mp4-remuxer]: Dropped ${P} out of ${T} video samples due to a missing keyframe`);let $=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(P),t.dropped+=P,g+=(t.samples[0].pts-$)/t.inputTimeScale,N=g}else P===-1&&(L.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),m=!1);if(this.ISGenerated){if(_&&A){let $=this.getVideoStartPts(t.samples),K=(Gt(e.samples[0].pts,$)-$)/t.inputTimeScale;p+=Math.max(0,K),g+=Math.max(0,-K)}if(_){if(e.samplerate||(L.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,b||A||l===re.AUDIO?g:void 0),A){let $=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(L.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,R,$)}}else A&&(d=this.remuxVideo(t,g,R,0));d&&(d.firstKeyFrame=P,d.independent=P!==-1,d.firstKeyFramePTS=N)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=ay(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=oy(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):nt.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:nt.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Gt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let q=t*n,V=a[0].pts-Gt(a[0].dts,a[0].pts);En&&u!==null&&Math.abs(q-V-u)<15e3?r=!0:u=q-V}let b=d.baseTime*n/d.timescale;for(let q=0;q<l;q++){let V=a[q];V.pts=Gt(V.pts-b,u),V.dts=Gt(V.dts-b,u),V.dts<a[q>0?q-1:q].dts&&(E=!0)}E&&a.sort(function(q,V){let le=q.dts-V.dts,te=q.pts-V.pts;return le||te}),f=a[0].dts,m=a[a.length-1].dts;let T=m-f,_=T?Math.round(T/(l-1)):h||e.inputTimeScale/30;if(r){let q=f-u,V=q>_,le=q<-1;if((V||le)&&(V?L.warn(`AVC: ${xa(q,!0)} ms (${q}dts) hole between fragments detected at ${t.toFixed(3)}`):L.warn(`AVC: ${xa(-q,!0)} ms (${q}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!le||u>=a[0].pts||En)){f=u;let te=a[0].pts-q;if(V)a[0].dts=f,a[0].pts=te;else for(let Ee=0;Ee<a.length&&!(a[Ee].dts>te);Ee++)a[Ee].dts-=q,a[Ee].pts-=q;L.log(`Video: Initial PTS/DTS adjusted: ${xa(te,!0)}/${xa(f,!0)}, delta: ${xa(q,!0)} ms`)}}f=Math.max(0,f);let A=0,k=0,x=f;for(let q=0;q<l;q++){let V=a[q],le=V.units,te=le.length,Ee=0;for(let $e=0;$e<te;$e++)Ee+=le[$e].data.length;k+=Ee,A+=te,V.length=Ee,V.dts<x?(V.dts=x,x+=_/4|0||1):x=V.dts,p=Math.min(V.pts,p),g=Math.max(V.pts,g)}m=a[l-1].dts;let M=k+4*A+8,O;try{O=new Uint8Array(M)}catch(q){this.observer.emit(v.ERROR,v.ERROR,{type:se.MUX_ERROR,details:D.REMUX_ALLOC_ERROR,fatal:!1,error:q,bytes:M,reason:`fail allocating video mdat ${M}`});return}let w=new DataView(O.buffer);w.setUint32(0,M),O.set(nt.types.mdat,4);let R=!1,P=Number.POSITIVE_INFINITY,N=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY,G=Number.NEGATIVE_INFINITY;for(let q=0;q<l;q++){let V=a[q],le=V.units,te=0;for(let We=0,je=le.length;We<je;We++){let _t=le[We],nr=_t.data,Bs=_t.data.byteLength;w.setUint32(c,Bs),c+=4,O.set(nr,c),c+=Bs,te+=4+Bs}let Ee;if(q<l-1)h=a[q+1].dts-V.dts,Ee=a[q+1].pts-V.pts;else{let We=this.config,je=q>0?V.dts-a[q-1].dts:_;if(Ee=q>0?V.pts-a[q-1].pts:_,We.stretchShortVideoTrack&&this.nextAudioPts!==null){let _t=Math.floor(We.maxBufferHole*n),nr=(s?p+s*n:this.nextAudioPts)-V.pts;nr>_t?(h=nr-je,h<0?h=je:R=!0,L.log(`[mp4-remuxer]: It is approximately ${nr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=je}else h=je}let $e=Math.round(V.pts-V.dts);P=Math.min(P,h),$=Math.max($,h),N=Math.min(N,Ee),G=Math.max(G,Ee),o.push(new Pd(V.key,h,te,$e))}if(o.length){if(En){if(En<70){let q=o[0].flags;q.dependsOn=2,q.isNonSync=0}}else if(gf&&G-N<$-P&&_/$<.025&&o[0].cts===0){L.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let q=f;for(let V=0,le=o.length;V<le;V++){let te=q+o[V].duration,Ee=q+o[V].cts;if(V<le-1){let $e=te+o[V+1].cts;o[V].duration=$e-Ee}else o[V].duration=V?o[V-1].duration:_;o[V].cts=0,q=te}}}h=R||!h?_:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let ae={data1:nt.moof(e.sequenceNumber++,f,et({},e,{samples:o})),data2:O,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:"video",hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ae}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return rL;case"ac3":return sL;default:return db}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,b=t*a,T=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(b-E)<9e3||Math.abs(Gt(p[0].pts-T,b)-E)<20*u),p.forEach(function(K){K.pts=Gt(K.pts-T,b)}),!r||E<0){if(p=p.filter(K=>K.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,b):E=p[0].pts}if(e.segmentCodec==="aac"){let K=this.config.maxAudioFramesDrift;for(let ee=0,ae=E;ee<p.length;ee++){let q=p[ee],V=q.pts,le=V-ae,te=Math.abs(1e3*le/a);if(le<=-K*u&&m)ee===0&&(L.warn(`Audio frame @ ${(V/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*le/a)} ms.`),this.nextAudioPts=E=ae=V);else if(le>=K*u&&te<iL&&m){let Ee=Math.round(le/u);ae=V-Ee*u,ae<0&&(Ee--,ae+=u),ee===0&&(this.nextAudioPts=E=ae),L.warn(`[mp4-remuxer]: Injecting ${Ee} audio frame @ ${(ae/a).toFixed(3)}s due to ${Math.round(1e3*le/a)} ms gap.`);for(let $e=0;$e<Ee;$e++){let We=Math.max(ae,0),je=Md.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);je||(L.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),je=q.unit.subarray()),p.splice(ee,0,{unit:je,pts:We}),ae+=u,ee++}}q.pts=ae,ae+=u}}let _=null,A=null,k,x=0,M=p.length;for(;M--;)x+=p[M].unit.byteLength;for(let K=0,ee=p.length;K<ee;K++){let ae=p[K],q=ae.unit,V=ae.pts;if(A!==null){let te=f[K-1];te.duration=Math.round((V-A)/l)}else if(r&&e.segmentCodec==="aac"&&(V=E),_=V,x>0){x+=g;try{k=new Uint8Array(x)}catch(te){this.observer.emit(v.ERROR,v.ERROR,{type:se.MUX_ERROR,details:D.REMUX_ALLOC_ERROR,fatal:!1,error:te,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(k.buffer).setUint32(0,x),k.set(nt.types.mdat,4))}else return;k.set(q,g);let le=q.byteLength;g+=le,f.push(new Pd(!0,d,le,0)),A=V}let O=f.length;if(!O)return;let w=f[f.length-1];this.nextAudioPts=E=A+l*w.duration;let R=h?new Uint8Array(0):nt.moof(e.sequenceNumber++,_/l,et({},e,{samples:f}));e.samples=[];let P=_/a,N=E/a,G={data1:R,data2:k,startPTS:P,endPTS:N,startDTS:P,endDTS:N,type:"audio",hasAudio:!0,hasVideo:!1,nb:O};return this.isAudioContiguous=!0,G}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*db,m=Math.ceil((h-c)/f),p=Md.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(L.warn("[mp4-remuxer]: remux empty Audio"),!p){L.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let b=c+E*f;g.push({unit:p,pts:b,dts:b})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Gt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function nL(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function ay(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Gt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Gt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function oy(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Gt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var Pd=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},im=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(wR(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=Mb(e);s.audio&&(t=ub(s.audio,ke.AUDIO)),s.video&&(r=ub(s.video,ke.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:L.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};z(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return L.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=MR(h,m),g=DR(m,h),E=g===null?n:g;(aL(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&L.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let b=e?E-d.baseTime/d.timescale:u,T=b+p;OR(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=T:(L.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let _=!!m.audio,A=!!m.video,k="";_&&(k+="audio"),A&&(k+="video");let x={data1:h,startPTS:b,startDTS:b,endPTS:T,endDTS:T,type:k,hasAudio:_,hasVideo:A,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=ay(r,n,d,d),s.samples.length&&(c.text=oy(s,n,d)),c}};function aL(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function ub(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===ke.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return _d(t,!1);let r="mp4a.40.5";return L.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return L.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var Zi;try{Zi=self.performance.now.bind(self.performance)}catch{L.debug("Unable to use Performance API on this environment"),Zi=Sn==null?void 0:Sn.Date.now}var fd=[{demux:jf,remux:im},{demux:Jf,remux:_n},{demux:qf,remux:_n},{demux:tm,remux:_n}];fd.splice(2,0,{demux:zf,remux:_n});var Od=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=Zi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:b,initSegmentData:T}=l,_=oL(a,t);if(_&&_.method==="AES-128"){let M=this.getDecrypter();if(M.isSync()){let O=M.softwareDecrypt(a,_.key.buffer,_.iv.buffer);if(r.part>-1&&(O=M.flush()),!O)return n.executeEnd=Zi(),vf(r);a=new Uint8Array(O)}else return this.decryptionPromise=M.webCryptoDecrypt(a,_.key.buffer,_.iv.buffer).then(O=>{let w=this.push(O,null,r);return this.decryptionPromise=null,w}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let M=this.configureTransmuxer(a);if(M)return L.warn(`[transmuxer] ${M.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_PARSING_ERROR,fatal:!1,error:M,reason:M.message}),n.executeEnd=Zi(),vf(r)}(u||c||m||A)&&this.resetInitSegment(T,p,g,b,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let k=this.transmux(a,_,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=Zi(),k}flush(e){let t=e.transmuxing;t.executeStart=Zi();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Zi(),[vf(e)];let u=l.flush(o);return md(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;L.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=Zi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=fd.length;h<f;h++){var o;if((o=fd[h].demux)!=null&&o.probe(e)){a=fd[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Oa(this.config)),e}};function oL(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var vf=i=>({remuxResult:{},chunkMeta:i});function md(i){return"then"in i&&i.then instanceof Function}var rm=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},sm=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},ly={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,b,T;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(T=1,b=new Array(E-1);T<E;T++)b[T-1]=arguments[T];g.fn.apply(g.context,b)}else{var _=g.length,A;for(T=0;T<_;T++)switch(g[T].once&&this.removeListener(d,g[T].fn,void 0,!0),E){case 1:g[T].fn.call(g[T].context);break;case 2:g[T].fn.call(g[T].context,u);break;case 3:g[T].fn.call(g[T].context,u,c);break;case 4:g[T].fn.call(g[T].context,u,c,h);break;default:if(!b)for(A=1,b=new Array(E-1);A<E;A++)b[A-1]=arguments[A];g[T].fn.apply(g[T].context,b)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(ly);var lL=ly.exports,Gm=tR(lL),Nd=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(d,u)=>{u=u||{},u.frag=this.frag,u.id=this.id,d===v.ERROR&&(this.error=u.error),this.hls.trigger(d,u)};this.observer=new Gm,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=os(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||UI())){try{n.workerPath?(L.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=BI(n.workerPath)):(L.log(`injecting Web Worker for "${t}"`),this.workerContext=FI()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);n.enableWorker=!1,L.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:se.OTHER_ERROR,details:D.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(n)})}catch(u){L.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new Od(this.observer,l,n,"",t)}return}this.transmuxer=new Od(this.observer,l,n,"",t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),b=!(g&&d.level===g.level),T=g?d.sn-g.sn:-1,_=this.part?d.part-this.part.index:-1,A=T===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),k=!b&&(T===1||T===0&&(_===1||A&&_<=0)),x=self.performance.now();(b||T||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(_||!k)&&(a.stats.parsing.start=x);let M=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),O=new sm(E,k,l,b,m,M);if(!k||E||M){L.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1246
1246
  discontinuity: ${E}
1247
1247
  trackSwitch: ${b}
1248
1248
  contiguous: ${k}
1249
1249
  accurateTimeOffset: ${l}
1250
1250
  timeOffset: ${m}
1251
- initSegmentChange: ${M}`);let D=new sm(r,s,t,o,u);this.configureTransmuxer(D)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:O},e instanceof ArrayBuffer?[e]:[]);else if(f){let D=f.push(e,p,d,O);pd(D)?(f.async=!0,D.then(R=>{this.handleTransmuxComplete(R)}).catch(R=>{this.transmuxerError(R,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(D))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);pd(r)||t.async?(pd(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){L.warn(`worker message received with no ${t?"event name":"data"}`);return}let r=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":L[t.data.logType]&&L[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function dy(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!xn(i[t].attrs,e[t].attrs))return!1;return!0}function xn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function am(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var cb=100,om=class extends Ua{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",se.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===U.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=U.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(cb),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=U.IDLE):(this.loadedmetadata=!1,this.state=U.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case U.IDLE:this.doTickIdle();break;case U.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=U.WAITING_INIT_PTS}break}case U.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=U.IDLE}break}case U.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=U.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=He.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Ff(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=U.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=U.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=U.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,Le.AUDIO,se.AUDIO));let d=this.getFwdBufferInfo(l,se.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=U.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,se.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let A=this.getLoadPosition();u&&!xn(c.attrs,u.attrs)&&(E=A),o.PTSKnown&&A<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let b=this.getNextFragment(E,o),T=!1;if(b&&this.isLoopLoading(b,E)&&(T=!!b.gap,b=this.getNextFragmentLoopLoading(b,o,d,se.MAIN,m)),!b){this.bufferFlushed=!0;return}let _=h&&b.start>h.end+o.targetduration;if(_||!(h!=null&&h.len)&&d.len){let A=this.getAppendedFrag(b.start,se.MAIN);if(A===null||(T||(T=!!A.gap||!!_&&h.len===0),_&&!T||T&&d.nextStart&&d.nextStart<A.end))return}this.loadFragment(b,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Er(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(cb):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=U.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=U.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)kd(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===U.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=U.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Ud(this.hls,se.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,b=new Oa(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,b,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new Cd,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=U.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==se.AUDIO){if(!this.loadedmetadata&&r.type===se.MAIN){let n=this.videoBuffer||this.media;n&&He.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,pt({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=U.ERROR;return}switch(t.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(se.AUDIO,t);break;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===U.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ye.AUDIO_TRACK&&(this.state=U.IDLE);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===w.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==Le.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==Le.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===U.ENDED&&(this.state=U.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,se.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=U.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:b,endDTS:T}=h;d&&(d.elementaryStreams[Le.AUDIO]={startPTS:g,endPTS:E,startDTS:b,endDTS:T}),l.setElementaryStreamInfo(Le.AUDIO,g,E,b,T),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=et({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=et({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==U.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===mt.NOT_LOADED||s===mt.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=U.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&kd(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,pt({},e))}},lm=class extends Pa{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=Ii(l,o,pn);if(h>-1)n=o[h];else{let f=Ii(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ye.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Tn(e,s,pn))return s;let n=Ii(e,this.tracksInGroup,pn);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=RI(e,t.levels,r,a,pn);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=Ii(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,pt({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Tn(e,s,pn)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Tn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,pn))return d}for(let d=0;d<t.length;d++){let u=t[d];if(xn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(xn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},hb=500,dm=class extends Ua{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",se.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=U.IDLE,this.setInterval(hb),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=U.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,se.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===se.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===se.SUBTITLE&&(t.details===w.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==U.STOPPED&&(this.state=U.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&dy(this.levels,t)){this.levels=t.map(r=>new Er(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Er(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,se.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(hb)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[o];if(o>=n.length||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(kd(a,c),d=a.fragments[0].start):h&&(d=h.start,Uf(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,Uf(a,d))}}l.details=a,this.levelLastLoaded=l,o===s&&(!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===U.IDLE&&(Ld(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=U.IDLE})}}doTick(){if(!this.media){this.state=U.IDLE;return}if(this.state===U.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=He.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,se.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,b=o>m-E?0:E;p=Ld(g,h,Math.max(h[0].start,o),b),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,b=h[E-1];b&&b.cc===p.cc&&this.fragmentTracker.getState(b)===mt.NOT_LOADED&&(p=b)}this.fragmentTracker.getState(p)===mt.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new um(this.tracksBuffered[this.currentTrackId]||[])}},um=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},cm=class extends Pa{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=cd(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),cd(this.media.textTracks).forEach(t=>{bn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=Ii(o,a);if(u>-1)n=a[u];else{let c=Ii(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Tn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(xn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(xn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(am(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===ye.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Tn(e,r))return r;let s=Ii(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=Ii(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=cd(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>am(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!z(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},hm=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){L.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},fb=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,fm=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&L.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=VR(os(e.config.preferManagedMediaSource)),this.log=L.log.bind(L,t),this.warn=L.warn.bind(L,t),this.error=L.error.bind(L,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new hm(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=os(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,mb(r),lL(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&mb(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=$E(l.codec,l.levelCodec),p=m==null?void 0:m.replace(fb,"$1"),g=$E(u,c),E=(o=g)==null?void 0:o.replace(fb,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=Ad(g,this.appendSource));let b=`${h};codecs=${g}`;this.appendChangeType(a,b),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,b={execute:()=>{if(c.executeStart=self.performance.now(),g){let T=this.sourceBuffer[o];if(T){let _=E-T.timestampOffset;Math.abs(_)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${_}) sn: ${l.sn})`),T.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let T=self.performance.now();c.executeEnd=c.end=T,f.first===0&&(f.first=T),m&&m.first===0&&(m.first=T);let{sourceBuffer:_}=this,A={};for(let k in _)A[k]=He.getBuffered(_[k]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:A})},onError:T=>{let _={type:re.MEDIA_ERROR,parent:l.type,details:w.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)_.details=w.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];_.details=w.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(_.fatal=!0)}r.trigger(v.ERROR,_)}};s.append(b,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[Le.AUDIOVIDEO]?n.push("audiovideo"):(a[Le.AUDIO]&&n.push("audio"),a[Le.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(z(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(z(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=He.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=He.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=z(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!z(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=Ad(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e,t;let r=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return r==null?void 0:r.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=z(s.duration)?s.duration:1/0,u=z(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function mb(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function lL(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var dL={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},uy=i=>String.fromCharCode(dL[i]||i),ri=15,Qi=100,uL={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},cL={17:2,18:4,21:6,22:8,23:10,19:13,20:15},hL={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},fL={25:2,26:4,29:6,30:8,31:10,27:13,28:15},mL=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],mm=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;L.log(`${this.time} [${e}] ${r}`)}}},is=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},Fd=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},pm=class{constructor(){this.uchar=" ",this.penState=new Fd}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},gm=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Fd,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Qi;t++)this.chars.push(new pm);this.logger=e}equals(e){for(let t=0;t<Qi;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Qi;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Qi;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Qi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Qi)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=uy(e);if(this.pos>=Qi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<Qi;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<Qi;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},Ca=class{constructor(e){this.rows=[],this.currRow=ri-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<ri;t++)this.rows.push(new gm(e));this.logger=e}reset(){for(let e=0;e<ri;e++)this.rows[e].clear();this.currRow=ri-1}equals(e){let t=!0;for(let r=0;r<ri;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<ri;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<ri;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<ri;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<ri;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1252
- `)),r}getTextAndFormat(){return this.rows}},Bd=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ca(r),this.nonDisplayedMemory=new Ca(r),this.lastOutputScreen=new Ca(r),this.currRollUpRow=this.displayedMemory.rows[ri-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[ri-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},$d=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=gL(),this.logger=void 0;let s=this.logger=new mm;this.channels=[null,new Bd(e,t,s),new Bd(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let r=0;r<t.length;r+=2){let s=t[r]&127,n=t[r+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+is([t[r],t[r+1]])+"] -> ("+is([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(pL(s,n,l)){od(null,null,l),this.logger.log(3,()=>"Repeated command ("+is([s,n])+") is dropped");continue}od(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else od(null,null,l);if(!a&&(o=this.parseChars(s,n),o)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!a&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+is([s,n])+" orig: "+is([t[r],t[r+1]]))}}parseCmd(e,t){let r=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=33&&t<=35;if(!(r||s))return!1;let n=e===20||e===21||e===23?1:2,a=this.channels[n];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+is([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,n=(e===16||e===24)&&t>=64&&t<=95;if(!(s||n))return!1;let a=e<=23?1:2;t>=64&&t<=95?r=a===1?uL[e]:hL[e]:r=a===1?cL[e]:fL[e];let o=this.channels[a];return o?(o.setPAC(this.interpretPAC(r,t)),this.currentChannel=a,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,()=>"Special char '"+uy(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+is(s).join(",")),s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=mL[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}od(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function od(i,e,t){t.a=i,t.b=e}function pL(i,e,t){return t.a===i&&t.b===e}function gL(){return{a:null,b:null}}var yn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Km=function(){if(Sn!=null&&Sn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,b="",T=!0,_="auto",A="start",k=50,x="middle",M=50,O="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(D){h=""+D}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(D){f=!!D}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(D){if(typeof D!="number")throw new TypeError("Start time must be set to a number.");m=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(D){if(typeof D!="number")throw new TypeError("End time must be set to a number.");p=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(D){g=""+D,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(D){E=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return b},set:function(D){let R=r(D);if(R===!1)throw new SyntaxError("An invalid or illegal string was specified.");b=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return T},set:function(D){T=!!D,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return _},set:function(D){if(typeof D!="number"&&D!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");_=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(D){let R=s(D);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");A=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return k},set:function(D){if(D<0||D>100)throw new Error("Position must be between 0 and 100.");k=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(D){let R=s(D);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");x=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return M},set:function(D){if(D<0||D>100)throw new Error("Size must be between 0 and 100.");M=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return O},set:function(D){let R=s(D);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");O=R,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),vm=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function cy(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var Em=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function hy(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var bm=new Km(0,0,""),ld=bm.align==="middle"?"middle":"center";function vL(i,e,t){let r=i;function s(){let o=cy(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new Em;hy(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",ld,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",ld,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",ld,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&bm.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",ld);let c=d.get("position","auto");c==="auto"&&bm.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function fy(i){return i.replace(/<br(?: \/)?>/gi,`
1253
- `)}var ym=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new vm,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=fy(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1251
+ initSegmentChange: ${M}`);let w=new rm(r,s,t,o,u);this.configureTransmuxer(w)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:O},e instanceof ArrayBuffer?[e]:[]);else if(f){let w=f.push(e,p,d,O);md(w)?(f.async=!0,w.then(R=>{this.handleTransmuxComplete(R)}).catch(R=>{this.transmuxerError(R,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(w))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);md(r)||t.async?(md(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){L.warn(`worker message received with no ${t?"event name":"data"}`);return}let r=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":L[t.data.logType]&&L[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function dy(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!xn(i[t].attrs,e[t].attrs))return!1;return!0}function xn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function nm(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var cb=100,am=class extends Na{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",re.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===U.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=U.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(cb),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=U.IDLE):(this.loadedmetadata=!1,this.state=U.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case U.IDLE:this.doTickIdle();break;case U.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=U.WAITING_INIT_PTS}break}case U.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=U.IDLE}break}case U.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=U.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=Ge.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Uf(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=U.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=U.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=U.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,ke.AUDIO,re.AUDIO));let d=this.getFwdBufferInfo(l,re.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=U.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,re.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let A=this.getLoadPosition();u&&!xn(c.attrs,u.attrs)&&(E=A),o.PTSKnown&&A<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let b=this.getNextFragment(E,o),T=!1;if(b&&this.isLoopLoading(b,E)&&(T=!!b.gap,b=this.getNextFragmentLoopLoading(b,o,d,re.MAIN,m)),!b){this.bufferFlushed=!0;return}let _=h&&b.start>h.end+o.targetduration;if(_||!(h!=null&&h.len)&&d.len){let A=this.getAppendedFrag(b.start,re.MAIN);if(A===null||(T||(T=!!A.gap||!!_&&h.len===0),_&&!T||T&&d.nextStart&&d.nextStart<A.end))return}this.loadFragment(b,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Er(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(cb):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=U.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=U.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)Ld(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===U.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=U.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Nd(this.hls,re.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,b=new Pa(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,b,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new kd,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=U.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==re.AUDIO){if(!this.loadedmetadata&&r.type===re.MAIN){let n=this.videoBuffer||this.media;n&&Ge.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,pt({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=U.ERROR;return}switch(t.details){case D.FRAG_GAP:case D.FRAG_PARSING_ERROR:case D.FRAG_DECRYPT_ERROR:case D.FRAG_LOAD_ERROR:case D.FRAG_LOAD_TIMEOUT:case D.KEY_LOAD_ERROR:case D.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(re.AUDIO,t);break;case D.AUDIO_TRACK_LOAD_ERROR:case D.AUDIO_TRACK_LOAD_TIMEOUT:case D.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===U.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===Te.AUDIO_TRACK&&(this.state=U.IDLE);break;case D.BUFFER_APPEND_ERROR:case D.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===D.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case D.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==ke.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ke.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===U.ENDED&&(this.state=U.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,re.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=U.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:b,endDTS:T}=h;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:g,endPTS:E,startDTS:b,endDTS:T}),l.setElementaryStreamInfo(ke.AUDIO,g,E,b,T),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=et({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=et({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==U.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===mt.NOT_LOADED||s===mt.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=U.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&Ld(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,pt({},e))}},om=class extends Ma{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=Ii(l,o,pn);if(h>-1)n=o[h];else{let f=Ii(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===Te.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Tn(e,s,pn))return s;let n=Ii(e,this.tracksInGroup,pn);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=II(e,t.levels,r,a,pn);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=Ii(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,pt({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Tn(e,s,pn)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Tn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,pn))return d}for(let d=0;d<t.length;d++){let u=t[d];if(xn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(xn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},hb=500,lm=class extends Na{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",re.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=U.IDLE,this.setInterval(hb),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=U.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,re.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===re.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===re.SUBTITLE&&(t.details===D.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==U.STOPPED&&(this.state=U.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&dy(this.levels,t)){this.levels=t.map(r=>new Er(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Er(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,re.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(hb)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[o];if(o>=n.length||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(Ld(a,c),d=a.fragments[0].start):h&&(d=h.start,Nf(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,Nf(a,d))}}l.details=a,this.levelLastLoaded=l,o===s&&(!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===U.IDLE&&(Id(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=U.IDLE})}}doTick(){if(!this.media){this.state=U.IDLE;return}if(this.state===U.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=Ge.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,re.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,b=o>m-E?0:E;p=Id(g,h,Math.max(h[0].start,o),b),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,b=h[E-1];b&&b.cc===p.cc&&this.fragmentTracker.getState(b)===mt.NOT_LOADED&&(p=b)}this.fragmentTracker.getState(p)===mt.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new dm(this.tracksBuffered[this.currentTrackId]||[])}},dm=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},um=class extends Ma{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=ud(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),ud(this.media.textTracks).forEach(t=>{bn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=Ii(o,a);if(u>-1)n=a[u];else{let c=Ii(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Tn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(xn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(xn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(nm(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===Te.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Tn(e,r))return r;let s=Ii(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=Ii(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=ud(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>nm(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!z(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},cm=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){L.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},fb=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,hm=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&L.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=YR(os(e.config.preferManagedMediaSource)),this.log=L.log.bind(L,t),this.warn=L.warn.bind(L,t),this.error=L.error.bind(L,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new cm(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=os(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,mb(r),dL(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&mb(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=$E(l.codec,l.levelCodec),p=m==null?void 0:m.replace(fb,"$1"),g=$E(u,c),E=(o=g)==null?void 0:o.replace(fb,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=_d(g,this.appendSource));let b=`${h};codecs=${g}`;this.appendChangeType(a,b),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,b={execute:()=>{if(c.executeStart=self.performance.now(),g){let T=this.sourceBuffer[o];if(T){let _=E-T.timestampOffset;Math.abs(_)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${_}) sn: ${l.sn})`),T.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let T=self.performance.now();c.executeEnd=c.end=T,f.first===0&&(f.first=T),m&&m.first===0&&(m.first=T);let{sourceBuffer:_}=this,A={};for(let k in _)A[k]=Ge.getBuffered(_[k]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:A})},onError:T=>{let _={type:se.MEDIA_ERROR,parent:l.type,details:D.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)_.details=D.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];_.details=D.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(_.fatal=!0)}r.trigger(v.ERROR,_)}};s.append(b,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[ke.AUDIOVIDEO]?n.push("audiovideo"):(a[ke.AUDIO]&&n.push("audio"),a[ke.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(z(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(z(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=Ge.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=Ge.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=z(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!z(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=_d(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e,t;let r=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return r==null?void 0:r.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=z(s.duration)?s.duration:1/0,u=z(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function mb(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function dL(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var uL={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},uy=i=>String.fromCharCode(uL[i]||i),ri=15,Qi=100,cL={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},hL={17:2,18:4,21:6,22:8,23:10,19:13,20:15},fL={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},mL={25:2,26:4,29:6,30:8,31:10,27:13,28:15},pL=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],fm=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;L.log(`${this.time} [${e}] ${r}`)}}},is=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},Ud=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},mm=class{constructor(){this.uchar=" ",this.penState=new Ud}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},pm=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Ud,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Qi;t++)this.chars.push(new mm);this.logger=e}equals(e){for(let t=0;t<Qi;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Qi;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Qi;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Qi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Qi)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=uy(e);if(this.pos>=Qi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<Qi;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<Qi;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},ka=class{constructor(e){this.rows=[],this.currRow=ri-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<ri;t++)this.rows.push(new pm(e));this.logger=e}reset(){for(let e=0;e<ri;e++)this.rows[e].clear();this.currRow=ri-1}equals(e){let t=!0;for(let r=0;r<ri;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<ri;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<ri;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<ri;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<ri;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1252
+ `)),r}getTextAndFormat(){return this.rows}},Fd=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new ka(r),this.nonDisplayedMemory=new ka(r),this.lastOutputScreen=new ka(r),this.currRollUpRow=this.displayedMemory.rows[ri-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[ri-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},Bd=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=vL(),this.logger=void 0;let s=this.logger=new fm;this.channels=[null,new Fd(e,t,s),new Fd(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let r=0;r<t.length;r+=2){let s=t[r]&127,n=t[r+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+is([t[r],t[r+1]])+"] -> ("+is([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(gL(s,n,l)){ad(null,null,l),this.logger.log(3,()=>"Repeated command ("+is([s,n])+") is dropped");continue}ad(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else ad(null,null,l);if(!a&&(o=this.parseChars(s,n),o)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!a&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+is([s,n])+" orig: "+is([t[r],t[r+1]]))}}parseCmd(e,t){let r=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=33&&t<=35;if(!(r||s))return!1;let n=e===20||e===21||e===23?1:2,a=this.channels[n];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+is([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,n=(e===16||e===24)&&t>=64&&t<=95;if(!(s||n))return!1;let a=e<=23?1:2;t>=64&&t<=95?r=a===1?cL[e]:fL[e]:r=a===1?hL[e]:mL[e];let o=this.channels[a];return o?(o.setPAC(this.interpretPAC(r,t)),this.currentChannel=a,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,()=>"Special char '"+uy(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+is(s).join(",")),s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=pL[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}ad(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function ad(i,e,t){t.a=i,t.b=e}function gL(i,e,t){return t.a===i&&t.b===e}function vL(){return{a:null,b:null}}var yn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Km=function(){if(Sn!=null&&Sn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,b="",T=!0,_="auto",A="start",k=50,x="middle",M=50,O="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(w){h=""+w}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(w){f=!!w}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(w){if(typeof w!="number")throw new TypeError("Start time must be set to a number.");m=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(w){if(typeof w!="number")throw new TypeError("End time must be set to a number.");p=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(w){g=""+w,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(w){E=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return b},set:function(w){let R=r(w);if(R===!1)throw new SyntaxError("An invalid or illegal string was specified.");b=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return T},set:function(w){T=!!w,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return _},set:function(w){if(typeof w!="number"&&w!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");_=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(w){let R=s(w);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");A=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return k},set:function(w){if(w<0||w>100)throw new Error("Position must be between 0 and 100.");k=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(w){let R=s(w);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");x=R,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return M},set:function(w){if(w<0||w>100)throw new Error("Size must be between 0 and 100.");M=w,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return O},set:function(w){let R=s(w);if(!R)throw new SyntaxError("An invalid or illegal string was specified.");O=R,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),gm=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function cy(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var vm=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function hy(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var Em=new Km(0,0,""),od=Em.align==="middle"?"middle":"center";function EL(i,e,t){let r=i;function s(){let o=cy(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new vm;hy(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",od,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",od,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",od,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&Em.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",od);let c=d.get("position","auto");c==="auto"&&Em.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function fy(i){return i.replace(/<br(?: \/)?>/gi,`
1253
+ `)}var bm=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new gm,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=fy(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1254
1254
  `;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
1255
- `&&++a,t.buffer=n.slice(a),o}function s(n){hy(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Km(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{vL(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1255
+ `&&++a,t.buffer=n.slice(a),o}function s(n){hy(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Km(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{EL(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1256
1256
  `),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
1257
1257
 
1258
- `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},EL=/\r\n|\n\r|\n|\r/g,bf=function(e,t,r=0){return e.slice(r,r+t.length)===t},bL=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!z(t)||!z(r)||!z(s)||!z(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},yf=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function Wm(i,e,t){return yf(i.toString())+yf(e.toString())+yf(t)}var yL=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function TL(i,e,t,r,s,n,a){let o=new ym,l=Li(new Uint8Array(i)).trim().replace(EL,`
1258
+ `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},bL=/\r\n|\n\r|\n|\r/g,Ef=function(e,t,r=0){return e.slice(r,r+t.length)===t},yL=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!z(t)||!z(r)||!z(s)||!z(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},bf=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function Wm(i,e,t){return bf(i.toString())+bf(e.toString())+bf(t)}var TL=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function _L(i,e,t,r,s,n,a){let o=new bm,l=Li(new Uint8Array(i)).trim().replace(bL,`
1259
1259
  `).split(`
1260
- `),d=[],u=e?eL(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],b=t.ccOffset,T=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?b=t.ccOffset=E.start:yL(t,r,T)),T){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}b=T-t.presentationOffset}let _=g.endTime-g.startTime,A=Gt((g.startTime+b-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+_,0);let k=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(k)),g.id||(g.id=Wm(g.startTime,g.endTime,k)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(bf(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{bf(E,"LOCAL:")?c=E.slice(6):bf(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=bL(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
1261
- `)}),o.flush()}var Tf="stpp.ttml.im1t",my=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,py=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,_L={left:"start",center:"center",right:"end",start:"start",end:"end"};function pb(i,e,t,r){let s=oe(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Li(o)),a=JI(e.baseTime,1,e.timescale);try{n.forEach(o=>t(AL(o,a)))}catch(o){r(o)}}function AL(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=gb(_f(s,"styling","style")),d=gb(_f(s,"layout","region")),u=_f(s,"body","[begin]");return[].map.call(u,c=>{let h=gy(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=Sf(c.getAttribute("begin"),a),m=Sf(c.getAttribute("dur"),a),p=Sf(c.getAttribute("end"),a);if(f===null)throw vb(c);if(p===null){if(m===null)throw vb(c);p=f+m}let g=new Km(f-e,p-e,h);g.id=Wm(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],b=l[c.getAttribute("style")],T=SL(E,b,l),{textAlign:_}=T;if(_){let A=_L[_];A&&(g.lineAlign=A),g.align=_}return et(g,T),g}).filter(c=>c!==null)}function _f(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function gb(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function gy(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1262
- `:(n=r.childNodes)!=null&&n.length?gy(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function SL(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=Af(e,r,l)||Af(i,r,l)||Af(s,r,l);return d&&(o[l]=d),o},{})}function Af(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function vb(i){return new Error(`Could not parse ttml timestamp ${i}`)}function Sf(i,e){if(!i)return null;let t=cy(i);return t===null&&(my.test(i)?t=xL(i,e):py.test(i)&&(t=RL(i,e))),t}function xL(i,e){let t=my.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function RL(i,e){let t=py.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var Tm=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=bb(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new yn(this,"textTrack1"),t=new yn(this,"textTrack2"),r=new yn(this,"textTrack3"),s=new yn(this,"textTrack4");this.cea608Parser1=new $d(1,e,t),this.cea608Parser2=new $d(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=IL(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(Eb(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,bn(r[e]),Bb(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{bn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=bb(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)bn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===Tf);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(dy(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?cd(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&Eb(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)bn(u);else{let c=vy(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&L.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===se.MAIN){var r,s;let{cea608Parser1:n,cea608Parser2:a,lastSn:o}=this,{cc:l,sn:d}=t.frag,u=(r=(s=t.part)==null?void 0:s.index)!=null?r:-1;n&&a&&(d!==o+1||d===o&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),a.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===se.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===Tf?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;pb(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{L.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Kt(r.initSegment.data,new Uint8Array(s)):s;TL(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),L.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||pb(t,this.initPTS[e.cc],()=>{r.textCodec=Tf,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>$b(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===se.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===se.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Df(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Df(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function vy(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function Eb(i,e){return!!i&&i.kind===vy(e)&&am(e,i)}function IL(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function bb(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Rn=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&z(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&L.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},_m=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;L.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},dd="[eme]",Hd=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=L.debug.bind(L,dd),this.log=L.log.bind(L,dd),this.warn=L.warn.bind(L,dd),this.error=L.error.bind(L,dd),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Ue.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Dt?o(c):o(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return Rb===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=gR(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${xi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return xi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${xi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1263
- } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=of(this.config),n=e.map(DE).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=PE(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t});return this.generateRequestWithPreferredKeySession(l,"cenc",t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Dt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=DE(e.keyFormat),n=s?[s]:of(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=of(this.config)),e.length===0)throw new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),r===null)return;let n,a;if(t==="sinf"&&this.config.drmSystems[Ue.FAIRPLAY]){let c=st(new Uint8Array(r));try{let h=Om(JSON.parse(c).sinf),f=Pb(new Uint8Array(h));if(!f)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");n=f.subarray(8,24),a=Ue.FAIRPLAY}catch(h){this.warn(`${s} Failed to parse sinf: ${h}`);return}}else{let c=HR(r),h=c.filter(f=>f.systemId===Ia.WIDEVINE)[0];if(!h){c.length===0||c.some(f=>!f.systemId)?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${c.map(f=>ME(f.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(a=ME(h.systemId),h.version===0&&h.data){let f=h.data.length-22;n=h.data.subarray(f,f+16)}}if(!a||!n)return;let o=xi.hexDump(n),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[o];for(let c=0;c<d.length;c++){let h=d[c],f=h.decryptdata;if(!f.keyId)continue;let m=xi.hexDump(f.keyId);if(o===m||f.uri.replace(/-/g,"").indexOf(o)!==-1){if(u=l[m],f.pssh)break;delete l[m],f.pssh=new Uint8Array(r),f.keyId=n,u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(h,t,r,"encrypted-event-key-match"));break}}u||(u=l[o]=this.getKeySystemSelectionPromise([a]).then(({keySystem:c,mediaKeys:h})=>{var f;this.throwIfDestroyed();let m=new Da("ISO-23001-7",o,(f=PE(c))!=null?f:"");return m.pssh=new Uint8Array(r),m.keyId=n,this.attemptSetMediaKeys(c,h).then(()=>{this.throwIfDestroyed();let p=this.createMediaKeySessionContext({decryptdata:m,keySystem:c,mediaKeys:h});return this.generateRequestWithPreferredKeySession(p,t,r,"encrypted-event-no-match")})})),u.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new Gm,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(b=>{this.handleError(b),u.emit("error",b)}):g==="license-release"?e.keySystem===Ue.FAIRPLAY&&(this.updateKeySession(e,kf("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${xi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${xi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:pt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return kf(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Dt({type:re.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Ue.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Da.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};Hd.CDMCleanupPromise=void 0;var Dt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},yt;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(yt||(yt={}));var Am;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(Am||(Am={}));var ns;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(ns||(ns={}));var LL={[ns.OBJECT]:["br","d","ot","tb"],[ns.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[ns.SESSION]:["cid","pr","sf","sid","st","v"],[ns.STATUS]:["bs","rtp"]},Ba=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},Gd=class{constructor(e){this.description=void 0,this.description=e}},kL="Dict";function CL(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function wL(i,e,t,r){return new Error(`failed to ${i} "${CL(e)}" as ${t}`,{cause:r})}var yb="Bare Item",DL="Boolean",ML="Byte Sequence",PL="Decimal",OL="Integer";function NL(i){return i<-999999999999999||999999999999999<i}var UL=/[\x00-\x1f\x7f]+/,FL="Token",BL="Key";function ki(i,e,t){return wL("serialize",i,e,t)}function $L(i){if(typeof i!="boolean")throw ki(i,DL);return i?"?1":"?0"}function HL(i){return btoa(String.fromCharCode(...i))}function GL(i){if(ArrayBuffer.isView(i)===!1)throw ki(i,ML);return`:${HL(i)}:`}function Ey(i){if(NL(i))throw ki(i,OL);return i.toString()}function KL(i){return`@${Ey(i.getTime()/1e3)}`}function by(i,e){if(i<0)return-by(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function WL(i){let e=by(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw ki(i,PL);let t=e.toString();return t.includes(".")?t:`${t}.0`}var VL="String";function YL(i){if(UL.test(i))throw ki(i,VL);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function qL(i){return i.description||i.toString().slice(7,-1)}function Tb(i){let e=qL(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw ki(e,FL);return e}function Sm(i){switch(typeof i){case"number":if(!z(i))throw ki(i,yb);return Number.isInteger(i)?Ey(i):WL(i);case"string":return YL(i);case"symbol":return Tb(i);case"boolean":return $L(i);case"object":if(i instanceof Date)return KL(i);if(i instanceof Uint8Array)return GL(i);if(i instanceof Gd)return Tb(i);default:throw ki(i,yb)}}function xm(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw ki(i,BL);return i}function Vm(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${xm(e)}`:`;${xm(e)}=${Sm(t)}`).join("")}function yy(i){return i instanceof Ba?`${Sm(i.value)}${Vm(i.params)}`:Sm(i)}function jL(i){return`(${i.value.map(yy).join(" ")})${Vm(i.params)}`}function zL(i,e={whitespace:!0}){if(typeof i!="object")throw ki(i,kL);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof Ba||(n=new Ba(n));let a=xm(s);return n.value===!0?a+=Vm(n.params):(a+="=",Array.isArray(n.value)?a+=jL(n):a+=yy(n)),a}).join(`,${r}`)}function XL(i,e){return zL(i,e)}var QL=i=>i==="ot"||i==="sf"||i==="st",ZL=i=>typeof i=="number"?z(i):i!=null&&i!==""&&i!==!1;function JL(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function ek(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var gd=i=>Math.round(i),tk=(i,e)=>(e!=null&&e.baseUrl&&(i=JL(i,e.baseUrl)),encodeURIComponent(i)),ud=i=>gd(i/100)*100,ik={br:gd,d:gd,bl:ud,dl:ud,mtp:ud,nor:tk,rtp:ud,tb:gd};function rk(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=et({},ik,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||ZL(o)&&(QL(a)&&typeof o=="string"&&(o=new Gd(o)),t[a]=o))}),t}function Ty(i,e={}){return i?XL(rk(i,e),et({whitespace:!1},e)):""}function sk(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(LL).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||ns.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=Ty(o,e),n),{})}function nk(i,e,t){return et(i,sk(e,t))}var ak="CMCD";function ok(i,e={}){if(!i)return"";let t=Ty(i,e);return`${ak}=${encodeURIComponent(t)}`}var _b=/CMCD=[^&#]+/;function lk(i,e,t){let r=ok(e,t);if(!r)return i;if(_b.test(i))return i.replace(_b,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var Rm=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:yt.MANIFEST,su:!this.initialized})}catch(n){L.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===yt.VIDEO||o===yt.AUDIO||o==yt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){L.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||ek(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:Am.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){et(t,this.createData());let r=t.ot===yt.INIT||t.ot===yt.VIDEO||t.ot===yt.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),nk(e.headers,t)):e.url=lk(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return yt.TIMED_TEXT;if(e.sn==="initSegment")return yt.INIT;if(t==="audio")return yt.AUDIO;if(t==="main")return this.hls.audioTracks.length?yt.VIDEO:yt.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===yt.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===yt.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:He.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},dk=3e5,Im=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=L.log.bind(L,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ft.SendAlternateToPenaltyBox&&r.flags===ii.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||L.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>dk&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,Wb(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===ye.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===ye.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new qe(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=_y(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Er({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),Ab(this.audioTracks,r,l,a),Ab(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let b={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,b),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function Ab(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=et({},a);return o.details=void 0,o.attrs=new qe(o.attrs),o.url=o.attrs.URI=_y(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function _y(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var uk=/^age:\s*[\d.]+\s*$/im,Kd=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new An,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==r||this.stats.aborted))return n(r,t.url)}).catch(a=>{if(!(this.loader!==r||this.stats.aborted))return r.open("GET",t.url,!0),n(r,t.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&z(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Id(l,d,!1,u)?this.retry(l):(L.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Id(e,t,!0))this.retry(e);else{var r;L.warn(`timeout while loading ${(r=this.context)==null?void 0:r.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=Fm(e,r.retry),r.retry++,L.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&uk.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function ck(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var hk=/(\d+)-(\d+)\/(\d+)/,Wd=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||gk,this.controller=new self.AbortController,this.stats=new An}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=fk(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&z(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Lm(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=pk(c.headers)||s.total,a&&z(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!z(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new Cd,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function fk(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(et({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function mk(i){let e=hk.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function pk(i){let e=i.get("Content-Range");if(e){let r=mk(e);if(z(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function gk(i,e){return new self.Request(i.url,e)}var Lm=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},vk=/\s/,Ek={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)vk.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=fy(d.trim()),m=Wm(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>$b(i,h))),s}},bk={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},Ay=pt(pt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Kd,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Hf,bufferController:fm,capLevelController:Rn,errorController:Bf,fpsController:_m,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Rb,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:bk},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},yk()),{},{subtitleStreamController:dm,subtitleTrackController:cm,timelineController:Tm,audioStreamController:om,audioTrackController:lm,emeController:Hd,cmcdController:Rm,contentSteeringController:Im});function yk(){return{cueHandler:Ek,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function Tk(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=km(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&L.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),pt(pt({},t),e)}function km(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(km):Object.keys(i).reduce((e,t)=>(e[t]=km(i[t]),e),{}):i}function _k(i){let e=i.loader;e!==Wd&&e!==Kd?(L.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):ck()&&(i.loader=Wd,i.progressive=!0,i.enableSoftwareAES=!0,L.log("[config]: Progressive streaming enabled, using FetchLoader"))}var xf,Cm=class extends Pa{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(xf||(xf=/chrome|firefox/i.test(navigator.userAgent)),xf&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=Ad(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=zR(p));let{width:g,height:E,unknownCodecs:b}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),b!=null&&b.length||m&&!cf(m,"audio",r)||p&&!cf(p,"video",r))return;let{CODECS:T,"FRAME-RATE":_,"HDCP-LEVEL":A,"PATHWAY-ID":k,RESOLUTION:x,"VIDEO-RANGE":M}=f,D=`${`${k||"."}-`}${u.bitrate}-${x}-${_}-${T}-${M}-${A}`;if(n[D])if(n[D].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let R=a[D]+=1;u.attrs["PATHWAY-ID"]=new Array(R+1).join(".");let P=new Er(u);n[D]=P,s.push(P)}else n[D].addGroupId("audio",f.AUDIO),n[D].addGroupId("text",f.SUBTITLES);else{let R=new Er(u);n[D]=R,a[D]=1,s.push(R)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&nI(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||cf(p.audioCodec,"audio",m)),Sb(a)}t.subtitles&&(o=t.subtitles,Sb(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return Sd.indexOf(m.videoRange)-Sd.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=BE(m.videoCodec),E=BE(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=_d(m.codecSet),E=_d(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===Ay.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:re.OTHER_ERROR,details:w.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ye.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===se.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));Wb(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function Sb(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var wm=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=w.KEY_LOAD_ERROR,r,s,n){return new si({type:re.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:b}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[b])return o(this.createKeyLoadError(g,w.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,pt({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function Sy(){return self.SourceBuffer||self.WebKitSourceBuffer}function xy(){if(!os())return!1;let e=Sy();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function Ak(){if(!xy())return!1;let i=os();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(Ma(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(Ma(e,"audio"))))}function Sk(){var i;let e=Sy();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var xk=250,vd=2,Rk=.1,Ik=.05,Dm=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;L.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!He.getBuffered(s).length){this.nudgeRetry=0;return}let u=He.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>vd,E=!c||t&&t.start<=a||c-a>vd&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,_=(b==null||(h=b.details)==null?void 0:h.live)?b.details.targetduration*2:vd,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=_||A)){s.paused||this._trySkipBufferHole(A);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=xk&&(this._reportStall(u),!this.media))return;let p=He.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(L.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);L.warn(n.message),t.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=He.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,se.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,se.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+Ik,n+Rk);if(L.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);L.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);L.error(a.message),t.trigger(v.ERROR,{type:re.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},Lk=100,Mm=class extends Ua{constructor(e,t,r){super(e,t,r,"[stream-controller]",se.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(Lk),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=U.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=U.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case U.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=U.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=U.IDLE;break}break}case U.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=U.IDLE}}break}this.state===U.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=U.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===U.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=U.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==mt.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?Le.AUDIO:Le.VIDEO,E=(g===Le.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,se.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,se.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===mt.NOT_LOADED||s===mt.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,se.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case U.KEY_LOADING:case U.FRAG_LOADING:case U.FRAG_LOADING_WAITING_RETRY:case U.PARSING:case U.PARSED:this.state=U.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Dm(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;z(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!Sk(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==U.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=U.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===U.FRAG_LOADING||this.state===U.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===U.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=U.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new Ud(this.hls,se.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new Oa(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==se.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===U.PARSED&&(this.state=U.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=U.ERROR;return}switch(t.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(se.MAIN,t);break;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===U.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ye.LEVEL&&(this.state=U.IDLE);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===w.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!He.getBuffered(e).length){let r=this.state!==U.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=U.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==Le.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===Le.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,se.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=He.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=U.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=U.PARSING,m){if(m!=null&&m.tracks){let T=l.initSegment||l;this._bufferInitSegment(u,m.tracks,T,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:r,tracks:m.tracks})}let E=m.initPTS,b=m.timescale;z(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:b},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:b}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],b=l.sn===p.startSN,T=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:_,endPTS:A,startDTS:k,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:_,endPTS:A,startDTS:k,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!T&&(this.couldBacktrack=!0),c.dropped&&c.independent){let M=this.getMainFwdBufferInfo(),O=(M?M.end:this.getLoadPosition())+this.config.maxBufferHole,D=c.firstKeyFramePTS?c.firstKeyFramePTS:_;if(!b&&O<D-this.config.maxBufferHole&&!T){this.backtrack(l);return}else T&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,x,!0)}else b&&_>vd&&(l.gap=!0);l.setElementaryStreamInfo(c.type,_,A,k,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,b||T)}else if(b||T)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:b,startDTS:T,endDTS:_}=g;d&&(d.elementaryStreams[Le.AUDIO]={startPTS:E,endPTS:b,startDTS:T,endDTS:_}),l.setElementaryStreamInfo(Le.AUDIO,E,b,T,_),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==U.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=n.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,se.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=U.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(He.isBuffered(e,r)?t=this.getAppendedFrag(r):He.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&z(t)&&z(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},$a=class i{static get version(){return"1.5.15"}static isMSESupported(){return xy()}static isSupported(){return Ak()}static getMediaSource(){return os()}static get Events(){return v}static get ErrorTypes(){return re}static get ErrorDetails(){return w}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:Ay}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Gm,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,lR(e.debug||!1,"Hls instance");let t=this.config=Tk(i.DefaultConfig,e);this.userConfig=e,t.progressive&&_k(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new wf(this),m=new Pf(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Cm(this,g),b=new Kf(this),T=new wm(this.config),_=this.streamController=new Mm(this,b,T);c.setStreamController(_),h.setStreamController(_);let A=[f,E,_];g&&A.splice(1,0,g),this.networkControllers=A;let k=[d,u,c,h,m,b];this.audioTrackController=this.createController(t.audioTrackController,A);let x=t.audioStreamController;x&&A.push(new x(this,b,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let M=t.subtitleStreamController;M&&A.push(new M(this,b,T)),this.createController(t.timelineController,k),T.emeController=this.emeController=this.createController(t.emeController,k),this.cmcdController=this.createController(t.cmcdController,k),this.latencyController=this.createController(Of,k),this.coreComponents=k,A.push(l);let O=l.onErrorOut;typeof O=="function"&&this.on(v.ERROR,O,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(L.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:re.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){L.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){L.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){L.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Pm.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,L.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){L.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){L.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){L.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){L.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){L.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){L.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){L.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){L.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){L.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(L.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){sI(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};$a.defaultConfig=void 0;var Ke=$a,De={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},J={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},Ga=i=>i===De.VIDEO?"playback":i,br=class Ha extends Error{constructor(e,t=Ha.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Ha.MEDIA_ERR_NETWORK&&t<=Ha.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Ha.defaultMessages[this.code])!=null?n:"")}};br.MEDIA_ERR_ABORTED=1,br.MEDIA_ERR_NETWORK=2,br.MEDIA_ERR_DECODE=3,br.MEDIA_ERR_SRC_NOT_SUPPORTED=4,br.MEDIA_ERR_ENCRYPTED=5,br.MEDIA_ERR_CUSTOM=100,br.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var Y=br,kk=i=>i==null,ep=(i,e)=>kk(e)?!1:i in e,jm={ANY:"any",MUTED:"muted"},xe={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Wt={MSE:"mse",NATIVE:"native"},Yd={HEADER:"header",QUERY:"query",NONE:"none"},Ln=Object.values(Yd),Tr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},zm={HLS:Tr.M3U8},x2=Object.keys(zm),R2=[...Object.values(Tr),"hls","HLS"];var Ck="en",Xm={code:Ck},tt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function wk(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var Qd=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},Zd=i=>{let e=i.type;if(e){let r=e.toUpperCase();return ep(r,zm)?zm[r]:e}let{src:t}=i;return t?Dk(t):""},Py=i=>i==="VOD"?xe.ON_DEMAND:xe.LIVE,Oy=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,Dk=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return ep(r,Tr)?Tr[r]:""},_r=i=>{let e=(i!=null?i:"").split(".")[1];if(e)try{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}catch{return}},Mk=({exp:i},e=Date.now())=>!i||i*1e3<e,Pk=({sub:i},e)=>i!==e,Ok=({aud:i},e)=>!i,Nk=({aud:i},e)=>i!==e,Ny="en";function Q(i,e=!0){var t,r;let s=e&&(r=(t=Xm)==null?void 0:t[i])!=null?r:i,n=e?Xm.code:Ny;return new Uk(s,n)}var Uk=class{constructor(i,e=(t=>(t=Xm)!=null?t:Ny)()){this.message=i,this.locale=e}format(i){return this.message.replace(/\{(\w+)\}/g,(e,t)=>{var r;return(r=i[t])!=null?r:""})}toString(){return this.message}},Fk=Object.values(jm),Ry=i=>typeof i=="boolean"||typeof i=="string"&&Fk.includes(i),Bk=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=Ry(r)?r:!!r,o=()=>{s||tt(e,"playing",()=>{s=!0},{once:!0})};if(o(),tt(e,"loadstart",()=>{s=!1,o(),Ym(e,a)},{once:!0}),tt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==xe.UNKNOWN?n=i.streamType===xe.LIVE:n=!Number.isFinite(e.duration)),Ym(e,a)},{once:!0}),t&&t.once(Ke.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==xe.UNKNOWN?n=i.streamType===xe.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&tt(e,"play",()=>{e.preload==="metadata"?t.once(Ke.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=Ry(l)?l:!!l,Ym(e,a))}},Ym=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case jm.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case jm.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},$k=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return tt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function Hk(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ke.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ke.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ke.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ke.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ke.Events.BUFFER_FLUSHING,h),c||e.trigger(Ke.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ke.Events.DESTROYING,l)}var qm=i=>"time"in i?i.time:i.startTime;function Gk(i,e){e.on(Ke.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o,l;let d=(o=a.subtitleTrack)!=null?o:a.closedCaptions,u=e.subtitleTracks.findIndex(({lang:h,name:f,type:m})=>h==(d==null?void 0:d.lang)&&f===a.label&&m.toLowerCase()===a.kind),c=((l=a._id)!=null?l:a.default)?"default":`${a.kind}${u}`;Jd(i,a.kind,a.label,d==null?void 0:d.lang,c,a.default)})});let t=()=>{if(!e.subtitleTracks.length)return;let s=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind));if(!s)return;let n=e.subtitleTracks[e.subtitleTrack],a=n?n.default?"default":`${e.subtitleTracks[e.subtitleTrack].type.toLowerCase()}${e.subtitleTrack}`:void 0;if(e.subtitleTrack<0||(s==null?void 0:s.id)!==a){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u,default:c})=>s.id==="default"&&c||l==s.language&&d===s.label&&u.toLowerCase()===s.kind);e.subtitleTrack=o}(s==null?void 0:s.id)===a&&s.cues&&Array.from(s.cues).forEach(o=>{s.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ke.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ke.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&(s.label==="thumbnails"||s.kind==="chapters")){if(!((n=s.cues)!=null&&n.length)){let o="track";s.kind&&(o+=`[kind="${s.kind}"]`),s.label&&(o+=`[label="${s.label}"]`);let l=i.querySelector(o),d=(a=l==null?void 0:l.getAttribute("src"))!=null?a:"";l==null||l.removeAttribute("src"),setTimeout(()=>{l==null||l.setAttribute("src",d)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ke.Events.MANIFEST_LOADED,r),e.once(Ke.Events.MEDIA_ATTACHED,r)}function Jd(i,e,t,r,s,n){let a=document.createElement("track");return a.kind=e,a.label=t,r&&(a.srclang=r),s&&(a.id=s),n&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),i.append(a),a.track}function Uy(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function Ka(i,e,t){var r;return(r=Array.from(i.querySelectorAll("track")).find(s=>s.track.label===e&&s.track.kind===t))==null?void 0:r.track}async function Fy(i,e,t,r){let s=Ka(i,t,r);return s||(s=Jd(i,r,t),s.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))),s.mode!=="hidden"&&(s.mode="hidden"),[...e].sort((n,a)=>qm(a)-qm(n)).forEach(n=>{var a,o;let l=n.value,d=qm(n);if("endTime"in n&&n.endTime!=null)s==null||s.addCue(new VTTCue(d,n.endTime,r==="chapters"?l:JSON.stringify(l!=null?l:null)));else{let u=Array.prototype.findIndex.call(s==null?void 0:s.cues,m=>m.startTime>=d),c=(a=s==null?void 0:s.cues)==null?void 0:a[u],h=c?c.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,f=(o=s==null?void 0:s.cues)==null?void 0:o[u-1];f&&(f.endTime=d),s==null||s.addCue(new VTTCue(d,h,r==="chapters"?l:JSON.stringify(l!=null?l:null)))}}),i.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),s}var tp="cuepoints",By=Object.freeze({label:tp});async function ip(i,e,t=By){return Fy(i,e,t.label,"metadata")}var Qm=i=>({time:i.startTime,value:JSON.parse(i.text)});function $y(i,e={label:tp}){let t=Ka(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>Qm(r)):[]}function rp(i,e={label:tp}){var t,r;let s=Ka(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Qm(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Qm(a||s.activeCues[0])}async function Kk(i,e=By){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await ip(i,[],e);tt(i,"cuechange",()=>{let s=rp(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var sp="chapters",Hy=Object.freeze({label:sp}),Zm=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function np(i,e,t=Hy){return Fy(i,e,t.label,"chapters")}function Gy(i,e={label:sp}){var t;let r=Ka(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>Zm(s)):[]}function ap(i,e={label:sp}){var t,r;let s=Ka(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Zm(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Zm(a||s.activeCues[0])}async function Wk(i,e=Hy){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await np(i,[],e);tt(i,"cuechange",()=>{let s=ap(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Ky(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function Wy(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var In={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},Vk=i=>{if(i===De.VIDEO)return In.VIDEO;if(i===De.DRM)return In.DRM},Yk=(i,e)=>{var t,r;let s=Ga(i),n=`${s}Token`;return(t=e.tokens)!=null&&t[s]?(r=e.tokens)==null?void 0:r[s]:ep(n,e)?e[n]:void 0},zd=(i,e,t,r=!1,s=!(n=>(n=globalThis.navigator)==null?void 0:n.onLine)())=>{var n,a;if(s){let g=Q("Your device appears to be offline",r),E,b=Y.MEDIA_ERR_NETWORK,T=new Y(g,b,!0,E);return T.errorCategory=e,T.muxCode=J.NETWORK_OFFLINE,T.data=i,T}let o="status"in i?i.status:i.code,l=Date.now(),d=Y.MEDIA_ERR_NETWORK;if(o===200)return;let u=Ga(e),c=Yk(e,t),h=Vk(e),[f]=Qd((n=t.playbackId)!=null?n:"");if(!o||!f)return;let m=_r(c);if(c&&!m){let g=Q("The {tokenNamePrefix}-token provided is invalid or malformed.",r).format({tokenNamePrefix:u}),E=Q("Compact JWT string: {token}",r).format({token:c}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MALFORMED,b.data=i,b}if(o>=500){let g=new Y("",d,!0);return g.errorCategory=e,g.muxCode=J.NETWORK_UNKNOWN_ERROR,g}if(o===403)if(m){if(Mk(m,l)){let g={timeStyle:"medium",dateStyle:"medium"},E=Q("The video\u2019s secured {tokenNamePrefix}-token has expired.",r).format({tokenNamePrefix:u}),b=Q("Expired at: {expiredDate}. Current time: {currentDate}.",r).format({expiredDate:new Intl.DateTimeFormat("en",g).format((a=m.exp)!=null?a:0*1e3),currentDate:new Intl.DateTimeFormat("en",g).format(l)}),T=new Y(E,d,!0,b);return T.errorCategory=e,T.muxCode=J.NETWORK_TOKEN_EXPIRED,T.data=i,T}if(Pk(m,f)){let g=Q("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u}),E=Q("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",r).format({tokenNamePrefix:u,playbackId:f,tokenPlaybackId:m.sub}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_SUB_MISMATCH,b.data=i,b}if(Ok(m,h)){let g=Q("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=Q("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISSING,b.data=i,b}if(Nk(m,h)){let g=Q("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h,aud:m.aud}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISMATCH,b.data=i,b}}else{let g=Q("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u,category:e}),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MISSING,b.data=i,b}if(o===412){let g=Q("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",r),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_READY,b.data=i,b}if(o===404){let g=Q("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",r),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_FOUND,b.data=i,b}if(o===400){let g=Q("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_INVALID_URL,b.data=i,b}let p=new Y("",d,!0);return p.errorCategory=e,p.muxCode=J.NETWORK_UNKNOWN_ERROR,p.data=i,p},Vy=class Yy extends Rn{constructor(e){super(e)}get levels(){var e;return(e=this.hls.levels)!=null?e:[]}getValidLevels(e){return this.levels.filter((t,r)=>this.isLevelAllowed(t)&&r<=e)}getMaxLevel(e){let t=super.getMaxLevel(e),r=this.getValidLevels(e);if(!r[t])return t;let s=Math.min(r[t].width,r[t].height),n=Yy.minMaxResolution;return s>=n?t:Rn.getMaxLevelByMediaSize(r,n*(16/9),n)}};Vy.minMaxResolution=720;var qk=Vy,jk=qk,qd={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},zk=i=>{if(i.includes("fps"))return qd.FAIRPLAY;if(i.includes("playready"))return qd.PLAYREADY;if(i.includes("widevine"))return qd.WIDEVINE},Xk=async i=>fetch(i).then(e=>e.status!==200?Promise.reject(e):e.text()).then(e=>{let t=e.split(`
1260
+ `),d=[],u=e?tL(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],b=t.ccOffset,T=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?b=t.ccOffset=E.start:TL(t,r,T)),T){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}b=T-t.presentationOffset}let _=g.endTime-g.startTime,A=Gt((g.startTime+b-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+_,0);let k=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(k)),g.id||(g.id=Wm(g.startTime,g.endTime,k)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(Ef(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{Ef(E,"LOCAL:")?c=E.slice(6):Ef(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=yL(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
1261
+ `)}),o.flush()}var yf="stpp.ttml.im1t",my=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,py=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,AL={left:"start",center:"center",right:"end",start:"start",end:"end"};function pb(i,e,t,r){let s=oe(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Li(o)),a=eL(e.baseTime,1,e.timescale);try{n.forEach(o=>t(SL(o,a)))}catch(o){r(o)}}function SL(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=gb(Tf(s,"styling","style")),d=gb(Tf(s,"layout","region")),u=Tf(s,"body","[begin]");return[].map.call(u,c=>{let h=gy(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=Af(c.getAttribute("begin"),a),m=Af(c.getAttribute("dur"),a),p=Af(c.getAttribute("end"),a);if(f===null)throw vb(c);if(p===null){if(m===null)throw vb(c);p=f+m}let g=new Km(f-e,p-e,h);g.id=Wm(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],b=l[c.getAttribute("style")],T=xL(E,b,l),{textAlign:_}=T;if(_){let A=AL[_];A&&(g.lineAlign=A),g.align=_}return et(g,T),g}).filter(c=>c!==null)}function Tf(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function gb(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function gy(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1262
+ `:(n=r.childNodes)!=null&&n.length?gy(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function xL(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=_f(e,r,l)||_f(i,r,l)||_f(s,r,l);return d&&(o[l]=d),o},{})}function _f(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function vb(i){return new Error(`Could not parse ttml timestamp ${i}`)}function Af(i,e){if(!i)return null;let t=cy(i);return t===null&&(my.test(i)?t=RL(i,e):py.test(i)&&(t=IL(i,e))),t}function RL(i,e){let t=my.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function IL(i,e){let t=py.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var ym=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=bb(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new yn(this,"textTrack1"),t=new yn(this,"textTrack2"),r=new yn(this,"textTrack3"),s=new yn(this,"textTrack4");this.cea608Parser1=new Bd(1,e,t),this.cea608Parser2=new Bd(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=LL(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(Eb(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,bn(r[e]),Bb(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{bn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=bb(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)bn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===yf);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(dy(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?ud(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&Eb(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)bn(u);else{let c=vy(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&L.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===re.MAIN){var r,s;let{cea608Parser1:n,cea608Parser2:a,lastSn:o}=this,{cc:l,sn:d}=t.frag,u=(r=(s=t.part)==null?void 0:s.index)!=null?r:-1;n&&a&&(d!==o+1||d===o&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),a.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===re.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===yf?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;pb(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{L.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Kt(r.initSegment.data,new Uint8Array(s)):s;_L(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),L.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||pb(t,this.initPTS[e.cc],()=>{r.textCodec=yf,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>$b(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===re.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===re.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>wf(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>wf(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function vy(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function Eb(i,e){return!!i&&i.kind===vy(e)&&nm(e,i)}function LL(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function bb(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Tm=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&z(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&L.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},_m=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;L.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},ld="[eme]",$d=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=L.debug.bind(L,ld),this.log=L.log.bind(L,ld),this.warn=L.warn.bind(L,ld),this.error=L.error.bind(L,ld),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Fe.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Dt?o(c):o(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return Rb===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=vR(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${xi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return xi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${xi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1263
+ } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=af(this.config),n=e.map(DE).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=PE(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t});return this.generateRequestWithPreferredKeySession(l,"cenc",t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Dt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=DE(e.keyFormat),n=s?[s]:af(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=af(this.config)),e.length===0)throw new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),r===null)return;let n,a;if(t==="sinf"&&this.config.drmSystems[Fe.FAIRPLAY]){let c=st(new Uint8Array(r));try{let h=Om(JSON.parse(c).sinf),f=Pb(new Uint8Array(h));if(!f)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");n=f.subarray(8,24),a=Fe.FAIRPLAY}catch(h){this.warn(`${s} Failed to parse sinf: ${h}`);return}}else{let c=GR(r),h=c.filter(f=>f.systemId===Ra.WIDEVINE)[0];if(!h){c.length===0||c.some(f=>!f.systemId)?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${c.map(f=>ME(f.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(a=ME(h.systemId),h.version===0&&h.data){let f=h.data.length-22;n=h.data.subarray(f,f+16)}}if(!a||!n)return;let o=xi.hexDump(n),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[o];for(let c=0;c<d.length;c++){let h=d[c],f=h.decryptdata;if(!f.keyId)continue;let m=xi.hexDump(f.keyId);if(o===m||f.uri.replace(/-/g,"").indexOf(o)!==-1){if(u=l[m],f.pssh)break;delete l[m],f.pssh=new Uint8Array(r),f.keyId=n,u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(h,t,r,"encrypted-event-key-match"));break}}u||(u=l[o]=this.getKeySystemSelectionPromise([a]).then(({keySystem:c,mediaKeys:h})=>{var f;this.throwIfDestroyed();let m=new wa("ISO-23001-7",o,(f=PE(c))!=null?f:"");return m.pssh=new Uint8Array(r),m.keyId=n,this.attemptSetMediaKeys(c,h).then(()=>{this.throwIfDestroyed();let p=this.createMediaKeySessionContext({decryptdata:m,keySystem:c,mediaKeys:h});return this.generateRequestWithPreferredKeySession(p,t,r,"encrypted-event-no-match")})})),u.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new Gm,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(b=>{this.handleError(b),u.emit("error",b)}):g==="license-release"?e.keySystem===Fe.FAIRPLAY&&(this.updateKeySession(e,Lf("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${xi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${xi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:pt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return Lf(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Dt({type:se.KEY_SYSTEM_ERROR,details:D.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Fe.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},wa.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};$d.CDMCleanupPromise=void 0;var Dt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},yt;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(yt||(yt={}));var Am;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(Am||(Am={}));var ns;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(ns||(ns={}));var kL={[ns.OBJECT]:["br","d","ot","tb"],[ns.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[ns.SESSION]:["cid","pr","sf","sid","st","v"],[ns.STATUS]:["bs","rtp"]},Fa=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},Hd=class{constructor(e){this.description=void 0,this.description=e}},CL="Dict";function wL(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function DL(i,e,t,r){return new Error(`failed to ${i} "${wL(e)}" as ${t}`,{cause:r})}var yb="Bare Item",ML="Boolean",PL="Byte Sequence",OL="Decimal",NL="Integer";function UL(i){return i<-999999999999999||999999999999999<i}var FL=/[\x00-\x1f\x7f]+/,BL="Token",$L="Key";function ki(i,e,t){return DL("serialize",i,e,t)}function HL(i){if(typeof i!="boolean")throw ki(i,ML);return i?"?1":"?0"}function GL(i){return btoa(String.fromCharCode(...i))}function KL(i){if(ArrayBuffer.isView(i)===!1)throw ki(i,PL);return`:${GL(i)}:`}function Ey(i){if(UL(i))throw ki(i,NL);return i.toString()}function WL(i){return`@${Ey(i.getTime()/1e3)}`}function by(i,e){if(i<0)return-by(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function VL(i){let e=by(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw ki(i,OL);let t=e.toString();return t.includes(".")?t:`${t}.0`}var YL="String";function qL(i){if(FL.test(i))throw ki(i,YL);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function jL(i){return i.description||i.toString().slice(7,-1)}function Tb(i){let e=jL(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw ki(e,BL);return e}function Sm(i){switch(typeof i){case"number":if(!z(i))throw ki(i,yb);return Number.isInteger(i)?Ey(i):VL(i);case"string":return qL(i);case"symbol":return Tb(i);case"boolean":return HL(i);case"object":if(i instanceof Date)return WL(i);if(i instanceof Uint8Array)return KL(i);if(i instanceof Hd)return Tb(i);default:throw ki(i,yb)}}function xm(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw ki(i,$L);return i}function Vm(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${xm(e)}`:`;${xm(e)}=${Sm(t)}`).join("")}function yy(i){return i instanceof Fa?`${Sm(i.value)}${Vm(i.params)}`:Sm(i)}function zL(i){return`(${i.value.map(yy).join(" ")})${Vm(i.params)}`}function XL(i,e={whitespace:!0}){if(typeof i!="object")throw ki(i,CL);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof Fa||(n=new Fa(n));let a=xm(s);return n.value===!0?a+=Vm(n.params):(a+="=",Array.isArray(n.value)?a+=zL(n):a+=yy(n)),a}).join(`,${r}`)}function QL(i,e){return XL(i,e)}var ZL=i=>i==="ot"||i==="sf"||i==="st",JL=i=>typeof i=="number"?z(i):i!=null&&i!==""&&i!==!1;function ek(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function tk(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var pd=i=>Math.round(i),ik=(i,e)=>(e!=null&&e.baseUrl&&(i=ek(i,e.baseUrl)),encodeURIComponent(i)),dd=i=>pd(i/100)*100,rk={br:pd,d:pd,bl:dd,dl:dd,mtp:dd,nor:ik,rtp:dd,tb:pd};function sk(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=et({},rk,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||JL(o)&&(ZL(a)&&typeof o=="string"&&(o=new Hd(o)),t[a]=o))}),t}function Ty(i,e={}){return i?QL(sk(i,e),et({whitespace:!1},e)):""}function nk(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(kL).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||ns.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=Ty(o,e),n),{})}function ak(i,e,t){return et(i,nk(e,t))}var ok="CMCD";function lk(i,e={}){if(!i)return"";let t=Ty(i,e);return`${ok}=${encodeURIComponent(t)}`}var _b=/CMCD=[^&#]+/;function dk(i,e,t){let r=lk(e,t);if(!r)return i;if(_b.test(i))return i.replace(_b,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var Rm=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:yt.MANIFEST,su:!this.initialized})}catch(n){L.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===yt.VIDEO||o===yt.AUDIO||o==yt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){L.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||tk(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:Am.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){et(t,this.createData());let r=t.ot===yt.INIT||t.ot===yt.VIDEO||t.ot===yt.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),ak(e.headers,t)):e.url=dk(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return yt.TIMED_TEXT;if(e.sn==="initSegment")return yt.INIT;if(t==="audio")return yt.AUDIO;if(t==="main")return this.hls.audioTracks.length?yt.VIDEO:yt.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===yt.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===yt.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ge.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},uk=3e5,Im=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=L.log.bind(L,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ft.SendAlternateToPenaltyBox&&r.flags===ii.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||L.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>uk&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,Wb(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===Te.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===Te.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new qe(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=_y(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Er({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),Ab(this.audioTracks,r,l,a),Ab(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let b={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,b),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function Ab(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=et({},a);return o.details=void 0,o.attrs=new qe(o.attrs),o.url=o.attrs.URI=_y(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function _y(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var ck=/^age:\s*[\d.]+\s*$/im,Gd=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new An,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==r||this.stats.aborted))return n(r,t.url)}).catch(a=>{if(!(this.loader!==r||this.stats.aborted))return r.open("GET",t.url,!0),n(r,t.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&z(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Rd(l,d,!1,u)?this.retry(l):(L.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Rd(e,t,!0))this.retry(e);else{var r;L.warn(`timeout while loading ${(r=this.context)==null?void 0:r.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=Fm(e,r.retry),r.retry++,L.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&ck.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function hk(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var fk=/(\d+)-(\d+)\/(\d+)/,Kd=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||vk,this.controller=new self.AbortController,this.stats=new An}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=mk(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&z(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Lm(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=gk(c.headers)||s.total,a&&z(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!z(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new kd,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function mk(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(et({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function pk(i){let e=fk.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function gk(i){let e=i.get("Content-Range");if(e){let r=pk(e);if(z(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function vk(i,e){return new self.Request(i.url,e)}var Lm=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},Ek=/\s/,bk={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)Ek.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=fy(d.trim()),m=Wm(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>$b(i,h))),s}},yk={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},Ay=pt(pt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Gd,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:$f,bufferController:hm,capLevelController:Tm,errorController:Ff,fpsController:_m,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Rb,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:yk},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},Tk()),{},{subtitleStreamController:lm,subtitleTrackController:um,timelineController:ym,audioStreamController:am,audioTrackController:om,emeController:$d,cmcdController:Rm,contentSteeringController:Im});function Tk(){return{cueHandler:bk,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function _k(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=km(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&L.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),pt(pt({},t),e)}function km(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(km):Object.keys(i).reduce((e,t)=>(e[t]=km(i[t]),e),{}):i}function Ak(i){let e=i.loader;e!==Kd&&e!==Gd?(L.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):hk()&&(i.loader=Kd,i.progressive=!0,i.enableSoftwareAES=!0,L.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Sf,Cm=class extends Ma{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Sf||(Sf=/chrome|firefox/i.test(navigator.userAgent)),Sf&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=_d(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=XR(p));let{width:g,height:E,unknownCodecs:b}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),b!=null&&b.length||m&&!uf(m,"audio",r)||p&&!uf(p,"video",r))return;let{CODECS:T,"FRAME-RATE":_,"HDCP-LEVEL":A,"PATHWAY-ID":k,RESOLUTION:x,"VIDEO-RANGE":M}=f,w=`${`${k||"."}-`}${u.bitrate}-${x}-${_}-${T}-${M}-${A}`;if(n[w])if(n[w].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let R=a[w]+=1;u.attrs["PATHWAY-ID"]=new Array(R+1).join(".");let P=new Er(u);n[w]=P,s.push(P)}else n[w].addGroupId("audio",f.AUDIO),n[w].addGroupId("text",f.SUBTITLES);else{let R=new Er(u);n[w]=R,a[w]=1,s.push(R)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&aI(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||uf(p.audioCodec,"audio",m)),Sb(a)}t.subtitles&&(o=t.subtitles,Sb(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return Ad.indexOf(m.videoRange)-Ad.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=BE(m.videoCodec),E=BE(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=Td(m.codecSet),E=Td(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===Ay.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:se.OTHER_ERROR,details:D.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===Te.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===re.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));Wb(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function Sb(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var wm=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=D.KEY_LOAD_ERROR,r,s,n){return new si({type:se.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,D.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,D.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,D.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:b}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[b])return o(this.createKeyLoadError(g,D.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,D.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,pt({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,D.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,D.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function Sy(){return self.SourceBuffer||self.WebKitSourceBuffer}function xy(){if(!os())return!1;let e=Sy();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function Sk(){if(!xy())return!1;let i=os();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(Da(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(Da(e,"audio"))))}function xk(){var i;let e=Sy();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var Rk=250,gd=2,Ik=.1,Lk=.05,Dm=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;L.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!Ge.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ge.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>gd,E=!c||t&&t.start<=a||c-a>gd&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,_=(b==null||(h=b.details)==null?void 0:h.live)?b.details.targetduration*2:gd,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=_||A)){s.paused||this._trySkipBufferHole(A);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=Rk&&(this._reportStall(u),!this.media))return;let p=Ge.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(L.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);L.warn(n.message),t.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=Ge.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,re.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,re.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+Lk,n+Ik);if(L.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);L.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);L.error(a.message),t.trigger(v.ERROR,{type:se.MEDIA_ERROR,details:D.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},kk=100,Mm=class extends Na{constructor(e,t,r){super(e,t,r,"[stream-controller]",re.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(kk),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=U.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=U.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case U.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=U.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=U.IDLE;break}break}case U.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=U.IDLE}}break}this.state===U.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=U.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===U.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=U.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==mt.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?ke.AUDIO:ke.VIDEO,E=(g===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,re.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,re.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===mt.NOT_LOADED||s===mt.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,re.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case U.KEY_LOADING:case U.FRAG_LOADING:case U.FRAG_LOADING_WAITING_RETRY:case U.PARSING:case U.PARSED:this.state=U.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Dm(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;z(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!xk(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==U.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=U.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===U.FRAG_LOADING||this.state===U.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===U.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=U.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new Nd(this.hls,re.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new Pa(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==re.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===U.PARSED&&(this.state=U.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=U.ERROR;return}switch(t.details){case D.FRAG_GAP:case D.FRAG_PARSING_ERROR:case D.FRAG_DECRYPT_ERROR:case D.FRAG_LOAD_ERROR:case D.FRAG_LOAD_TIMEOUT:case D.KEY_LOAD_ERROR:case D.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(re.MAIN,t);break;case D.LEVEL_LOAD_ERROR:case D.LEVEL_LOAD_TIMEOUT:case D.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===U.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===Te.LEVEL&&(this.state=U.IDLE);break;case D.BUFFER_APPEND_ERROR:case D.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===D.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case D.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!Ge.getBuffered(e).length){let r=this.state!==U.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=U.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==ke.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,re.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=Ge.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=U.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=U.PARSING,m){if(m!=null&&m.tracks){let T=l.initSegment||l;this._bufferInitSegment(u,m.tracks,T,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:r,tracks:m.tracks})}let E=m.initPTS,b=m.timescale;z(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:b},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:b}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],b=l.sn===p.startSN,T=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:_,endPTS:A,startDTS:k,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:_,endPTS:A,startDTS:k,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!T&&(this.couldBacktrack=!0),c.dropped&&c.independent){let M=this.getMainFwdBufferInfo(),O=(M?M.end:this.getLoadPosition())+this.config.maxBufferHole,w=c.firstKeyFramePTS?c.firstKeyFramePTS:_;if(!b&&O<w-this.config.maxBufferHole&&!T){this.backtrack(l);return}else T&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,x,!0)}else b&&_>gd&&(l.gap=!0);l.setElementaryStreamInfo(c.type,_,A,k,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,b||T)}else if(b||T)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:b,startDTS:T,endDTS:_}=g;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:E,endPTS:b,startDTS:T,endDTS:_}),l.setElementaryStreamInfo(ke.AUDIO,E,b,T,_),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==U.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=n.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,re.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=U.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ge.isBuffered(e,r)?t=this.getAppendedFrag(r):Ge.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&z(t)&&z(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},Ba=class i{static get version(){return"1.5.15"}static isMSESupported(){return xy()}static isSupported(){return Sk()}static getMediaSource(){return os()}static get Events(){return v}static get ErrorTypes(){return se}static get ErrorDetails(){return D}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:Ay}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Gm,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,dR(e.debug||!1,"Hls instance");let t=this.config=_k(i.DefaultConfig,e);this.userConfig=e,t.progressive&&Ak(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Cf(this),m=new Mf(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Cm(this,g),b=new Gf(this),T=new wm(this.config),_=this.streamController=new Mm(this,b,T);c.setStreamController(_),h.setStreamController(_);let A=[f,E,_];g&&A.splice(1,0,g),this.networkControllers=A;let k=[d,u,c,h,m,b];this.audioTrackController=this.createController(t.audioTrackController,A);let x=t.audioStreamController;x&&A.push(new x(this,b,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let M=t.subtitleStreamController;M&&A.push(new M(this,b,T)),this.createController(t.timelineController,k),T.emeController=this.emeController=this.createController(t.emeController,k),this.cmcdController=this.createController(t.cmcdController,k),this.latencyController=this.createController(Pf,k),this.coreComponents=k,A.push(l);let O=l.onErrorOut;typeof O=="function"&&this.on(v.ERROR,O,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(L.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:se.OTHER_ERROR,details:D.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){L.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){L.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){L.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Pm.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,L.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){L.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){L.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){L.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){L.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){L.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){L.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){L.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){L.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){L.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(L.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){nI(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};Ba.defaultConfig=void 0;var ge=Ba,Me={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},J={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},Ha=i=>i===Me.VIDEO?"playback":i,br=class $a extends Error{constructor(e,t=$a.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=$a.MEDIA_ERR_NETWORK&&t<=$a.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=$a.defaultMessages[this.code])!=null?n:"")}};br.MEDIA_ERR_ABORTED=1,br.MEDIA_ERR_NETWORK=2,br.MEDIA_ERR_DECODE=3,br.MEDIA_ERR_SRC_NOT_SUPPORTED=4,br.MEDIA_ERR_ENCRYPTED=5,br.MEDIA_ERR_CUSTOM=100,br.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var Y=br,Ck=i=>i==null,ep=(i,e)=>Ck(e)?!1:i in e,jm={ANY:"any",MUTED:"muted"},Re={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Wt={MSE:"mse",NATIVE:"native"},Vd={HEADER:"header",QUERY:"query",NONE:"none"},In=Object.values(Vd),Tr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},zm={HLS:Tr.M3U8},R2=Object.keys(zm),I2=[...Object.values(Tr),"hls","HLS"];var wk="en",Xm={code:wk},tt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function Dk(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var Xd=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},Qd=i=>{let e=i.type;if(e){let r=e.toUpperCase();return ep(r,zm)?zm[r]:e}let{src:t}=i;return t?Mk(t):""},Oy=i=>i==="VOD"?Re.ON_DEMAND:Re.LIVE,Ny=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,Mk=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return ep(r,Tr)?Tr[r]:""},_r=i=>{let e=(i!=null?i:"").split(".")[1];if(e)try{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}catch{return}},Pk=({exp:i},e=Date.now())=>!i||i*1e3<e,Ok=({sub:i},e)=>i!==e,Nk=({aud:i},e)=>!i,Uk=({aud:i},e)=>i!==e,Uy="en";function Q(i,e=!0){var t,r;let s=e&&(r=(t=Xm)==null?void 0:t[i])!=null?r:i,n=e?Xm.code:Uy;return new Fk(s,n)}var Fk=class{constructor(i,e=(t=>(t=Xm)!=null?t:Uy)()){this.message=i,this.locale=e}format(i){return this.message.replace(/\{(\w+)\}/g,(e,t)=>{var r;return(r=i[t])!=null?r:""})}toString(){return this.message}},Bk=Object.values(jm),Ry=i=>typeof i=="boolean"||typeof i=="string"&&Bk.includes(i),$k=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=Ry(r)?r:!!r,o=()=>{s||tt(e,"playing",()=>{s=!0},{once:!0})};if(o(),tt(e,"loadstart",()=>{s=!1,o(),Ym(e,a)},{once:!0}),tt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.LIVE:n=!Number.isFinite(e.duration)),Ym(e,a)},{once:!0}),t&&t.once(ge.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&tt(e,"play",()=>{e.preload==="metadata"?t.once(ge.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=Ry(l)?l:!!l,Ym(e,a))}},Ym=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case jm.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case jm.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},Hk=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return tt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function Gk(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(ge.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(ge.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(ge.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(ge.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(ge.Events.BUFFER_FLUSHING,h),c||e.trigger(ge.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(ge.Events.DESTROYING,l)}var qm=i=>"time"in i?i.time:i.startTime;function Kk(i,e){e.on(ge.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o,l;let d=(o=a.subtitleTrack)!=null?o:a.closedCaptions,u=e.subtitleTracks.findIndex(({lang:h,name:f,type:m})=>h==(d==null?void 0:d.lang)&&f===a.label&&m.toLowerCase()===a.kind),c=((l=a._id)!=null?l:a.default)?"default":`${a.kind}${u}`;Zd(i,a.kind,a.label,d==null?void 0:d.lang,c,a.default)})});let t=()=>{if(!e.subtitleTracks.length)return;let s=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind));if(!s)return;let n=e.subtitleTracks[e.subtitleTrack],a=n?n.default?"default":`${e.subtitleTracks[e.subtitleTrack].type.toLowerCase()}${e.subtitleTrack}`:void 0;if(e.subtitleTrack<0||(s==null?void 0:s.id)!==a){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u,default:c})=>s.id==="default"&&c||l==s.language&&d===s.label&&u.toLowerCase()===s.kind);e.subtitleTrack=o}(s==null?void 0:s.id)===a&&s.cues&&Array.from(s.cues).forEach(o=>{s.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(ge.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(ge.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&(s.label==="thumbnails"||s.kind==="chapters")){if(!((n=s.cues)!=null&&n.length)){let o="track";s.kind&&(o+=`[kind="${s.kind}"]`),s.label&&(o+=`[label="${s.label}"]`);let l=i.querySelector(o),d=(a=l==null?void 0:l.getAttribute("src"))!=null?a:"";l==null||l.removeAttribute("src"),setTimeout(()=>{l==null||l.setAttribute("src",d)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(ge.Events.MANIFEST_LOADED,r),e.once(ge.Events.MEDIA_ATTACHED,r)}function Zd(i,e,t,r,s,n){let a=document.createElement("track");return a.kind=e,a.label=t,r&&(a.srclang=r),s&&(a.id=s),n&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),i.append(a),a.track}function Fy(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function Ga(i,e,t){var r;return(r=Array.from(i.querySelectorAll("track")).find(s=>s.track.label===e&&s.track.kind===t))==null?void 0:r.track}async function By(i,e,t,r){let s=Ga(i,t,r);return s||(s=Zd(i,r,t),s.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))),s.mode!=="hidden"&&(s.mode="hidden"),[...e].sort((n,a)=>qm(a)-qm(n)).forEach(n=>{var a,o;let l=n.value,d=qm(n);if("endTime"in n&&n.endTime!=null)s==null||s.addCue(new VTTCue(d,n.endTime,r==="chapters"?l:JSON.stringify(l!=null?l:null)));else{let u=Array.prototype.findIndex.call(s==null?void 0:s.cues,m=>m.startTime>=d),c=(a=s==null?void 0:s.cues)==null?void 0:a[u],h=c?c.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,f=(o=s==null?void 0:s.cues)==null?void 0:o[u-1];f&&(f.endTime=d),s==null||s.addCue(new VTTCue(d,h,r==="chapters"?l:JSON.stringify(l!=null?l:null)))}}),i.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),s}var tp="cuepoints",$y=Object.freeze({label:tp});async function ip(i,e,t=$y){return By(i,e,t.label,"metadata")}var Qm=i=>({time:i.startTime,value:JSON.parse(i.text)});function Hy(i,e={label:tp}){let t=Ga(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>Qm(r)):[]}function rp(i,e={label:tp}){var t,r;let s=Ga(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Qm(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Qm(a||s.activeCues[0])}async function Wk(i,e=$y){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await ip(i,[],e);tt(i,"cuechange",()=>{let s=rp(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var sp="chapters",Gy=Object.freeze({label:sp}),Zm=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function np(i,e,t=Gy){return By(i,e,t.label,"chapters")}function Ky(i,e={label:sp}){var t;let r=Ga(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>Zm(s)):[]}function ap(i,e={label:sp}){var t,r;let s=Ga(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Zm(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Zm(a||s.activeCues[0])}async function Vk(i,e=Gy){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await np(i,[],e);tt(i,"cuechange",()=>{let s=ap(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Wy(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function Vy(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var Rn={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},Yk=i=>{if(i===Me.VIDEO)return Rn.VIDEO;if(i===Me.DRM)return Rn.DRM},qk=(i,e)=>{var t,r;let s=Ha(i),n=`${s}Token`;return(t=e.tokens)!=null&&t[s]?(r=e.tokens)==null?void 0:r[s]:ep(n,e)?e[n]:void 0},jd=(i,e,t,r=!1,s=!(n=>(n=globalThis.navigator)==null?void 0:n.onLine)())=>{var n,a;if(s){let g=Q("Your device appears to be offline",r),E,b=Y.MEDIA_ERR_NETWORK,T=new Y(g,b,!0,E);return T.errorCategory=e,T.muxCode=J.NETWORK_OFFLINE,T.data=i,T}let o="status"in i?i.status:i.code,l=Date.now(),d=Y.MEDIA_ERR_NETWORK;if(o===200)return;let u=Ha(e),c=qk(e,t),h=Yk(e),[f]=Xd((n=t.playbackId)!=null?n:"");if(!o||!f)return;let m=_r(c);if(c&&!m){let g=Q("The {tokenNamePrefix}-token provided is invalid or malformed.",r).format({tokenNamePrefix:u}),E=Q("Compact JWT string: {token}",r).format({token:c}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MALFORMED,b.data=i,b}if(o>=500){let g=new Y("",d,!0);return g.errorCategory=e,g.muxCode=J.NETWORK_UNKNOWN_ERROR,g}if(o===403)if(m){if(Pk(m,l)){let g={timeStyle:"medium",dateStyle:"medium"},E=Q("The video\u2019s secured {tokenNamePrefix}-token has expired.",r).format({tokenNamePrefix:u}),b=Q("Expired at: {expiredDate}. Current time: {currentDate}.",r).format({expiredDate:new Intl.DateTimeFormat("en",g).format((a=m.exp)!=null?a:0*1e3),currentDate:new Intl.DateTimeFormat("en",g).format(l)}),T=new Y(E,d,!0,b);return T.errorCategory=e,T.muxCode=J.NETWORK_TOKEN_EXPIRED,T.data=i,T}if(Ok(m,f)){let g=Q("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u}),E=Q("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",r).format({tokenNamePrefix:u,playbackId:f,tokenPlaybackId:m.sub}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_SUB_MISMATCH,b.data=i,b}if(Nk(m,h)){let g=Q("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=Q("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISSING,b.data=i,b}if(Uk(m,h)){let g=Q("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h,aud:m.aud}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISMATCH,b.data=i,b}}else{let g=Q("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u,category:e}),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MISSING,b.data=i,b}if(o===412){let g=Q("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",r),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_READY,b.data=i,b}if(o===404){let g=Q("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",r),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_FOUND,b.data=i,b}if(o===400){let g=Q("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),E=Q("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new Y(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_INVALID_URL,b.data=i,b}let p=new Y("",d,!0);return p.errorCategory=e,p.muxCode=J.NETWORK_UNKNOWN_ERROR,p.data=i,p},Iy=ge.DefaultConfig.capLevelController,Yy=class qy extends Iy{constructor(e){super(e)}get levels(){var e;return(e=this.hls.levels)!=null?e:[]}getValidLevels(e){return this.levels.filter((t,r)=>this.isLevelAllowed(t)&&r<=e)}getMaxLevel(e){let t=super.getMaxLevel(e),r=this.getValidLevels(e);if(!r[t])return t;let s=Math.min(r[t].width,r[t].height),n=qy.minMaxResolution;return s>=n?t:Iy.getMaxLevelByMediaSize(r,n*(16/9),n)}};Yy.minMaxResolution=720;var jk=Yy,zk=jk,Yd={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},Xk=i=>{if(i.includes("fps"))return Yd.FAIRPLAY;if(i.includes("playready"))return Yd.PLAYREADY;if(i.includes("widevine"))return Yd.WIDEVINE},Qk=async i=>fetch(i).then(e=>e.status!==200?Promise.reject(e):e.text()).then(e=>{let t=e.split(`
1264
1264
  `).find((r,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.status!==200?Promise.reject(r):r.text()).then(r=>r.split(`
1265
- `))}),Qk=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=Py(s),a=Oy(s),o;if(n===xe.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},Zk=async(i,e)=>{if(e===Tr.MP4)return{streamType:xe.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Tr.M3U8){let t=await Xk(i);return Qk(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},Jk=async(i,e,t=Zd({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await Zk(i,t);((r=gt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=gt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=gt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},eC=i=>{var e;let t=i.type,r=Py(t),s=Oy(t),n,a=!!((e=i.partList)!=null&&e.length);return r===xe.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},tC=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=eC(i);if(c===xe.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=gt.get(e))!=null?o:{}).seekable=p}((l=gt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=gt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=gt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Iy,Ly,iC=(Ly=(Iy=globalThis==null?void 0:globalThis.navigator)==null?void 0:Iy.userAgent)!=null?Ly:"",ky,Cy,wy,rC=(wy=(Cy=(ky=globalThis==null?void 0:globalThis.navigator)==null?void 0:ky.userAgentData)==null?void 0:Cy.platform)!=null?wy:"",sC=iC.toLowerCase().includes("android")||["x11","android"].some(i=>rC.toLowerCase().includes(i)),gt=new WeakMap,yr="mux.com",Dy,My,qy=(My=(Dy=Ke).isSupported)==null?void 0:My.call(Dy),nC=sC,eu=()=>ed.utils.now(),aC=ed.utils.generateUUID,Wa=({playbackId:i,customDomain:e=yr,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:c={}}={})=>{if(!i)return;let[h,f=""]=Qd(i),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((p,g)=>{g!="token"&&m.searchParams.delete(g)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),r&&(m.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(c).forEach(([p,g])=>{g!=null&&m.searchParams.set(p,g)})),m.toString()},tu=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},op=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},oC=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:tT(i)&&(r=(t=tu(i.playbackId))!=null?t:op(i.src))!=null?r:i.src},lp=i=>{var e;return(e=gt.get(i))==null?void 0:e.error},Xd=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.streamType)!=null?t:xe.UNKNOWN},jy=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},iu=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},zy=i=>{var e;let t=(e=gt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=iu(i);return r.length?r.end(r.length-1)-t:Number.NaN},dp=.034,lC=(i,e,t=dp)=>Math.abs(i-e)<=t,Xy=(i,e,t=dp)=>i>e||lC(i,e,t),dC=(i,e=dp)=>i.paused&&Xy(i.currentTime,i.duration,e),Qy=(i,e)=>{var t,r,s;if(!e||!i.buffered.length)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},up=(i,e)=>i.ended||i.loop?i.ended:e&&Qy(i,e)?!0:dC(i),Zy=(i,e,t)=>{cp(e,t);let{metadata:r={}}=i,{view_session_id:s=aC()}=r,n=oC(i);r.view_session_id=s,r.video_id=n,i.metadata=r;let a=u=>{var c;(c=e.mux)==null||c.emit("hb",{view_drm_type:u})};i.drmTypeCb=a,gt.set(e,{});let o=uC(i,e),l=$k(i,e,o);gC(i,e,o),vC(i,e,o),Kk(e),Wk(e);let d=Bk(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},cp=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",rT),i.removeEventListener("error",Jm),i.removeEventListener("durationchange",iT),gt.delete(i),i.dispatchEvent(new Event("teardown")))};function Jy(i,e){var t;let r=Zd(i);if(r!==Tr.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Wt.MSE,o=n===Wt.NATIVE;return s&&(o||!(qy&&(a||nC)))}var uC=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=Zd(i)===Tr.M3U8,d=Jy(i,e);if(l&&!d&&qy){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=cC(r),h=hC(i),f=a!==Yd.NONE?{useHeaders:a===Yd.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ke({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==Yd.QUERY)return;let b=new URL(p);if(!b.searchParams.has("CMCD"))return;let T=((E=(g=b.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(_=>_.startsWith("sid")||_.startsWith("cid")).join(",");b.searchParams.set("CMCD",T),m.open("GET",b)},capLevelController:jk,...u,...c,...h,...o})}},cC=i=>i===xe.LIVE?{backBufferLength:8}:{},hC=i=>{let{tokens:{drm:e}={},playbackId:t,drmTypeCb:r}=i,s=tu(t);return!e||!s?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:jd(i,"fairplay"),serverCertificateUrl:eT(i,"fairplay")},"com.widevine.alpha":{licenseUrl:jd(i,"widevine")},"com.microsoft.playready":{licenseUrl:jd(i,"playready")}},requestMediaKeySystemAccessFunc:(n,a)=>(n==="com.widevine.alpha"&&(a=[...a.map(o=>{var l;let d=(l=o.videoCapabilities)==null?void 0:l.map(u=>({...u,robustness:"HW_SECURE_ALL"}));return{...o,videoCapabilities:d}}),...a]),navigator.requestMediaKeySystemAccess(n,a).then(o=>{let l=zk(n);return r==null||r(l),o}))}},fC=async i=>{let e=await fetch(i);return e.status!==200?Promise.reject(e):await e.arrayBuffer()},mC=async(i,e)=>{let t=await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i});if(t.status!==200)return Promise.reject(t);let r=await t.arrayBuffer();return new Uint8Array(r)},pC=(i,e)=>{tt(e,"encrypted",async t=>{try{let r=t.initDataType;if(r!=="skd"){console.error(`Received unexpected initialization data type "${r}"`);return}if(!e.mediaKeys){let l=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(u=>{var c;return(c=i.drmTypeCb)==null||c.call(i,qd.FAIRPLAY),u}).catch(()=>{let u=Q("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),c=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0);c.errorCategory=De.DRM,c.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,Ci(e,c)});if(!l)return;let d=await l.createMediaKeys();try{let u=await fC(eT(i,"fairplay")).catch(c=>{if(c instanceof Response){let h=zd(c,De.DRM,i);return console.error("mediaError",h==null?void 0:h.message,h==null?void 0:h.context),h?Promise.reject(h):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(c)});await d.setServerCertificate(u).catch(()=>{let c=Q("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),h=new Y(c,Y.MEDIA_ERR_ENCRYPTED,!0);return h.errorCategory=De.DRM,h.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(h)})}catch(u){Ci(e,u);return}await e.setMediaKeys(d)}let s=t.initData;if(s==null){console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);return}let n=e.mediaKeys.createSession();n.addEventListener("keystatuseschange",()=>{n.keyStatuses.forEach(l=>{let d;if(l==="internal-error"){let u=Q("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");d=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0),d.errorCategory=De.DRM,d.muxCode=J.ENCRYPTED_CDM_ERROR}else if(l==="output-restricted"||l==="output-downscaled"){let u=Q("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");d=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!1),d.errorCategory=De.DRM,d.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}d&&Ci(e,d)})});let a=await Promise.all([n.generateRequest(r,s).catch(()=>{let l=Q("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),d=new Y(l,Y.MEDIA_ERR_ENCRYPTED,!0);d.errorCategory=De.DRM,d.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED,Ci(e,d)}),new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})})]).then(([,l])=>l);n.generateRequest(r,s);let o=await mC(a,jd(i,"fairplay")).catch(l=>{if(l instanceof Response){let d=zd(l,De.DRM,i);return console.error("mediaError",d==null?void 0:d.message,d==null?void 0:d.context),d?Promise.reject(d):Promise.reject(new Error("Unexpected error in license key request"))}return Promise.reject(l)});await n.update(o).catch(()=>{let l=Q("Failed to update DRM license. This may be an issue with the player or your protected content."),d=new Y(l,Y.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=De.DRM,d.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED,Promise.reject(d)})}catch(r){Ci(e,r);return}})},jd=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=tu(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/license/${r}/${s}?token=${e}`},eT=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=tu(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/appcert/${r}/${s}?token=${e}`},tT=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(yr)||!!t&&s.includes(t.toLocaleLowerCase())},gC=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=tT(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;ed.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ke:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},vC=(i,e,t)=>{var r,s;let n=Jy(i,e),{src:a}=i,o=()=>{e.ended||!up(e,t)||(Qy(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},l,d,u=()=>{let c=iu(e),h,f;c.length>0&&(h=c.start(0),f=c.end(0)),(d!==f||l!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),l=h,d=f};if(tt(e,"durationchange",u),e&&n){let c=Zd(i);if(typeof a=="string"){let h=()=>{if(Xd(e)!==xe.LIVE||Number.isFinite(e.duration))return;let m=setInterval(u,1e3);e.addEventListener("teardown",()=>{clearInterval(m)},{once:!0}),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(m)})},f=async()=>Jk(a,e,c).then(h).catch(m=>{if(m instanceof Response){let p=zd(m,De.VIDEO,i);if(p){Ci(e,p);return}}else m instanceof Error});if(e.preload==="none"){let m=()=>{f(),e.removeEventListener("loadedmetadata",p)},p=()=>{f(),e.removeEventListener("play",m)};tt(e,"play",m,{once:!0}),tt(e,"loadedmetadata",p,{once:!0})}else f();(r=i.tokens)!=null&&r.drm?pC(i,e):tt(e,"encrypted",()=>{let m=Q("Attempting to play DRM-protected content without providing a DRM token."),p=new Y(m,Y.MEDIA_ERR_ENCRYPTED,!0);p.errorCategory=De.DRM,p.muxCode=J.ENCRYPTED_MISSING_TOKEN,Ci(e,p)},{once:!0}),e.setAttribute("src",a),i.startTime&&(((s=gt.get(e))!=null?s:{}).startTime=i.startTime,e.addEventListener("durationchange",iT,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",rT),e.addEventListener("error",Jm),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(h=>{h.remove()})},{once:!0}),tt(e,"pause",o),tt(e,"seeked",o),tt(e,"play",()=>{e.ended||Xy(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&a?(t.once(Ke.Events.LEVEL_LOADED,(c,h)=>{tC(h.details,e,t),u(),Xd(e)===xe.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ke.Events.LEVEL_UPDATED,u),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ke.Events.LEVELS_UPDATED,u)}))}),t.on(Ke.Events.ERROR,(c,h)=>{Ci(e,EC(h,i))}),e.addEventListener("error",Jm),tt(e,"waiting",o),Hk(i,t),Gk(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function iT(i){var e;let t=i.target,r=(e=gt.get(t))==null?void 0:e.startTime;if(r&&wk(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function rT(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new Y(t,r);if(e.src&&r===Y.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var n;let a=(n=lp(e))!=null?n:e.error;(a==null?void 0:a.code)===Y.MEDIA_ERR_SRC_NOT_SUPPORTED&&Ci(e,s)},500);return}if(e.src&&(r!==Y.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}Ci(e,s)}function Ci(i,e){var t;e.fatal&&(((t=gt.get(i))!=null?t:{}).error=e,i.dispatchEvent(new CustomEvent("error",{detail:e})))}function Jm(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof Y))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=gt.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var EC=(i,e)=>{var t,r,s;console.error("getErrorFromHlsErrorData()",i);let n={[Ke.ErrorTypes.NETWORK_ERROR]:Y.MEDIA_ERR_NETWORK,[Ke.ErrorTypes.MEDIA_ERROR]:Y.MEDIA_ERR_DECODE,[Ke.ErrorTypes.KEY_SYSTEM_ERROR]:Y.MEDIA_ERR_ENCRYPTED},a=u=>[w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?Y.MEDIA_ERR_NETWORK:n[u.type],o=u=>{if(u.type===re.KEY_SYSTEM_ERROR)return De.DRM;if(u.type===re.NETWORK_ERROR)return De.VIDEO},l,d=a(i);if(d===Y.MEDIA_ERR_NETWORK&&i.response){let u=(t=o(i))!=null?t:De.VIDEO;l=(r=zd(i.response,u,e))!=null?r:new Y("",d)}else if(d===Y.MEDIA_ERR_ENCRYPTED)if(i.details===w.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=Q("Attempting to play DRM-protected content without providing a DRM token.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_MISSING_TOKEN}else if(i.details===w.KEY_SYSTEM_NO_ACCESS){let u=Q("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(i.details===w.KEY_SYSTEM_NO_SESSION){let u=Q("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(i.details===w.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=Q("Failed to update DRM license. This may be an issue with the player or your protected content.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(i.details===w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=Q("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(i.details===w.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=Q("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_CDM_ERROR}else if(i.details===w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=Q("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!1),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}else l=new Y(i.error.message,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=De.DRM,l.muxCode=J.ENCRYPTED_ERROR;else l=new Y("",d,i.fatal);return l.context||(l.context=`${i.url?`url: ${i.url}
1265
+ `))}),Zk=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=Oy(s),a=Ny(s),o;if(n===Re.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},Jk=async(i,e)=>{if(e===Tr.MP4)return{streamType:Re.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Tr.M3U8){let t=await Qk(i);return Zk(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},eC=async(i,e,t=Qd({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await Jk(i,t);((r=gt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=gt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=gt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},tC=i=>{var e;let t=i.type,r=Oy(t),s=Ny(t),n,a=!!((e=i.partList)!=null&&e.length);return r===Re.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},iC=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=tC(i);if(c===Re.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=gt.get(e))!=null?o:{}).seekable=p}((l=gt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=gt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=gt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Ly,ky,rC=(ky=(Ly=globalThis==null?void 0:globalThis.navigator)==null?void 0:Ly.userAgent)!=null?ky:"",Cy,wy,Dy,sC=(Dy=(wy=(Cy=globalThis==null?void 0:globalThis.navigator)==null?void 0:Cy.userAgentData)==null?void 0:wy.platform)!=null?Dy:"",nC=rC.toLowerCase().includes("android")||["x11","android"].some(i=>sC.toLowerCase().includes(i)),gt=new WeakMap,yr="mux.com",My,Py,jy=(Py=(My=ge).isSupported)==null?void 0:Py.call(My),aC=nC,Jd=()=>Jl.utils.now(),oC=Jl.utils.generateUUID,Ka=({playbackId:i,customDomain:e=yr,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:c={}}={})=>{if(!i)return;let[h,f=""]=Xd(i),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((p,g)=>{g!="token"&&m.searchParams.delete(g)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),r&&(m.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(c).forEach(([p,g])=>{g!=null&&m.searchParams.set(p,g)})),m.toString()},eu=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},op=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},lC=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:iT(i)&&(r=(t=eu(i.playbackId))!=null?t:op(i.src))!=null?r:i.src},lp=i=>{var e;return(e=gt.get(i))==null?void 0:e.error},zd=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.streamType)!=null?t:Re.UNKNOWN},zy=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},tu=i=>{var e,t;return(t=(e=gt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},Xy=i=>{var e;let t=(e=gt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=tu(i);return r.length?r.end(r.length-1)-t:Number.NaN},dp=.034,dC=(i,e,t=dp)=>Math.abs(i-e)<=t,Qy=(i,e,t=dp)=>i>e||dC(i,e,t),uC=(i,e=dp)=>i.paused&&Qy(i.currentTime,i.duration,e),Zy=(i,e)=>{var t,r,s;if(!e||!i.buffered.length)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},up=(i,e)=>i.ended||i.loop?i.ended:e&&Zy(i,e)?!0:uC(i),Jy=(i,e,t)=>{cp(e,t);let{metadata:r={}}=i,{view_session_id:s=oC()}=r,n=lC(i);r.view_session_id=s,r.video_id=n,i.metadata=r;let a=u=>{var c;(c=e.mux)==null||c.emit("hb",{view_drm_type:u})};i.drmTypeCb=a,gt.set(e,{});let o=cC(i,e),l=Hk(i,e,o);vC(i,e,o),EC(i,e,o),Wk(e),Vk(e);let d=$k(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},cp=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",sT),i.removeEventListener("error",Jm),i.removeEventListener("durationchange",rT),gt.delete(i),i.dispatchEvent(new Event("teardown")))};function eT(i,e){var t;let r=Qd(i);if(r!==Tr.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Wt.MSE,o=n===Wt.NATIVE;return s&&(o||!(jy&&(a||aC)))}var cC=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=Qd(i)===Tr.M3U8,d=eT(i,e);if(l&&!d&&jy){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=hC(r),h=fC(i),f=a!==Vd.NONE?{useHeaders:a===Vd.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new ge({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==Vd.QUERY)return;let b=new URL(p);if(!b.searchParams.has("CMCD"))return;let T=((E=(g=b.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(_=>_.startsWith("sid")||_.startsWith("cid")).join(",");b.searchParams.set("CMCD",T),m.open("GET",b)},capLevelController:zk,...u,...c,...h,...o})}},hC=i=>i===Re.LIVE?{backBufferLength:8}:{},fC=i=>{let{tokens:{drm:e}={},playbackId:t,drmTypeCb:r}=i,s=eu(t);return!e||!s?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:qd(i,"fairplay"),serverCertificateUrl:tT(i,"fairplay")},"com.widevine.alpha":{licenseUrl:qd(i,"widevine")},"com.microsoft.playready":{licenseUrl:qd(i,"playready")}},requestMediaKeySystemAccessFunc:(n,a)=>(n==="com.widevine.alpha"&&(a=[...a.map(o=>{var l;let d=(l=o.videoCapabilities)==null?void 0:l.map(u=>({...u,robustness:"HW_SECURE_ALL"}));return{...o,videoCapabilities:d}}),...a]),navigator.requestMediaKeySystemAccess(n,a).then(o=>{let l=Xk(n);return r==null||r(l),o}))}},mC=async i=>{let e=await fetch(i);return e.status!==200?Promise.reject(e):await e.arrayBuffer()},pC=async(i,e)=>{let t=await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i});if(t.status!==200)return Promise.reject(t);let r=await t.arrayBuffer();return new Uint8Array(r)},gC=(i,e)=>{tt(e,"encrypted",async t=>{try{let r=t.initDataType;if(r!=="skd"){console.error(`Received unexpected initialization data type "${r}"`);return}if(!e.mediaKeys){let l=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(u=>{var c;return(c=i.drmTypeCb)==null||c.call(i,Yd.FAIRPLAY),u}).catch(()=>{let u=Q("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),c=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0);c.errorCategory=Me.DRM,c.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,Ci(e,c)});if(!l)return;let d=await l.createMediaKeys();try{let u=await mC(tT(i,"fairplay")).catch(c=>{if(c instanceof Response){let h=jd(c,Me.DRM,i);return console.error("mediaError",h==null?void 0:h.message,h==null?void 0:h.context),h?Promise.reject(h):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(c)});await d.setServerCertificate(u).catch(()=>{let c=Q("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),h=new Y(c,Y.MEDIA_ERR_ENCRYPTED,!0);return h.errorCategory=Me.DRM,h.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(h)})}catch(u){Ci(e,u);return}await e.setMediaKeys(d)}let s=t.initData;if(s==null){console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);return}let n=e.mediaKeys.createSession();n.addEventListener("keystatuseschange",()=>{n.keyStatuses.forEach(l=>{let d;if(l==="internal-error"){let u=Q("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");d=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0),d.errorCategory=Me.DRM,d.muxCode=J.ENCRYPTED_CDM_ERROR}else if(l==="output-restricted"||l==="output-downscaled"){let u=Q("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");d=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!1),d.errorCategory=Me.DRM,d.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}d&&Ci(e,d)})});let a=await Promise.all([n.generateRequest(r,s).catch(()=>{let l=Q("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),d=new Y(l,Y.MEDIA_ERR_ENCRYPTED,!0);d.errorCategory=Me.DRM,d.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED,Ci(e,d)}),new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})})]).then(([,l])=>l);n.generateRequest(r,s);let o=await pC(a,qd(i,"fairplay")).catch(l=>{if(l instanceof Response){let d=jd(l,Me.DRM,i);return console.error("mediaError",d==null?void 0:d.message,d==null?void 0:d.context),d?Promise.reject(d):Promise.reject(new Error("Unexpected error in license key request"))}return Promise.reject(l)});await n.update(o).catch(()=>{let l=Q("Failed to update DRM license. This may be an issue with the player or your protected content."),d=new Y(l,Y.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=Me.DRM,d.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED,Promise.reject(d)})}catch(r){Ci(e,r);return}})},qd=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=eu(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/license/${r}/${s}?token=${e}`},tT=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=eu(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/appcert/${r}/${s}?token=${e}`},iT=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(yr)||!!t&&s.includes(t.toLocaleLowerCase())},vC=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=iT(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;Jl.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?ge:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},EC=(i,e,t)=>{var r,s;let n=eT(i,e),{src:a}=i,o=()=>{e.ended||!up(e,t)||(Zy(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},l,d,u=()=>{let c=tu(e),h,f;c.length>0&&(h=c.start(0),f=c.end(0)),(d!==f||l!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),l=h,d=f};if(tt(e,"durationchange",u),e&&n){let c=Qd(i);if(typeof a=="string"){let h=()=>{if(zd(e)!==Re.LIVE||Number.isFinite(e.duration))return;let m=setInterval(u,1e3);e.addEventListener("teardown",()=>{clearInterval(m)},{once:!0}),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(m)})},f=async()=>eC(a,e,c).then(h).catch(m=>{if(m instanceof Response){let p=jd(m,Me.VIDEO,i);if(p){Ci(e,p);return}}else m instanceof Error});if(e.preload==="none"){let m=()=>{f(),e.removeEventListener("loadedmetadata",p)},p=()=>{f(),e.removeEventListener("play",m)};tt(e,"play",m,{once:!0}),tt(e,"loadedmetadata",p,{once:!0})}else f();(r=i.tokens)!=null&&r.drm?gC(i,e):tt(e,"encrypted",()=>{let m=Q("Attempting to play DRM-protected content without providing a DRM token."),p=new Y(m,Y.MEDIA_ERR_ENCRYPTED,!0);p.errorCategory=Me.DRM,p.muxCode=J.ENCRYPTED_MISSING_TOKEN,Ci(e,p)},{once:!0}),e.setAttribute("src",a),i.startTime&&(((s=gt.get(e))!=null?s:{}).startTime=i.startTime,e.addEventListener("durationchange",rT,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",sT),e.addEventListener("error",Jm),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(h=>{h.remove()})},{once:!0}),tt(e,"pause",o),tt(e,"seeked",o),tt(e,"play",()=>{e.ended||Qy(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&a?(t.once(ge.Events.LEVEL_LOADED,(c,h)=>{iC(h.details,e,t),u(),zd(e)===Re.LIVE&&!Number.isFinite(e.duration)&&(t.on(ge.Events.LEVEL_UPDATED,u),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(ge.Events.LEVELS_UPDATED,u)}))}),t.on(ge.Events.ERROR,(c,h)=>{Ci(e,bC(h,i))}),e.addEventListener("error",Jm),tt(e,"waiting",o),Gk(i,t),Kk(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function rT(i){var e;let t=i.target,r=(e=gt.get(t))==null?void 0:e.startTime;if(r&&Dk(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function sT(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new Y(t,r);if(e.src&&r===Y.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var n;let a=(n=lp(e))!=null?n:e.error;(a==null?void 0:a.code)===Y.MEDIA_ERR_SRC_NOT_SUPPORTED&&Ci(e,s)},500);return}if(e.src&&(r!==Y.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}Ci(e,s)}function Ci(i,e){var t;e.fatal&&(((t=gt.get(i))!=null?t:{}).error=e,i.dispatchEvent(new CustomEvent("error",{detail:e})))}function Jm(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof Y))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=gt.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var bC=(i,e)=>{var t,r,s;console.error("getErrorFromHlsErrorData()",i);let n={[ge.ErrorTypes.NETWORK_ERROR]:Y.MEDIA_ERR_NETWORK,[ge.ErrorTypes.MEDIA_ERROR]:Y.MEDIA_ERR_DECODE,[ge.ErrorTypes.KEY_SYSTEM_ERROR]:Y.MEDIA_ERR_ENCRYPTED},a=u=>[ge.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,ge.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?Y.MEDIA_ERR_NETWORK:n[u.type],o=u=>{if(u.type===ge.ErrorTypes.KEY_SYSTEM_ERROR)return Me.DRM;if(u.type===ge.ErrorTypes.NETWORK_ERROR)return Me.VIDEO},l,d=a(i);if(d===Y.MEDIA_ERR_NETWORK&&i.response){let u=(t=o(i))!=null?t:Me.VIDEO;l=(r=jd(i.response,u,e))!=null?r:new Y("",d)}else if(d===Y.MEDIA_ERR_ENCRYPTED)if(i.details===ge.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=Q("Attempting to play DRM-protected content without providing a DRM token.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_MISSING_TOKEN}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let u=Q("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_NO_SESSION){let u=Q("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!0),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=Q("Failed to update DRM license. This may be an issue with the player or your protected content.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=Q("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=Q("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_CDM_ERROR}else if(i.details===ge.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=Q("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");l=new Y(u,Y.MEDIA_ERR_ENCRYPTED,!1),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}else l=new Y(i.error.message,Y.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Me.DRM,l.muxCode=J.ENCRYPTED_ERROR;else l=new Y("",d,i.fatal);return l.context||(l.context=`${i.url?`url: ${i.url}
1266
1266
  `:""}${i.response&&(i.response.code||i.response.text)?`response: ${i.response.code}, ${i.response.text}
1267
1267
  `:""}${i.reason?`failure reason: ${i.reason}
1268
1268
  `:""}${i.level?`level: ${i.level}
@@ -1271,7 +1271,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1271
1271
  `:""}${i.error?`error: ${i.error}
1272
1272
  `:""}${i.event?`event: ${i.event}
1273
1273
  `:""}${i.err?`error message: ${(s=i.err)==null?void 0:s.message}
1274
- `:""}`),l.data=i,l};var bC=Object.defineProperty,yC=Object.getPrototypeOf,TC=Reflect.get,_C=(i,e,t)=>e in i?bC(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ie=(i,e,t)=>(_C(i,typeof e!="symbol"?e+"":e,t),t),Mp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},I=(i,e,t)=>(Mp(i,e,"read from private field"),t?t.call(i):e.get(i)),X=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Z=(i,e,t,r)=>(Mp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Me=(i,e,t)=>(Mp(i,e,"access private method"),t),hp=(i,e,t)=>TC(yC(i),t,e),bu=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends bu{}globalThis.DocumentFragment=i}var Pp=class extends bu{},AC=class extends bu{},SC={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Pp)}},ru,xC=class{constructor(i,e={}){X(this,ru,void 0),Z(this,ru,e==null?void 0:e.detail)}get detail(){return I(this,ru)}initCustomEvent(){}};ru=new WeakMap;function RC(i,e){return new Pp}var fT={document:{createElement:RC},DocumentFragment,customElements:SC,CustomEvent:xC,EventTarget:bu,HTMLElement:Pp,HTMLVideoElement:AC},mT=typeof window=="undefined"||typeof globalThis.customElements=="undefined",fp=mT?fT:globalThis,w2=mT?fT.document:globalThis.document,IC=()=>{try{return"0.23.0"}catch{}return"UNKNOWN"},LC=IC(),kC=()=>LC,yu=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"];function CC(i){return`
1274
+ `:""}`),l.data=i,l};var yC=Object.defineProperty,TC=Object.getPrototypeOf,_C=Reflect.get,AC=(i,e,t)=>e in i?yC(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Le=(i,e,t)=>(AC(i,typeof e!="symbol"?e+"":e,t),t),Mp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},I=(i,e,t)=>(Mp(i,e,"read from private field"),t?t.call(i):e.get(i)),X=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Z=(i,e,t,r)=>(Mp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Pe=(i,e,t)=>(Mp(i,e,"access private method"),t),hp=(i,e,t)=>_C(TC(i),t,e),Eu=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Eu{}globalThis.DocumentFragment=i}var Pp=class extends Eu{},SC=class extends Eu{},xC={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Pp)}},iu,RC=class{constructor(i,e={}){X(this,iu,void 0),Z(this,iu,e==null?void 0:e.detail)}get detail(){return I(this,iu)}initCustomEvent(){}};iu=new WeakMap;function IC(i,e){return new Pp}var mT={document:{createElement:IC},DocumentFragment,customElements:xC,CustomEvent:RC,EventTarget:Eu,HTMLElement:Pp,HTMLVideoElement:SC},pT=typeof window=="undefined"||typeof globalThis.customElements=="undefined",fp=pT?mT:globalThis,C2=pT?mT.document:globalThis.document,LC=()=>{try{return"0.23.1"}catch{}return"UNKNOWN"},kC=LC(),CC=()=>kC,bu=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"];function wC(i){return`
1275
1275
  <style>
1276
1276
  :host {
1277
1277
  display: inline-flex;
@@ -1285,10 +1285,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1285
1285
  }
1286
1286
  </style>
1287
1287
  <slot name="media">
1288
- <audio${gT(i)}></audio>
1288
+ <audio${vT(i)}></audio>
1289
1289
  </slot>
1290
1290
  <slot></slot>
1291
- `}function wC(i){return`
1291
+ `}function DC(i){return`
1292
1292
  <style>
1293
1293
  :host {
1294
1294
  display: inline-block;
@@ -1310,11 +1310,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1310
1310
  }
1311
1311
  </style>
1312
1312
  <slot name="media">
1313
- <video${gT(i)}></video>
1313
+ <video${vT(i)}></video>
1314
1314
  </slot>
1315
1315
  <slot></slot>
1316
- `}function pT(i,{tag:e,is:t}){var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,k,x,M;let O=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),D=O?DC(O):[];return n=class extends i{constructor(){super(...arguments),X(this,f),X(this,p),X(this,E),X(this,T),X(this,A),X(this,x),X(this,d,!1),X(this,u,null),X(this,c,new Map),X(this,h,void 0),Ie(this,"get"),Ie(this,"set"),Ie(this,"call")}static get observedAttributes(){var R,P,N;return Me(R=n,o,l).call(R),[...(N=(P=O==null?void 0:O.constructor)==null?void 0:P.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var R,P,N,$,G;return Me(this,f,m).call(this),(G=($=(P=(R=I(this,u))!=null?R:this.querySelector(":scope > [slot=media]"))!=null?P:this.querySelector(e))!=null?$:(N=this.shadowRoot)==null?void 0:N.querySelector(e))!=null?G:null}set nativeEl(R){Z(this,u,R)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(R){this.toggleAttribute("muted",R)}get src(){return this.getAttribute("src")}set src(R){this.setAttribute("src",`${R}`)}get preload(){var R,P;return(P=this.getAttribute("preload"))!=null?P:(R=this.nativeEl)==null?void 0:R.preload}set preload(R){this.setAttribute("preload",`${R}`)}init(){var R;if(!this.shadowRoot){this.attachShadow({mode:"open"});let P=MC(this.attributes);t&&(P.is=t),e&&(P.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(P)}this.nativeEl.muted=this.hasAttribute("muted");for(let P of D)Me(this,A,k).call(this,P);Z(this,h,new MutationObserver(Me(this,E,b).bind(this))),this.shadowRoot.addEventListener("slotchange",this),Me(this,p,g).call(this);for(let P of this.constructor.Events)(R=this.shadowRoot)==null||R.addEventListener(P,this,!0)}handleEvent(R){if(R.type==="slotchange"){Me(this,p,g).call(this);return}R.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(R.type,{detail:R.detail}))}attributeChangedCallback(R,P,N){Me(this,f,m).call(this),Me(this,x,M).call(this,R,P,N)}connectedCallback(){Me(this,f,m).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(I(this,a))return;Z(this,a,!0);let R=new Set(this.observedAttributes);R.delete("muted");for(let P of D)if(!(P in this.prototype))if(typeof O[P]=="function")this.prototype[P]=function(...N){return Me(this,f,m).call(this),(()=>{var $;if(this.call)return this.call(P,...N);let G=($=this.nativeEl)==null?void 0:$[P];return G==null?void 0:G.apply(this.nativeEl,N)})()};else{let N={get(){var $,G,K;Me(this,f,m).call(this);let ee=P.toLowerCase();if(R.has(ee)){let ae=this.getAttribute(ee);return ae===null?!1:ae===""?!0:ae}return(K=($=this.get)==null?void 0:$.call(this,P))!=null?K:(G=this.nativeEl)==null?void 0:G[P]}};P!==P.toUpperCase()&&(N.set=function($){Me(this,f,m).call(this);let G=P.toLowerCase();if(R.has(G)){$===!0||$===!1||$==null?this.toggleAttribute(G,!!$):this.setAttribute(G,$);return}if(this.set){this.set(P,$);return}this.nativeEl&&(this.nativeEl[P]=$)}),Object.defineProperty(this.prototype,P,N)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakMap,f=new WeakSet,m=function(){I(this,d)||(Z(this,d,!0),this.init())},p=new WeakSet,g=function(){var R;let P=new Map(I(this,c)),N=(R=this.shadowRoot)==null?void 0:R.querySelector("slot:not([name])");(N==null?void 0:N.assignedElements({flatten:!0}).filter($=>["track","source"].includes($.localName))).forEach($=>{var G,K;P.delete($);let ee=I(this,c).get($);ee||(ee=$.cloneNode(),I(this,c).set($,ee),(G=I(this,h))==null||G.observe($,{attributes:!0})),(K=this.nativeEl)==null||K.append(ee),Me(this,T,_).call(this,ee)}),P.forEach(($,G)=>{$.remove(),I(this,c).delete(G)})},E=new WeakSet,b=function(R){var P;for(let N of R)if(N.type==="attributes"){let{target:$,attributeName:G}=N,K=I(this,c).get($);K&&G&&(K.setAttribute(G,(P=$.getAttribute(G))!=null?P:""),Me(this,T,_).call(this,K))}},T=new WeakSet,_=function(R){R&&R.localName==="track"&&R.default&&(R.kind==="chapters"||R.kind==="metadata")&&R.track.mode==="disabled"&&(R.track.mode="hidden")},A=new WeakSet,k=function(R){if(Object.prototype.hasOwnProperty.call(this,R)){let P=this[R];delete this[R],this[R]=P}},x=new WeakSet,M=function(R,P,N){var $,G,K;["id","class"].includes(R)||!n.observedAttributes.includes(R)&&this.constructor.observedAttributes.includes(R)||(N===null?($=this.nativeEl)==null||$.removeAttribute(R):((G=this.nativeEl)==null?void 0:G.getAttribute(R))!==N&&((K=this.nativeEl)==null||K.setAttribute(R,N)))},X(n,o),Ie(n,"getTemplateHTML",e.endsWith("audio")?CC:wC),Ie(n,"shadowRootOptions",{mode:"open"}),Ie(n,"Events",yu),X(n,a,!1),n}function DC(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let r=Object.getOwnPropertyNames(t);e.push(...r)}return e}function gT(i){let e="";for(let t in i){let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function MC(i){let e={};for(let t of i)e[t.name]=t.value;return e}var sT,mp=pT((sT=globalThis.HTMLElement)!=null?sT:class{},{tag:"video"}),nT,M2=pT((nT=globalThis.HTMLElement)!=null?nT:class{},{tag:"audio"}),_s=new WeakMap,pp=class extends Error{},PC=class extends Error{},OC=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function NC(i){var e,t,r;(t=(e=globalThis.chrome)==null?void 0:e.cast)!=null&&t.isAvailable?(r=globalThis.cast)!=null&&r.framework?i():customElements.whenDefined("google-cast-button").then(i):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(i)}}function UC(){return globalThis.chrome}function FC(){var i;let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if((i=globalThis.chrome)!=null&&i.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}function As(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function Op(){var i;return(i=As())==null?void 0:i.getCurrentSession()}function Np(){var i;return(i=Op())==null?void 0:i.getSessionObj().media[0]}function BC(i){return new Promise((e,t)=>{Np().editTracksInfo(i,e,t)})}function $C(i){return new Promise((e,t)=>{Np().getStatus(i,e,t)})}function vT(i){return As().setOptions({...ET(),...i})}function ET(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var su=new OC,xr=new WeakSet,at;NC(()=>{var i,e,t,r;if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable)){console.debug("chrome.cast.isAvailable",(r=(t=globalThis.chrome)==null?void 0:t.cast)==null?void 0:r.isAvailable);return}at||(at=cast.framework,As().addEventListener(at.CastContextEventType.CAST_STATE_CHANGED,s=>{su.forEach(n=>{var a,o;return(o=(a=_s.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),As().addEventListener(at.CastContextEventType.SESSION_STATE_CHANGED,s=>{su.forEach(n=>{var a,o;return(o=(a=_s.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),su.forEach(s=>{var n,a;return(a=(n=_s.get(s)).init)==null?void 0:a.call(n)}))});var aT=0,Re,nu,Vt,Ar,Mn,kn,Ts,vp,Sr,ls,Ep,oT,vu,bp,yp,bT,au,Tp,_p,lT,ou,gp,HC=class extends EventTarget{constructor(i){super(),X(this,Sr),X(this,Ep),X(this,vu),X(this,yp),X(this,au),X(this,_p),X(this,ou),X(this,Re,void 0),X(this,nu,void 0),X(this,Vt,void 0),X(this,Ar,void 0),X(this,Mn,"disconnected"),X(this,kn,!1),X(this,Ts,new Set),X(this,vp,new WeakMap),Z(this,Re,i),su.add(this),_s.set(this,{init:()=>Me(this,au,Tp).call(this),onCastStateChanged:()=>Me(this,vu,bp).call(this),onSessionStateChanged:()=>Me(this,yp,bT).call(this),getCastPlayer:()=>I(this,Sr,ls)}),Me(this,au,Tp).call(this)}get state(){return I(this,Mn)}async watchAvailability(i){if(I(this,Re).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");return I(this,vp).set(i,++aT),I(this,Ts).add(i),aT}async cancelWatchAvailability(i){if(I(this,Re).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");i?I(this,Ts).delete(i):I(this,Ts).clear()}async prompt(){var i,e,t,r;if(I(this,Re).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new PC("The RemotePlayback API is disabled on this platform.");let s=xr.has(I(this,Re));xr.add(I(this,Re)),vT(I(this,Re).castOptions),Object.entries(I(this,Ar)).forEach(([n,a])=>{I(this,Vt).controller.addEventListener(n,a)});try{await As().requestSession()}catch(n){if(n==="cancel"){s||xr.delete(I(this,Re));return}throw new Error(n)}(r=(t=_s.get(I(this,Re)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};Re=new WeakMap,nu=new WeakMap,Vt=new WeakMap,Ar=new WeakMap,Mn=new WeakMap,kn=new WeakMap,Ts=new WeakMap,vp=new WeakMap,Sr=new WeakSet,ls=function(){if(xr.has(I(this,Re)))return I(this,Vt)},Ep=new WeakSet,oT=function(){xr.has(I(this,Re))&&(Object.entries(I(this,Ar)).forEach(([i,e])=>{I(this,Vt).controller.removeEventListener(i,e)}),xr.delete(I(this,Re)),I(this,Re).muted=I(this,Vt).isMuted,I(this,Re).currentTime=I(this,Vt).savedPlayerState.currentTime,I(this,Vt).savedPlayerState.isPaused===!1&&I(this,Re).play())},vu=new WeakSet,bp=function(){let i=As().getCastState();if(xr.has(I(this,Re))&&i==="CONNECTING"&&(Z(this,Mn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,kn)&&i!=null&&i.includes("CONNECT")){Z(this,kn,!0);for(let e of I(this,Ts))e(!0)}else if(I(this,kn)&&(!i||i==="NO_DEVICES_AVAILABLE")){Z(this,kn,!1);for(let e of I(this,Ts))e(!1)}},yp=new WeakSet,bT=async function(){var i;let{SESSION_RESUMED:e}=at.SessionState;if(As().getSessionState()===e&&I(this,Re).castSrc===((i=Np())==null?void 0:i.media.contentId)){xr.add(I(this,Re)),Object.entries(I(this,Ar)).forEach(([t,r])=>{I(this,Vt).controller.addEventListener(t,r)});try{await $C(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Ar)[at.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Ar)[at.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},au=new WeakSet,Tp=function(){!at||I(this,nu)||(Z(this,nu,!0),vT(I(this,Re).castOptions),I(this,Re).textTracks.addEventListener("change",()=>Me(this,ou,gp).call(this)),Me(this,vu,bp).call(this),Z(this,Vt,new at.RemotePlayer),new at.RemotePlayerController(I(this,Vt)),Z(this,Ar,{[at.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(Z(this,Mn,"connected"),this.dispatchEvent(new Event("connect"))):(Me(this,Ep,oT).call(this),Z(this,Mn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[at.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,Re).dispatchEvent(new Event("durationchange"))},[at.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,Re).dispatchEvent(new Event("volumechange"))},[at.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,Re).dispatchEvent(new Event("volumechange"))},[at.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,Sr,ls))!=null&&i.isMediaLoaded&&I(this,Re).dispatchEvent(new Event("timeupdate"))},[at.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,Re).dispatchEvent(new Event("resize"))},[at.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,Re).dispatchEvent(new Event(this.paused?"pause":"play"))},[at.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,Sr,ls))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,Re).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,Sr,ls))==null?void 0:e.playerState]))},[at.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,Sr,ls))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Me(this,_p,lT).call(this))}}))},_p=new WeakSet,lT=function(){Me(this,ou,gp).call(this)},ou=new WeakSet,gp=async function(){var i,e,t,r,s;if(!I(this,Sr,ls))return;let n=((e=(i=I(this,Vt).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,Re).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=Op())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await BC(h)}catch(h){console.error(h)}};var GC=i=>{var e,t,r,s,n,a,o,l,d,u;return t=class extends i{constructor(){super(...arguments),X(this,o),X(this,d),X(this,r,{paused:!1}),X(this,s,ET()),X(this,n,void 0),X(this,a,void 0)}get remote(){return I(this,a)?I(this,a):UC()?(FC(),_s.set(this,{loadOnPrompt:()=>Me(this,d,u).call(this)}),Z(this,a,new HC(this))):super.remote}attributeChangedCallback(c,h,f){if(super.attributeChangedCallback(c,h,f),c==="cast-receiver"&&f){I(this,s).receiverApplicationId=f;return}if(I(this,o,l))switch(c){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var c,h;if(!I(this,o,l))return super.load();let f=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);f.customData=this.castCustomData;let m=[...this.querySelectorAll("track")].filter(({kind:b,src:T})=>T&&(b==="subtitles"||b==="captions")),p=[],g=0;m.length&&(f.tracks=m.map(b=>{let T=++g;p.length===0&&b.track.mode==="showing"&&p.push(T);let _=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return _.trackContentId=b.src,_.trackContentType="text/vtt",_.subtype=b.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,_.name=b.label,_.language=b.srclang,_})),this.castStreamType==="live"?f.streamType=chrome.cast.media.StreamType.LIVE:f.streamType=chrome.cast.media.StreamType.BUFFERED,f.metadata=new chrome.cast.media.GenericMediaMetadata,f.metadata.title=this.title,f.metadata.images=[{url:this.poster}];let E=new chrome.cast.media.LoadRequest(f);E.currentTime=(c=super.currentTime)!=null?c:0,E.autoplay=!I(this,r).paused,E.activeTrackIds=p,await((h=Op())==null?void 0:h.loadMedia(E)),this.dispatchEvent(new Event("volumechange"))}play(){var c;if(I(this,o,l)){I(this,o,l).isPaused&&((c=I(this,o,l).controller)==null||c.playOrPause());return}return super.play()}pause(){var c;if(I(this,o,l)){I(this,o,l).isPaused||(c=I(this,o,l).controller)==null||c.playOrPause();return}super.pause()}get castOptions(){return I(this,s)}get castReceiver(){var c;return(c=this.getAttribute("cast-receiver"))!=null?c:void 0}set castReceiver(c){this.castReceiver!=c&&this.setAttribute("cast-receiver",`${c}`)}get castSrc(){var c,h,f;return(f=(h=this.getAttribute("cast-src"))!=null?h:(c=this.querySelector("source"))==null?void 0:c.src)!=null?f:this.currentSrc}set castSrc(c){this.castSrc!=c&&this.setAttribute("cast-src",`${c}`)}get castContentType(){var c;return(c=this.getAttribute("cast-content-type"))!=null?c:void 0}set castContentType(c){this.setAttribute("cast-content-type",`${c}`)}get castStreamType(){var c,h;return(h=(c=this.getAttribute("cast-stream-type"))!=null?c:this.streamType)!=null?h:void 0}set castStreamType(c){this.setAttribute("cast-stream-type",`${c}`)}get castCustomData(){return I(this,n)}set castCustomData(c){let h=typeof c;if(!["object","undefined"].includes(h)){console.error(`castCustomData must be nullish or an object but value was of type ${h}`);return}Z(this,n,c)}get readyState(){if(I(this,o,l))switch(I(this,o,l).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return I(this,o,l)?I(this,o,l).isPaused:super.paused}get muted(){var c;return I(this,o,l)?(c=I(this,o,l))==null?void 0:c.isMuted:super.muted}set muted(c){var h;if(I(this,o,l)){(c&&!I(this,o,l).isMuted||!c&&I(this,o,l).isMuted)&&((h=I(this,o,l).controller)==null||h.muteOrUnmute());return}super.muted=c}get volume(){var c,h;return I(this,o,l)?(h=(c=I(this,o,l))==null?void 0:c.volumeLevel)!=null?h:1:super.volume}set volume(c){var h;if(I(this,o,l)){I(this,o,l).volumeLevel=+c,(h=I(this,o,l).controller)==null||h.setVolumeLevel();return}super.volume=c}get duration(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.duration)!=null?f:NaN:super.duration}get currentTime(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.currentTime)!=null?f:0:super.currentTime}set currentTime(c){var h;if(I(this,o,l)){I(this,o,l).currentTime=c,(h=I(this,o,l).controller)==null||h.seek();return}super.currentTime=c}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var c,h;return(h=(c=_s.get(this.remote))==null?void 0:c.getCastPlayer)==null?void 0:h.call(c)},d=new WeakSet,u=async function(){I(this,r).paused=hp(t.prototype,this,"paused"),hp(t.prototype,this,"pause").call(this),this.muted=hp(t.prototype,this,"muted");try{await this.load()}catch(c){console.error(c)}},Ie(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Tu=class extends Event{constructor(i,e){super(i),Ie(this,"track"),this.track=e.track}},Ap=new WeakMap;function j(i){var e;return(e=Ap.get(i))!=null?e:KC(i,{})}function KC(i,e){let t=Ap.get(i);return t||Ap.set(i,t={}),Object.assign(t,e)}function Sp(i,e){let t=i.videoTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in Rp.prototype||Object.defineProperty(Rp.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function xp(i){var e;let t=(e=j(i).media)==null?void 0:e.videoTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function WC(i){var e;let t=(e=j(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(j(t).changeRequested)return;j(t).changeRequested=!0,queueMicrotask(()=>{delete j(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var ds,us,cs,Cn,Va,Rp=class extends EventTarget{constructor(){super(),X(this,Cn),X(this,ds,void 0),X(this,us,void 0),X(this,cs,void 0),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,Cn,Va).values()}get length(){return I(this,Cn,Va).size}getTrackById(i){var e;return(e=[...I(this,Cn,Va)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,Cn,Va)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,ds)}set onaddtrack(i){I(this,ds)&&(this.removeEventListener("addtrack",I(this,ds)),Z(this,ds,void 0)),typeof i=="function"&&(Z(this,ds,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,us)}set onremovetrack(i){I(this,us)&&(this.removeEventListener("removetrack",I(this,us)),Z(this,us,void 0)),typeof i=="function"&&(Z(this,us,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,cs)}set onchange(i){I(this,cs)&&(this.removeEventListener("change",I(this,cs)),Z(this,cs,void 0)),typeof i=="function"&&(Z(this,cs,i),this.addEventListener("change",i))}};ds=new WeakMap,us=new WeakMap,cs=new WeakMap,Cn=new WeakSet,Va=function(){return j(this).trackSet};var _u=class extends Event{constructor(i,e){super(i),Ie(this,"rendition"),this.rendition=e.rendition}};function VC(i,e){let t=j(i).media.videoRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in Ip.prototype||Object.defineProperty(Ip.prototype,s,{get(){return wn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function YC(i){let e=j(i).media.videoRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.selected&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function qC(i){let e=j(i).media.videoRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function wn(i){return[...j(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...j(e).renditionSet])}var hs,fs,ms,Ip=class extends EventTarget{constructor(){super(...arguments),X(this,hs,void 0),X(this,fs,void 0),X(this,ms,void 0)}[Symbol.iterator](){return wn(this).values()}get length(){return wn(this).length}getRenditionById(i){var e;return(e=wn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return wn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of wn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,hs)}set onaddrendition(i){I(this,hs)&&(this.removeEventListener("addrendition",I(this,hs)),Z(this,hs,void 0)),typeof i=="function"&&(Z(this,hs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,fs)}set onremoverendition(i){I(this,fs)&&(this.removeEventListener("removerendition",I(this,fs)),Z(this,fs,void 0)),typeof i=="function"&&(Z(this,fs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,ms)}set onchange(i){I(this,ms)&&(this.removeEventListener("change",I(this,ms)),Z(this,ms,void 0)),typeof i=="function"&&(Z(this,ms,i),this.addEventListener("change",i))}};hs=new WeakMap,fs=new WeakMap,ms=new WeakMap;var Ya,jC=class{constructor(){Ie(this,"src"),Ie(this,"id"),Ie(this,"width"),Ie(this,"height"),Ie(this,"bitrate"),Ie(this,"frameRate"),Ie(this,"codec"),X(this,Ya,!1)}get selected(){return I(this,Ya)}set selected(i){I(this,Ya)!==i&&(Z(this,Ya,i),qC(this))}};Ya=new WeakMap;var qa,yT=class{constructor(){Ie(this,"id"),Ie(this,"kind"),Ie(this,"label",""),Ie(this,"language",""),Ie(this,"sourceBuffer"),X(this,qa,!1)}addRendition(i,e,t,r,s,n){let a=new jC;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,VC(this,a),a}removeRendition(i){YC(i)}get selected(){return I(this,qa)}set selected(i){I(this,qa)!==i&&(Z(this,qa,i),i===!0&&WC(this))}};qa=new WeakMap;function zC(i,e){let t=j(i).media.audioRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in Lp.prototype||Object.defineProperty(Lp.prototype,s,{get(){return Dn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function XC(i){let e=j(i).media.audioRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.enabled&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function QC(i){let e=j(i).media.audioRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Dn(i){return[...j(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...j(e).renditionSet])}var ps,gs,vs,Lp=class extends EventTarget{constructor(){super(...arguments),X(this,ps,void 0),X(this,gs,void 0),X(this,vs,void 0)}[Symbol.iterator](){return Dn(this).values()}get length(){return Dn(this).length}getRenditionById(i){var e;return(e=Dn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Dn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Dn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,ps)}set onaddrendition(i){I(this,ps)&&(this.removeEventListener("addrendition",I(this,ps)),Z(this,ps,void 0)),typeof i=="function"&&(Z(this,ps,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,gs)}set onremoverendition(i){I(this,gs)&&(this.removeEventListener("removerendition",I(this,gs)),Z(this,gs,void 0)),typeof i=="function"&&(Z(this,gs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,vs)}set onchange(i){I(this,vs)&&(this.removeEventListener("change",I(this,vs)),Z(this,vs,void 0)),typeof i=="function"&&(Z(this,vs,i),this.addEventListener("change",i))}};ps=new WeakMap,gs=new WeakMap,vs=new WeakMap;var ja,ZC=class{constructor(){Ie(this,"src"),Ie(this,"id"),Ie(this,"bitrate"),Ie(this,"codec"),X(this,ja,!1)}get selected(){return I(this,ja)}set selected(i){I(this,ja)!==i&&(Z(this,ja,i),QC(this))}};ja=new WeakMap;function kp(i,e){let t=i.audioTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in wp.prototype||Object.defineProperty(wp.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function Cp(i){var e;let t=(e=j(i).media)==null?void 0:e.audioTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function JC(i){let e=j(i).media.audioTracks;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Es,bs,ys,za,lu,wp=class extends EventTarget{constructor(){super(),X(this,za),X(this,Es,void 0),X(this,bs,void 0),X(this,ys,void 0),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,za,lu).values()}get length(){return I(this,za,lu).size}getTrackById(i){var e;return(e=[...I(this,za,lu)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,Es)}set onaddtrack(i){I(this,Es)&&(this.removeEventListener("addtrack",I(this,Es)),Z(this,Es,void 0)),typeof i=="function"&&(Z(this,Es,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,bs)}set onremovetrack(i){I(this,bs)&&(this.removeEventListener("removetrack",I(this,bs)),Z(this,bs,void 0)),typeof i=="function"&&(Z(this,bs,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,ys)}set onchange(i){I(this,ys)&&(this.removeEventListener("change",I(this,ys)),Z(this,ys,void 0)),typeof i=="function"&&(Z(this,ys,i),this.addEventListener("change",i))}};Es=new WeakMap,bs=new WeakMap,ys=new WeakMap,za=new WeakSet,lu=function(){return j(this).trackSet};var Xa,TT=class{constructor(){Ie(this,"id"),Ie(this,"kind"),Ie(this,"label",""),Ie(this,"language",""),Ie(this,"sourceBuffer"),X(this,Xa,!1)}addRendition(i,e,t){let r=new ZC;return r.src=i,r.codec=e,r.bitrate=t,zC(this,r),r}removeRendition(i){XC(i)}get enabled(){return I(this,Xa)}set enabled(i){I(this,Xa)!==i&&(Z(this,Xa,i),JC(this))}};Xa=new WeakMap;var dT=Eu(globalThis.HTMLMediaElement,"video"),uT=Eu(globalThis.HTMLMediaElement,"audio");function ew(i){if(!(i!=null&&i.prototype))return i;let e=Eu(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return tw(this)}});let t=Eu(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return iw(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new yT;return l.kind=n,l.label=a,l.language=o,Sp(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=xp),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new TT;return l.kind=n,l.label=a,l.language=o,kp(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=Cp),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=j(n).videoRenditions;return a||(a=new Ip,j(a).media=n,j(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=j(n).audioRenditions;return a||(a=new Lp,j(a).media=n,j(n).audioRenditions=a),a};return i}function Eu(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function tw(i){var e;let t=j(i).videoTracks;if(!t&&(t=new Rp,j(i).videoTracks=t,dT)){let r=dT.call((e=i.nativeEl)!=null?e:i);for(let s of r)Sp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof yT)){for(let n of r)xp(n);return}Sp(i,s.track)}),r.addEventListener("removetrack",s=>{xp(s.track)})}return t}function iw(i){var e;let t=j(i).audioTracks;if(!t&&(t=new wp,j(i).audioTracks=t,uT)){let r=uT.call((e=i.nativeEl)!=null?e:i);for(let s of r)kp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof TT)){for(let n of r)Cp(n);return}kp(i,s.track)}),r.addEventListener("removetrack",s=>{Cp(s.track)})}return t}yu.push("castchange","entercast","leavecast");var C={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},rw=Object.values(C),cT=kC(),hT="mux-video",wi,Qa,du,Za,uu,cu,hu,fu,mu,Ja,pu,sw=class extends mp{constructor(){super(),X(this,Ja),X(this,wi,void 0),X(this,Qa,void 0),X(this,du,void 0),X(this,Za,{}),X(this,uu,{}),X(this,cu,void 0),X(this,hu,void 0),X(this,fu,void 0),X(this,mu,void 0),Z(this,du,eu())}static get NAME(){return hT}static get VERSION(){return cT}static get observedAttributes(){var i;return[...rw,...(i=mp.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(C.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?Ln.includes(i)?this.setAttribute(C.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${Ln.join()}`):this.removeAttribute(C.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(C.PLAYER_INIT_TIME)?+this.getAttribute(C.PLAYER_INIT_TIME):I(this,du)}set playerInitTime(i){i!=this.playerInitTime&&(i==null?this.removeAttribute(C.PLAYER_INIT_TIME):this.setAttribute(C.PLAYER_INIT_TIME,`${+i}`))}get playerSoftwareName(){var i;return(i=I(this,fu))!=null?i:hT}set playerSoftwareName(i){Z(this,fu,i)}get playerSoftwareVersion(){var i;return(i=I(this,hu))!=null?i:cT}set playerSoftwareVersion(i){Z(this,hu,i)}get _hls(){var i;return(i=I(this,wi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=lp(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,mu)}set errorTranslator(i){Z(this,mu,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(C.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(C.TYPE,i):this.removeAttribute(C.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(C.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(C.DEBUG,""):this.removeAttribute(C.DEBUG))}get disableTracking(){return this.hasAttribute(C.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(C.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(C.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(C.DISABLE_COOKIES,""):this.removeAttribute(C.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(C.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(C.START_TIME):this.setAttribute(C.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(C.PLAYBACK_ID)?this.getAttribute(C.PLAYBACK_ID):(i=op(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(C.PLAYBACK_ID,i):this.removeAttribute(C.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(C.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(C.MAX_RESOLUTION,i):this.removeAttribute(C.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(C.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(C.MIN_RESOLUTION,i):this.removeAttribute(C.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(C.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(C.RENDITION_ORDER,i):this.removeAttribute(C.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(C.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(C.PROGRAM_START_TIME):this.setAttribute(C.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(C.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(C.PROGRAM_END_TIME):this.setAttribute(C.PROGRAM_END_TIME,`${i}`)}get assetStartTime(){let i=this.getAttribute(C.ASSET_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetStartTime(i){i==null?this.removeAttribute(C.ASSET_START_TIME):this.setAttribute(C.ASSET_START_TIME,`${i}`)}get assetEndTime(){let i=this.getAttribute(C.ASSET_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetEndTime(i){i==null?this.removeAttribute(C.ASSET_END_TIME):this.setAttribute(C.ASSET_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(C.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(C.CUSTOM_DOMAIN,i):this.removeAttribute(C.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(C.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(C.DRM_TOKEN,i):this.removeAttribute(C.DRM_TOKEN))}get playbackToken(){var i,e,t,r;if(this.hasAttribute(C.PLAYBACK_TOKEN))return(i=this.getAttribute(C.PLAYBACK_TOKEN))!=null?i:void 0;if(this.hasAttribute(C.PLAYBACK_ID)){let[,s]=Qd((e=this.playbackId)!=null?e:"");return(t=new URLSearchParams(s).get("token"))!=null?t:void 0}if(this.src)return(r=new URLSearchParams(this.src).get("token"))!=null?r:void 0}set playbackToken(i){i!==this.playbackToken&&(i?this.setAttribute(C.PLAYBACK_TOKEN,i):this.removeAttribute(C.PLAYBACK_TOKEN))}get tokens(){let i=this.getAttribute(C.PLAYBACK_TOKEN),e=this.getAttribute(C.DRM_TOKEN);return{...I(this,uu),...i!=null?{playback:i}:{},...e!=null?{drm:e}:{}}}set tokens(i){Z(this,uu,i!=null?i:{})}get ended(){return up(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(C.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(C.ENV_KEY,i):this.removeAttribute(C.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(C.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(C.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(C.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(C.STREAM_TYPE))!=null?i:Xd(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(C.STREAM_TYPE,i):this.removeAttribute(C.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(C.TARGET_LIVE_WINDOW)?+this.getAttribute(C.TARGET_LIVE_WINDOW):jy(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(C.TARGET_LIVE_WINDOW):this.setAttribute(C.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(C.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return zy(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(C.LIVE_EDGE_OFFSET))return+this.getAttribute(C.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.liveEdgeOffset&&(i==null?this.removeAttribute(C.LIVE_EDGE_OFFSET):this.setAttribute(C.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return iu(this.nativeEl)}async addCuePoints(i){return ip(this.nativeEl,i)}get activeCuePoint(){return rp(this.nativeEl)}get cuePoints(){return $y(this.nativeEl)}async addChapters(i){return np(this.nativeEl,i)}get activeChapter(){return ap(this.nativeEl)}get chapters(){return Gy(this.nativeEl)}getStartDate(){return Ky(this.nativeEl,this._hls)}get currentPdt(){return Wy(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(C.PREFER_PLAYBACK);if(i===Wt.MSE||i===Wt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Wt.MSE||i===Wt.NATIVE?this.setAttribute(C.PREFER_PLAYBACK,i):this.removeAttribute(C.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![C.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...I(this,Za)}}set metadata(i){Z(this,Za,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,Za))}get _hlsConfig(){return I(this,cu)}set _hlsConfig(i){Z(this,cu,i)}load(){Z(this,wi,Zy(this,this.nativeEl,I(this,wi)))}unload(){cp(this.nativeEl,I(this,wi)),Z(this,wi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(mp.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case C.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case C.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Me(this,Ja,pu).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Me(this,Ja,pu).call(this));break}case"autoplay":if(t===e)break;(r=I(this,wi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,wi))==null||s.setPreload(t);break;case C.PLAYBACK_ID:this.src=Wa(this);break;case C.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case C.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case C.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case C.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!I(this,wi)&&Me(this,Ja,pu).call(this)}disconnectedCallback(){this.unload()}};wi=new WeakMap,Qa=new WeakMap,du=new WeakMap,Za=new WeakMap,uu=new WeakMap,cu=new WeakMap,hu=new WeakMap,fu=new WeakMap,mu=new WeakMap,Ja=new WeakSet,pu=async function(){I(this,Qa)||(await Z(this,Qa,Promise.resolve()),Z(this,Qa,null),this.load())};var gu,Dp=class extends GC(ew(sw)){constructor(){super(...arguments),X(this,gu,void 0)}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var i;return(i=I(this,gu))!=null?i:this.muxCastCustomData}set castCustomData(i){Z(this,gu,i)}};gu=new WeakMap;fp.customElements.get("mux-video")||(fp.customElements.define("mux-video",Dp),fp.MuxVideoElement=Dp);var _T=Dp;function AT(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Au(t)}: ${r}; `)}),e?e.trim():void 0}function Au(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Su(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function St(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function Up(i){let e=nw(i).toString();return e?"?"+e:""}function nw(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}var Fp=(i,e)=>!i||!e?!1:i.contains(e)?!0:Fp(i,e.getRootNode().host);var ST="mux.com",aw=()=>{try{return"3.2.0"}catch{}return"UNKNOWN"},ow=aw(),Ru=()=>ow,xT=(i,{token:e,customDomain:t=ST,thumbnailTime:r,programTime:s}={})=>{var o;let n=e==null?r:void 0,{aud:a}=(o=_r(e))!=null?o:{};if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${Up({token:e,time:n,program_time:s})}`},RT=(i,{token:e,customDomain:t=ST,programStartTime:r,programEndTime:s}={})=>{var a;let{aud:n}=(a=_r(e))!=null?a:{};if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${Up({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},eo=i=>{if(i){if([xe.LIVE,xe.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return xe.LIVE}};var lw={crossorigin:"crossOrigin",playsinline:"playsInline"};function IT(i){var e;return(e=lw[i])!=null?e:Su(i)}var Ss,xs,xt,xu=class{constructor(e,t){Xe(this,Ss,void 0);Xe(this,xs,void 0);Xe(this,xt,[]);Ut(this,Ss,e),Ut(this,xs,t)}[Symbol.iterator](){return Te(this,xt).values()}get length(){return Te(this,xt).length}get value(){var e;return(e=Te(this,xt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Ut(this,xt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Te(this,xt)[e]}values(){return Te(this,xt).values()}keys(){return Te(this,xt).keys()}forEach(e){Te(this,xt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||Te(this,xt).push(s)}),!(this.value===""&&!((t=Te(this,Ss))!=null&&t.hasAttribute(`${Te(this,xs)}`)))&&((r=Te(this,Ss))==null||r.setAttribute(`${Te(this,xs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{Te(this,xt).splice(Te(this,xt).indexOf(r),1)}),(t=Te(this,Ss))==null||t.setAttribute(`${Te(this,xs)}`,`${this.value}`)}contains(e){return Te(this,xt).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Ss=new WeakMap,xs=new WeakMap,xt=new WeakMap;var LT=`[mux-player ${Ru()}]`;function Di(...i){console.warn(LT,...i)}function Pt(...i){console.error(LT,...i)}function Bp(i){var t;let e=(t=i.message)!=null?t:"";i.context&&(e+=` ${i.context}`),i.file&&(e+=` ${Q("Read more: ")}
1317
- https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Di(e)}var Tt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Rs={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},CT=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),dw=yu.filter(i=>i!=="error"),uw=Object.values(Tt).filter(i=>![Tt.PLAYSINLINE].includes(i)),cw=Object.values(Rs),$p=class extends It.HTMLElement{static get observedAttributes(){return[...uw,...cw]}constructor(){super()}init(){dw.forEach(e=>{var t;(t=this.media)==null||t.addEventListener(e,r=>{this.dispatchEvent(new Event(r.type))})})}attributeChangedCallback(e,t,r){var s,n;switch(e){case Rs.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case Rs.VOLUME:{let a=(s=St(r))!=null?s:1;this.media&&(this.media.volume=a);return}case Rs.PLAYBACKRATE:{let a=(n=St(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}load(){var e;(e=this.media)==null||e.load()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:CT}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:CT}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentSrc(){var e,t;return(t=(e=this.media)==null?void 0:e.currentSrc)!=null?t:""}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=St(this.getAttribute(Rs.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(Rs.PLAYBACKRATE,`${e}`):this.removeAttribute(Rs.PLAYBACKRATE)}get crossOrigin(){return to(this,Tt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tt.CROSSORIGIN,`${e}`)}get autoplay(){return to(this,Tt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Tt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Tt.AUTOPLAY)}get loop(){return to(this,Tt.LOOP)!=null}set loop(e){e?this.setAttribute(Tt.LOOP,""):this.removeAttribute(Tt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return to(this,Tt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Tt.MUTED,""):this.removeAttribute(Tt.MUTED)}get playsInline(){return to(this,Tt.PLAYSINLINE)!=null}set playsInline(e){Pt("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tt.PRELOAD,e):this.removeAttribute(Tt.PRELOAD)}};function to(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var Hp=$p;var OT=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>(OT(i,e,"read from private field"),t?t.call(i):e.get(i)),Mi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ji=(i,e,t,r)=>(OT(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Pn,Iu,Is,io,Rr,Ir,Lr,Ls,On,Lu,ai,wT=1,DT=0,hw=1,fw={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},er=class extends S.DocumentFragment{constructor(e,t,r=fw){var s;super(),Mi(this,Pn,void 0),Mi(this,Iu,void 0),this.append(e.content.cloneNode(!0)),Ji(this,Pn,NT(this)),Ji(this,Iu,r),(s=r.createCallback)==null||s.call(r,this,de(this,Pn),t),r.processCallback(this,de(this,Pn),t)}update(e){de(this,Iu).processCallback(this,de(this,Pn),e)}};Pn=new WeakMap;Iu=new WeakMap;var NT=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Gp;for([t,r]of PT(s.value))if(!t)n.append(r);else{let a=new Rt(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===wT&&!(s instanceof HTMLTemplateElement))NT(s,e);else{let n=s.data;if(s.nodeType===wT||n.includes("{{")){let a=[];if(n)for([t,r]of PT(n))if(!t)a.push(new Text(r));else{let o=new tr(i);a.push(o),e.push([r,o])}else if(s instanceof HTMLTemplateElement){let o=new ro(i,s);a.push(o),e.push([o.expression,o])}s.replaceWith(...a.flatMap(o=>o.replacementNodes||[o]))}}return e},MT={},PT=i=>{let e="",t=0,r=MT[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([DT,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([hw,e.trim()]),e="",s++):e+=n||"";return e&&r.push([DT,(t>0?"{{":"")+e]),MT[i]=r},mw=11,ku=class{get value(){return""}set value(e){}toString(){return this.value}},UT=new WeakMap,Gp=class{constructor(){Mi(this,Is,[])}[Symbol.iterator](){return de(this,Is).values()}get length(){return de(this,Is).length}item(e){return de(this,Is)[e]}append(...e){for(let t of e)t instanceof Rt&&UT.set(t,this),de(this,Is).push(t)}toString(){return de(this,Is).join("")}};Is=new WeakMap;var Rt=class extends ku{constructor(e,t,r){super(),Mi(this,Ls),Mi(this,io,""),Mi(this,Rr,void 0),Mi(this,Ir,void 0),Mi(this,Lr,void 0),Ji(this,Rr,e),Ji(this,Ir,t),Ji(this,Lr,r)}get attributeName(){return de(this,Ir)}get attributeNamespace(){return de(this,Lr)}get element(){return de(this,Rr)}get value(){return de(this,io)}set value(e){de(this,io)!==e&&(Ji(this,io,e),!de(this,Ls,On)||de(this,Ls,On).length===1?e==null?de(this,Rr).removeAttributeNS(de(this,Lr),de(this,Ir)):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),e):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),de(this,Ls,On).toString()))}get booleanValue(){return de(this,Rr).hasAttributeNS(de(this,Lr),de(this,Ir))}set booleanValue(e){if(!de(this,Ls,On)||de(this,Ls,On).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};io=new WeakMap;Rr=new WeakMap;Ir=new WeakMap;Lr=new WeakMap;Ls=new WeakSet;On=function(){return UT.get(this)};var tr=class extends ku{constructor(e,t){super(),Mi(this,Lu,void 0),Mi(this,ai,void 0),Ji(this,Lu,e),Ji(this,ai,t?[...t]:[new Text])}get replacementNodes(){return de(this,ai)}get parentNode(){return de(this,Lu)}get nextSibling(){return de(this,ai)[de(this,ai).length-1].nextSibling}get previousSibling(){return de(this,ai)[0].previousSibling}get value(){return de(this,ai).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===mw?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),Ji(this,ai,pw(de(this,ai)[0].parentNode,de(this,ai),t,this.nextSibling))}};Lu=new WeakMap;ai=new WeakMap;var ro=class extends tr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),this.expression=s,this.template=t,this.directive=r}};function pw(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var FT={string:i=>String(i)},wu=class{constructor(e){this.template=e,this.state=void 0}},ks=new WeakMap,Cs=new WeakMap,Kp={partial:(i,e)=>{e[i.expression]=new wu(i.template)},if:(i,e)=>{var t;if($T(i.expression,e))if(ks.get(i)!==i.template){ks.set(i,i.template);let r=new er(i.template,e,Du);i.replace(r),Cs.set(i,r)}else(t=Cs.get(i))==null||t.update(e);else i.replace(""),ks.delete(i),Cs.delete(i)}},gw=Object.keys(Kp),Du={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof ro){if(!a.directive){let l=gw.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Kp[a.directive])==null||r.call(Kp,a,t);continue}let o=$T(n,t);if(o instanceof wu){ks.get(a)!==o.template?(ks.set(a,o.template),o=new er(o.template,o.state,Du),a.value=o,Cs.set(a,o)):(s=Cs.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ks.delete(a),Cs.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,ks.delete(a),Cs.delete(a))}}},BT={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=FT[e])==null?void 0:t.call(FT,i)}};function vw(i){return Ew(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function $T(i,e={}){var t,r,s,n,a,o,l;let d=vw(i);if(d.length===0||d.some(({type:u})=>!u))return so(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return so(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=no(g,e))}return u}if(d.length===1)return Cu(d[0])?no(d[0].token,e):so(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=BT[u];if(!c||!Cu(d[1]))return so(i);let h=no(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=BT[u];if(!c||!Cu(d[0])||!Cu(d[2]))return so(i);let h=no(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=no(d[2].token,e);return c(h,f)}}function so(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function Cu({type:i}){return["number","boolean","string","param"].includes(i)}function no(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):Po(i)?parseFloat(i):e[i]}function Ew(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var zp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Yp=(i,e,t)=>(zp(i,e,"read from private field"),t?t.call(i):e.get(i)),ao=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ws=(i,e,t,r)=>(zp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Wp=(i,e,t)=>(zp(i,e,"access private method"),t),Nn,Mu,Un,qp,HT,Pu,jp,Vp={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},GT=B.createElement("template");GT.innerHTML=`
1316
+ `}function gT(i,{tag:e,is:t}){var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,k,x,M;let O=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),w=O?MC(O):[];return n=class extends i{constructor(){super(...arguments),X(this,f),X(this,p),X(this,E),X(this,T),X(this,A),X(this,x),X(this,d,!1),X(this,u,null),X(this,c,new Map),X(this,h,void 0),Le(this,"get"),Le(this,"set"),Le(this,"call")}static get observedAttributes(){var R,P,N;return Pe(R=n,o,l).call(R),[...(N=(P=O==null?void 0:O.constructor)==null?void 0:P.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var R,P,N,$,G;return Pe(this,f,m).call(this),(G=($=(P=(R=I(this,u))!=null?R:this.querySelector(":scope > [slot=media]"))!=null?P:this.querySelector(e))!=null?$:(N=this.shadowRoot)==null?void 0:N.querySelector(e))!=null?G:null}set nativeEl(R){Z(this,u,R)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(R){this.toggleAttribute("muted",R)}get src(){return this.getAttribute("src")}set src(R){this.setAttribute("src",`${R}`)}get preload(){var R,P;return(P=this.getAttribute("preload"))!=null?P:(R=this.nativeEl)==null?void 0:R.preload}set preload(R){this.setAttribute("preload",`${R}`)}init(){var R;if(!this.shadowRoot){this.attachShadow({mode:"open"});let P=PC(this.attributes);t&&(P.is=t),e&&(P.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(P)}this.nativeEl.muted=this.hasAttribute("muted");for(let P of w)Pe(this,A,k).call(this,P);Z(this,h,new MutationObserver(Pe(this,E,b).bind(this))),this.shadowRoot.addEventListener("slotchange",this),Pe(this,p,g).call(this);for(let P of this.constructor.Events)(R=this.shadowRoot)==null||R.addEventListener(P,this,!0)}handleEvent(R){if(R.type==="slotchange"){Pe(this,p,g).call(this);return}R.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(R.type,{detail:R.detail}))}attributeChangedCallback(R,P,N){Pe(this,f,m).call(this),Pe(this,x,M).call(this,R,P,N)}connectedCallback(){Pe(this,f,m).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(I(this,a))return;Z(this,a,!0);let R=new Set(this.observedAttributes);R.delete("muted");for(let P of w)if(!(P in this.prototype))if(typeof O[P]=="function")this.prototype[P]=function(...N){return Pe(this,f,m).call(this),(()=>{var $;if(this.call)return this.call(P,...N);let G=($=this.nativeEl)==null?void 0:$[P];return G==null?void 0:G.apply(this.nativeEl,N)})()};else{let N={get(){var $,G,K;Pe(this,f,m).call(this);let ee=P.toLowerCase();if(R.has(ee)){let ae=this.getAttribute(ee);return ae===null?!1:ae===""?!0:ae}return(K=($=this.get)==null?void 0:$.call(this,P))!=null?K:(G=this.nativeEl)==null?void 0:G[P]}};P!==P.toUpperCase()&&(N.set=function($){Pe(this,f,m).call(this);let G=P.toLowerCase();if(R.has(G)){$===!0||$===!1||$==null?this.toggleAttribute(G,!!$):this.setAttribute(G,$);return}if(this.set){this.set(P,$);return}this.nativeEl&&(this.nativeEl[P]=$)}),Object.defineProperty(this.prototype,P,N)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakMap,f=new WeakSet,m=function(){I(this,d)||(Z(this,d,!0),this.init())},p=new WeakSet,g=function(){var R;let P=new Map(I(this,c)),N=(R=this.shadowRoot)==null?void 0:R.querySelector("slot:not([name])");(N==null?void 0:N.assignedElements({flatten:!0}).filter($=>["track","source"].includes($.localName))).forEach($=>{var G,K;P.delete($);let ee=I(this,c).get($);ee||(ee=$.cloneNode(),I(this,c).set($,ee),(G=I(this,h))==null||G.observe($,{attributes:!0})),(K=this.nativeEl)==null||K.append(ee),Pe(this,T,_).call(this,ee)}),P.forEach(($,G)=>{$.remove(),I(this,c).delete(G)})},E=new WeakSet,b=function(R){var P;for(let N of R)if(N.type==="attributes"){let{target:$,attributeName:G}=N,K=I(this,c).get($);K&&G&&(K.setAttribute(G,(P=$.getAttribute(G))!=null?P:""),Pe(this,T,_).call(this,K))}},T=new WeakSet,_=function(R){R&&R.localName==="track"&&R.default&&(R.kind==="chapters"||R.kind==="metadata")&&R.track.mode==="disabled"&&(R.track.mode="hidden")},A=new WeakSet,k=function(R){if(Object.prototype.hasOwnProperty.call(this,R)){let P=this[R];delete this[R],this[R]=P}},x=new WeakSet,M=function(R,P,N){var $,G,K;["id","class"].includes(R)||!n.observedAttributes.includes(R)&&this.constructor.observedAttributes.includes(R)||(N===null?($=this.nativeEl)==null||$.removeAttribute(R):((G=this.nativeEl)==null?void 0:G.getAttribute(R))!==N&&((K=this.nativeEl)==null||K.setAttribute(R,N)))},X(n,o),Le(n,"getTemplateHTML",e.endsWith("audio")?wC:DC),Le(n,"shadowRootOptions",{mode:"open"}),Le(n,"Events",bu),X(n,a,!1),n}function MC(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let r=Object.getOwnPropertyNames(t);e.push(...r)}return e}function vT(i){let e="";for(let t in i){let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function PC(i){let e={};for(let t of i)e[t.name]=t.value;return e}var nT,mp=gT((nT=globalThis.HTMLElement)!=null?nT:class{},{tag:"video"}),aT,D2=gT((aT=globalThis.HTMLElement)!=null?aT:class{},{tag:"audio"}),_s=new WeakMap,pp=class extends Error{},OC=class extends Error{},NC=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function UC(i){var e,t,r;(t=(e=globalThis.chrome)==null?void 0:e.cast)!=null&&t.isAvailable?(r=globalThis.cast)!=null&&r.framework?i():customElements.whenDefined("google-cast-button").then(i):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(i)}}function FC(){return globalThis.chrome}function BC(){var i;let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if((i=globalThis.chrome)!=null&&i.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}function As(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function Op(){var i;return(i=As())==null?void 0:i.getCurrentSession()}function Np(){var i;return(i=Op())==null?void 0:i.getSessionObj().media[0]}function $C(i){return new Promise((e,t)=>{Np().editTracksInfo(i,e,t)})}function HC(i){return new Promise((e,t)=>{Np().getStatus(i,e,t)})}function ET(i){return As().setOptions({...bT(),...i})}function bT(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var ru=new NC,xr=new WeakSet,at;UC(()=>{var i,e,t,r;if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable)){console.debug("chrome.cast.isAvailable",(r=(t=globalThis.chrome)==null?void 0:t.cast)==null?void 0:r.isAvailable);return}at||(at=cast.framework,As().addEventListener(at.CastContextEventType.CAST_STATE_CHANGED,s=>{ru.forEach(n=>{var a,o;return(o=(a=_s.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),As().addEventListener(at.CastContextEventType.SESSION_STATE_CHANGED,s=>{ru.forEach(n=>{var a,o;return(o=(a=_s.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),ru.forEach(s=>{var n,a;return(a=(n=_s.get(s)).init)==null?void 0:a.call(n)}))});var oT=0,Ie,su,Vt,Ar,Dn,Ln,Ts,vp,Sr,ls,Ep,lT,gu,bp,yp,yT,nu,Tp,_p,dT,au,gp,GC=class extends EventTarget{constructor(i){super(),X(this,Sr),X(this,Ep),X(this,gu),X(this,yp),X(this,nu),X(this,_p),X(this,au),X(this,Ie,void 0),X(this,su,void 0),X(this,Vt,void 0),X(this,Ar,void 0),X(this,Dn,"disconnected"),X(this,Ln,!1),X(this,Ts,new Set),X(this,vp,new WeakMap),Z(this,Ie,i),ru.add(this),_s.set(this,{init:()=>Pe(this,nu,Tp).call(this),onCastStateChanged:()=>Pe(this,gu,bp).call(this),onSessionStateChanged:()=>Pe(this,yp,yT).call(this),getCastPlayer:()=>I(this,Sr,ls)}),Pe(this,nu,Tp).call(this)}get state(){return I(this,Dn)}async watchAvailability(i){if(I(this,Ie).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");return I(this,vp).set(i,++oT),I(this,Ts).add(i),oT}async cancelWatchAvailability(i){if(I(this,Ie).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");i?I(this,Ts).delete(i):I(this,Ts).clear()}async prompt(){var i,e,t,r;if(I(this,Ie).disableRemotePlayback)throw new pp("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new OC("The RemotePlayback API is disabled on this platform.");let s=xr.has(I(this,Ie));xr.add(I(this,Ie)),ET(I(this,Ie).castOptions),Object.entries(I(this,Ar)).forEach(([n,a])=>{I(this,Vt).controller.addEventListener(n,a)});try{await As().requestSession()}catch(n){if(n==="cancel"){s||xr.delete(I(this,Ie));return}throw new Error(n)}(r=(t=_s.get(I(this,Ie)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};Ie=new WeakMap,su=new WeakMap,Vt=new WeakMap,Ar=new WeakMap,Dn=new WeakMap,Ln=new WeakMap,Ts=new WeakMap,vp=new WeakMap,Sr=new WeakSet,ls=function(){if(xr.has(I(this,Ie)))return I(this,Vt)},Ep=new WeakSet,lT=function(){xr.has(I(this,Ie))&&(Object.entries(I(this,Ar)).forEach(([i,e])=>{I(this,Vt).controller.removeEventListener(i,e)}),xr.delete(I(this,Ie)),I(this,Ie).muted=I(this,Vt).isMuted,I(this,Ie).currentTime=I(this,Vt).savedPlayerState.currentTime,I(this,Vt).savedPlayerState.isPaused===!1&&I(this,Ie).play())},gu=new WeakSet,bp=function(){let i=As().getCastState();if(xr.has(I(this,Ie))&&i==="CONNECTING"&&(Z(this,Dn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,Ln)&&i!=null&&i.includes("CONNECT")){Z(this,Ln,!0);for(let e of I(this,Ts))e(!0)}else if(I(this,Ln)&&(!i||i==="NO_DEVICES_AVAILABLE")){Z(this,Ln,!1);for(let e of I(this,Ts))e(!1)}},yp=new WeakSet,yT=async function(){var i;let{SESSION_RESUMED:e}=at.SessionState;if(As().getSessionState()===e&&I(this,Ie).castSrc===((i=Np())==null?void 0:i.media.contentId)){xr.add(I(this,Ie)),Object.entries(I(this,Ar)).forEach(([t,r])=>{I(this,Vt).controller.addEventListener(t,r)});try{await HC(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Ar)[at.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Ar)[at.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},nu=new WeakSet,Tp=function(){!at||I(this,su)||(Z(this,su,!0),ET(I(this,Ie).castOptions),I(this,Ie).textTracks.addEventListener("change",()=>Pe(this,au,gp).call(this)),Pe(this,gu,bp).call(this),Z(this,Vt,new at.RemotePlayer),new at.RemotePlayerController(I(this,Vt)),Z(this,Ar,{[at.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(Z(this,Dn,"connected"),this.dispatchEvent(new Event("connect"))):(Pe(this,Ep,lT).call(this),Z(this,Dn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[at.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,Ie).dispatchEvent(new Event("durationchange"))},[at.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,Ie).dispatchEvent(new Event("volumechange"))},[at.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,Ie).dispatchEvent(new Event("volumechange"))},[at.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,Sr,ls))!=null&&i.isMediaLoaded&&I(this,Ie).dispatchEvent(new Event("timeupdate"))},[at.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,Ie).dispatchEvent(new Event("resize"))},[at.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,Ie).dispatchEvent(new Event(this.paused?"pause":"play"))},[at.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,Sr,ls))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,Ie).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,Sr,ls))==null?void 0:e.playerState]))},[at.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,Sr,ls))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Pe(this,_p,dT).call(this))}}))},_p=new WeakSet,dT=function(){Pe(this,au,gp).call(this)},au=new WeakSet,gp=async function(){var i,e,t,r,s;if(!I(this,Sr,ls))return;let n=((e=(i=I(this,Vt).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,Ie).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=Op())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await $C(h)}catch(h){console.error(h)}};var KC=i=>{var e,t,r,s,n,a,o,l,d,u;return t=class extends i{constructor(){super(...arguments),X(this,o),X(this,d),X(this,r,{paused:!1}),X(this,s,bT()),X(this,n,void 0),X(this,a,void 0)}get remote(){return I(this,a)?I(this,a):FC()?(BC(),_s.set(this,{loadOnPrompt:()=>Pe(this,d,u).call(this)}),Z(this,a,new GC(this))):super.remote}attributeChangedCallback(c,h,f){if(super.attributeChangedCallback(c,h,f),c==="cast-receiver"&&f){I(this,s).receiverApplicationId=f;return}if(I(this,o,l))switch(c){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var c,h;if(!I(this,o,l))return super.load();let f=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);f.customData=this.castCustomData;let m=[...this.querySelectorAll("track")].filter(({kind:b,src:T})=>T&&(b==="subtitles"||b==="captions")),p=[],g=0;m.length&&(f.tracks=m.map(b=>{let T=++g;p.length===0&&b.track.mode==="showing"&&p.push(T);let _=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return _.trackContentId=b.src,_.trackContentType="text/vtt",_.subtype=b.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,_.name=b.label,_.language=b.srclang,_})),this.castStreamType==="live"?f.streamType=chrome.cast.media.StreamType.LIVE:f.streamType=chrome.cast.media.StreamType.BUFFERED,f.metadata=new chrome.cast.media.GenericMediaMetadata,f.metadata.title=this.title,f.metadata.images=[{url:this.poster}];let E=new chrome.cast.media.LoadRequest(f);E.currentTime=(c=super.currentTime)!=null?c:0,E.autoplay=!I(this,r).paused,E.activeTrackIds=p,await((h=Op())==null?void 0:h.loadMedia(E)),this.dispatchEvent(new Event("volumechange"))}play(){var c;if(I(this,o,l)){I(this,o,l).isPaused&&((c=I(this,o,l).controller)==null||c.playOrPause());return}return super.play()}pause(){var c;if(I(this,o,l)){I(this,o,l).isPaused||(c=I(this,o,l).controller)==null||c.playOrPause();return}super.pause()}get castOptions(){return I(this,s)}get castReceiver(){var c;return(c=this.getAttribute("cast-receiver"))!=null?c:void 0}set castReceiver(c){this.castReceiver!=c&&this.setAttribute("cast-receiver",`${c}`)}get castSrc(){var c,h,f;return(f=(h=this.getAttribute("cast-src"))!=null?h:(c=this.querySelector("source"))==null?void 0:c.src)!=null?f:this.currentSrc}set castSrc(c){this.castSrc!=c&&this.setAttribute("cast-src",`${c}`)}get castContentType(){var c;return(c=this.getAttribute("cast-content-type"))!=null?c:void 0}set castContentType(c){this.setAttribute("cast-content-type",`${c}`)}get castStreamType(){var c,h;return(h=(c=this.getAttribute("cast-stream-type"))!=null?c:this.streamType)!=null?h:void 0}set castStreamType(c){this.setAttribute("cast-stream-type",`${c}`)}get castCustomData(){return I(this,n)}set castCustomData(c){let h=typeof c;if(!["object","undefined"].includes(h)){console.error(`castCustomData must be nullish or an object but value was of type ${h}`);return}Z(this,n,c)}get readyState(){if(I(this,o,l))switch(I(this,o,l).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return I(this,o,l)?I(this,o,l).isPaused:super.paused}get muted(){var c;return I(this,o,l)?(c=I(this,o,l))==null?void 0:c.isMuted:super.muted}set muted(c){var h;if(I(this,o,l)){(c&&!I(this,o,l).isMuted||!c&&I(this,o,l).isMuted)&&((h=I(this,o,l).controller)==null||h.muteOrUnmute());return}super.muted=c}get volume(){var c,h;return I(this,o,l)?(h=(c=I(this,o,l))==null?void 0:c.volumeLevel)!=null?h:1:super.volume}set volume(c){var h;if(I(this,o,l)){I(this,o,l).volumeLevel=+c,(h=I(this,o,l).controller)==null||h.setVolumeLevel();return}super.volume=c}get duration(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.duration)!=null?f:NaN:super.duration}get currentTime(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.currentTime)!=null?f:0:super.currentTime}set currentTime(c){var h;if(I(this,o,l)){I(this,o,l).currentTime=c,(h=I(this,o,l).controller)==null||h.seek();return}super.currentTime=c}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var c,h;return(h=(c=_s.get(this.remote))==null?void 0:c.getCastPlayer)==null?void 0:h.call(c)},d=new WeakSet,u=async function(){I(this,r).paused=hp(t.prototype,this,"paused"),hp(t.prototype,this,"pause").call(this),this.muted=hp(t.prototype,this,"muted");try{await this.load()}catch(c){console.error(c)}},Le(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},yu=class extends Event{constructor(i,e){super(i),Le(this,"track"),this.track=e.track}},Ap=new WeakMap;function j(i){var e;return(e=Ap.get(i))!=null?e:WC(i,{})}function WC(i,e){let t=Ap.get(i);return t||Ap.set(i,t={}),Object.assign(t,e)}function Sp(i,e){let t=i.videoTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in Rp.prototype||Object.defineProperty(Rp.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new yu("addtrack",{track:e}))})}function xp(i){var e;let t=(e=j(i).media)==null?void 0:e.videoTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new yu("removetrack",{track:i}))}))}function VC(i){var e;let t=(e=j(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(j(t).changeRequested)return;j(t).changeRequested=!0,queueMicrotask(()=>{delete j(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var ds,us,cs,kn,Wa,Rp=class extends EventTarget{constructor(){super(),X(this,kn),X(this,ds,void 0),X(this,us,void 0),X(this,cs,void 0),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,kn,Wa).values()}get length(){return I(this,kn,Wa).size}getTrackById(i){var e;return(e=[...I(this,kn,Wa)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,kn,Wa)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,ds)}set onaddtrack(i){I(this,ds)&&(this.removeEventListener("addtrack",I(this,ds)),Z(this,ds,void 0)),typeof i=="function"&&(Z(this,ds,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,us)}set onremovetrack(i){I(this,us)&&(this.removeEventListener("removetrack",I(this,us)),Z(this,us,void 0)),typeof i=="function"&&(Z(this,us,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,cs)}set onchange(i){I(this,cs)&&(this.removeEventListener("change",I(this,cs)),Z(this,cs,void 0)),typeof i=="function"&&(Z(this,cs,i),this.addEventListener("change",i))}};ds=new WeakMap,us=new WeakMap,cs=new WeakMap,kn=new WeakSet,Wa=function(){return j(this).trackSet};var Tu=class extends Event{constructor(i,e){super(i),Le(this,"rendition"),this.rendition=e.rendition}};function YC(i,e){let t=j(i).media.videoRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in Ip.prototype||Object.defineProperty(Ip.prototype,s,{get(){return Cn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Tu("addrendition",{rendition:e}))})}function qC(i){let e=j(i).media.videoRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.selected&&e.dispatchEvent(new Tu("removerendition",{rendition:i}))})}function jC(i){let e=j(i).media.videoRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Cn(i){return[...j(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...j(e).renditionSet])}var hs,fs,ms,Ip=class extends EventTarget{constructor(){super(...arguments),X(this,hs,void 0),X(this,fs,void 0),X(this,ms,void 0)}[Symbol.iterator](){return Cn(this).values()}get length(){return Cn(this).length}getRenditionById(i){var e;return(e=Cn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Cn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Cn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,hs)}set onaddrendition(i){I(this,hs)&&(this.removeEventListener("addrendition",I(this,hs)),Z(this,hs,void 0)),typeof i=="function"&&(Z(this,hs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,fs)}set onremoverendition(i){I(this,fs)&&(this.removeEventListener("removerendition",I(this,fs)),Z(this,fs,void 0)),typeof i=="function"&&(Z(this,fs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,ms)}set onchange(i){I(this,ms)&&(this.removeEventListener("change",I(this,ms)),Z(this,ms,void 0)),typeof i=="function"&&(Z(this,ms,i),this.addEventListener("change",i))}};hs=new WeakMap,fs=new WeakMap,ms=new WeakMap;var Va,zC=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"width"),Le(this,"height"),Le(this,"bitrate"),Le(this,"frameRate"),Le(this,"codec"),X(this,Va,!1)}get selected(){return I(this,Va)}set selected(i){I(this,Va)!==i&&(Z(this,Va,i),jC(this))}};Va=new WeakMap;var Ya,TT=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),X(this,Ya,!1)}addRendition(i,e,t,r,s,n){let a=new zC;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,YC(this,a),a}removeRendition(i){qC(i)}get selected(){return I(this,Ya)}set selected(i){I(this,Ya)!==i&&(Z(this,Ya,i),i===!0&&VC(this))}};Ya=new WeakMap;function XC(i,e){let t=j(i).media.audioRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in Lp.prototype||Object.defineProperty(Lp.prototype,s,{get(){return wn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Tu("addrendition",{rendition:e}))})}function QC(i){let e=j(i).media.audioRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.enabled&&e.dispatchEvent(new Tu("removerendition",{rendition:i}))})}function ZC(i){let e=j(i).media.audioRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function wn(i){return[...j(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...j(e).renditionSet])}var ps,gs,vs,Lp=class extends EventTarget{constructor(){super(...arguments),X(this,ps,void 0),X(this,gs,void 0),X(this,vs,void 0)}[Symbol.iterator](){return wn(this).values()}get length(){return wn(this).length}getRenditionById(i){var e;return(e=wn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return wn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of wn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,ps)}set onaddrendition(i){I(this,ps)&&(this.removeEventListener("addrendition",I(this,ps)),Z(this,ps,void 0)),typeof i=="function"&&(Z(this,ps,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,gs)}set onremoverendition(i){I(this,gs)&&(this.removeEventListener("removerendition",I(this,gs)),Z(this,gs,void 0)),typeof i=="function"&&(Z(this,gs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,vs)}set onchange(i){I(this,vs)&&(this.removeEventListener("change",I(this,vs)),Z(this,vs,void 0)),typeof i=="function"&&(Z(this,vs,i),this.addEventListener("change",i))}};ps=new WeakMap,gs=new WeakMap,vs=new WeakMap;var qa,JC=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"bitrate"),Le(this,"codec"),X(this,qa,!1)}get selected(){return I(this,qa)}set selected(i){I(this,qa)!==i&&(Z(this,qa,i),ZC(this))}};qa=new WeakMap;function kp(i,e){let t=i.audioTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in wp.prototype||Object.defineProperty(wp.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new yu("addtrack",{track:e}))})}function Cp(i){var e;let t=(e=j(i).media)==null?void 0:e.audioTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new yu("removetrack",{track:i}))}))}function ew(i){let e=j(i).media.audioTracks;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Es,bs,ys,ja,ou,wp=class extends EventTarget{constructor(){super(),X(this,ja),X(this,Es,void 0),X(this,bs,void 0),X(this,ys,void 0),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,ja,ou).values()}get length(){return I(this,ja,ou).size}getTrackById(i){var e;return(e=[...I(this,ja,ou)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,Es)}set onaddtrack(i){I(this,Es)&&(this.removeEventListener("addtrack",I(this,Es)),Z(this,Es,void 0)),typeof i=="function"&&(Z(this,Es,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,bs)}set onremovetrack(i){I(this,bs)&&(this.removeEventListener("removetrack",I(this,bs)),Z(this,bs,void 0)),typeof i=="function"&&(Z(this,bs,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,ys)}set onchange(i){I(this,ys)&&(this.removeEventListener("change",I(this,ys)),Z(this,ys,void 0)),typeof i=="function"&&(Z(this,ys,i),this.addEventListener("change",i))}};Es=new WeakMap,bs=new WeakMap,ys=new WeakMap,ja=new WeakSet,ou=function(){return j(this).trackSet};var za,_T=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),X(this,za,!1)}addRendition(i,e,t){let r=new JC;return r.src=i,r.codec=e,r.bitrate=t,XC(this,r),r}removeRendition(i){QC(i)}get enabled(){return I(this,za)}set enabled(i){I(this,za)!==i&&(Z(this,za,i),ew(this))}};za=new WeakMap;var uT=vu(globalThis.HTMLMediaElement,"video"),cT=vu(globalThis.HTMLMediaElement,"audio");function tw(i){if(!(i!=null&&i.prototype))return i;let e=vu(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return iw(this)}});let t=vu(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return rw(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new TT;return l.kind=n,l.label=a,l.language=o,Sp(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=xp),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new _T;return l.kind=n,l.label=a,l.language=o,kp(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=Cp),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=j(n).videoRenditions;return a||(a=new Ip,j(a).media=n,j(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=j(n).audioRenditions;return a||(a=new Lp,j(a).media=n,j(n).audioRenditions=a),a};return i}function vu(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function iw(i){var e;let t=j(i).videoTracks;if(!t&&(t=new Rp,j(i).videoTracks=t,uT)){let r=uT.call((e=i.nativeEl)!=null?e:i);for(let s of r)Sp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof TT)){for(let n of r)xp(n);return}Sp(i,s.track)}),r.addEventListener("removetrack",s=>{xp(s.track)})}return t}function rw(i){var e;let t=j(i).audioTracks;if(!t&&(t=new wp,j(i).audioTracks=t,cT)){let r=cT.call((e=i.nativeEl)!=null?e:i);for(let s of r)kp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof _T)){for(let n of r)Cp(n);return}kp(i,s.track)}),r.addEventListener("removetrack",s=>{Cp(s.track)})}return t}bu.push("castchange","entercast","leavecast");var C={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},sw=Object.values(C),hT=CC(),fT="mux-video",wi,Xa,lu,Qa,du,uu,cu,hu,fu,Za,mu,nw=class extends mp{constructor(){super(),X(this,Za),X(this,wi,void 0),X(this,Xa,void 0),X(this,lu,void 0),X(this,Qa,{}),X(this,du,{}),X(this,uu,void 0),X(this,cu,void 0),X(this,hu,void 0),X(this,fu,void 0),Z(this,lu,Jd())}static get NAME(){return fT}static get VERSION(){return hT}static get observedAttributes(){var i;return[...sw,...(i=mp.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(C.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?In.includes(i)?this.setAttribute(C.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(C.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(C.PLAYER_INIT_TIME)?+this.getAttribute(C.PLAYER_INIT_TIME):I(this,lu)}set playerInitTime(i){i!=this.playerInitTime&&(i==null?this.removeAttribute(C.PLAYER_INIT_TIME):this.setAttribute(C.PLAYER_INIT_TIME,`${+i}`))}get playerSoftwareName(){var i;return(i=I(this,hu))!=null?i:fT}set playerSoftwareName(i){Z(this,hu,i)}get playerSoftwareVersion(){var i;return(i=I(this,cu))!=null?i:hT}set playerSoftwareVersion(i){Z(this,cu,i)}get _hls(){var i;return(i=I(this,wi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=lp(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,fu)}set errorTranslator(i){Z(this,fu,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(C.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(C.TYPE,i):this.removeAttribute(C.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(C.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(C.DEBUG,""):this.removeAttribute(C.DEBUG))}get disableTracking(){return this.hasAttribute(C.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(C.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(C.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(C.DISABLE_COOKIES,""):this.removeAttribute(C.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(C.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(C.START_TIME):this.setAttribute(C.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(C.PLAYBACK_ID)?this.getAttribute(C.PLAYBACK_ID):(i=op(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(C.PLAYBACK_ID,i):this.removeAttribute(C.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(C.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(C.MAX_RESOLUTION,i):this.removeAttribute(C.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(C.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(C.MIN_RESOLUTION,i):this.removeAttribute(C.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(C.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(C.RENDITION_ORDER,i):this.removeAttribute(C.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(C.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(C.PROGRAM_START_TIME):this.setAttribute(C.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(C.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(C.PROGRAM_END_TIME):this.setAttribute(C.PROGRAM_END_TIME,`${i}`)}get assetStartTime(){let i=this.getAttribute(C.ASSET_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetStartTime(i){i==null?this.removeAttribute(C.ASSET_START_TIME):this.setAttribute(C.ASSET_START_TIME,`${i}`)}get assetEndTime(){let i=this.getAttribute(C.ASSET_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetEndTime(i){i==null?this.removeAttribute(C.ASSET_END_TIME):this.setAttribute(C.ASSET_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(C.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(C.CUSTOM_DOMAIN,i):this.removeAttribute(C.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(C.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(C.DRM_TOKEN,i):this.removeAttribute(C.DRM_TOKEN))}get playbackToken(){var i,e,t,r;if(this.hasAttribute(C.PLAYBACK_TOKEN))return(i=this.getAttribute(C.PLAYBACK_TOKEN))!=null?i:void 0;if(this.hasAttribute(C.PLAYBACK_ID)){let[,s]=Xd((e=this.playbackId)!=null?e:"");return(t=new URLSearchParams(s).get("token"))!=null?t:void 0}if(this.src)return(r=new URLSearchParams(this.src).get("token"))!=null?r:void 0}set playbackToken(i){i!==this.playbackToken&&(i?this.setAttribute(C.PLAYBACK_TOKEN,i):this.removeAttribute(C.PLAYBACK_TOKEN))}get tokens(){let i=this.getAttribute(C.PLAYBACK_TOKEN),e=this.getAttribute(C.DRM_TOKEN);return{...I(this,du),...i!=null?{playback:i}:{},...e!=null?{drm:e}:{}}}set tokens(i){Z(this,du,i!=null?i:{})}get ended(){return up(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(C.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(C.ENV_KEY,i):this.removeAttribute(C.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(C.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(C.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(C.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(C.STREAM_TYPE))!=null?i:zd(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(C.STREAM_TYPE,i):this.removeAttribute(C.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(C.TARGET_LIVE_WINDOW)?+this.getAttribute(C.TARGET_LIVE_WINDOW):zy(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(C.TARGET_LIVE_WINDOW):this.setAttribute(C.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(C.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return Xy(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(C.LIVE_EDGE_OFFSET))return+this.getAttribute(C.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.liveEdgeOffset&&(i==null?this.removeAttribute(C.LIVE_EDGE_OFFSET):this.setAttribute(C.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return tu(this.nativeEl)}async addCuePoints(i){return ip(this.nativeEl,i)}get activeCuePoint(){return rp(this.nativeEl)}get cuePoints(){return Hy(this.nativeEl)}async addChapters(i){return np(this.nativeEl,i)}get activeChapter(){return ap(this.nativeEl)}get chapters(){return Ky(this.nativeEl)}getStartDate(){return Wy(this.nativeEl,this._hls)}get currentPdt(){return Vy(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(C.PREFER_PLAYBACK);if(i===Wt.MSE||i===Wt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Wt.MSE||i===Wt.NATIVE?this.setAttribute(C.PREFER_PLAYBACK,i):this.removeAttribute(C.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![C.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...I(this,Qa)}}set metadata(i){Z(this,Qa,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,Qa))}get _hlsConfig(){return I(this,uu)}set _hlsConfig(i){Z(this,uu,i)}load(){Z(this,wi,Jy(this,this.nativeEl,I(this,wi)))}unload(){cp(this.nativeEl,I(this,wi)),Z(this,wi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(mp.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case C.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case C.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Pe(this,Za,mu).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Pe(this,Za,mu).call(this));break}case"autoplay":if(t===e)break;(r=I(this,wi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,wi))==null||s.setPreload(t);break;case C.PLAYBACK_ID:this.src=Ka(this);break;case C.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case C.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case C.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case C.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!I(this,wi)&&Pe(this,Za,mu).call(this)}disconnectedCallback(){this.unload()}};wi=new WeakMap,Xa=new WeakMap,lu=new WeakMap,Qa=new WeakMap,du=new WeakMap,uu=new WeakMap,cu=new WeakMap,hu=new WeakMap,fu=new WeakMap,Za=new WeakSet,mu=async function(){I(this,Xa)||(await Z(this,Xa,Promise.resolve()),Z(this,Xa,null),this.load())};var pu,Dp=class extends KC(tw(nw)){constructor(){super(...arguments),X(this,pu,void 0)}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var i;return(i=I(this,pu))!=null?i:this.muxCastCustomData}set castCustomData(i){Z(this,pu,i)}};pu=new WeakMap;fp.customElements.get("mux-video")||(fp.customElements.define("mux-video",Dp),fp.MuxVideoElement=Dp);var AT=Dp;function ST(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${_u(t)}: ${r}; `)}),e?e.trim():void 0}function _u(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Au(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function St(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function Up(i){let e=aw(i).toString();return e?"?"+e:""}function aw(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}var Fp=(i,e)=>!i||!e?!1:i.contains(e)?!0:Fp(i,e.getRootNode().host);var xT="mux.com",ow=()=>{try{return"3.2.1"}catch{}return"UNKNOWN"},lw=ow(),xu=()=>lw,RT=(i,{token:e,customDomain:t=xT,thumbnailTime:r,programTime:s}={})=>{var o;let n=e==null?r:void 0,{aud:a}=(o=_r(e))!=null?o:{};if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${Up({token:e,time:n,program_time:s})}`},IT=(i,{token:e,customDomain:t=xT,programStartTime:r,programEndTime:s}={})=>{var a;let{aud:n}=(a=_r(e))!=null?a:{};if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${Up({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},Ja=i=>{if(i){if([Re.LIVE,Re.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return Re.LIVE}};var dw={crossorigin:"crossOrigin",playsinline:"playsInline"};function LT(i){var e;return(e=dw[i])!=null?e:Au(i)}var Ss,xs,xt,Su=class{constructor(e,t){Xe(this,Ss,void 0);Xe(this,xs,void 0);Xe(this,xt,[]);Ut(this,Ss,e),Ut(this,xs,t)}[Symbol.iterator](){return _e(this,xt).values()}get length(){return _e(this,xt).length}get value(){var e;return(e=_e(this,xt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Ut(this,xt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return _e(this,xt)[e]}values(){return _e(this,xt).values()}keys(){return _e(this,xt).keys()}forEach(e){_e(this,xt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||_e(this,xt).push(s)}),!(this.value===""&&!((t=_e(this,Ss))!=null&&t.hasAttribute(`${_e(this,xs)}`)))&&((r=_e(this,Ss))==null||r.setAttribute(`${_e(this,xs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{_e(this,xt).splice(_e(this,xt).indexOf(r),1)}),(t=_e(this,Ss))==null||t.setAttribute(`${_e(this,xs)}`,`${this.value}`)}contains(e){return _e(this,xt).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Ss=new WeakMap,xs=new WeakMap,xt=new WeakMap;var kT=`[mux-player ${xu()}]`;function Di(...i){console.warn(kT,...i)}function Pt(...i){console.error(kT,...i)}function Bp(i){var t;let e=(t=i.message)!=null?t:"";i.context&&(e+=` ${i.context}`),i.file&&(e+=` ${Q("Read more: ")}
1317
+ https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Di(e)}var Tt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Rs={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},wT=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),uw=bu.filter(i=>i!=="error"),cw=Object.values(Tt).filter(i=>![Tt.PLAYSINLINE].includes(i)),hw=Object.values(Rs),$p=class extends It.HTMLElement{static get observedAttributes(){return[...cw,...hw]}constructor(){super()}init(){uw.forEach(e=>{var t;(t=this.media)==null||t.addEventListener(e,r=>{this.dispatchEvent(new Event(r.type))})})}attributeChangedCallback(e,t,r){var s,n;switch(e){case Rs.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case Rs.VOLUME:{let a=(s=St(r))!=null?s:1;this.media&&(this.media.volume=a);return}case Rs.PLAYBACKRATE:{let a=(n=St(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}load(){var e;(e=this.media)==null||e.load()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:wT}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:wT}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentSrc(){var e,t;return(t=(e=this.media)==null?void 0:e.currentSrc)!=null?t:""}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=St(this.getAttribute(Rs.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(Rs.PLAYBACKRATE,`${e}`):this.removeAttribute(Rs.PLAYBACKRATE)}get crossOrigin(){return eo(this,Tt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tt.CROSSORIGIN,`${e}`)}get autoplay(){return eo(this,Tt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Tt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Tt.AUTOPLAY)}get loop(){return eo(this,Tt.LOOP)!=null}set loop(e){e?this.setAttribute(Tt.LOOP,""):this.removeAttribute(Tt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return eo(this,Tt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Tt.MUTED,""):this.removeAttribute(Tt.MUTED)}get playsInline(){return eo(this,Tt.PLAYSINLINE)!=null}set playsInline(e){Pt("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tt.PRELOAD,e):this.removeAttribute(Tt.PRELOAD)}};function eo(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var Hp=$p;var NT=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>(NT(i,e,"read from private field"),t?t.call(i):e.get(i)),Mi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ji=(i,e,t,r)=>(NT(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mn,Ru,Is,to,Rr,Ir,Lr,Ls,Pn,Iu,ai,DT=1,MT=0,fw=1,mw={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},er=class extends S.DocumentFragment{constructor(e,t,r=mw){var s;super(),Mi(this,Mn,void 0),Mi(this,Ru,void 0),this.append(e.content.cloneNode(!0)),Ji(this,Mn,UT(this)),Ji(this,Ru,r),(s=r.createCallback)==null||s.call(r,this,de(this,Mn),t),r.processCallback(this,de(this,Mn),t)}update(e){de(this,Ru).processCallback(this,de(this,Mn),e)}};Mn=new WeakMap;Ru=new WeakMap;var UT=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Gp;for([t,r]of OT(s.value))if(!t)n.append(r);else{let a=new Rt(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===DT&&!(s instanceof HTMLTemplateElement))UT(s,e);else{let n=s.data;if(s.nodeType===DT||n.includes("{{")){let a=[];if(n)for([t,r]of OT(n))if(!t)a.push(new Text(r));else{let o=new tr(i);a.push(o),e.push([r,o])}else if(s instanceof HTMLTemplateElement){let o=new io(i,s);a.push(o),e.push([o.expression,o])}s.replaceWith(...a.flatMap(o=>o.replacementNodes||[o]))}}return e},PT={},OT=i=>{let e="",t=0,r=PT[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([MT,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([fw,e.trim()]),e="",s++):e+=n||"";return e&&r.push([MT,(t>0?"{{":"")+e]),PT[i]=r},pw=11,Lu=class{get value(){return""}set value(e){}toString(){return this.value}},FT=new WeakMap,Gp=class{constructor(){Mi(this,Is,[])}[Symbol.iterator](){return de(this,Is).values()}get length(){return de(this,Is).length}item(e){return de(this,Is)[e]}append(...e){for(let t of e)t instanceof Rt&&FT.set(t,this),de(this,Is).push(t)}toString(){return de(this,Is).join("")}};Is=new WeakMap;var Rt=class extends Lu{constructor(e,t,r){super(),Mi(this,Ls),Mi(this,to,""),Mi(this,Rr,void 0),Mi(this,Ir,void 0),Mi(this,Lr,void 0),Ji(this,Rr,e),Ji(this,Ir,t),Ji(this,Lr,r)}get attributeName(){return de(this,Ir)}get attributeNamespace(){return de(this,Lr)}get element(){return de(this,Rr)}get value(){return de(this,to)}set value(e){de(this,to)!==e&&(Ji(this,to,e),!de(this,Ls,Pn)||de(this,Ls,Pn).length===1?e==null?de(this,Rr).removeAttributeNS(de(this,Lr),de(this,Ir)):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),e):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),de(this,Ls,Pn).toString()))}get booleanValue(){return de(this,Rr).hasAttributeNS(de(this,Lr),de(this,Ir))}set booleanValue(e){if(!de(this,Ls,Pn)||de(this,Ls,Pn).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};to=new WeakMap;Rr=new WeakMap;Ir=new WeakMap;Lr=new WeakMap;Ls=new WeakSet;Pn=function(){return FT.get(this)};var tr=class extends Lu{constructor(e,t){super(),Mi(this,Iu,void 0),Mi(this,ai,void 0),Ji(this,Iu,e),Ji(this,ai,t?[...t]:[new Text])}get replacementNodes(){return de(this,ai)}get parentNode(){return de(this,Iu)}get nextSibling(){return de(this,ai)[de(this,ai).length-1].nextSibling}get previousSibling(){return de(this,ai)[0].previousSibling}get value(){return de(this,ai).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===pw?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),Ji(this,ai,gw(de(this,ai)[0].parentNode,de(this,ai),t,this.nextSibling))}};Iu=new WeakMap;ai=new WeakMap;var io=class extends tr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),this.expression=s,this.template=t,this.directive=r}};function gw(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var BT={string:i=>String(i)},Cu=class{constructor(e){this.template=e,this.state=void 0}},ks=new WeakMap,Cs=new WeakMap,Kp={partial:(i,e)=>{e[i.expression]=new Cu(i.template)},if:(i,e)=>{var t;if(HT(i.expression,e))if(ks.get(i)!==i.template){ks.set(i,i.template);let r=new er(i.template,e,wu);i.replace(r),Cs.set(i,r)}else(t=Cs.get(i))==null||t.update(e);else i.replace(""),ks.delete(i),Cs.delete(i)}},vw=Object.keys(Kp),wu={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof io){if(!a.directive){let l=vw.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Kp[a.directive])==null||r.call(Kp,a,t);continue}let o=HT(n,t);if(o instanceof Cu){ks.get(a)!==o.template?(ks.set(a,o.template),o=new er(o.template,o.state,wu),a.value=o,Cs.set(a,o)):(s=Cs.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ks.delete(a),Cs.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,ks.delete(a),Cs.delete(a))}}},$T={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=BT[e])==null?void 0:t.call(BT,i)}};function Ew(i){return bw(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function HT(i,e={}){var t,r,s,n,a,o,l;let d=Ew(i);if(d.length===0||d.some(({type:u})=>!u))return ro(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return ro(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=so(g,e))}return u}if(d.length===1)return ku(d[0])?so(d[0].token,e):ro(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=$T[u];if(!c||!ku(d[1]))return ro(i);let h=so(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=$T[u];if(!c||!ku(d[0])||!ku(d[2]))return ro(i);let h=so(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=so(d[2].token,e);return c(h,f)}}function ro(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function ku({type:i}){return["number","boolean","string","param"].includes(i)}function so(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):Mo(i)?parseFloat(i):e[i]}function bw(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var zp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Yp=(i,e,t)=>(zp(i,e,"read from private field"),t?t.call(i):e.get(i)),no=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ws=(i,e,t,r)=>(zp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Wp=(i,e,t)=>(zp(i,e,"access private method"),t),On,Du,Nn,qp,GT,Mu,jp,Vp={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},KT=B.createElement("template");KT.innerHTML=`
1318
1318
  <style>
1319
1319
  :host {
1320
1320
  display: inline-block;
@@ -1344,7 +1344,7 @@ https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Di(e)}var Tt={AU
1344
1344
  display: none;
1345
1345
  }
1346
1346
  </style>
1347
- `;var Ds=class extends S.HTMLElement{constructor(){super(),ao(this,qp),ao(this,Pu),ao(this,Nn,void 0),ao(this,Mu,void 0),ao(this,Un,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Vp[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(Hi.BREAKPOINTS_COMPUTED,this.render),Wp(this,qp,HT).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=Yp(this,Nn))!=null?e:this.constructor.template}set template(e){ws(this,Un,null),ws(this,Nn,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Vp[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=Vp[a.name])!=null?r:o0(a.name),{value:l}=a;l!=null?(Po(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&Wp(this,Pu,jp).call(this)}connectedCallback(){Wp(this,Pu,jp).call(this)}createRenderer(){this.template&&this.template!==Yp(this,Mu)&&(ws(this,Mu,this.template),this.renderer=new er(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(GT.content.cloneNode(!0),this.renderer))}render(){var e;if((e=this.renderer)==null||e.update(this.props),this.renderRoot.isConnected){let{style:t}=ke(this.renderRoot,":host");t.visibility==="hidden"&&t.removeProperty("visibility")}}};Nn=new WeakMap;Mu=new WeakMap;Un=new WeakMap;qp=new WeakSet;HT=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};Pu=new WeakSet;jp=function(){var i;let e=this.getAttribute("template");if(!e||e===Yp(this,Un))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){ws(this,Un,e),ws(this,Nn,r),this.createRenderer();return}bw(e)&&(ws(this,Un,e),yw(e).then(s=>{let n=B.createElement("template");n.innerHTML=s,ws(this,Nn,n),this.createRenderer()}).catch(console.error))};Ds.observedAttributes=["template"];Ds.processor=Du;function bw(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function yw(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}S.customElements.get("media-theme")||S.customElements.define("media-theme",Ds);var KT=`:host {
1347
+ `;var Ds=class extends S.HTMLElement{constructor(){super(),no(this,qp),no(this,Mu),no(this,On,void 0),no(this,Du,void 0),no(this,Nn,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Vp[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(Hi.BREAKPOINTS_COMPUTED,this.render),Wp(this,qp,GT).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=Yp(this,On))!=null?e:this.constructor.template}set template(e){ws(this,Nn,null),ws(this,On,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Vp[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=Vp[a.name])!=null?r:o0(a.name),{value:l}=a;l!=null?(Mo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&Wp(this,Mu,jp).call(this)}connectedCallback(){Wp(this,Mu,jp).call(this)}createRenderer(){this.template&&this.template!==Yp(this,Du)&&(ws(this,Du,this.template),this.renderer=new er(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(KT.content.cloneNode(!0),this.renderer))}render(){var e;if((e=this.renderer)==null||e.update(this.props),this.renderRoot.isConnected){let{style:t}=Ce(this.renderRoot,":host");t.visibility==="hidden"&&t.removeProperty("visibility")}}};On=new WeakMap;Du=new WeakMap;Nn=new WeakMap;qp=new WeakSet;GT=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};Mu=new WeakSet;jp=function(){var i;let e=this.getAttribute("template");if(!e||e===Yp(this,Nn))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){ws(this,Nn,e),ws(this,On,r),this.createRenderer();return}yw(e)&&(ws(this,Nn,e),Tw(e).then(s=>{let n=B.createElement("template");n.innerHTML=s,ws(this,On,n),this.createRenderer()}).catch(console.error))};Ds.observedAttributes=["template"];Ds.processor=wu;function yw(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function Tw(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}S.customElements.get("media-theme")||S.customElements.define("media-theme",Ds);var WT=`:host {
1348
1348
  --media-control-display: var(--controls);
1349
1349
  --media-loading-indicator-display: var(--loading-indicator);
1350
1350
  --media-dialog-display: var(--dialog);
@@ -1495,23 +1495,23 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1495
1495
  :host([no-tooltips]) {
1496
1496
  --media-tooltip-display: none;
1497
1497
  }
1498
- `;var oo=new WeakMap,Qp=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=oo.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=oo.get(this.element);t&&t.delete(this.type)}}static for(e){oo.has(e.element)||oo.set(e.element,new Map);let t=e.attributeName.slice(2),r=oo.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function _w(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(Qp.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function Aw(i,e){return e instanceof Ou&&i instanceof tr?(e.renderInto(i),!0):!1}function Sw(i,e){return e instanceof DocumentFragment&&i instanceof tr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function xw(i,e){if(i instanceof Rt){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function Rw(i,e){if(i instanceof Rt&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function Iw(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function Lw(i,e){return e===!1&&i instanceof tr?(i.replace(""),!0):!1}function kw(i,e){Rw(i,e)||Iw(i,e)||_w(i,e)||Lw(i,e)||Aw(i,e)||Sw(i,e)||xw(i,e)}var Xp=new Map,WT=new WeakMap,VT=new WeakMap,Ou=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(Xp.has(this.stringsKey))return Xp.get(this.stringsKey);{let e=Gs.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),Xp.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(WT.get(e)!==t){WT.set(e,t);let n=new er(t,this.values,this.processor);VT.set(e,n),e instanceof tr?e.replace(...n.children):e.appendChild(n);return}let r=VT.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},Cw={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";kw(n,a)}}}};function lo(i,...e){return new Ou(i,e,Cw)}function YT(i,e){i.renderInto(e)}var ww=i=>{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},qT=i=>lo`
1498
+ `;var ao=new WeakMap,Qp=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=ao.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=ao.get(this.element);t&&t.delete(this.type)}}static for(e){ao.has(e.element)||ao.set(e.element,new Map);let t=e.attributeName.slice(2),r=ao.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function Aw(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(Qp.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function Sw(i,e){return e instanceof Pu&&i instanceof tr?(e.renderInto(i),!0):!1}function xw(i,e){return e instanceof DocumentFragment&&i instanceof tr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function Rw(i,e){if(i instanceof Rt){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function Iw(i,e){if(i instanceof Rt&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function Lw(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function kw(i,e){return e===!1&&i instanceof tr?(i.replace(""),!0):!1}function Cw(i,e){Iw(i,e)||Lw(i,e)||Aw(i,e)||kw(i,e)||Sw(i,e)||xw(i,e)||Rw(i,e)}var Xp=new Map,VT=new WeakMap,YT=new WeakMap,Pu=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(Xp.has(this.stringsKey))return Xp.get(this.stringsKey);{let e=Gs.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),Xp.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(VT.get(e)!==t){VT.set(e,t);let n=new er(t,this.values,this.processor);YT.set(e,n),e instanceof tr?e.replace(...n.children):e.appendChild(n);return}let r=YT.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},ww={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";Cw(n,a)}}}};function oo(i,...e){return new Pu(i,e,ww)}function qT(i,e){i.renderInto(e)}var Dw=i=>{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},jT=i=>oo`
1499
1499
  <style>
1500
- ${ww(i)}
1501
- ${KT}
1500
+ ${Dw(i)}
1501
+ ${WT}
1502
1502
  </style>
1503
- ${Ow(i)}
1504
- `,Dw=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return eo(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},Mw={TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",DISPLAY:"display",CONTROL_BAR:"control-bar",MENU_BUTTON:"menu-button",LISTBOX:"listbox",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"},Pw=Object.values(Mw).join(", "),Ow=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,k,x,M,O,D,R,P,N,$,G,K,ee;return lo`
1503
+ ${Nw(i)}
1504
+ `,Mw=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return Ja(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},Pw={TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",DISPLAY:"display",CONTROL_BAR:"control-bar",MENU_BUTTON:"menu-button",LISTBOX:"listbox",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"},Ow=Object.values(Pw).join(", "),Nw=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,k,x,M,O,w,R,P,N,$,G,K,ee;return oo`
1505
1505
  <media-theme
1506
1506
  template="${i.themeTemplate||!1}"
1507
1507
  defaultstreamtype="${(e=i.defaultStreamType)!=null?e:!1}"
1508
- hotkeys="${Dw(i)||!1}"
1508
+ hotkeys="${Mw(i)||!1}"
1509
1509
  nohotkeys="${i.noHotKeys||!i.hasSrc||!1}"
1510
- noautoseektolive="${!!((t=i.streamType)!=null&&t.includes(xe.LIVE))&&i.targetLiveWindow!==0}"
1510
+ noautoseektolive="${!!((t=i.streamType)!=null&&t.includes(Re.LIVE))&&i.targetLiveWindow!==0}"
1511
1511
  novolumepref="${i.novolumepref||!1}"
1512
1512
  disabled="${!i.hasSrc||i.isDialogOpen}"
1513
1513
  audio="${(r=i.audio)!=null?r:!1}"
1514
- style="${(s=AT({"--media-primary-color":i.primaryColor,"--media-secondary-color":i.secondaryColor,"--media-accent-color":i.accentColor}))!=null?s:!1}"
1514
+ style="${(s=ST({"--media-primary-color":i.primaryColor,"--media-secondary-color":i.secondaryColor,"--media-accent-color":i.accentColor}))!=null?s:!1}"
1515
1515
  defaultsubtitles="${!i.defaultHiddenCaptions}"
1516
1516
  forwardseekoffset="${(n=i.forwardSeekOffset)!=null?n:!1}"
1517
1517
  backwardseekoffset="${(a=i.backwardSeekOffset)!=null?a:!1}"
@@ -1520,14 +1520,14 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1520
1520
  defaultduration="${(d=i.defaultDuration)!=null?d:!1}"
1521
1521
  hideduration="${(u=i.hideDuration)!=null?u:!1}"
1522
1522
  title="${(c=i.title)!=null?c:!1}"
1523
- exportparts="${Pw}"
1523
+ exportparts="${Ow}"
1524
1524
  onclose="${i.onCloseErrorDialog}"
1525
1525
  onfocusin="${i.onFocusInErrorDialog}"
1526
1526
  >
1527
1527
  <mux-video
1528
1528
  slot="media"
1529
1529
  target-live-window="${(h=i.targetLiveWindow)!=null?h:!1}"
1530
- stream-type="${(f=eo(i.streamType))!=null?f:!1}"
1530
+ stream-type="${(f=Ja(i.streamType))!=null?f:!1}"
1531
1531
  crossorigin="${(m=i.crossOrigin)!=null?m:""}"
1532
1532
  playsinline
1533
1533
  autoplay="${(p=i.autoplay)!=null?p:!1}"
@@ -1542,17 +1542,17 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1542
1542
  start-time="${i.startTime!=null?i.startTime:!1}"
1543
1543
  beacon-collection-domain="${(M=i.beaconCollectionDomain)!=null?M:!1}"
1544
1544
  player-init-time="${(O=i.playerInitTime)!=null?O:!1}"
1545
- player-software-name="${(D=i.playerSoftwareName)!=null?D:!1}"
1545
+ player-software-name="${(w=i.playerSoftwareName)!=null?w:!1}"
1546
1546
  player-software-version="${(R=i.playerSoftwareVersion)!=null?R:!1}"
1547
1547
  env-key="${(P=i.envKey)!=null?P:!1}"
1548
1548
  custom-domain="${(N=i.customDomain)!=null?N:!1}"
1549
- src="${i.src?i.src:i.playbackId?Wa(i):!1}"
1550
- cast-src="${i.src?i.src:i.playbackId?Wa(i):!1}"
1549
+ src="${i.src?i.src:i.playbackId?Ka(i):!1}"
1550
+ cast-src="${i.src?i.src:i.playbackId?Ka(i):!1}"
1551
1551
  cast-receiver="${($=i.castReceiver)!=null?$:!1}"
1552
1552
  drm-token="${(K=(G=i.tokens)==null?void 0:G.drm)!=null?K:!1}"
1553
1553
  exportparts="video"
1554
1554
  >
1555
- ${i.storyboard?lo`<track label="thumbnails" default kind="metadata" src="${i.storyboard}" />`:lo``}
1555
+ ${i.storyboard?oo`<track label="thumbnails" default kind="metadata" src="${i.storyboard}" />`:oo``}
1556
1556
  <slot></slot>
1557
1557
  </mux-video>
1558
1558
  <slot name="poster" slot="poster">
@@ -1564,7 +1564,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1564
1564
  ></media-poster-image>
1565
1565
  </slot>
1566
1566
  </media-theme>
1567
- `};var jT=i=>i.charAt(0).toUpperCase()+i.slice(1),Nw=(i,e=!1)=>{var t,r;if(i.muxCode){let s=jT((t=i.errorCategory)!=null?t:"video"),n=Ga((r=i.errorCategory)!=null?r:De.VIDEO);if(i.muxCode===J.NETWORK_OFFLINE)return Q("Your device appears to be offline",e);if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return Q("{category} URL has expired",e).format({category:s});if([J.NETWORK_TOKEN_SUB_MISMATCH,J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING,J.NETWORK_TOKEN_MALFORMED].includes(i.muxCode))return Q("{category} URL is formatted incorrectly",e).format({category:s});if(i.muxCode===J.NETWORK_TOKEN_MISSING)return Q("Invalid {categoryName} URL",e).format({categoryName:n});if(i.muxCode===J.NETWORK_NOT_FOUND)return Q("{category} does not exist",e).format({category:s});if(i.muxCode===J.NETWORK_NOT_READY)return Q("{category} is not currently available",e).format({category:s})}if(i.code){if(i.code===Y.MEDIA_ERR_NETWORK)return Q("Network Error",e);if(i.code===Y.MEDIA_ERR_DECODE)return Q("Media Error",e);if(i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED)return Q("Source Not Supported",e)}return Q("Error",e)},Uw=(i,e=!1)=>{var t,r;if(i.muxCode){let s=jT((t=i.errorCategory)!=null?t:"video"),n=Ga((r=i.errorCategory)!=null?r:De.VIDEO);return i.muxCode===J.NETWORK_OFFLINE?Q("Check your internet connection and try reloading this video.",e):i.muxCode===J.NETWORK_TOKEN_EXPIRED?Q("The video\u2019s secured {tokenNamePrefix}-token has expired.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH?Q("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_MALFORMED?Q("{category} URL is formatted incorrectly",e).format({category:s}):[J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode)?Q("The {tokenNamePrefix}-token is formatted with incorrect information.",e).format({tokenNamePrefix:n}):[J.NETWORK_TOKEN_MISSING,J.NETWORK_INVALID_URL].includes(i.muxCode)?Q("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_NOT_FOUND?"":i.muxCode===J.NETWORK_NOT_READY?Q("The live stream or video file are not yet ready.",e):i.message}return i.code&&(i.code===Y.MEDIA_ERR_NETWORK||i.code===Y.MEDIA_ERR_DECODE||i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED),i.message},zT=(i,e=!1)=>{let t=Nw(i,e),r=Uw(i,e);return{title:t,message:r}},Fw=i=>{if(i.muxCode){if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return"403-expired-token.md";if(i.muxCode===J.NETWORK_TOKEN_MALFORMED)return"403-malformatted-token.md";if([J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode))return"403-incorrect-aud-value.md";if(i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH)return"403-playback-id-mismatch.md";if(i.muxCode===J.NETWORK_TOKEN_MISSING)return"missing-signed-tokens.md";if(i.muxCode===J.NETWORK_NOT_FOUND)return"404-not-found.md";if(i.muxCode===J.NETWORK_NOT_READY)return"412-not-playable.md"}if(i.code){if(i.code===Y.MEDIA_ERR_NETWORK)return"";if(i.code===Y.MEDIA_ERR_DECODE)return"media-decode-error.md";if(i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""},Zp=(i,e)=>{let t=Fw(i);return{message:i.message,context:i.context,file:t}};var XT=`<template id="media-theme-gerwig">
1567
+ `};var zT=i=>i.charAt(0).toUpperCase()+i.slice(1),Uw=(i,e=!1)=>{var t,r;if(i.muxCode){let s=zT((t=i.errorCategory)!=null?t:"video"),n=Ha((r=i.errorCategory)!=null?r:Me.VIDEO);if(i.muxCode===J.NETWORK_OFFLINE)return Q("Your device appears to be offline",e);if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return Q("{category} URL has expired",e).format({category:s});if([J.NETWORK_TOKEN_SUB_MISMATCH,J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING,J.NETWORK_TOKEN_MALFORMED].includes(i.muxCode))return Q("{category} URL is formatted incorrectly",e).format({category:s});if(i.muxCode===J.NETWORK_TOKEN_MISSING)return Q("Invalid {categoryName} URL",e).format({categoryName:n});if(i.muxCode===J.NETWORK_NOT_FOUND)return Q("{category} does not exist",e).format({category:s});if(i.muxCode===J.NETWORK_NOT_READY)return Q("{category} is not currently available",e).format({category:s})}if(i.code){if(i.code===Y.MEDIA_ERR_NETWORK)return Q("Network Error",e);if(i.code===Y.MEDIA_ERR_DECODE)return Q("Media Error",e);if(i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED)return Q("Source Not Supported",e)}return Q("Error",e)},Fw=(i,e=!1)=>{var t,r;if(i.muxCode){let s=zT((t=i.errorCategory)!=null?t:"video"),n=Ha((r=i.errorCategory)!=null?r:Me.VIDEO);return i.muxCode===J.NETWORK_OFFLINE?Q("Check your internet connection and try reloading this video.",e):i.muxCode===J.NETWORK_TOKEN_EXPIRED?Q("The video\u2019s secured {tokenNamePrefix}-token has expired.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH?Q("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_MALFORMED?Q("{category} URL is formatted incorrectly",e).format({category:s}):[J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode)?Q("The {tokenNamePrefix}-token is formatted with incorrect information.",e).format({tokenNamePrefix:n}):[J.NETWORK_TOKEN_MISSING,J.NETWORK_INVALID_URL].includes(i.muxCode)?Q("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_NOT_FOUND?"":i.muxCode===J.NETWORK_NOT_READY?Q("The live stream or video file are not yet ready.",e):i.message}return i.code&&(i.code===Y.MEDIA_ERR_NETWORK||i.code===Y.MEDIA_ERR_DECODE||i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED),i.message},XT=(i,e=!1)=>{let t=Uw(i,e),r=Fw(i,e);return{title:t,message:r}},Bw=i=>{if(i.muxCode){if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return"403-expired-token.md";if(i.muxCode===J.NETWORK_TOKEN_MALFORMED)return"403-malformatted-token.md";if([J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode))return"403-incorrect-aud-value.md";if(i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH)return"403-playback-id-mismatch.md";if(i.muxCode===J.NETWORK_TOKEN_MISSING)return"missing-signed-tokens.md";if(i.muxCode===J.NETWORK_NOT_FOUND)return"404-not-found.md";if(i.muxCode===J.NETWORK_NOT_READY)return"412-not-playable.md"}if(i.code){if(i.code===Y.MEDIA_ERR_NETWORK)return"";if(i.code===Y.MEDIA_ERR_DECODE)return"media-decode-error.md";if(i.code===Y.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""},Zp=(i,e)=>{let t=Bw(i);return{message:i.message,context:i.context,file:t}};var QT=`<template id="media-theme-gerwig">
1568
1568
  <style>
1569
1569
  @keyframes pre-play-hide {
1570
1570
  0% {
@@ -2571,7 +2571,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2571
2571
  <slot></slot>
2572
2572
  </media-controller>
2573
2573
  </template>
2574
- `;function QT({anchor:i,floating:e,placement:t}){let r=$w({anchor:i,floating:e}),{x:s,y:n}=Gw(r,t);return{x:s,y:n}}function $w({anchor:i,floating:e}){return{anchor:Hw(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function Hw(i,e){var t;let r=i.getBoundingClientRect(),s=(t=e==null?void 0:e.getBoundingClientRect())!=null?t:{x:0,y:0};return{x:r.x-s.x,y:r.y-s.y,width:r.width,height:r.height}}function Gw({anchor:i,floating:e},t){let r=Kw(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=ZT(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function ZT(i){return i.split("-")[0]}function Kw(i){return["top","bottom"].includes(ZT(i))?"y":"x"}var kr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),this.action=e,this.relatedTarget=t}},Nu=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),this.newState=e,this.oldState=t}};var ug=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ae=(i,e,t)=>(ug(i,e,"read from private field"),t?t.call(i):e.get(i)),Pe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Pi=(i,e,t,r)=>(ug(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fe=(i,e,t)=>(ug(i,e,"access private method"),t),Oi,Ps,Cr,Uu,Fu,Os,ho,Jp,JT,Hu,Bu,eg,tg,e_,ig,t_,rg,i_,Fn,Bn,$n,fo,Gu,cg,sg,r_,hg,s_,ng,n_,fg,a_,ag,o_,og,l_,uo,Ku,lg,d_,co,Wu,$u,dg;function Ni({type:i,text:e,value:t,checked:r}){let s=B.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=B.createElement("span");return n.textContent=e,s.append(n),s}function oi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var u_=B.createElement("template");u_.innerHTML=`
2574
+ `;function ZT({anchor:i,floating:e,placement:t}){let r=Hw({anchor:i,floating:e}),{x:s,y:n}=Kw(r,t);return{x:s,y:n}}function Hw({anchor:i,floating:e}){return{anchor:Gw(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function Gw(i,e){var t;let r=i.getBoundingClientRect(),s=(t=e==null?void 0:e.getBoundingClientRect())!=null?t:{x:0,y:0};return{x:r.x-s.x,y:r.y-s.y,width:r.width,height:r.height}}function Kw({anchor:i,floating:e},t){let r=Ww(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=JT(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function JT(i){return i.split("-")[0]}function Ww(i){return["top","bottom"].includes(JT(i))?"y":"x"}var kr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),this.action=e,this.relatedTarget=t}},Ou=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),this.newState=e,this.oldState=t}};var ug=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Se=(i,e,t)=>(ug(i,e,"read from private field"),t?t.call(i):e.get(i)),Oe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Pi=(i,e,t,r)=>(ug(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Be=(i,e,t)=>(ug(i,e,"access private method"),t),Oi,Ps,Cr,Nu,Uu,Os,co,Jp,e_,$u,Fu,eg,tg,t_,ig,i_,rg,r_,Un,Fn,Bn,ho,Hu,cg,sg,s_,hg,n_,ng,a_,fg,o_,ag,l_,og,d_,lo,Gu,lg,u_,uo,Ku,Bu,dg;function Ni({type:i,text:e,value:t,checked:r}){let s=B.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=B.createElement("span");return n.textContent=e,s.append(n),s}function oi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var c_=B.createElement("template");c_.innerHTML=`
2575
2575
  <style>
2576
2576
  :host {
2577
2577
  font: var(--media-font,
@@ -2738,7 +2738,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2738
2738
  <slot></slot>
2739
2739
  </div>
2740
2740
  <slot name="checked-indicator" hidden></slot>
2741
- `;var Ms={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},Et=class extends S.HTMLElement{constructor(){super(),Pe(this,Jp),Pe(this,Bu),Pe(this,tg),Pe(this,ig),Pe(this,rg),Pe(this,$n),Pe(this,Gu),Pe(this,sg),Pe(this,hg),Pe(this,ng),Pe(this,fg),Pe(this,ag),Pe(this,og),Pe(this,uo),Pe(this,lg),Pe(this,co),Pe(this,$u),Pe(this,Oi,null),Pe(this,Ps,null),Pe(this,Cr,null),Pe(this,Uu,new Set),Pe(this,Fu,void 0),Pe(this,Os,!1),Pe(this,ho,null),Pe(this,Hu,()=>{let e=Ae(this,Uu),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));Pi(this,Uu,t)}),Pe(this,Fn,()=>{Fe(this,$n,fo).call(this),Fe(this,Gu,cg).call(this,!1)}),Pe(this,Bn,()=>{Fe(this,$n,fo).call(this)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),Pi(this,Fu,new MutationObserver(Ae(this,Hu))),Ae(this,Fu).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ms.DISABLED,Ms.HIDDEN,Ms.STYLE,Ms.ANCHOR,ue.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":Fe(this,Jp,JT).call(this,e);break;case"invoke":Fe(this,tg,e_).call(this,e);break;case"click":Fe(this,sg,r_).call(this,e);break;case"toggle":Fe(this,ng,n_).call(this,e);break;case"focusout":Fe(this,ag,o_).call(this,e);break;case"keydown":Fe(this,og,l_).call(this,e);break}}connectedCallback(){var e,t;Pi(this,ho,wc(this.shadowRoot,":host")),Fe(this,Bu,eg).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),Pi(this,Oi,Bo(this)),(t=(e=Ae(this,Oi))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Gi(mo(this),Ae(this,Fn)),Gi(this,Ae(this,Bn)))}disconnectedCallback(){var e,t;Or(mo(this),Ae(this,Fn)),Or(this,Ae(this,Bn)),this.disable(),(t=(e=Ae(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Pi(this,Oi,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===Ms.HIDDEN&&r!==t?(Ae(this,Os)||Pi(this,Os,!0),this.hidden?Fe(this,rg,i_).call(this):Fe(this,ig,t_).call(this),this.dispatchEvent(new Nu({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ae(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Pi(this,Oi,null)),r&&this.isConnected&&(Pi(this,Oi,Bo(this)),(o=(a=Ae(this,Oi))==null?void 0:a.associateElement)==null||o.call(a,this))):e===Ms.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ms.STYLE&&r!==t&&Fe(this,Bu,eg).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Nr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(Ww)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&Fe(this,$u,dg).call(this,t)}focus(){if(Pi(this,Ps,zn()),this.items.length){Fe(this,co,Wu).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=Fe(this,uo,Ku).call(this,e);r&&(Fe(this,$u,dg).call(this,r,r.type==="checkbox"),Ae(this,Cr)&&!this.hidden&&((t=Ae(this,Ps))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=Fe(this,uo,Ku).call(this,e))!=null?t:Fe(this,lg,d_).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),Fe(this,co,Wu).call(this,n[l]),n[l].focus()}};Oi=new WeakMap;Ps=new WeakMap;Cr=new WeakMap;Uu=new WeakMap;Fu=new WeakMap;Os=new WeakMap;ho=new WeakMap;Jp=new WeakSet;JT=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Ae(this,Hu).call(this)};Hu=new WeakMap;Bu=new WeakSet;eg=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};tg=new WeakSet;e_=function(i){Pi(this,Cr,i.relatedTarget),At(this,i.relatedTarget)||(this.hidden=!this.hidden)};ig=new WeakSet;t_=function(){var i;(i=Ae(this,Cr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Gi(mo(this),Ae(this,Fn)),Gi(this,Ae(this,Bn))};rg=new WeakSet;i_=function(){var i;(i=Ae(this,Cr))==null||i.setAttribute("aria-expanded","false"),Or(mo(this),Ae(this,Fn)),Or(this,Ae(this,Bn))};Fn=new WeakMap;Bn=new WeakMap;$n=new WeakSet;fo=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=QT({anchor:this.anchorElement,floating:this,placement:"top-start"});i!=null||(i=this.offsetWidth);let s=mo(this).getBoundingClientRect(),n=s.width-e-i,a=s.height-t-this.offsetHeight,{style:o}=Ae(this,ho);o.setProperty("position","absolute"),o.setProperty("right",`${Math.max(0,n)}px`),o.setProperty("--_menu-bottom",`${a}px`);let l=getComputedStyle(this),u=o.getPropertyValue("--_menu-bottom")===l.bottom?a:parseFloat(l.bottom),c=s.height-u-parseFloat(l.marginBottom);this.style.setProperty("--_menu-max-height",`${c}px`)};Gu=new WeakSet;cg=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Ae(this,ho);if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),Fe(this,$n,fo).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),Fe(this,$n,fo).call(this);r.removeProperty("--media-menu-transition-in")};sg=new WeakSet;r_=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Ae(this,hg,s_))){(e=Ae(this,Ps))==null||e.focus(),this.hidden=!0;return}let t=Fe(this,uo,Ku).call(this,i);!t||t.hasAttribute("disabled")||(Fe(this,co,Wu).call(this,t),this.handleSelect(i))};hg=new WeakSet;s_=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};ng=new WeakSet;n_=function(i){if(i.target===this)return;Fe(this,fg,a_).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new kr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);Fe(this,Gu,cg).call(this,!0)};fg=new WeakSet;a_=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};ag=new WeakSet;o_=function(i){var e;At(this,i.relatedTarget)||(Ae(this,Os)&&((e=Ae(this,Ps))==null||e.focus()),Ae(this,Cr)&&Ae(this,Cr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};og=new WeakSet;l_=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Ae(this,Os)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Ae(this,Ps))==null||n.focus(),Ae(this,Os)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};uo=new WeakSet;Ku=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};lg=new WeakSet;d_=function(){return this.items.find(i=>i.tabIndex===0)};co=new WeakSet;Wu=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};$u=new WeakSet;dg=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};Et.template=u_;function Ww(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function mo(i){var e;return(e=i.getAttribute("bounds")?di(i,`#${i.getAttribute("bounds")}`):Ge(i)||i.parentElement)!=null?e:i}S.customElements.get("media-chrome-menu")||S.customElements.define("media-chrome-menu",Et);var bg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Fi=(i,e,t)=>(bg(i,e,"read from private field"),t?t.call(i):e.get(i)),ir=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mg=(i,e,t,r)=>(bg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui=(i,e,t)=>(bg(i,e,"access private method"),t),Vu,go,pg,c_,yg,h_,Tg,f_,Bi,Hn,vo,gg,m_,Yu,vg,p_=B.createElement("template");p_.innerHTML=`
2741
+ `;var Ms={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},Et=class extends S.HTMLElement{constructor(){super(),Oe(this,Jp),Oe(this,Fu),Oe(this,tg),Oe(this,ig),Oe(this,rg),Oe(this,Bn),Oe(this,Hu),Oe(this,sg),Oe(this,hg),Oe(this,ng),Oe(this,fg),Oe(this,ag),Oe(this,og),Oe(this,lo),Oe(this,lg),Oe(this,uo),Oe(this,Bu),Oe(this,Oi,null),Oe(this,Ps,null),Oe(this,Cr,null),Oe(this,Nu,new Set),Oe(this,Uu,void 0),Oe(this,Os,!1),Oe(this,co,null),Oe(this,$u,()=>{let e=Se(this,Nu),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));Pi(this,Nu,t)}),Oe(this,Un,()=>{Be(this,Bn,ho).call(this),Be(this,Hu,cg).call(this,!1)}),Oe(this,Fn,()=>{Be(this,Bn,ho).call(this)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),Pi(this,Uu,new MutationObserver(Se(this,$u))),Se(this,Uu).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ms.DISABLED,Ms.HIDDEN,Ms.STYLE,Ms.ANCHOR,ue.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":Be(this,Jp,e_).call(this,e);break;case"invoke":Be(this,tg,t_).call(this,e);break;case"click":Be(this,sg,s_).call(this,e);break;case"toggle":Be(this,ng,a_).call(this,e);break;case"focusout":Be(this,ag,l_).call(this,e);break;case"keydown":Be(this,og,d_).call(this,e);break}}connectedCallback(){var e,t;Pi(this,co,Cc(this.shadowRoot,":host")),Be(this,Fu,eg).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),Pi(this,Oi,Fo(this)),(t=(e=Se(this,Oi))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Gi(fo(this),Se(this,Un)),Gi(this,Se(this,Fn)))}disconnectedCallback(){var e,t;Or(fo(this),Se(this,Un)),Or(this,Se(this,Fn)),this.disable(),(t=(e=Se(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Pi(this,Oi,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===Ms.HIDDEN&&r!==t?(Se(this,Os)||Pi(this,Os,!0),this.hidden?Be(this,rg,r_).call(this):Be(this,ig,i_).call(this),this.dispatchEvent(new Ou({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Se(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Pi(this,Oi,null)),r&&this.isConnected&&(Pi(this,Oi,Fo(this)),(o=(a=Se(this,Oi))==null?void 0:a.associateElement)==null||o.call(a,this))):e===Ms.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ms.STYLE&&r!==t&&Be(this,Fu,eg).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Nr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(Vw)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&Be(this,Bu,dg).call(this,t)}focus(){if(Pi(this,Ps,jn()),this.items.length){Be(this,uo,Ku).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=Be(this,lo,Gu).call(this,e);r&&(Be(this,Bu,dg).call(this,r,r.type==="checkbox"),Se(this,Cr)&&!this.hidden&&((t=Se(this,Ps))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=Be(this,lo,Gu).call(this,e))!=null?t:Be(this,lg,u_).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),Be(this,uo,Ku).call(this,n[l]),n[l].focus()}};Oi=new WeakMap;Ps=new WeakMap;Cr=new WeakMap;Nu=new WeakMap;Uu=new WeakMap;Os=new WeakMap;co=new WeakMap;Jp=new WeakSet;e_=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Se(this,$u).call(this)};$u=new WeakMap;Fu=new WeakSet;eg=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};tg=new WeakSet;t_=function(i){Pi(this,Cr,i.relatedTarget),At(this,i.relatedTarget)||(this.hidden=!this.hidden)};ig=new WeakSet;i_=function(){var i;(i=Se(this,Cr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Gi(fo(this),Se(this,Un)),Gi(this,Se(this,Fn))};rg=new WeakSet;r_=function(){var i;(i=Se(this,Cr))==null||i.setAttribute("aria-expanded","false"),Or(fo(this),Se(this,Un)),Or(this,Se(this,Fn))};Un=new WeakMap;Fn=new WeakMap;Bn=new WeakSet;ho=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=ZT({anchor:this.anchorElement,floating:this,placement:"top-start"});i!=null||(i=this.offsetWidth);let s=fo(this).getBoundingClientRect(),n=s.width-e-i,a=s.height-t-this.offsetHeight,{style:o}=Se(this,co);o.setProperty("position","absolute"),o.setProperty("right",`${Math.max(0,n)}px`),o.setProperty("--_menu-bottom",`${a}px`);let l=getComputedStyle(this),u=o.getPropertyValue("--_menu-bottom")===l.bottom?a:parseFloat(l.bottom),c=s.height-u-parseFloat(l.marginBottom);this.style.setProperty("--_menu-max-height",`${c}px`)};Hu=new WeakSet;cg=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Se(this,co);if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),Be(this,Bn,ho).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),Be(this,Bn,ho).call(this);r.removeProperty("--media-menu-transition-in")};sg=new WeakSet;s_=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Se(this,hg,n_))){(e=Se(this,Ps))==null||e.focus(),this.hidden=!0;return}let t=Be(this,lo,Gu).call(this,i);!t||t.hasAttribute("disabled")||(Be(this,uo,Ku).call(this,t),this.handleSelect(i))};hg=new WeakSet;n_=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};ng=new WeakSet;a_=function(i){if(i.target===this)return;Be(this,fg,o_).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new kr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);Be(this,Hu,cg).call(this,!0)};fg=new WeakSet;o_=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};ag=new WeakSet;l_=function(i){var e;At(this,i.relatedTarget)||(Se(this,Os)&&((e=Se(this,Ps))==null||e.focus()),Se(this,Cr)&&Se(this,Cr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};og=new WeakSet;d_=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Se(this,Os)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Se(this,Ps))==null||n.focus(),Se(this,Os)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};lo=new WeakSet;Gu=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};lg=new WeakSet;u_=function(){return this.items.find(i=>i.tabIndex===0)};uo=new WeakSet;Ku=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};Bu=new WeakSet;dg=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};Et.template=c_;function Vw(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function fo(i){var e;return(e=i.getAttribute("bounds")?di(i,`#${i.getAttribute("bounds")}`):Ke(i)||i.parentElement)!=null?e:i}S.customElements.get("media-chrome-menu")||S.customElements.define("media-chrome-menu",Et);var bg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Fi=(i,e,t)=>(bg(i,e,"read from private field"),t?t.call(i):e.get(i)),ir=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mg=(i,e,t,r)=>(bg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui=(i,e,t)=>(bg(i,e,"access private method"),t),Wu,po,pg,h_,yg,f_,Tg,m_,Bi,$n,go,gg,p_,Vu,vg,g_=B.createElement("template");g_.innerHTML=`
2742
2742
  <style>
2743
2743
  :host {
2744
2744
  transition: var(--media-menu-item-transition,
@@ -2854,7 +2854,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2854
2854
  <slot name="description"></slot>
2855
2855
  <slot name="suffix"></slot>
2856
2856
  <slot name="submenu"></slot>
2857
- `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},wr=class extends S.HTMLElement{constructor(){super(),ir(this,pg),ir(this,yg),ir(this,Tg),ir(this,Hn),ir(this,gg),ir(this,Yu),ir(this,Vu,!1),ir(this,go,void 0),ir(this,Bi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(e=this.submenuElement.checkedItems)==null?void 0:e[0],n=(t=s==null?void 0:s.dataset.description)!=null?t:s==null?void 0:s.text,a=B.createElement("span");a.textContent=n!=null?n:"",r.replaceChildren(a)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),po(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ui(this,pg,c_).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ui(this,gg,m_).call(this,e);break;case"keyup":Ui(this,Hn,vo).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&po(this)&&!Fi(this,Vu)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,mg(this,go,Eg(this,this.parentNode)),Ui(this,Yu,vg).call(this)}disconnectedCallback(){this.disable(),Ui(this,Yu,vg).call(this),mg(this,go,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Nr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(po(this))return this.getAttribute("aria-checked")==="true"}set checked(e){po(this)&&(mg(this,Vu,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){po(this)||this.invokeTargetElement&&At(this,e.target)&&this.invokeTargetElement.dispatchEvent(new kr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Vu=new WeakMap;go=new WeakMap;pg=new WeakSet;c_=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ui(this,yg,h_).call(this):Ui(this,Tg,f_).call(this))};yg=new WeakSet;h_=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Fi(this,Bi)),this.submenuElement.addEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.addEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};Tg=new WeakSet;f_=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Fi(this,Bi)),this.submenuElement.removeEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.removeEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};Bi=new WeakMap;Hn=new WeakSet;vo=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ui(this,Hn,vo));return}this.handleClick(i)};gg=new WeakSet;m_=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ui(this,Hn,vo));return}this.addEventListener("keyup",Ui(this,Hn,vo),{once:!0})};Yu=new WeakSet;vg=function(){var i;let e=(i=Fi(this,go))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};wr.template=p_;function po(i){return i.type==="radio"||i.type==="checkbox"}function Eg(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Eg(i,t):e!=null&&e.items?e:Eg(e,e==null?void 0:e.parentNode)}S.customElements.get("media-chrome-menu-item")||S.customElements.define("media-chrome-menu-item",wr);var g_=B.createElement("template");g_.innerHTML=Et.template.innerHTML+`
2857
+ `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},wr=class extends S.HTMLElement{constructor(){super(),ir(this,pg),ir(this,yg),ir(this,Tg),ir(this,$n),ir(this,gg),ir(this,Vu),ir(this,Wu,!1),ir(this,po,void 0),ir(this,Bi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(e=this.submenuElement.checkedItems)==null?void 0:e[0],n=(t=s==null?void 0:s.dataset.description)!=null?t:s==null?void 0:s.text,a=B.createElement("span");a.textContent=n!=null?n:"",r.replaceChildren(a)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),mo(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ui(this,pg,h_).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ui(this,gg,p_).call(this,e);break;case"keyup":Ui(this,$n,go).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&mo(this)&&!Fi(this,Wu)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,mg(this,po,Eg(this,this.parentNode)),Ui(this,Vu,vg).call(this)}disconnectedCallback(){this.disable(),Ui(this,Vu,vg).call(this),mg(this,po,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Nr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(mo(this))return this.getAttribute("aria-checked")==="true"}set checked(e){mo(this)&&(mg(this,Wu,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){mo(this)||this.invokeTargetElement&&At(this,e.target)&&this.invokeTargetElement.dispatchEvent(new kr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Wu=new WeakMap;po=new WeakMap;pg=new WeakSet;h_=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ui(this,yg,f_).call(this):Ui(this,Tg,m_).call(this))};yg=new WeakSet;f_=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Fi(this,Bi)),this.submenuElement.addEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.addEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};Tg=new WeakSet;m_=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Fi(this,Bi)),this.submenuElement.removeEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.removeEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};Bi=new WeakMap;$n=new WeakSet;go=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ui(this,$n,go));return}this.handleClick(i)};gg=new WeakSet;p_=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ui(this,$n,go));return}this.addEventListener("keyup",Ui(this,$n,go),{once:!0})};Vu=new WeakSet;vg=function(){var i;let e=(i=Fi(this,po))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};wr.template=g_;function mo(i){return i.type==="radio"||i.type==="checkbox"}function Eg(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Eg(i,t):e!=null&&e.items?e:Eg(e,e==null?void 0:e.parentNode)}S.customElements.get("media-chrome-menu-item")||S.customElements.define("media-chrome-menu-item",wr);var v_=B.createElement("template");v_.innerHTML=Et.template.innerHTML+`
2858
2858
  <style>
2859
2859
  :host {
2860
2860
  background: var(--media-settings-menu-background,
@@ -2881,7 +2881,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2881
2881
  --media-settings-menu-item-opacity: 0;
2882
2882
  }
2883
2883
  </style>
2884
- `;var Eo=class extends Et{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ge(this).querySelector("media-settings-menu-button")}};Eo.template=g_;S.customElements.get("media-settings-menu")||S.customElements.define("media-settings-menu",Eo);var v_,qu=B.createElement("template");qu.innerHTML=wr.template.innerHTML+`
2884
+ `;var vo=class extends Et{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-settings-menu-button")}};vo.template=v_;S.customElements.get("media-settings-menu")||S.customElements.define("media-settings-menu",vo);var E_,Yu=B.createElement("template");Yu.innerHTML=wr.template.innerHTML+`
2885
2885
  <style>
2886
2886
  slot:not([name="submenu"]) {
2887
2887
  opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
@@ -2891,11 +2891,11 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2891
2891
  background: transparent;
2892
2892
  }
2893
2893
  </style>
2894
- `;(v_=qu.content)!=null&&v_.querySelector&&(qu.content.querySelector('slot[name="suffix"]').innerHTML=`
2894
+ `;(E_=Yu.content)!=null&&E_.querySelector&&(Yu.content.querySelector('slot[name="suffix"]').innerHTML=`
2895
2895
  <svg aria-hidden="true" viewBox="0 0 20 24">
2896
2896
  <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/>
2897
2897
  </svg>
2898
- `);var bo=class extends wr{};bo.template=qu;S.customElements.get("media-settings-menu-item")||S.customElements.define("media-settings-menu-item",bo);var $t=class extends we{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Nr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;(e=this.invokeTargetElement)==null||e.dispatchEvent(new kr({relatedTarget:this}))}};S.customElements.get("media-chrome-menu-button")||S.customElements.define("media-chrome-menu-button",$t);var E_=B.createElement("template");E_.innerHTML=`
2898
+ `);var Eo=class extends wr{};Eo.template=Yu;S.customElements.get("media-settings-menu-item")||S.customElements.define("media-settings-menu-item",Eo);var $t=class extends De{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Nr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;(e=this.invokeTargetElement)==null||e.dispatchEvent(new kr({relatedTarget:this}))}};S.customElements.get("media-chrome-menu-button")||S.customElements.define("media-chrome-menu-button",$t);var b_=B.createElement("template");b_.innerHTML=`
2899
2899
  <style>
2900
2900
  :host([aria-expanded="true"]) slot[name=tooltip] {
2901
2901
  display: none;
@@ -2906,25 +2906,25 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2906
2906
  <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
2907
2907
  </svg>
2908
2908
  </slot>
2909
- `;var ju=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:E_,tooltipContent:he.SETTINGS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Oe.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ge(this).querySelector("media-settings-menu")}};S.customElements.get("media-settings-menu-button")||S.customElements.define("media-settings-menu-button",ju);var xg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},b_=(i,e,t)=>(xg(i,e,"read from private field"),t?t.call(i):e.get(i)),zu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_g=(i,e,t,r)=>(xg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xu=(i,e,t)=>(xg(i,e,"access private method"),t),yo,Ju,Qu,Ag,Zu,Sg,ec=class extends Et{constructor(){super(...arguments),zu(this,Qu),zu(this,Zu),zu(this,yo,[]),zu(this,Ju,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===y.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(_g(this,yo,a0(r!=null?r:"")),Xu(this,Qu,Ag).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Xu(this,Zu,Sg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Xu(this,Zu,Sg))}get anchorElement(){var e;return this.anchor!=="auto"?super.anchorElement:(e=Ge(this))==null?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return b_(this,yo)}set mediaAudioTrackList(e){_g(this,yo,e),Xu(this,Qu,Ag).call(this)}get mediaAudioTrackEnabled(){var e;return(e=me(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};yo=new WeakMap;Ju=new WeakMap;Qu=new WeakSet;Ag=function(){if(b_(this,Ju)===JSON.stringify(this.mediaAudioTrackList))return;_g(this,Ju,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=Ni({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(r)}};Zu=new WeakSet;Sg=function(){if(this.value==null)return;let i=new S.CustomEvent(H.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-audio-track-menu")||S.customElements.define("media-audio-track-menu",ec);var Vw=`<svg aria-hidden="true" viewBox="0 0 24 24">
2909
+ `;var qu=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:b_,tooltipContent:he.SETTINGS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ne.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-settings-menu")}};S.customElements.get("media-settings-menu-button")||S.customElements.define("media-settings-menu-button",qu);var xg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},y_=(i,e,t)=>(xg(i,e,"read from private field"),t?t.call(i):e.get(i)),ju=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_g=(i,e,t,r)=>(xg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),zu=(i,e,t)=>(xg(i,e,"access private method"),t),bo,Zu,Xu,Ag,Qu,Sg,Ju=class extends Et{constructor(){super(...arguments),ju(this,Xu),ju(this,Qu),ju(this,bo,[]),ju(this,Zu,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===y.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(_g(this,bo,a0(r!=null?r:"")),zu(this,Xu,Ag).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",zu(this,Qu,Sg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",zu(this,Qu,Sg))}get anchorElement(){var e;return this.anchor!=="auto"?super.anchorElement:(e=Ke(this))==null?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return y_(this,bo)}set mediaAudioTrackList(e){_g(this,bo,e),zu(this,Xu,Ag).call(this)}get mediaAudioTrackEnabled(){var e;return(e=me(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};bo=new WeakMap;Zu=new WeakMap;Xu=new WeakSet;Ag=function(){if(y_(this,Zu)===JSON.stringify(this.mediaAudioTrackList))return;_g(this,Zu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=Ni({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(r)}};Qu=new WeakSet;Sg=function(){if(this.value==null)return;let i=new S.CustomEvent(H.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-audio-track-menu")||S.customElements.define("media-audio-track-menu",Ju);var Yw=`<svg aria-hidden="true" viewBox="0 0 24 24">
2910
2910
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
2911
2911
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
2912
- </svg>`,y_=B.createElement("template");y_.innerHTML=`
2912
+ </svg>`,T_=B.createElement("template");T_.innerHTML=`
2913
2913
  <style>
2914
2914
  :host([aria-expanded="true"]) slot[name=tooltip] {
2915
2915
  display: none;
2916
2916
  }
2917
2917
  </style>
2918
- <slot name="icon">${Vw}</slot>
2919
- `;var tc=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:y_,tooltipContent:he.AUDIO_TRACK_MENU})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Oe.AUDIO_TRACKS())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ge(this))==null?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return(e=me(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};S.customElements.get("media-audio-track-menu-button")||S.customElements.define("media-audio-track-menu-button",tc);var Cg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Yw=(i,e,t)=>(Cg(i,e,"read from private field"),t?t.call(i):e.get(i)),Rg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qw=(i,e,t,r)=>(Cg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ig=(i,e,t)=>(Cg(i,e,"access private method"),t),rc,Lg,A_,ic,kg,jw=`
2918
+ <slot name="icon">${Yw}</slot>
2919
+ `;var ec=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:T_,tooltipContent:he.AUDIO_TRACK_MENU})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ne.AUDIO_TRACKS())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ke(this))==null?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return(e=me(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};S.customElements.get("media-audio-track-menu-button")||S.customElements.define("media-audio-track-menu-button",ec);var Cg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qw=(i,e,t)=>(Cg(i,e,"read from private field"),t?t.call(i):e.get(i)),Rg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},jw=(i,e,t,r)=>(Cg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ig=(i,e,t)=>(Cg(i,e,"access private method"),t),ic,Lg,S_,tc,kg,zw=`
2920
2920
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
2921
2921
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
2922
- </svg>`,S_=B.createElement("template");S_.innerHTML=Et.template.innerHTML+`
2923
- <slot name="captions-indicator" hidden>${jw}</slot>`;var To=class extends Et{constructor(){super(...arguments),Rg(this,Lg),Rg(this,ic),Rg(this,rc,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_LIST&&t!==r?Ig(this,Lg,A_).call(this):e===y.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ig(this,ic,kg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ig(this,ic,kg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ge(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return T_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){__(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return T_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){__(this,y.MEDIA_SUBTITLES_SHOWING,e)}};rc=new WeakMap;Lg=new WeakSet;A_=function(){var i;if(Yw(this,rc)===JSON.stringify(this.mediaSubtitlesList))return;qw(this,rc,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=Ni({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=Ni({type:"radio",text:this.formatMenuItemText(s.label,s),value:zo(s),checked:this.value==zo(s)});n.prepend(oi(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(oi(this,"captions-indicator")),this.defaultSlot.append(n)}};ic=new WeakSet;kg=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(y.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new S.CustomEvent(H.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new S.CustomEvent(H.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};To.template=S_;var T_=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},__=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-menu")||S.customElements.define("media-captions-menu",To);var zw=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Xw=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Qw=(i,e,t,r)=>(zw(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wg,Zw=`<svg aria-hidden="true" viewBox="0 0 26 24">
2922
+ </svg>`,x_=B.createElement("template");x_.innerHTML=Et.template.innerHTML+`
2923
+ <slot name="captions-indicator" hidden>${zw}</slot>`;var yo=class extends Et{constructor(){super(...arguments),Rg(this,Lg),Rg(this,tc),Rg(this,ic,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_LIST&&t!==r?Ig(this,Lg,S_).call(this):e===y.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ig(this,tc,kg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ig(this,tc,kg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return __(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){A_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return __(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){A_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};ic=new WeakMap;Lg=new WeakSet;S_=function(){var i;if(qw(this,ic)===JSON.stringify(this.mediaSubtitlesList))return;jw(this,ic,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=Ni({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=Ni({type:"radio",text:this.formatMenuItemText(s.label,s),value:jo(s),checked:this.value==jo(s)});n.prepend(oi(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(oi(this,"captions-indicator")),this.defaultSlot.append(n)}};tc=new WeakSet;kg=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(y.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new S.CustomEvent(H.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new S.CustomEvent(H.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};yo.template=x_;var __=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},A_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-menu")||S.customElements.define("media-captions-menu",yo);var Xw=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Qw=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zw=(i,e,t,r)=>(Xw(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wg,Jw=`<svg aria-hidden="true" viewBox="0 0 26 24">
2924
2924
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
2925
- </svg>`,Jw=`<svg aria-hidden="true" viewBox="0 0 26 24">
2925
+ </svg>`,eD=`<svg aria-hidden="true" viewBox="0 0 26 24">
2926
2926
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
2927
- </svg>`,L_=B.createElement("template");L_.innerHTML=`
2927
+ </svg>`,k_=B.createElement("template");k_.innerHTML=`
2928
2928
  <style>
2929
2929
  :host([aria-checked="true"]) slot[name=off] {
2930
2930
  display: none !important;
@@ -2941,10 +2941,10 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2941
2941
  </style>
2942
2942
 
2943
2943
  <slot name="icon">
2944
- <slot name="on">${Zw}</slot>
2945
- <slot name="off">${Jw}</slot>
2944
+ <slot name="on">${Jw}</slot>
2945
+ <slot name="off">${eD}</slot>
2946
2946
  </slot>
2947
- `;var x_=i=>{i.setAttribute("aria-checked",Xo(i).toString())},sc=class extends $t{constructor(e={}){super({slotTemplate:L_,tooltipContent:he.CAPTIONS,...e}),Xw(this,wg,void 0),Qw(this,wg,!1)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Oe.CLOSED_CAPTIONS()),x_(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&x_(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ge(this))==null?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return R_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){I_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return R_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){I_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};wg=new WeakMap;var R_=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},I_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-menu-button")||S.customElements.define("media-captions-menu-button",sc);var k_=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nc=(i,e,t)=>(k_(i,e,"read from private field"),t?t.call(i):e.get(i)),Dg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_o=(i,e,t)=>(k_(i,e,"access private method"),t),Gn,Ao,ac,oc,Pg,Mg={RATES:"rates"},lc=class extends Et{constructor(){super(),Dg(this,Ao),Dg(this,oc),Dg(this,Gn,new ui(this,Mg.RATES,{defaultValue:Sh})),_o(this,Ao,ac).call(this)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Mg.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Mg.RATES&&t!=r&&(nc(this,Gn).value=r,_o(this,Ao,ac).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",_o(this,oc,Pg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",_o(this,oc,Pg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ge(this).querySelector("media-playback-rate-menu-button")}get rates(){return nc(this,Gn)}set rates(e){e?Array.isArray(e)&&(nc(this,Gn).value=e.join(" ")):nc(this,Gn).value="",_o(this,Ao,ac).call(this)}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,rn)}set mediaPlaybackRate(e){Ee(this,y.MEDIA_PLAYBACK_RATE,e)}};Gn=new WeakMap;Ao=new WeakSet;ac=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=Ni({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(e)}};oc=new WeakSet;Pg=function(){if(!this.value)return;let i=new S.CustomEvent(H.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-playback-rate-menu")||S.customElements.define("media-playback-rate-menu",lc);var eD=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dc=(i,e,t)=>(eD(i,e,"read from private field"),t?t.call(i):e.get(i)),tD=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Kn,Og={RATES:"rates"},iD=[1,1.2,1.5,1.7,2],Ng=1,C_=B.createElement("template");C_.innerHTML=`
2947
+ `;var R_=i=>{i.setAttribute("aria-checked",zo(i).toString())},rc=class extends $t{constructor(e={}){super({slotTemplate:k_,tooltipContent:he.CAPTIONS,...e}),Qw(this,wg,void 0),Zw(this,wg,!1)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ne.CLOSED_CAPTIONS()),R_(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&R_(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ke(this))==null?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return I_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){L_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return I_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){L_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};wg=new WeakMap;var I_=(i,e)=>{let t=i.getAttribute(e);return t?Fr(t):[]},L_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};S.customElements.get("media-captions-menu-button")||S.customElements.define("media-captions-menu-button",rc);var C_=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},sc=(i,e,t)=>(C_(i,e,"read from private field"),t?t.call(i):e.get(i)),Dg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},To=(i,e,t)=>(C_(i,e,"access private method"),t),Hn,_o,nc,ac,Pg,Mg={RATES:"rates"},oc=class extends Et{constructor(){super(),Dg(this,_o),Dg(this,ac),Dg(this,Hn,new ui(this,Mg.RATES,{defaultValue:Ah})),To(this,_o,nc).call(this)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Mg.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Mg.RATES&&t!=r&&(sc(this,Hn).value=r,To(this,_o,nc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",To(this,ac,Pg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",To(this,ac,Pg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-playback-rate-menu-button")}get rates(){return sc(this,Hn)}set rates(e){e?Array.isArray(e)&&(sc(this,Hn).value=e.join(" ")):sc(this,Hn).value="",To(this,_o,nc).call(this)}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,rn)}set mediaPlaybackRate(e){be(this,y.MEDIA_PLAYBACK_RATE,e)}};Hn=new WeakMap;_o=new WeakSet;nc=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=Ni({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(e)}};ac=new WeakSet;Pg=function(){if(!this.value)return;let i=new S.CustomEvent(H.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-playback-rate-menu")||S.customElements.define("media-playback-rate-menu",oc);var tD=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lc=(i,e,t)=>(tD(i,e,"read from private field"),t?t.call(i):e.get(i)),iD=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gn,Og={RATES:"rates"},rD=[1,1.2,1.5,1.7,2],Ng=1,w_=B.createElement("template");w_.innerHTML=`
2948
2948
  <style>
2949
2949
  :host {
2950
2950
  min-width: 5ch;
@@ -2956,16 +2956,16 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2956
2956
  }
2957
2957
  </style>
2958
2958
  <slot name="icon"></slot>
2959
- `;var uc=class extends $t{constructor(e={}){super({slotTemplate:C_,tooltipContent:he.PLAYBACK_RATE,...e}),tD(this,Kn,new ui(this,Og.RATES,{defaultValue:iD})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Ng}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Og.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Og.RATES&&(dc(this,Kn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Ng:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Oe.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ge(this).querySelector("media-playback-rate-menu")}get rates(){return dc(this,Kn)}set rates(e){e?Array.isArray(e)&&(dc(this,Kn).value=e.join(" ")):dc(this,Kn).value=""}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,Ng)}set mediaPlaybackRate(e){Ee(this,y.MEDIA_PLAYBACK_RATE,e)}};Kn=new WeakMap;S.customElements.get("media-playback-rate-menu-button")||S.customElements.define("media-playback-rate-menu-button",uc);var Fg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},xo=(i,e,t)=>(Fg(i,e,"read from private field"),t?t.call(i):e.get(i)),cc=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},w_=(i,e,t,r)=>(Fg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),So=(i,e,t)=>(Fg(i,e,"access private method"),t),Ro,Wn,Io,hc,fc,Ug,mc=class extends Et{constructor(){super(...arguments),cc(this,Io),cc(this,fc),cc(this,Ro,[]),cc(this,Wn,{})}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_LIST,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===y.MEDIA_RENDITION_LIST&&t!==r?(w_(this,Ro,s0(r)),So(this,Io,hc).call(this)):e===y.MEDIA_HEIGHT&&t!==r&&So(this,Io,hc).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",So(this,fc,Ug))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",So(this,fc,Ug))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ge(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return xo(this,Ro)}set mediaRenditionList(e){w_(this,Ro,e),So(this,Io,hc).call(this)}get mediaRenditionSelected(){return me(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return fe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){Ee(this,y.MEDIA_HEIGHT,e)}};Ro=new WeakMap;Wn=new WeakMap;Io=new WeakSet;hc=function(){if(xo(this,Wn).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&xo(this,Wn).mediaHeight===this.mediaHeight)return;xo(this,Wn).mediaRenditionList=JSON.stringify(this.mediaRenditionList),xo(this,Wn).mediaHeight=this.mediaHeight;let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height);for(let s of i)s.selected=s.id===this.mediaRenditionSelected;this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let s of i){let n=this.formatMenuItemText(`${Math.min(s.width,s.height)}p`,s),a=Ni({type:"radio",text:n,value:`${s.id}`,checked:s.selected&&!e});a.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(a)}let t=Ni({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e}),r=this.mediaHeight>0?`Auto (${this.mediaHeight}p)`:"Auto";t.dataset.description=r,t.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(t)};fc=new WeakSet;Ug=function(){if(this.value==null)return;let i=new S.CustomEvent(H.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-rendition-menu")||S.customElements.define("media-rendition-menu",mc);var rD=`<svg aria-hidden="true" viewBox="0 0 24 24">
2959
+ `;var dc=class extends $t{constructor(e={}){super({slotTemplate:w_,tooltipContent:he.PLAYBACK_RATE,...e}),iD(this,Gn,new ui(this,Og.RATES,{defaultValue:rD})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Ng}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Og.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Og.RATES&&(lc(this,Gn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Ng:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Ne.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-playback-rate-menu")}get rates(){return lc(this,Gn)}set rates(e){e?Array.isArray(e)&&(lc(this,Gn).value=e.join(" ")):lc(this,Gn).value=""}get mediaPlaybackRate(){return fe(this,y.MEDIA_PLAYBACK_RATE,Ng)}set mediaPlaybackRate(e){be(this,y.MEDIA_PLAYBACK_RATE,e)}};Gn=new WeakMap;S.customElements.get("media-playback-rate-menu-button")||S.customElements.define("media-playback-rate-menu-button",dc);var Fg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},So=(i,e,t)=>(Fg(i,e,"read from private field"),t?t.call(i):e.get(i)),uc=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},D_=(i,e,t,r)=>(Fg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ao=(i,e,t)=>(Fg(i,e,"access private method"),t),xo,Kn,Ro,cc,hc,Ug,fc=class extends Et{constructor(){super(...arguments),uc(this,Ro),uc(this,hc),uc(this,xo,[]),uc(this,Kn,{})}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_LIST,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===y.MEDIA_RENDITION_LIST&&t!==r?(D_(this,xo,s0(r)),Ao(this,Ro,cc).call(this)):e===y.MEDIA_HEIGHT&&t!==r&&Ao(this,Ro,cc).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ao(this,hc,Ug))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ao(this,hc,Ug))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return So(this,xo)}set mediaRenditionList(e){D_(this,xo,e),Ao(this,Ro,cc).call(this)}get mediaRenditionSelected(){return me(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return fe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){be(this,y.MEDIA_HEIGHT,e)}};xo=new WeakMap;Kn=new WeakMap;Ro=new WeakSet;cc=function(){if(So(this,Kn).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&So(this,Kn).mediaHeight===this.mediaHeight)return;So(this,Kn).mediaRenditionList=JSON.stringify(this.mediaRenditionList),So(this,Kn).mediaHeight=this.mediaHeight;let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height);for(let s of i)s.selected=s.id===this.mediaRenditionSelected;this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let s of i){let n=this.formatMenuItemText(`${Math.min(s.width,s.height)}p`,s),a=Ni({type:"radio",text:n,value:`${s.id}`,checked:s.selected&&!e});a.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(a)}let t=Ni({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e}),r=this.mediaHeight>0?`Auto (${this.mediaHeight}p)`:"Auto";t.dataset.description=r,t.prepend(oi(this,"checked-indicator")),this.defaultSlot.append(t)};hc=new WeakSet;Ug=function(){if(this.value==null)return;let i=new S.CustomEvent(H.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};S.customElements.get("media-rendition-menu")||S.customElements.define("media-rendition-menu",fc);var sD=`<svg aria-hidden="true" viewBox="0 0 24 24">
2960
2960
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
2961
- </svg>`,D_=B.createElement("template");D_.innerHTML=`
2961
+ </svg>`,M_=B.createElement("template");M_.innerHTML=`
2962
2962
  <style>
2963
2963
  :host([aria-expanded="true"]) slot[name=tooltip] {
2964
2964
  display: none;
2965
2965
  }
2966
2966
  </style>
2967
- <slot name="icon">${rD}</slot>
2968
- `;var pc=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}constructor(){super({slotTemplate:D_,tooltipContent:he.RENDITIONS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Oe.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ge(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return me(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return fe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){Ee(this,y.MEDIA_HEIGHT,e)}};S.customElements.get("media-rendition-menu-button")||S.customElements.define("media-rendition-menu-button",pc);var Bg=Gs.createElement("template");"innerHTML"in Bg&&(Bg.innerHTML=XT);var M_,P_,gc=class extends Ds{};gc.template=(P_=(M_=Bg.content)==null?void 0:M_.children)==null?void 0:P_[0];It.customElements.get("media-theme-gerwig")||It.customElements.define("media-theme-gerwig",gc);var sD="gerwig";var rr={SRC:"src",POSTER:"poster"},F={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",CAST_RECEIVER:"cast-receiver",NO_TOOLTIPS:"no-tooltips"},$g=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function nD(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src||!!i.currentSrc,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute(F.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:oD(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute(F.NOHOTKEYS),hotKeys:i.getAttribute(F.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,programStartTime:i.programStartTime,programEndTime:i.programEndTime,assetStartTime:i.assetStartTime,assetEndTime:i.assetEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerInitTime:i.playerInitTime,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(C.TARGET_LIVE_WINDOW),streamType:eo(i.getAttribute(C.STREAM_TYPE)),primaryColor:i.getAttribute(F.PRIMARY_COLOR),secondaryColor:i.getAttribute(F.SECONDARY_COLOR),accentColor:i.getAttribute(F.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:lD(i),playbackRates:i.getAttribute(F.PLAYBACK_RATES),customDomain:(r=i.getAttribute(C.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute(F.TITLE),novolumepref:i.hasAttribute(F.NO_VOLUME_PREF),castReceiver:i.castReceiver,...e,extraSourceParams:i.extraSourceParams}}var aD=xl.formatErrorMessage;xl.formatErrorMessage=i=>{var e,t;if(i instanceof Y){let r=zT(i,!1);return`
2967
+ <slot name="icon">${sD}</slot>
2968
+ `;var mc=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}constructor(){super({slotTemplate:M_,tooltipContent:he.RENDITIONS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Ne.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return me(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return fe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){be(this,y.MEDIA_HEIGHT,e)}};S.customElements.get("media-rendition-menu-button")||S.customElements.define("media-rendition-menu-button",mc);var Bg=Gs.createElement("template");"innerHTML"in Bg&&(Bg.innerHTML=QT);var P_,O_,pc=class extends Ds{};pc.template=(O_=(P_=Bg.content)==null?void 0:P_.children)==null?void 0:O_[0];It.customElements.get("media-theme-gerwig")||It.customElements.define("media-theme-gerwig",pc);var nD="gerwig";var rr={SRC:"src",POSTER:"poster"},F={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",CAST_RECEIVER:"cast-receiver",NO_TOOLTIPS:"no-tooltips"},$g=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function aD(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src||!!i.currentSrc,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute(F.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:lD(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute(F.NOHOTKEYS),hotKeys:i.getAttribute(F.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,programStartTime:i.programStartTime,programEndTime:i.programEndTime,assetStartTime:i.assetStartTime,assetEndTime:i.assetEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerInitTime:i.playerInitTime,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(C.TARGET_LIVE_WINDOW),streamType:Ja(i.getAttribute(C.STREAM_TYPE)),primaryColor:i.getAttribute(F.PRIMARY_COLOR),secondaryColor:i.getAttribute(F.SECONDARY_COLOR),accentColor:i.getAttribute(F.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:dD(i),playbackRates:i.getAttribute(F.PLAYBACK_RATES),customDomain:(r=i.getAttribute(C.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute(F.TITLE),novolumepref:i.hasAttribute(F.NO_VOLUME_PREF),castReceiver:i.castReceiver,...e,extraSourceParams:i.extraSourceParams}}var oD=Sl.formatErrorMessage;Sl.formatErrorMessage=i=>{var e,t;if(i instanceof Y){let r=XT(i,!1);return`
2969
2969
  ${r!=null&&r.title?`<h3>${r.title}</h3>`:""}
2970
2970
  ${r!=null&&r.message||r!=null&&r.linkUrl?`<p>
2971
2971
  ${r==null?void 0:r.message}
@@ -2977,8 +2977,8 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2977
2977
  >${(t=r.linkText)!=null?t:r.linkUrl}</a
2978
2978
  >`:""}
2979
2979
  </p>`:""}
2980
- `}return aD(i)};function oD(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=It.customElements.get(e);if(n!=null&&n.template)return n.template}}function lD(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function O_(i){let e=i.hasAttribute(F.TITLE)?{video_title:i.getAttribute(F.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var dD=Object.values(C),uD=Object.values(rr),cD=Object.values(F),N_=Ru(),U_="mux-player",F_={isDialogOpen:!1},hD={redundant_streams:!0},ko,Co,wo,Mr,Do,Fs,$i,Dr,vc,B_,Mo,Hg,sr,Us,Ec,$_,bc,H_,yc,G_,Tc,K_,Lo=class extends Hp{constructor(){super();Xe(this,$i);Xe(this,vc);Xe(this,Mo);Xe(this,sr);Xe(this,Ec);Xe(this,bc);Xe(this,yc);Xe(this,Tc);Xe(this,ko,void 0);Xe(this,Co,!1);Xe(this,wo,{});Xe(this,Mr,!0);Xe(this,Do,new xu(this,"hotkeys"));Xe(this,Fs,{...F_,onCloseErrorDialog:t=>{var s;((s=t.composedPath()[0])==null?void 0:s.localName)==="media-error-dialog"&&Qe(this,Mo,Hg).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:t=>{var n;if(((n=t.composedPath()[0])==null?void 0:n.localName)!=="media-error-dialog")return;Fp(this,Gs.activeElement)||t.preventDefault()}});Ut(this,ko,eu()),this.attachShadow({mode:"open"}),Qe(this,vc,B_).call(this),this.isConnected&&Qe(this,$i,Dr).call(this)}static get NAME(){return U_}static get VERSION(){return N_}static get observedAttributes(){var t;return[...(t=Hp.observedAttributes)!=null?t:[],...uD,...dD,...cD]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=O_(this))}attributeChangedCallback(t,r,s){switch(Qe(this,$i,Dr).call(this),super.attributeChangedCallback(t,r,s),t){case F.HOTKEYS:Te(this,Do).value=s;break;case F.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Di(Q("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time."));break}case F.THUMBNAIL_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=In.THUMBNAIL;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"thumbnail"}))}}break}case F.STORYBOARD_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=In.STORYBOARD;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"storyboard"}))}}break}case F.DRM_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=In.DRM;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"drm"}))}}break}case C.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Pt(Q("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case C.STREAM_TYPE:s&&![xe.LIVE,xe.ON_DEMAND,xe.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:Bp({file:"invalid-stream-type.md",message:Q("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===xe.LIVE?this.getAttribute(F.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[C.PLAYBACK_ID,rr.SRC,F.PLAYBACK_TOKEN].includes(t)&&r!==s&&Ut(this,Fs,{...Te(this,Fs),...F_}),Qe(this,sr,Us).call(this,{[IT(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(C.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?Ln.includes(t)?this.setAttribute(C.PREFER_CMCD,t):Di(`Invalid value for preferCmcd. Must be one of ${Ln.join()}`):this.removeAttribute(C.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute(F.THEME))!=null?t:sD}set theme(t){this.setAttribute(F.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if($g.includes(s))continue;let n=t.getAttribute(s);r[Su(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Qe(this,$i,Dr).call(this);let r={...this.themeProps,...t};for(let a in r){if($g.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Au(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Au(a),o)}}get playbackId(){var t;return(t=this.getAttribute(C.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(C.PLAYBACK_ID,t):this.removeAttribute(C.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Ns(this,rr.SRC))!=null?t:void 0:(r=this.getAttribute(rr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var s;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Di("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return xT(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(s=this.thumbnailTime)!=null?s:this.startTime,programTime:this.programStartTime,token:r.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(F.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(F.STORYBOARD_SRC,t):this.removeAttribute(F.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[xe.LIVE,xe.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return RT(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(F.AUDIO)}set audio(t){if(!t){this.removeAttribute(F.AUDIO);return}this.setAttribute(F.AUDIO,"")}get hotkeys(){return Te(this,Do)}get nohotkeys(){return this.hasAttribute(F.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(F.NOHOTKEYS);return}this.setAttribute(F.NOHOTKEYS,"")}get thumbnailTime(){return St(this.getAttribute(F.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(F.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(F.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(F.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Ns(this,F.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(F.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute(F.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(F.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute(F.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(F.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute(F.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(F.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(F.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(F.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(F.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(F.PLAYBACK_RATES))return this.getAttribute(F.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute(F.PLAYBACK_RATES);return}this.setAttribute(F.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=St(this.getAttribute(F.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(F.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=St(this.getAttribute(F.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(F.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(F.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(F.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(F.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return St(this.getAttribute(F.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute(F.DEFAULT_DURATION):this.setAttribute(F.DEFAULT_DURATION,`${t}`)}get playerInitTime(){return this.hasAttribute(C.PLAYER_INIT_TIME)?St(this.getAttribute(C.PLAYER_INIT_TIME)):Te(this,ko)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(C.PLAYER_INIT_TIME):this.setAttribute(C.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){var t;return(t=this.getAttribute(C.PLAYER_SOFTWARE_NAME))!=null?t:U_}get playerSoftwareVersion(){var t;return(t=this.getAttribute(C.PLAYER_SOFTWARE_VERSION))!=null?t:N_}get beaconCollectionDomain(){var t;return(t=this.getAttribute(C.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(C.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(C.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(C.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(C.MAX_RESOLUTION,t):this.removeAttribute(C.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(C.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(C.MIN_RESOLUTION,t):this.removeAttribute(C.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(C.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(C.RENDITION_ORDER,t):this.removeAttribute(C.RENDITION_ORDER))}get programStartTime(){return St(this.getAttribute(C.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(C.PROGRAM_START_TIME):this.setAttribute(C.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return St(this.getAttribute(C.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(C.PROGRAM_END_TIME):this.setAttribute(C.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){return St(this.getAttribute(C.ASSET_START_TIME))}set assetStartTime(t){t==null?this.removeAttribute(C.ASSET_START_TIME):this.setAttribute(C.ASSET_START_TIME,`${t}`)}get assetEndTime(){return St(this.getAttribute(C.ASSET_END_TIME))}set assetEndTime(t){t==null?this.removeAttribute(C.ASSET_END_TIME):this.setAttribute(C.ASSET_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute(F.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(F.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):hD}set extraSourceParams(t){t==null?this.removeAttribute(F.EXTRA_SOURCE_PARAMS):this.setAttribute(F.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(C.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(C.CUSTOM_DOMAIN,t):this.removeAttribute(C.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Ns(this,C.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(C.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(F.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(F.NO_VOLUME_PREF,""):this.removeAttribute(F.NO_VOLUME_PREF)}get debug(){return Ns(this,C.DEBUG)!=null}set debug(t){t?this.setAttribute(C.DEBUG,""):this.removeAttribute(C.DEBUG)}get disableTracking(){return Ns(this,C.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(C.DISABLE_TRACKING,!!t)}get disableCookies(){return Ns(this,C.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(C.DISABLE_COOKIES,""):this.removeAttribute(C.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(C.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:xe.UNKNOWN}set streamType(t){this.setAttribute(C.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute(F.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute(F.DEFAULT_STREAM_TYPE))!=null?s:xe.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(F.DEFAULT_STREAM_TYPE,t):this.removeAttribute(F.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute(F.TARGET_LIVE_WINDOW)?+this.getAttribute(F.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute(F.TARGET_LIVE_WINDOW):this.setAttribute(F.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return St(Ns(this,C.START_TIME))}set startTime(t){this.setAttribute(C.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(C.PREFER_PLAYBACK);if(t===Wt.MSE||t===Wt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Wt.MSE||t===Wt.NATIVE?this.setAttribute(C.PREFER_PLAYBACK,t):this.removeAttribute(C.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...O_(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}addChapters(t){var r;if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to addChapters. chapters will not be added.");return}return(r=this.media)==null?void 0:r.addChapters(t)}get activeChapter(){var t;return(t=this.media)==null?void 0:t.activeChapter}get chapters(){var t,r;return(r=(t=this.media)==null?void 0:t.chapters)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute(F.PLAYBACK_TOKEN),r=this.getAttribute(F.DRM_TOKEN),s=this.getAttribute(F.THUMBNAIL_TOKEN),n=this.getAttribute(F.STORYBOARD_TOKEN);return{...Te(this,wo),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Ut(this,wo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(F.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(F.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute(F.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute(F.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(F.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(F.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(F.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(F.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Jd(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return Uy(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute(F.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute(F.CAST_RECEIVER,t):this.removeAttribute(F.CAST_RECEIVER))}get castCustomData(){var t;return(t=this.media)==null?void 0:t.castCustomData}set castCustomData(t){if(!this.media){Pt("underlying media element missing when trying to set castCustomData. castCustomData will not be set.");return}this.media.castCustomData=t}get noTooltips(){return this.hasAttribute(F.NO_TOOLTIPS)}set noTooltips(t){if(!t){this.removeAttribute(F.NO_TOOLTIPS);return}this.setAttribute(F.NO_TOOLTIPS,"")}};ko=new WeakMap,Co=new WeakMap,wo=new WeakMap,Mr=new WeakMap,Do=new WeakMap,Fs=new WeakMap,$i=new WeakSet,Dr=function(){var t,r,s,n;if(!Te(this,Co)){Ut(this,Co,!0),Qe(this,sr,Us).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof It.HTMLElement))throw""}catch{Pt("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof _T))throw""}catch{Pt("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Yc))throw""}catch{Pt("<media-controller> failed to upgrade!")}this.init(),Qe(this,Ec,$_).call(this),Qe(this,bc,H_).call(this),Qe(this,yc,G_).call(this),Ut(this,Mr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(ge.USER_INACTIVE))!=null?r:!0),Qe(this,Tc,K_).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>Qe(this,sr,Us).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>Qe(this,sr,Us).call(this))}},vc=new WeakSet,B_=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Mo=new WeakSet,Hg=function(t){Object.assign(Te(this,Fs),t),Qe(this,sr,Us).call(this)},sr=new WeakSet,Us=function(t={}){YT(qT(nD(this,{...Te(this,Fs),...t})),this.shadowRoot)},Ec=new WeakSet,$_=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if($g.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},bc=new WeakSet,H_=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof Y||(n=new Y(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Di(n),n.data&&Di(`${n.name} data:`,n.data);return}let a=Zp(n,!1);a.message&&Bp(a),Pt(n),n.data&&Pt(`${n.name} data:`,n.data),Qe(this,Mo,Hg).call(this,{isDialogOpen:!0})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof Y))return s;let n=Zp((o=this.media)==null?void 0:o.error,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new Y(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},yc=new WeakSet,G_=function(){var r,s,n,a;let t=()=>Qe(this,sr,Us).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},Tc=new WeakSet,K_=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===xe.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
2981
- `).length,E=-3;this.streamType===xe.LIVE&&(E=-2);let b=E-g;if(p.line===b&&!f)return;s.has(p)||s.set(p,p.line),p.line=b}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(ge.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,Te(this,Mr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(ge.USER_INACTIVE))!=null?f:!0;Te(this,Mr)!==c&&(Ut(this,Mr,c),a(r,Te(this,Mr)))})};function Ns(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}It.customElements.get("mux-player")||(It.customElements.define("mux-player",Lo),It.MuxPlayerElement=Lo);var XF=Lo;})();
2980
+ `}return oD(i)};function lD(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=It.customElements.get(e);if(n!=null&&n.template)return n.template}}function dD(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function N_(i){let e=i.hasAttribute(F.TITLE)?{video_title:i.getAttribute(F.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var uD=Object.values(C),cD=Object.values(rr),hD=Object.values(F),U_=xu(),F_="mux-player",B_={isDialogOpen:!1},fD={redundant_streams:!0},Lo,ko,Co,Mr,wo,Fs,$i,Dr,gc,$_,Do,Hg,sr,Us,vc,H_,Ec,G_,bc,K_,yc,W_,Io=class extends Hp{constructor(){super();Xe(this,$i);Xe(this,gc);Xe(this,Do);Xe(this,sr);Xe(this,vc);Xe(this,Ec);Xe(this,bc);Xe(this,yc);Xe(this,Lo,void 0);Xe(this,ko,!1);Xe(this,Co,{});Xe(this,Mr,!0);Xe(this,wo,new Su(this,"hotkeys"));Xe(this,Fs,{...B_,onCloseErrorDialog:t=>{var s;((s=t.composedPath()[0])==null?void 0:s.localName)==="media-error-dialog"&&Qe(this,Do,Hg).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:t=>{var n;if(((n=t.composedPath()[0])==null?void 0:n.localName)!=="media-error-dialog")return;Fp(this,Gs.activeElement)||t.preventDefault()}});Ut(this,Lo,Jd()),this.attachShadow({mode:"open"}),Qe(this,gc,$_).call(this),this.isConnected&&Qe(this,$i,Dr).call(this)}static get NAME(){return F_}static get VERSION(){return U_}static get observedAttributes(){var t;return[...(t=Hp.observedAttributes)!=null?t:[],...cD,...uD,...hD]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=N_(this))}attributeChangedCallback(t,r,s){switch(Qe(this,$i,Dr).call(this),super.attributeChangedCallback(t,r,s),t){case F.HOTKEYS:_e(this,wo).value=s;break;case F.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Di(Q("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time."));break}case F.THUMBNAIL_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.THUMBNAIL;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"thumbnail"}))}}break}case F.STORYBOARD_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.STORYBOARD;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"storyboard"}))}}break}case F.DRM_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.DRM;o!==l&&Di(Q("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"drm"}))}}break}case C.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Pt(Q("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case C.STREAM_TYPE:s&&![Re.LIVE,Re.ON_DEMAND,Re.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:Bp({file:"invalid-stream-type.md",message:Q("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===Re.LIVE?this.getAttribute(F.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[C.PLAYBACK_ID,rr.SRC,F.PLAYBACK_TOKEN].includes(t)&&r!==s&&Ut(this,Fs,{..._e(this,Fs),...B_}),Qe(this,sr,Us).call(this,{[LT(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(C.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?In.includes(t)?this.setAttribute(C.PREFER_CMCD,t):Di(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(C.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute(F.THEME))!=null?t:nD}set theme(t){this.setAttribute(F.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if($g.includes(s))continue;let n=t.getAttribute(s);r[Au(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Qe(this,$i,Dr).call(this);let r={...this.themeProps,...t};for(let a in r){if($g.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(_u(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(_u(a),o)}}get playbackId(){var t;return(t=this.getAttribute(C.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(C.PLAYBACK_ID,t):this.removeAttribute(C.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Ns(this,rr.SRC))!=null?t:void 0:(r=this.getAttribute(rr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var s;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Di("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return RT(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(s=this.thumbnailTime)!=null?s:this.startTime,programTime:this.programStartTime,token:r.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(F.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(F.STORYBOARD_SRC,t):this.removeAttribute(F.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Re.LIVE,Re.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return IT(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(F.AUDIO)}set audio(t){if(!t){this.removeAttribute(F.AUDIO);return}this.setAttribute(F.AUDIO,"")}get hotkeys(){return _e(this,wo)}get nohotkeys(){return this.hasAttribute(F.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(F.NOHOTKEYS);return}this.setAttribute(F.NOHOTKEYS,"")}get thumbnailTime(){return St(this.getAttribute(F.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(F.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(F.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(F.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Ns(this,F.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(F.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute(F.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(F.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute(F.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(F.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute(F.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=It.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(F.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(F.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(F.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(F.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(F.PLAYBACK_RATES))return this.getAttribute(F.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute(F.PLAYBACK_RATES);return}this.setAttribute(F.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=St(this.getAttribute(F.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(F.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=St(this.getAttribute(F.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(F.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(F.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(F.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(F.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return St(this.getAttribute(F.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute(F.DEFAULT_DURATION):this.setAttribute(F.DEFAULT_DURATION,`${t}`)}get playerInitTime(){return this.hasAttribute(C.PLAYER_INIT_TIME)?St(this.getAttribute(C.PLAYER_INIT_TIME)):_e(this,Lo)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(C.PLAYER_INIT_TIME):this.setAttribute(C.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){var t;return(t=this.getAttribute(C.PLAYER_SOFTWARE_NAME))!=null?t:F_}get playerSoftwareVersion(){var t;return(t=this.getAttribute(C.PLAYER_SOFTWARE_VERSION))!=null?t:U_}get beaconCollectionDomain(){var t;return(t=this.getAttribute(C.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(C.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(C.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(C.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(C.MAX_RESOLUTION,t):this.removeAttribute(C.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(C.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(C.MIN_RESOLUTION,t):this.removeAttribute(C.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(C.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(C.RENDITION_ORDER,t):this.removeAttribute(C.RENDITION_ORDER))}get programStartTime(){return St(this.getAttribute(C.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(C.PROGRAM_START_TIME):this.setAttribute(C.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return St(this.getAttribute(C.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(C.PROGRAM_END_TIME):this.setAttribute(C.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){return St(this.getAttribute(C.ASSET_START_TIME))}set assetStartTime(t){t==null?this.removeAttribute(C.ASSET_START_TIME):this.setAttribute(C.ASSET_START_TIME,`${t}`)}get assetEndTime(){return St(this.getAttribute(C.ASSET_END_TIME))}set assetEndTime(t){t==null?this.removeAttribute(C.ASSET_END_TIME):this.setAttribute(C.ASSET_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute(F.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(F.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):fD}set extraSourceParams(t){t==null?this.removeAttribute(F.EXTRA_SOURCE_PARAMS):this.setAttribute(F.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(C.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(C.CUSTOM_DOMAIN,t):this.removeAttribute(C.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Ns(this,C.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(C.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(F.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(F.NO_VOLUME_PREF,""):this.removeAttribute(F.NO_VOLUME_PREF)}get debug(){return Ns(this,C.DEBUG)!=null}set debug(t){t?this.setAttribute(C.DEBUG,""):this.removeAttribute(C.DEBUG)}get disableTracking(){return Ns(this,C.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(C.DISABLE_TRACKING,!!t)}get disableCookies(){return Ns(this,C.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(C.DISABLE_COOKIES,""):this.removeAttribute(C.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(C.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:Re.UNKNOWN}set streamType(t){this.setAttribute(C.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute(F.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute(F.DEFAULT_STREAM_TYPE))!=null?s:Re.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(F.DEFAULT_STREAM_TYPE,t):this.removeAttribute(F.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute(F.TARGET_LIVE_WINDOW)?+this.getAttribute(F.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute(F.TARGET_LIVE_WINDOW):this.setAttribute(F.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return St(Ns(this,C.START_TIME))}set startTime(t){this.setAttribute(C.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(C.PREFER_PLAYBACK);if(t===Wt.MSE||t===Wt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Wt.MSE||t===Wt.NATIVE?this.setAttribute(C.PREFER_PLAYBACK,t):this.removeAttribute(C.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...N_(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}addChapters(t){var r;if(Qe(this,$i,Dr).call(this),!this.media){Pt("underlying media element missing when trying to addChapters. chapters will not be added.");return}return(r=this.media)==null?void 0:r.addChapters(t)}get activeChapter(){var t;return(t=this.media)==null?void 0:t.activeChapter}get chapters(){var t,r;return(r=(t=this.media)==null?void 0:t.chapters)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute(F.PLAYBACK_TOKEN),r=this.getAttribute(F.DRM_TOKEN),s=this.getAttribute(F.THUMBNAIL_TOKEN),n=this.getAttribute(F.STORYBOARD_TOKEN);return{..._e(this,Co),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Ut(this,Co,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(F.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(F.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute(F.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute(F.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(F.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(F.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(F.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(F.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Zd(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return Fy(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute(F.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute(F.CAST_RECEIVER,t):this.removeAttribute(F.CAST_RECEIVER))}get castCustomData(){var t;return(t=this.media)==null?void 0:t.castCustomData}set castCustomData(t){if(!this.media){Pt("underlying media element missing when trying to set castCustomData. castCustomData will not be set.");return}this.media.castCustomData=t}get noTooltips(){return this.hasAttribute(F.NO_TOOLTIPS)}set noTooltips(t){if(!t){this.removeAttribute(F.NO_TOOLTIPS);return}this.setAttribute(F.NO_TOOLTIPS,"")}};Lo=new WeakMap,ko=new WeakMap,Co=new WeakMap,Mr=new WeakMap,wo=new WeakMap,Fs=new WeakMap,$i=new WeakSet,Dr=function(){var t,r,s,n;if(!_e(this,ko)){Ut(this,ko,!0),Qe(this,sr,Us).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof It.HTMLElement))throw""}catch{Pt("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof AT))throw""}catch{Pt("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Vc))throw""}catch{Pt("<media-controller> failed to upgrade!")}this.init(),Qe(this,vc,H_).call(this),Qe(this,Ec,G_).call(this),Qe(this,bc,K_).call(this),Ut(this,Mr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(ve.USER_INACTIVE))!=null?r:!0),Qe(this,yc,W_).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>Qe(this,sr,Us).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>Qe(this,sr,Us).call(this))}},gc=new WeakSet,$_=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Do=new WeakSet,Hg=function(t){Object.assign(_e(this,Fs),t),Qe(this,sr,Us).call(this)},sr=new WeakSet,Us=function(t={}){qT(jT(aD(this,{..._e(this,Fs),...t})),this.shadowRoot)},vc=new WeakSet,H_=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if($g.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},Ec=new WeakSet,G_=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof Y||(n=new Y(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Di(n),n.data&&Di(`${n.name} data:`,n.data);return}let a=Zp(n,!1);a.message&&Bp(a),Pt(n),n.data&&Pt(`${n.name} data:`,n.data),Qe(this,Do,Hg).call(this,{isDialogOpen:!0})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof Y))return s;let n=Zp((o=this.media)==null?void 0:o.error,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new Y(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},bc=new WeakSet,K_=function(){var r,s,n,a;let t=()=>Qe(this,sr,Us).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},yc=new WeakSet,W_=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===Re.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
2981
+ `).length,E=-3;this.streamType===Re.LIVE&&(E=-2);let b=E-g;if(p.line===b&&!f)return;s.has(p)||s.set(p,p.line),p.line=b}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(ve.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,_e(this,Mr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(ve.USER_INACTIVE))!=null?f:!0;_e(this,Mr)!==c&&(Ut(this,Mr,c),a(r,_e(this,Mr)))})};function Ns(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}It.customElements.get("mux-player")||(It.customElements.define("mux-player",Io),It.MuxPlayerElement=Io);var zF=Io;})();
2982
2982
  /*! Bundled license information:
2983
2983
 
2984
2984
  mux-embed/dist/mux.mjs: