1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="dab90179-d71b-72e3-c906-b4479c64251c")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,711808,e=>{"use strict";let t=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),i={className:"class",htmlFor:"for"};function s(e){return e.toLowerCase()}function r(e){return"boolean"==typeof e?e?"":void 0:"function"==typeof e?void 0:"object"!=typeof e||null===e?e:void 0}function a(e,t,i){e[t]=i,null==i&&t in(globalThis.HTMLElement?.prototype??{})&&e.removeAttribute(t)}e.s(["createComponent",0,function({react:e,tagName:n,elementClass:l,events:o,displayName:d,defaultProps:h,toAttributeName:u=s,toAttributeValue:c=r}){let f=Number.parseInt(e.version)>=19,m=e.forwardRef((s,d)=>{let m=e.useRef(null),g=e.useRef(new Map),p={},v={},E={},b={};for(let[e,a]of Object.entries(s)){if(t.has(e)){E[e]=a;continue}let s=u(i[e]??e);if(l.prototype&&e in l.prototype&&!(e in(globalThis.HTMLElement?.prototype??{}))&&!l.observedAttributes?.some(e=>e===s)){b[e]=a;continue}if(e.startsWith("on")){p[e]=a;continue}let n=c(a);s&&null!=n&&(v[s]=String(n),f||(E[s]=n)),s&&f&&(n!==r(a)?E[s]=n:E[s]=a)}if("u">typeof window){for(let t in p){let i=p[t],s=t.endsWith("Capture"),r=(o?.[t]??t.slice(2).toLowerCase()).slice(0,s?-7:void 0);e.useLayoutEffect(()=>{let e=m?.current;if(e&&"function"==typeof i)return e.addEventListener(r,i,s),()=>{e.removeEventListener(r,i,s)}},[m?.current,i])}e.useLayoutEffect(()=>{if(null===m.current)return;let e=new Map;for(let t in b)a(m.current,t,b[t]),g.current.delete(t),e.set(t,b[t]);for(let[e,t]of g.current)a(m.current,e,void 0);g.current=e})}if("u"<typeof window&&l?.getTemplateHTML&&l?.shadowRootOptions){let{mode:t,delegatesFocus:i}=l.shadowRootOptions;E.children=[e.createElement("template",{shadowrootmode:t,shadowrootdelegatesfocus:i,dangerouslySetInnerHTML:{__html:l.getTemplateHTML(v,s)},key:"ce-la-react-ssr-template-shadow-root"}),E.children]}return e.createElement(n,{...h,...E,ref:e.useCallback(e=>{m.current=e,"function"==typeof d?d(e):null!==d&&(d.current=e)},[d])},E.children)});return m.displayName=d??l.name,m}])},556836,e=>{"use strict";let t,i;var s,r,a,n,l,o,d,h,u,c,f,m,g,p,v=e.i(699294);let E=["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"],b=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function y(e){return` 3 <style> 4 :host { 5 display: inline-flex; 6 line-height: 0; 7 flex-direction: column; 8 justify-content: end; 9 } 10 11 audio { 12 width: 100%; 13 } 14 </style> 15 <slot name="media"> 16 <audio${S(e)}></audio> 17 </slot> 18 <slot></slot> 19 `}function T(e){return` 20 <style> 21 :host { 22 display: inline-block; 23 line-height: 0; 24 } 25 26 video { 27 max-width: 100%; 28 max-height: 100%; 29 min-width: 100%; 30 min-height: 100%; 31 object-fit: var(--media-object-fit, contain); 32 object-position: var(--media-object-position, 50% 50%); 33 } 34 35 video::-webkit-media-text-track-container { 36 transform: var(--media-webkit-text-track-transform); 37 transition: var(--media-webkit-text-track-transition); 38 } 39 </style> 40 <slot name="media"> 41 <video${S(e)}></video> 42 </slot> 43 <slot></slot> 44 `}function A(e,{tag:t,is:i}){let s=globalThis.document?.createElement?.(t,{is:i}),r=s?function(e){let t=[];for(let i=Object.getPrototypeOf(e);i&&i!==HTMLElement.prototype;i=Object.getPrototypeOf(i)){let e=Object.getOwnPropertyNames(i);t.push(...e)}return t}(s):[];return class a extends e{static getTemplateHTML=t.endsWith("audio")?y:T;static shadowRootOptions={mode:"open"};static Events=E;static #e=!1;static get observedAttributes(){return a.#t(),[...s?.constructor?.observedAttributes??[],...b]}static #t(){if(this.#e)return;this.#e=!0;let e=new Set(this.observedAttributes);for(let t of(e.delete("muted"),r))if(!(t in this.prototype))if("function"==typeof s[t])this.prototype[t]=function(...e){return this.#i(),(()=>{if(this.call)return this.call(t,...e);let i=this.nativeEl?.[t];return i?.apply(this.nativeEl,e)})()};else{let i={get(){this.#i();let i=t.toLowerCase();if(e.has(i)){let e=this.getAttribute(i);return null!==e&&(""===e||e)}return this.get?.(t)??this.nativeEl?.[t]}};t!==t.toUpperCase()&&(i.set=function(i){this.#i();let s=t.toLowerCase();e.has(s)?!0===i||!1===i||null==i?this.toggleAttribute(s,!!i):this.setAttribute(s,i):this.set?this.set(t,i):this.nativeEl&&(this.nativeEl[t]=i)}),Object.defineProperty(this.prototype,t,i)}}#s=!1;#r=null;#a=new Map;#n;get;set;call;get nativeEl(){return this.#i(),this.#r??this.querySelector(":scope > [slot=media]")??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}set nativeEl(e){this.#r=e}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){return this.getAttribute("preload")??this.nativeEl?.preload}set preload(e){this.setAttribute("preload",`${e}`)}#i(){this.#s||(this.#s=!0,this.init())}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=function(e){let t={};for(let i of e)t[i.name]=i.value;return t}(this.attributes);i&&(e.is=i),t&&(e.part=t),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}for(let e of(this.nativeEl.muted=this.hasAttribute("muted"),r))this.#l(e);for(let e of(this.#n=new MutationObserver(this.#o.bind(this)),this.shadowRoot.addEventListener("slotchange",()=>this.#d()),this.#d(),this.constructor.Events))this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}#d(){let e=new Map(this.#a),t=this.shadowRoot?.querySelector("slot:not([name])");(t?.assignedElements({flatten:!0}).filter(e=>
44["track","source"].includes(e.localName))).forEach(t=>{e.delete(t);let i=this.#a.get(t);i||(i=t.cloneNode(),this.#a.set(t,i),this.#n?.observe(t,{attributes:!0})),this.nativeEl?.append(i),this.#h(i)}),e.forEach((e,t)=>{e.remove(),this.#a.delete(t)})}#o(e){for(let t of e)if("attributes"===t.type){let{target:e,attributeName:i}=t,s=this.#a.get(e);s&&i&&(s.setAttribute(i,e.getAttribute(i)??""),this.#h(s))}}#h(e){e&&"track"===e.localName&&e.default&&("chapters"===e.kind||"metadata"===e.kind)&&"disabled"===e.track.mode&&(e.track.mode="hidden")}#l(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}attributeChangedCallback(e,t,i){this.#i(),this.#u(e,t,i)}#u(e,t,i){["id","class"].includes(e)||!a.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(null===i?this.nativeEl?.removeAttribute(e):this.nativeEl?.getAttribute(e)!==i&&this.nativeEl?.setAttribute(e,i))}connectedCallback(){this.#i()}}}function S(e){let t="";for(let i in e){if(!b.includes(i))continue;let s=e[i];""===s?t+=` ${i}`:t+=` ${i}="${s}"`}return t}let I=A(globalThis.HTMLElement??class{},{tag:"video"});A(globalThis.HTMLElement??class{},{tag:"audio"});class L extends Event{track;constructor(e,t){super(e),this.track=t.track}}let k=new WeakMap;function R(e){var t,i;let s;return k.get(e)??(t=e,i={},(s=k.get(t))||k.set(t,s={}),Object.assign(s,i))}function M(e,t){let i=e.videoTracks;R(t).media=e,R(t).renditionSet||(R(t).renditionSet=new Set);let s=R(i).trackSet;s.add(t);let r=s.size-1;r in _.prototype||Object.defineProperty(_.prototype,r,{get(){return[...R(this).trackSet][r]}}),queueMicrotask(()=>{i.dispatchEvent(new L("addtrack",{track:t}))})}function C(e){let t=R(e).media?.videoTracks;t&&(R(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new L("removetrack",{track:e}))}))}class _ extends EventTarget{#c;#f;#m;constructor(){super(),R(this).trackSet=new Set}get #g(){return R(this).trackSet}[Symbol.iterator](){return this.#g.values()}get length(){return this.#g.size}getTrackById(e){return[...this.#g].find(t=>t.id===e)??null}get selectedIndex(){return[...this.#g].findIndex(e=>e.selected)}get onaddtrack(){return this.#c}set onaddtrack(e){this.#c&&(this.removeEventListener("addtrack",this.#c),this.#c=void 0),"function"==typeof e&&(this.#c=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#f}set onremovetrack(e){this.#f&&(this.removeEventListener("removetrack",this.#f),this.#f=void 0),"function"==typeof e&&(this.#f=e,this.addEventListener("removetrack",e))}get onchange(){return this.#m}set onchange(e){this.#m&&(this.removeEventListener("change",this.#m),this.#m=void 0),"function"==typeof e&&(this.#m=e,this.addEventListener("change",e))}}class w extends Event{rendition;constructor(e,t){super(e),this.rendition=t.rendition}}function D(e){return[...R(e).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...R(e).renditionSet])}class x extends EventTarget{#p;#v;#m;[Symbol.iterator](){return D(this).values()}get length(){return D(this).length}getRenditionById(e){return D(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return D(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of D(this).entries())i.selected=t===e}get onaddrendition(){return this.#p}set onaddrendition(e){this.#p&&(this.removeEventListener("addrendition",this.#p),this.#p=void 0),"function"==typeof e&&(this.#p=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#v}set onremoverendition(e){this.#v&&(this.removeEventListener("removerendition",this.#v),this.#v=void 0),"function"==typeof e&&(this.#v=e,this.addEventListener("removerendition",e))}get onchange(){return this.#m}set onchange(e){this.#m&&(this.removeEventListener("change",this.#m),this.#m=void 0),"function"==typeof e&&(this.#m=e,this.addEventListener("change",e))}}class P{src;id;width;height;bitrate;frameRate;codec;#E=!1;get selected(){return this.#E}set selected(e){if(this.#E!==e){var t;let i;this.#E=e,t=this,(i=R(t).media.videoRenditions)&&!R(i).changeRequested&&(R(i).changeRequested=!0,queueMicrotask(()=>{delete R(i).changeRequested,R(t).track.selected&&i.dispatchEvent(new Event("change"))}))}}}class O{id;kind;label="";language="";sourceBuffer;#E=!1;addRendition(e,t,i,s,r,a){var n;let l,o,d,h=new P;return h.src=e,h.width=t,h.height=i,h.frameRate=a,h.bitrate=r,h.codec=s,n=this,l=R(n).media.videoRenditions,R(h).media=R(n).media,R(h).track=n,(o=R(n).renditionSet).add(h),(d=o.size-1)in x.prototype||Ob
44ject.defineProperty(x.prototype,d,{get(){return D(this)[d]}}),queueMicrotask(()=>{n.selected&&l.dispatchEvent(new w("addrendition",{rendition:h}))}),h}removeRendition(e){let t,i;t=R(e).media.videoRenditions,i=R(e).track,R(i).renditionSet.delete(e),queueMicrotask(()=>{R(e).track.selected&&t.dispatchEvent(new w("removerendition",{rendition:e}))})}get selected(){return this.#E}set selected(e){this.#E===e||(this.#E=e,!0===e&&function(e){let t=R(e).media.videoTracks??[],i=!1;for(let s of t)s!==e&&(s.selected=!1,i=!0);if(i){if(R(t).changeRequested)return;R(t).changeRequested=!0,queueMicrotask(()=>{delete R(t).changeRequested,t.dispatchEvent(new Event("change"))})}}(this))}}function U(e){return[...R(e).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...R(e).renditionSet])}class N extends EventTarget{#p;#v;#m;[Symbol.iterator](){return U(this).values()}get length(){return U(this).length}getRenditionById(e){return U(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return U(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of U(this).entries())i.selected=t===e}get onaddrendition(){return this.#p}set onaddrendition(e){this.#p&&(this.removeEventListener("addrendition",this.#p),this.#p=void 0),"function"==typeof e&&(this.#p=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#v}set onremoverendition(e){this.#v&&(this.removeEventListener("removerendition",this.#v),this.#v=void 0),"function"==typeof e&&(this.#v=e,this.addEventListener("removerendition",e))}get onchange(){return this.#m}set onchange(e){this.#m&&(this.removeEventListener("change",this.#m),this.#m=void 0),"function"==typeof e&&(this.#m=e,this.addEventListener("change",e))}}class F{src;id;bitrate;codec;#E=!1;get selected(){return this.#E}set selected(e){if(this.#E!==e){var t;let i;this.#E=e,t=this,(i=R(t).media.audioRenditions)&&!R(i).changeRequested&&(R(i).changeRequested=!0,queueMicrotask(()=>{delete R(i).changeRequested,R(t).track.enabled&&i.dispatchEvent(new Event("change"))}))}}}function B(e,t){let i=e.audioTracks;R(t).media=e,R(t).renditionSet||(R(t).renditionSet=new Set);let s=R(i).trackSet;s.add(t);let r=s.size-1;r in H.prototype||Object.defineProperty(H.prototype,r,{get(){return[...R(this).trackSet][r]}}),queueMicrotask(()=>{i.dispatchEvent(new L("addtrack",{track:t}))})}function $(e){let t=R(e).media?.audioTracks;t&&(R(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new L("removetrack",{track:e}))}))}
44class H extends EventTarget{#c;#f;#m;constructor(){super(),R(this).trackSet=new Set}get #g(){return R(this).trackSet}[Symbol.iterator](){return this.#g.values()}get length(){return this.#g.size}getTrackById(e){return[...this.#g].find(t=>t.id===e)??null}get onaddtrack(){return this.#c}set onaddtrack(e){this.#c&&(this.removeEventListener("addtrack",this.#c),this.#c=void 0),"function"==typeof e&&(this.#c=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#f}set onremovetrack(e){this.#f&&(this.removeEventListener("removetrack",this.#f),this.#f=void 0),"function"==typeof e&&(this.#f=e,this.addEventListener("removetrack",e))}get onchange(){return this.#m}set onchange(e){this.#m&&(this.removeEventListener("change",this.#m),this.#m=void 0),"function"==typeof e&&(this.#m=e,this.addEventListener("change",e))}}class G{id;kind;label="";language="";sourceBuffer;#b=!1;addRendition(e,t,i){var s;let r,a,n,l=new F;return l.src=e,l.codec=t,l.bitrate=i,s=this,r=R(s).media.audioRenditions,R(l).media=R(s).media,R(l).track=s,(a=R(s).renditionSet).add(l),(n=a.size-1)in N.prototype||Object.defineProperty(N.prototype,n,{get(){return U(this)[n]}}),queueMicrotask(()=>{s.enabled&&r.dispatchEvent(new w("addrendition",{rendition:l}))}),l}removeRendition(e){let t,i;t=R(e).media.audioRenditions,i=R(e).track,R(i).renditionSet.delete(e),queueMicrotask(()=>{R(e).track.enabled&&t.dispatchEvent(new w("removerendition",{rendition:e}))})}get enabled(){return this.#b}set enabled(e){if(this.#b!==e){let t;this.#b=e,(t=R(this).media.audioTracks)&&!R(t).changeRequested&&(R(t).changeRequested=!0,queueMicrotask(()=>{delete R(t).changeRequested,t.dispatchEvent(new Event("change"))}))}}}let V=K(globalThis.HTMLMediaElement,"video"),W=K(globalThis.HTMLMediaElement,"audio");function K(e,t){if(e?.prototype)return Object.getOwnPropertyDescriptor(e.prototype,`${t}Tracks`)?.get}let j=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},q=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=Y},Y=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,Q=((o={}).NETWORK_ERROR="networkError",o.MEDIA_ERROR="mediaError",o.KEY_SYSTEM_ERROR="keySystemError",o.MUX_ERROR="muxError",o.OTHER_ERROR="otherError",o),z=((d={}).KEY_SYSTEM_NO_KEYS="keySystemNoKeys",d.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",d.KEY_SYSTEM_NO_SESSION="keySystemNoSession",d.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",d.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",d.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",d.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",d.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",d.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",d.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",d.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",d.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",d.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",d.MANIFEST_LOAD_ERROR="manifestLoadError",d.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",d.MANIFEST_PARSING_ERROR="manifestParsingError",d.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",d.LEVEL_EMPTY_ERROR="levelEmptyError",d.LEVEL_LOAD_ERROR="levelLoadError",d.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",d.LEVEL_PARSING_ERROR="levelParsingError",d.LEVEL_SWITCH_ERROR="levelSwitchError",d.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",d.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",d.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",d.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",d.FRAG_LOAD_ERROR="fragLoadError",d.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",d.FRAG_DECRYPT_ERROR="fragDecryptError",d.FRAG_PARSING_ERROR="fragParsingError",d.FRAG_GAP="fragGap",d.REMUX_ALLOC_ERROR="remuxAllocError",d.KEY_LOAD_ERROR="keyLoadError",d.KEY_LOAD_TIMEOUT="keyLoadTimeOut",d.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",d.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",d.BUFFER_APPEND_ERROR="bufferAppendError",d.BUFFER_APPENDING_ERROR="bufferAppendingError",d.BUFFER_STALLED_ERROR="bufferStalledError",d.BUFFER_FULL_ERROR="bufferFullError",d.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",d.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",d.ASSET_LIST_LOAD_ERROR="assetListLoadError",d.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",d.ASSET_LIST_PARSING_ERROR="assetListParsingError",d.INTERSTITIAL_ASSET_ITEM_ER
44ROR="interstitialAssetItemError",d.INTERNAL_EXCEPTION="internalException",d.INTERNAL_ABORTED="aborted",d.ATTACH_MEDIA_ERROR="attachMediaError",d.UNKNOWN="unknown",d),X=((h={}).MEDIA_ATTACHING="hlsMediaAttaching",h.MEDIA_ATTACHED="hlsMediaAttached",h.MEDIA_DETACHING="hlsMediaDetaching",h.MEDIA_DETACHED="hlsMediaDetached",h.MEDIA_ENDED="hlsMediaEnded",h.STALL_RESOLVED="hlsStallResolved",h.BUFFER_RESET="hlsBufferReset",h.BUFFER_CODECS="hlsBufferCodecs",h.BUFFER_CREATED="hlsBufferCreated",h.BUFFER_APPENDING="hlsBufferAppending",h.BUFFER_APPENDED="hlsBufferAppended",h.BUFFER_EOS="hlsBufferEos",h.BUFFERED_TO_END="hlsBufferedToEnd",h.BUFFER_FLUSHING="hlsBufferFlushing",h.BUFFER_FLUSHED="hlsBufferFlushed",h.MANIFEST_LOADING="hlsManifestLoading",h.MANIFEST_LOADED="hlsManifestLoaded",h.MANIFEST_PARSED="hlsManifestParsed",h.LEVEL_SWITCHING="hlsLevelSwitching",h.LEVEL_SWITCHED="hlsLevelSwitched",h.LEVEL_LOADING="hlsLevelLoading",h.LEVEL_LOADED="hlsLevelLoaded",h.LEVEL_UPDATED="hlsLevelUpdated",h.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",h.LEVELS_UPDATED="hlsLevelsUpdated",h.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",h.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",h.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",h.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",h.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",h.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",h.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",h.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",h.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",h.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",h.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",h.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",h.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",h.CUES_PARSED="hlsCuesParsed",h.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",h.INIT_PTS_FOUND="hlsInitPtsFound",h.FRAG_LOADING="hlsFragLoading",h.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",h.FRAG_LOADED="hlsFragLoaded",h.FRAG_DECRYPTED="hlsFragDecrypted",h.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",h.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",h.FRAG_PARSING_METADATA="hlsFragParsingMetadata",h.FRAG_PARSED="hlsFragParsed",h.FRAG_BUFFERED="hlsFragBuffered",h.FRAG_CHANGED="hlsFragChanged",h.FPS_DROP="hlsFpsDrop",h.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",h.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",h.ERROR="hlsError",h.DESTROYING="hlsDestroying",h.KEY_LOADING="hlsKeyLoading",h.KEY_LOADED="hlsKeyLoaded",h.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",h.BACK_BUFFER_REACHED="hlsBackBufferReached",h.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",h.ASSET_LIST_LOADING="hlsAssetListLoading",h.ASSET_LIST_LOADED="hlsAssetListLoaded",h.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",h.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",h.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",h.INTERSTITIAL_STARTED="hlsInterstitialStarted",h.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",h.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",h.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",h.INTERSTITIAL_ENDED="hlsInterstitialEnded",h.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",h.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",h.EVENT_CUE_ENTER="hlsEventCueEnter",h);var Z="manifest",J="level",ee="audioTrack",et="subtitleTrack",ei="main",es="audio",er="subtitle";class ea{constructor(e,t=0,i=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_=i}sample(e,t){let i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*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_}}class en{constructor(e,t,i,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_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_
44=new ea(e),this.fast_=new ea(t),this.defaultTTFB_=s,this.ttfb_=new ea(e)}update(e,t){let{slow_:i,fast_:s,ttfb_:r}=this;i.halfLife!==e&&(this.slow_=new ea(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new ea(t,s.getEstimate(),s.getTotalWeight())),r.halfLife!==e&&(this.ttfb_=new ea(e,r.getEstimate(),r.getTotalWeight()))}sample(e,t){let i=(e=Math.max(e,this.minDelayMs_))/1e3,s=8*t/i;this.fast_.sample(i,s),this.slow_.sample(i,s)}sampleTTFB(e){let t=Math.sqrt(2)*Math.exp(-Math.pow(e/1e3,2)/2);this.ttfb_.sample(t,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_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function el(){return(el=Object.assign.bind()).apply(null,arguments)}function eo(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,s)}return i}function ed(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?eo(Object(i),!0).forEach(function(t){var s,r;s=t,r=i[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,t);if("object"!=typeof s)return s;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in e?Object.defineProperty(e,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[s]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):eo(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}class eh{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const i=`[${e}]:`;this.trace=eu,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i)}}let eu=function(){},ec={trace:eu,debug:eu,log:eu,warn:eu,info:eu,error:eu};function ef(){return el({},ec)}function em(e,t,i){let s;return t[e]?t[e].bind(t):(s=self.console[e])?s.bind(self.console,`${i?"["+i+"] ":""}[${e}] >`):eu}let eg=ef();function ep(e=!0){if(!("u"<typeof self))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function ev(e,t){let i=Object.keys(e),s=Object.keys(t),r=i.length,a=s.length;return!r||!a||r===a&&!i.some(e=>-1===s.indexOf(e))}function eE(e,t=!1){let i,s;if("u">typeof TextDecoder){let i=new TextDecoder("utf-8").decode(e);if(t){let e=i.indexOf("\0");return -1!==e?i.substring(0,e):i}return i.replace(/\0/g,"")}let r=e.length,a="",n=0;for(;n<r&&(0!==(i=e[n++])||!t);)if(0!==i&&3!==i)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:a+=String.fromCharCode(i);break;case 12:case 13:a+=String.fromCharCode((31&i)<<6|63&(s=e[n++]));break;case 14:a+=String.fromCharCode((15&i)<<12|(63&(s=e[n++]))<<6|63&e[n++])}return a}function eb(e){let t="";for(let i=0;i<e.length;i++){let s=e[i].toString(16);s.length<2&&(s="0"+s),t+=s}return t}function ey(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var eT={exports:{}},eA=g?eT.exports:(g=1,s=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,r=/^(?=([^\/?#]*))\1([^]*)$/,a=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,eT.exports=l={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var s=l.parseURL(e);if(!s)throw Error("Error trying to parse base URL.");return s.path=l.normalizePath(s.path),l.buildURLFromParts(s)}var a=l.parseURL(t);if(!a)throw Error("Error trying to parse relative URL.");
44if(a.scheme)return i.alwaysNormalize?(a.path=l.normalizePath(a.path),l.buildURLFromParts(a)):t;var n=l.parseURL(e);if(!n)throw Error("Error trying to parse base URL.");if(!n.netLoc&&n.path&&"/"!==n.path[0]){var o=r.exec(n.path);n.netLoc=o[1],n.path=o[2]}n.netLoc&&!n.path&&(n.path="/");var d={scheme:n.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(d.netLoc=n.netLoc,"/"!==a.path[0]))if(a.path){var h=n.path,u=h.substring(0,h.lastIndexOf("/")+1)+a.path;d.path=l.normalizePath(u)}else d.path=n.path,!a.params&&(d.params=n.params,a.query||(d.query=n.query));return null===d.path&&(d.path=i.alwaysNormalize?l.normalizePath(a.path):a.path),l.buildURLFromParts(d)},parseURL:function(e){var t=s.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(a,"");e.length!==(e=e.replace(n,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},eT.exports);class eS{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}}}var eI="audio",eL="video",ek="audiovideo";class eR{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,"string"==typeof e&&(e={url:e}),this.base=e,function(e,t){let i=function e(t,i){let s=Object.getPrototypeOf(t);if(s){let t=Object.getOwnPropertyDescriptor(s,i);return t||e(s,i)}}(e,t);i&&(i.enumerable=!0,Object.defineProperty(e,t,i))}(this,"stats")}setByteRange(e,t){let i,s=e.split("@",2);i=1===s.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(s[1]),this._byteRange=[i,parseInt(s[0])+i]}get baseurl(){return this.base.url}get byteRange(){return null===this._byteRange?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return null===this._streams&&(this._streams={[eI]:null,[eL]:null,[ek]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return null!==this._stats}get hasStreams(){return null!==this._streams}get stats(){return null===this._stats&&(this._stats=new eS),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=eA.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[eI]=null,e[eL]=null,e[ek]=null}}function eM(e){return"initSegment"!==e.sn}class eC extends eR{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=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.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,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 byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(j(e)&&j(t))return t-e}return null}get bitrate(){return this.byteLength?8*this.byteLength/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!(null!=(e=this._decryptdata)&&e.keyId)){let e=Object.keys(t);if(1===e.length){let i=this._decryptdata=t[e[0]]||null;i&&(this._decryptdata=i.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;let e=j(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e,t;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;
44if(this.levelkeys){let e=Object.keys(this.levelkeys),i=e.length;if(i>1||1===i&&null!=(t=this.levelkeys[e[0]])&&t.encrypted)return!0}return!1}get programDateTime(){return null===this._programDateTime&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!j(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return eM(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){let t=this.levelkeys;if(t){var i;let s=t[e];s&&!(null!=(i=this._decryptdata)&&i.keyId)&&(this._decryptdata=s.getDecryptData(this.sn,t))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,s,r,a=!1){let{elementaryStreams:n}=this,l=n[e];if(!l){n[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:r,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,r)}}class e_ extends eR{constructor(e,t,i,s,r){super(i),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.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;const a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,r),r&&(this.fragOffset=r.fragOffset+r.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)}}let ew=[].push,eD={video:1,audio:2,id3:3,text:4};function ex(e){return String.fromCharCode.apply(null,e)}function eP(e,t){let i=e[t]<<8|e[t+1];return i<0?65536+i:i}function eO(e,t){let i=eN(e,t);return i<0?0x100000000+i:i}function eU(e,t){let i=eO(e,t);return i*=0x100000000,i+=eO(e,t+4)}function eN(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function eF(e,t){let i=[];if(!t.length)return i;let s=e.byteLength;for(let r=0;r<s;){let a=eO(e,r),n=ex(e.subarray(r+4,r+8)),l=a>1?r+a:s;if(n===t[0])if(1===t.length)i.push(e.subarray(r+8,l));else{let s=eF(e.subarray(r+8,l),t.slice(1));s.length&&ew.apply(i,s)}r=l}return i}function eB(e){let t=[],i=eF(e,["moov","trak"]);for(let e=0;e<i.length;e++){let s=i[e],r=eF(s,["tkhd"])[0];if(r){let e=r[0],i=eO(r,0===e?12:20),a=eF(s,["mdia","mdhd"])[0];if(a){e=a[0];let r=eO(a,0===e?12:20),n=eF(s,["mdia","hdlr"])[0];if(n){let e=ex(n.subarray(8,12)),a={soun:eI,vide:eL}[e],l=function(e){let t,i=e.subarray(8),s=i.subarray(86),r=ex(i.subarray(4,8)),a=r,n="enca"===r||"encv"===r;if(n){let e=eF(i,[r])[0].subarray("enca"===r?28:78);eF(e,["sinf"]).forEach(e=>{let t=eF(e,["schm"])[0];if(t){let i=ex(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=eF(e,["frma"])[0];t&&(a=ex(t))}}})}let l=a;switch(a){case"avc1":case"avc2":case"avc3":case"avc4":{let e=eF(s,["avcC"])[0];e&&e.length>3&&(a+="."+eG(e[1])+eG(e[2])+eG(e[3]),t=e$("avc1"===l?"dva1":"dvav",s));break}case"mp4a":{let e=eF(i,[r])[0],t=eF(e.subarray(28),["esds"])[0];if(t&&t.length>7){let e=4;if(3!==t[e++])break;e=eH(t,e)+2;let i=t[e++];if(128&i&&(e+=2),64&i&&(e+=t[e++]),4!==t[e++])break;e=eH(t,e);let s=t[e++];if(64===s)a+="."+eG(s);else break;if(e+=12,5!==t[e++])break;e=eH(t,e);let r=t[e++],n=(248&r)>>3;31===n&&(n+=1+((7&r)<<3)+((224&t[e])>>5)),a+="."+n}break}case"hvc1":case"hev1":{let e=eF(s,["hvcC"])[0];if(e&&e.length>12){let t=e[1],i=["","A","B","C"][t>>6],s=eO(e,2),r=e[12],n=e.subarray(6,12);a+="."+i+(31&t),a+="."+(function(e){let t=0;for(let i=0;i<32;i++)t|=(e>>i&1)<<31-i;return t>>>0})(s).toString(16).toUpperCase(),a+="."+((32&t)>>5?"H":"L")+r;let l="";for(let e=n.length;e--;){let t=n[e];(t||l)&&(l="."+t.toString(16).toUpperCase()+l)}a+=l}t=e$("hev1"==l?"dvhe":"dvh1",s);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":a=e$(a,s)||a;break;case"vp09":{let e=eF(s,["vpcC"])[0];if(e&&e.length>6){let t=e[4],i=e[5],s=e[6]>>4&15;a+="."+eV(t)+"."+eV(i)+"."+eV(s)}break}case"av01":{let e=eF(s,["av1C"])[0];if(e&&e.length>2){let i=e[1]>>>5,r=31&e[1],n=e[2]>>>7?"H":"M",l=(64&e[2])>>6,o=(32&e[2])>>5,d=(16&e[2])>>4,h=(8&e[2])>>3,u=(4&e[2])>>2,c=3&e[2];a+="."+i+"."+eV(r)+n+"."+eV(2===i&&l?o?12:10:l?10:8)+"."+d+"."+h+u+c+"."+eV(1)+"."+eV(1)+"."+eV(1)+".0",t=e$("dav1",s)}}}return{codec:a,encrypted:n,supplemental:t}}(eF(s,["mdia","minf","stbl","stsd"])[0]);a?(t[i]={timescale:r,type:a,stsd:l},t[a]=ed({timescale:r,id:i},l)):t[i]={timescale:r,type:e,stsd:l}}}}}
44return eF(e,["moov","mvex","trex"]).forEach(e=>{let i=t[eO(e,4)];i&&(i.default={duration:eO(e,12),flags:eO(e,20)})}),t}function e$(e,t){let i=eF(t,["dvvC"]),s=i.length?i[0]:eF(t,["dvcC"])[0];if(s){let t=s[2]>>1&127,i=s[2]<<5&32|s[3]>>3&31;return e+"."+eV(t)+"."+eV(i)}}function eH(e,t){let i=t+5;for(;128&e[t++]&&t<i;);return t}function eG(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function eV(e){return(e<10?"0":"")+e}function eW(e,t){eF(e,["moov","trak"]).forEach(e=>{let i=eF(e,["mdia","minf","stbl","stsd"])[0];if(!i)return;let s=i.subarray(8),r=eF(s,["enca"]),a=r.length>0;a||(r=eF(s,["encv"])),r.forEach(e=>{eF(a?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{let i=eK(e);i&&t(i,a)})})})}function eK(e){let t=eF(e,["schm"])[0];if(t){let i=ex(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=eF(e,["schi","tenc"])[0];if(t)return t}}}function ej(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}function eq(e,t){let i=[],s=t.samples,r=t.timescale,a=t.id,n=!1;return eF(s,["moof"]).map(l
44=>{let o=l.byteOffset-8;eF(l,["traf"]).map(l=>{let d=eF(l,["tfdt"]).map(e=>{let t=e[0],i=eO(e,4);return 1===t&&(i*=0x100000000,i+=eO(e,8)),i/r})[0];return void 0!==d&&(e=d),eF(l,["tfhd"]).map(d=>{let h=eO(d,4),u=0xffffff&eO(d,0),c=0,f=0,m=8;h===a&&((1&u)!=0&&(m+=8),(2&u)!=0&&(m+=4),(8&u)!=0&&(c=eO(d,m),m+=4),(16&u)!=0&&(f=eO(d,m),m+=4),(32&u)!=0&&(m+=4),"video"===t.type&&(n=eY(t.codec)),eF(l,["trun"]).map(a=>{let l=a[0],d=0xffffff&eO(a,0),h=0,u=(256&d)!=0,m=0,g=(512&d)!=0,p=0,v=(1024&d)!=0,E=(2048&d)!=0,b=0,y=eO(a,4),T=8;(1&d)!=0&&(h=eO(a,T),T+=4),(4&d)!=0&&(T+=4);let A=h+o;for(let o=0;o<y;o++){if(u?(m=eO(a,T),T+=4):m=c,g?(p=eO(a,T),T+=4):p=f,v&&(T+=4),E&&(b=0===l?eO(a,T):eN(a,T),T+=4),t.type===eL){let t=0;for(;t<p;){let a=eO(s,A);A+=4,function(e,t){if(!e)return 6==(31&t);{let e=t>>1&63;return 39===e||40===e}}(n,s[A])&&eQ(s.subarray(A,A+a),n?2:1,e+b/r,i),A+=a,t+=a+4}}e+=m/r}}))})})}),i}function eY(e){if(!e)return!1;let t=e.substring(0,4);return"hvc1"===t||"hev1"===t||"dvh1"===t||"dvhe"===t}function eQ(e,t,i,s){let r,a=ez(e);r=0+t;let n=0,l=0,o=0;for(;r<a.length;){n=0;do{if(r>=a.length)break;n+=o=a[r++]}while(255===o)l=0;do{if(r>=a.length)break;l+=o=a[r++]}while(255===o)let e=a.length-r,t=r;if(l<e)r+=l;else if(l>e){eg.error(`Malformed SEI payload. ${l} is too small, only ${e} bytes left to parse.`);break}if(4===n){if(181===a[t++]){let e=eP(a,t);if(t+=2,49===e){let e=eO(a,t);if(t+=4,0x47413934===e){let e=a[t++];if(3===e){let r=a[t++],l=31&r,o=64&r,d=o?2+3*l:0,h=new Uint8Array(d);if(o){h[0]=r;for(let e=1;e<d;e++)h[e]=a[t++]}s.push({type:e,payloadType:n,pts:i,bytes:h})}}}}}else if(5===n&&l>16){let e=[];for(let i=0;i<16;i++){let s=a[t++].toString(16);e.push(1==s.length?"0"+s:s),(3===i||5===i||7===i||9===i)&&e.push("-")}let r=l-16,o=new Uint8Array(r);for(let e=0;e<r;e++)o[e]=a[t++];s.push({payloadType:n,pts:i,uuid:e.join(""),userData:eE(o),userDataBytes:o})}}}function ez(e){let t=e.byteLength,i=[],s=1;for(;s<t-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(i.push(s+2),s+=2):s++;if(0===i.length)return e;let r=t-i.length,a=new Uint8Array(r),n=0;for(s=0;s<r;n++,s++)n===i[0]&&(n++,i.shift()),a[s]=e[n];return a}let eX={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,dav1:.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 eZ(e,t){let i=eX[t];return!!i&&!!i[e.slice(0,4)]}function eJ(e,t,i=!0){return!e.split(",").some(e=>!e0(e,t,i))}function e0(e,t,i=!0){var s;let r=ep(i);return null!=(s=null==r?void 0:r.isTypeSupported(e1(e,t)))&&s}function e1(e,t){return`${t}/mp4;codecs=${e}`}function e2(e){if(e){let t=e.substring(0,4);return eX.video[t]}return 2}function e3(e){let t=/\(Windows.+Firefox\//i.test(navigator.userAgent);return e.split(",").reduce((e,i)=>{let s=t&&eY(i)?9:eX.video[i];return s?(2*s+e)/(e?3:2):(eX.audio[i]+e)/(e?2:1)},0)}let e4={},e5=/flac|opus|mp4a\.40\.34/i;function e8(e,t=!0){return e.replace(e5,e=>(function(e,t=!0){if(e4[e])return e4[e];let i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let r=0;r<i.length;r++){var s;if(e0(i[r],"audio",t))return e4[e]=i[r],i[r];if("mp3"===i[r]&&null!=(s=ep(t))&&s.isTypeSupported("audio/mpeg"))return""}return e})(e.toLowerCase(),t))}function e6(e,t){if(e&&(e.length>4||-1!==["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e))&&(e9(e,"audio")||e9(e,"video")))return e;if(t){let i=t.split(",");if(i.length>1){if(e){for(let t=i.length;t--;)if(i[t].substring(0,4)===e.substring(0,4))return i[t]}return i[0]}}return t||e}function e9(e,t){return eZ(e,t)&&e0(e,t)}function e7(e){let t=ep(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported("audio/mpeg"),mp3:t.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:t.isTypeSupported('audio/mp4; codecs="ac-3"')}}function te(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let tt={supported:!1,smooth:!1,powerEfficient:!1},ti={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function ts(e,t){return{supported:!1,configurations:t,decodingInfoResults:[tt],error:e}}function tr(e,t,i,s={}){var r,a,n,l,o,d;let h,u,c,f,m,g,p,v,E=e.videoCodec;if(!E&&!e.audioCodec||!i)return Promise.resolve(ti);let b=[],y=(h=null==(a=(r=e).videoCodec)?void 0:a.split(","),u=ta(r),c=r.width||640,f=r.height||480,m=r.frameRate||30,g=r.videoRange.toLowerCase(),h?h.map(e=>{let t={contentType:e1(function(e){if(e.startsWith("av01.")){let t=e.split("."),i=["0","111","01","01","01","0"];for(let e=t.length;e>4&&e<10;e++)t[e]=i[e-4];return t.join(".")}return e}(e),"video"),width:c,height:f,bitrate:u,framerate:m};return"sdr"!==g&&(t.transferFunction=g),t}):[]),T=y.length,A=(n=e,l=t,o=T>0,p=null==(d=n.audioCodec)?void 0:d.split(","),v=ta(n),p&&n.audioGroups?n.audioGroups.reduce((e,t)=>
44{var i;let s=t?null==(i=l.groups[t])?void 0:i.tracks:null;return s?s.reduce((e,i)=>{if(i.groupId===t){let t=parseFloat(i.channels||"");p.forEach(i=>{let s={contentType:e1(i,"audio"),bitrate:o?function(e,t){if(t<=1)return 1;let i=128e3;return"ec-3"===e?i=768e3:"ac-3"===e&&(i=64e4),Math.min(t/2,i)}(i,v):v};t&&(s.channels=""+t),e.push(s)})}return e},e):e},[]):[]),S=A.length;for(let e=T||+S||1;e--;){let t={type:"media-source"};if(T&&(t.video=y[e%T]),S){t.audio=A[e%S];let i=t.audio.bitrate;t.video&&i&&(t.video.bitrate-=i)}b.push(t)}if(E){let e=navigator.userAgent;if(E.split(",").some(e=>eY(e))&&/\(Windows.+Firefox\//i.test(navigator.userAgent))return Promise.resolve(ts(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),b))}return Promise.all(b.map(e=>{let t=function(e){let t="",{audio:i,video:s}=e;if(s){let e=te(s.contentType);t+=`${e}_r${s.height}x${s.width}f${Math.ceil(s.framerate)}${s.transferFunction||"sd"}_${Math.ceil(s.bitrate/1e5)}`}if(i){let e=te(i.contentType);t+=`${s?"_":""}${e}_c${i.channels}`}return t}(e);return s[t]||(s[t]=i.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:b,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:b,decodingInfoResults:[],error:e}))}function ta(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let tn=["NONE","TYPE-0","TYPE-1",null],tl=["SDR","PQ","HLG"];function to(e){let{canSkipUntil:t,canSkipDateRanges:i,age:s}=e;return t&&s<t/2?i?"v2":"YES":""}class td{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class th{constructor(e){if(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.supplemental=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(e=>!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const i=null==(t=e.supplemental)?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`)}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 tu(this._audioGroups,e)}hasSubtitleGroup(e){return tu(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.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 null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function tu(e,t){return!!t&&!!e&&-1!==e.indexOf(t)}let tc=(e,t)=>{let i;return JSON.stringify(e,(i=new WeakSet,(e,s)=>{if(t&&(s=t(e,s)),"object"==typeof s&&null!==s){if(i.has(s))return;i.add(s)}return s}))};function tf(e,t){eg.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function tm(e){return e.reduce((e,t)=>
44{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);let s=t.channels||"2";return i.channels[s]=(i.channels[s]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function tg(e){if(!e)return e;let{lang:t,assocLang:i,characteristics:s,channels:r,audioCodec:a}=e;return{lang:t,assocLang:i,characteristics:s,channels:r,audioCodec:a}}function tp(e,t,i){if("attrs"in e){let i=t.indexOf(e);if(-1!==i)return i}for(let s=0;s<t.length;s++)if(tv(e,t[s],i))return s;return -1}function tv(e,t,i){let{groupId:s,name:r,lang:a,assocLang:n,default:l}=e,o=e.forced;return(void 0===s||t.groupId===s)&&(void 0===r||t.name===r)&&(void 0===a||function(e,t="--"){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e)}(a,t.lang))&&(void 0===a||t.assocLang===n)&&(void 0===l||t.default===l)&&(void 0===o||t.forced===o)&&(!("characteristics"in e)||function(e,t=""){let i=e.split(","),s=t.split(",");return i.length===s.length&&!i.some(e=>-1===s.indexOf(e))}(e.characteristics||"",t.characteristics))&&(void 0===i||i(e,t))}function tE(e,t){let{audioCodec:i,channels:s}=e;return(void 0===i||(t.audioCodec||"").substring(0,4)===i.substring(0,4))&&(void 0===s||s===(t.channels||"2"))}function tb(e,t,i){for(let s=t;s>-1;s--)if(i(e[s]))return s;for(let s=t+1;
44s<e.length;s++)if(i(e[s]))return s;return -1}function ty(e,t){var i;return!!e&&e!==(null==(i=t.loadLevelObj)?void 0:i.uri)}let tT=function(e,t){let i=0,s=e.length-1,r=null,a=null;for(;i<=s;){let n=t(a=e[r=(i+s)/2|0]);if(n>0)i=r+1;else{if(!(n<0))return a;s=r-1}}return null};function tA(e,t,i=0,s=0,r=.005){let a=null;if(e){a=t[1+e.sn-t[0].sn]||null;let s=e.endDTS-i;s>0&&s<15e-7&&(i+=15e-7),a&&e.level!==a.level&&a.end<=e.end&&(a=t[2+e.sn-t[0].sn]||null)}else 0===i&&0===t[0].start&&(a=t[0]);if(a&&((!e||e.level===a.level)&&0===tS(i,s,a)||function(e,t,i){if(t&&0===t.start&&t.level<e.level&&(t.endPTS||0)>0){let s=t.tagList.reduce((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e),i);return e.start<=s}return!1}(a,e,Math.min(r,s))))return a;let n=tT(t,tS.bind(null,i,s));return n&&(n!==e||!a)?n:a}function tS(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;let s=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-s<=e?1:i.start-s>e&&i.start?-1:0}function tI(e,t,i){if(e&&e.startCC<=t&&e.endCC>=t){let s,r=e.fragments,{fragmentHint:a}=e;return a&&(r=r.concat(a)),tT(r,e=>e.cc<t?1:e.cc>t?-1:(s=e,e.end<=i)?1:e.start>i?-1:0),s||null}return null}function tL(e){switch(e.details){case z.FRAG_LOAD_TIMEOUT:case z.KEY_LOAD_TIMEOUT:case z.LEVEL_LOAD_TIMEOUT:case z.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function tk(e){return e.details.startsWith("key")}function tR(e){return tk(e)&&!!e.frag&&!e.frag.decryptdata}function tM(e,t){let i=tL(t);return e.default[`${i?"timeout":"error"}Retry`]}function tC(e,t){return Math.min(("linear"===e.backoff?1:Math.pow(2,t))*e.retryDelayMs,e.maxRetryDelayMs)}function t_(e){return ed(ed({},e),{errorRetry:null,timeoutRetry:null})}function tw(e,t,i,s){var r;if(!e)return!1;let a=null==s?void 0:s.code,n=t<e.maxNumRetry&&(tD(r=a)||!!r&&(r<400||r>499)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,s,n):n}function tD(e){return 0===e&&!1===navigator.onLine}function tx(e){let t={action:0,flags:0};return e&&(t.resolved=!0),t}var tP="NOT_LOADED",tO="APPENDING",tU="PARTIAL";class tN{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&&(e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let t=i.length;t--;){let s=i[t];if(!s)break;if(s.start<=e&&e<=s.end&&s.loaded)return s}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,i){let{fragments:s}=this,r=Object.keys(s);for(let a=r.length;a--;){let n=s[r[a]];if((null==n?void 0:n.body.type)===t&&(!i||n.buffered)){let t=n.body;if(t.start<=e&&e<=t.end)return t}}return null}detectEvictedFragments(e,t,i,s,r){this.timeRanges&&(this.timeRanges[e]=t);let a=(null==s?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(s=>{let n=this.fragments[s];if(!n||a>=n.body.sn)return;if(!n.buffered&&(!n.loaded||r)){n.body.type===i&&this.removeFragment(n.body);return}let l=n.range[e];if(l){if(0===l.time.length)return void this.removeFragment(n.body);l.time.some(e=>{let i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(n.body),i})}})}detectPartialFragments(e){let t=this.timeRanges;if(!t||"initSegment"===e.frag.sn)return;let i=e.frag,s=tB(i),r=this.fragments[s];if(!r||r.buffered&&i.gap)return;let a=!i.relurl;Object.keys(t).forEach(s=>{let n=i.elementaryStreams[s];if(!n)return;
44let l=t[s],o=a||!0===n.partial;r.range[s]=this.getBufferedTimes(i,e.part,o,l)}),r.loaded=null,Object.keys(r.range).length?(this.bufferedEnd(r,i),tF(r)||this.removeParts(i.sn-1,i.type)):this.removeFragment(r.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=t$(i,t=>t.fragment.sn>=e))}fragBuffered(e,t){let i=tB(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,this.bufferedEnd(s,e))}getBufferedTimes(e,t,i,s){let r={time:[],partial:i},a=e.start,n=e.end,l=e.minEndPTS||n,o=e.maxStartPTS||a;for(let e=0;e<s.length;e++){let t=s.start(e)-this.bufferPadding,i=s.end(e)+this.bufferPadding;if(o>=t&&l<=i){r.time.push({startPTS:Math.max(a,s.start(e)),endPTS:Math.min(n,s.end(e))});break}if(a<i&&n>t){let t=Math.max(a,s.start(e)),i=Math.min(n,s.end(e));i>t&&(r.partial=!0,r.time.push({startPTS:t,endPTS:i}))}else if(n<=t)break}return r}getPartialFragment(e){let t,i,s,r=null,a=0,{bufferPadding:n,fragments:l}=this;return Object.keys(l).forEach(o=>{let d=l[o];d&&tF(d)&&(i=d.body.start-n,s=d.body.end+n,e>=i&&e<=s&&a<=(t=Math.min(e-i,s-e))&&(r=d.body,a=t))}),r}isEndListAppended(e){let t=this.endListFragments[e];return void 0!==t&&(t.buffered||tF(t))}getState(e){let t=tB(e),i=this.fragments[t];if(i)if(!i.buffered)return tO;else if(tF(i))return tU;else return"OK";return tP}isTimeBuffered(e,t,i){let s,r;for(let a=0;a<i.length;a++){if(s=i.start(a)-this.bufferPadding,r=i.end(a)+this.bufferPadding,e>=s&&t<=r)return!0;if(t<=s)break}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if("initSegment"===t.frag.sn||t.frag.bitrateTest)return;let i=t.frag,s=t.part?null:t,r=tB(i);this.fragments[r]={body:i,appendedPTS:null,loaded:s,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:r,type:a}=t;if("initSegment"===i.sn)return;let n=i.type;if(s){let e=this.activePartLists[n];e||(this.activePartLists[n]=e=[]),e.push(s)}this.timeRanges=r;let l=r[a];this.detectEvictedFragments(a,l,n,s)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=tB(e);return!!this.fragments[t]}hasFragments(e){let{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let s=i.length;s--;){let r=t[i[s]];if((null==r?void 0:r.body.type)===e)return!0}return!1}hasParts(e){var t;return!!(null!=(t=this.activePartLists[e])&&t.length)}removeFragmentsInRange(e,t,i,s,r){(!s||this.hasGaps)&&Object.keys(this.fragments).forEach(a=>{let n=this.fragments[a];if(!n)return;let l=n.body;l.type===i&&(!s||l.gap)&&l.start<t&&l.end>e&&(n.buffered||r)&&this.removeFragment(l)})}removeFragment(e){let t=tB(e);e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let t=e.sn;this.activePartLists[e.type]=t$(i,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;t&&t.forEach(e=>e.clearElementaryStreamInfo())}}function tF(e){var t,i,s;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(i=e.range.audio)&&i.partial||null!=(s=e.range.audiovideo)&&s.partial)}function tB(e){return`${e.type}_${e.level}_${e.sn}`}function t$(e,t){return e.filter(e=>{let i=t(e);return i||e.clearElementaryStreamInfo(),i})}class tH{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case 0:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case 1:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}class tG{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),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],r=i[1],a=i[2],n=i[3],l=this.invSubMix,o=l[0],d=l[1],h=l[2],u=l[3],c=new Uint32Array(256),f=0,m=0,g=0;for(g=0;g<256;g++)g<128?c[g]=g<<1:c[g]=g<<1^283;for(g=0;g<256;g++){let i=m^m<<1^m<<2^m<<3^m<<4;i=i>>>8^255&i^99,e[f]=i,t[i]=f;let l=c[f],g=c[l],p=c[g],v=257*c[i]^0x1010100*i;s[f]=v<<24|v>>>8,r[f]=v<<16|v>>>16,a[f]=v<<8|v>>>24,n[f]=v,v=0x1010101*p^65537*g^257*l^0x1010100*f,o[i]=v<<24|v>>>8,d[i]=v<<16|v>>>16,h[i]=v<<8|v>>>24,u[i]=v,f?(f=l^c[c[c[p^l]]],m^=c[c[m]]):f=m=1}}expandKey(e){let t,i,s,r,a=this.uint8ArrayToUint32Array_(e),n=!0,l=0;for(;l<a.length&&n;)n=a[l]===this.key[l],l++;if(n)return;this.key=a;let o=this.keySize=a.length;if(4!==o&&6!==o&&8!==o)throw Error("Invalid aes key size="+o);let d=this.ksRows=(o+6+1)*4,h=this.keySchedule=new Uint32Array(d),u=this.invKeySchedule=new Uint32Array(d),c=this.sBox,f=this.rcon,m=this.invSubMix,g=m[0],p=m[1],v=m[2],E=m[3];for(t=0;t<d;
44t++){if(t<o){s=h[t]=a[t];continue}r=s,t%o==0?r=(c[(r=r<<8|r>>>24)>>>24]<<24|c[r>>>16&255]<<16|c[r>>>8&255]<<8|c[255&r])^f[t/o|0]<<24:o>6&&t%o==4&&(r=c[r>>>24]<<24|c[r>>>16&255]<<16|c[r>>>8&255]<<8|c[255&r]),h[t]=s=(h[t-o]^r)>>>0}for(i=0;i<d;i++)t=d-i,r=3&i?h[t]:h[t-4],i<4||t<=4?u[i]=r:u[i]=g[c[r>>>24]]^p[c[r>>>16&255]]^v[c[r>>>8&255]]^E[c[255&r]],u[i]=u[i]>>>0}networkToHostOrderSwap(e){return e<<24|(65280&e)<<8|(0xff0000&e)>>8|e>>>24}decrypt(e,t,i){let s,r,a,n,l,o,d,h,u,c,f,m,g,p,v=this.keySize+6,E=this.invKeySchedule,b=this.invSBox,y=this.invSubMix,T=y[0],A=y[1],S=y[2],I=y[3],L=this.uint8ArrayToUint32Array_(i),k=L[0],R=L[1],M=L[2],C=L[3],_=new Int32Array(e),w=new Int32Array(_.length),D=this.networkToHostOrderSwap;for(;t<_.length;){for(u=D(_[t]),c=D(_[t+1]),f=D(_[t+2]),m=D(_[t+3]),l=u^E[0],o=m^E[1],d=f^E[2],h=c^E[3],g=4,p=1;p<v;p++)s=T[l>>>24]^A[o>>16&255]^S[d>>8&255]^I[255&h]^E[g],r=T[o>>>24]^A[d>>16&255]^S[h>>8&255]^I[255&l]^E[g+1],a=T[d>>>24]^A[h>>16&255]^S[l>>8&255]^I[255&o]^E[g+2],n=T[h>>>24]^A[l>>16&255]^S[o>>8&255]^I[255&d]^E[g+3],l=s,o=r,d=a,h=n,g+=4;s=b[l>>>24]<<24^b[o>>16&255]<<16^b[d>>8&255]<<8^b[255&h]^E[g],r=b[o>>>24]<<24^b[d>>16&255]<<16^b[h>>8&255]<<8^b[255&l]^E[g+1],a=b[d>>>24]<<24^b[h>>16&255]<<16^b[l>>8&255]<<8^b[255&o]^E[g+2],n=b[h>>>24]<<24^b[l>>16&255]<<16^b[o>>8&255]<<8^b[255&d]^E[g+3],w[t]=D(s^k),w[t+1]=D(n^R),w[t+2]=D(a^M),w[t+3]=D(r^C),k=u,R=c,M=f,C=m,t+=4}return w.buffer}}class tV{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i}expandKey(){let e=function(e){switch(e){case 0:return"AES-CBC";case 1:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}class tW{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.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch(e){}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 i=new Uint8Array(e);if(this.reset(),this.removePKCS7Padding){let e,t;return(t=(e=i.byteLength)&&new DataView(i.buffer).getUint8(e-1))?i.slice(0,e-t):i}return i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i,s){return this.useSoftware?new Promise((r,a)=>{let n=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(n,t,i,s);let l=this.flush();l?r(l.buffer):a(Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i,s)}softwareDecrypt(e,t,i,s){let{currentIV:r,currentResult:a,remainderData:n}=this;if(0!==s||16!==t.byteLength)return eg.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),n&&(e=ej(n,e),this.remainderData=null);let l=this.getValidChunk(e);if(!l.length)return null;r&&(i=r);let o=this.softwareDecrypter;return(o||(o=this.softwareDecrypter=new tG),o.expandKey(t),this.currentResult=o.decrypt(l.buffer,0,i),this.currentIV=l.slice(-16).buffer,a)?a:null}webCryptoDecrypt(e,t,i,s){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,s));this.key=t,this.fastAesKey=new tV(this.subtle,t,s)}return this.fastAesKey.expandKey().then(t=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new tH(this.subtle,new Uint8Array(i),s).decrypt(e.buffer,t)):Promise.reject(Error("web crypto not initialized"))).catch(r=>(eg.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${r.name}: ${r.message}`),this.onWebCryptoError(e,t,i,s)))}
44onWebCryptoError(e,t,i,s){let r=this.enableSoftwareAES;if(r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,s);let r=this.flush();if(r)return r.buffer}throw Error("WebCrypto"+(r?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%16;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(eg.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}class tK{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 i=e.url;if(!i)return Promise.reject(new tY({type:Q.NETWORK_ERROR,details:z.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,r=s.fLoader,a=s.loader;return new Promise((n,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(e=>"GAP"===e[0]))return void l(tq(e));else e.gap=!1;let o=this.loader=r?new r(s):new a(s),d=tj(e);e.loader=o;let h=t_(s.fragLoadPolicy.default),u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:131072};e.stats=o.stats;let c={onSuccess:(t,i,s,r)=>{this.resetLoader(e,o);let a=t.data;s.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(a.slice(0,16)),a=a.slice(16)),n({frag:e,part:null,payload:a,networkDetails:r})},onError:(t,s,r,a)=>{this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ed({url:i,data:void 0},t),error:Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:r,stats:a}))},onAbort:(t,i,s)=>{this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:s,stats:t}))},onTimeout:(t,i,s)=>{this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${u.timeout}ms`),networkDetails:s,stats:t}))}};t&&(c.onProgress=(i,s,r,a)=>t({frag:e,part:null,payload:r,networkDetails:a})),o.load(d,u,c)})}loadPart(e,t,i){this.abort();let s=this.config,r=s.fLoader,a=s.loader;return new Promise((n,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void l(tq(e,t));let o=this.loader=r?new r(s):new a(s),d=tj(e,t);e.loader=o;let h=t_(s.fragLoadPolicy.default),u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:131072};t.stats=o.stats,o.load(d,u,{onSuccess:(s,r,a,l)=>{this.resetLoader(e,o),this.updateStatsFromPart(e,t);let d={frag:e,part:t,payload:s.data,networkDetails:l};i(d),n(d)},onError:(i,s,r,a)=>{this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ed({url:d.url,data:void 0},i),error:Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:r,stats:a}))},onAbort:(i,s,r)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:Error("Aborted"),networkDetails:r,stats:i}))},onTimeout:(i,s,r)=>{this.resetLoader(e,o),l(new tY({type:Q.NETWORK_ERROR,details:z.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:Error(`Timeout after ${u.timeout}ms`),networkDetails:r,stats:i}))}})})}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,r=s.total;if(i.loaded+=s.loaded,r){let s=Math.round(e.duration/t.duration),a=Math.min(Math.round(i.loaded/r),s),n=(s-a)*Math.round(i.loaded/a);i.total=i.loaded+n}else i.total=Math.max(i.loaded,i.total);let a=i.loading,n=s.loading;a.start?a.first+=n.first-n.start:(a.start=n.start,a.first=n.first),a.end=n.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function tj(e,t=null){let i=t||e,s={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},r=i.byteRangeStartOffset,a=i.byteRangeEndOffset;if(j(r)&&j(a)){var n,l;let t=r,i=a;if("initSegment"===e.sn&&("AES-128"===(l=null==(n=e.decryptdata)?void 0:n.method)||"AES-256"===l)){let e=a-r;e%16&&(i=a+(16-e%16)),0!==r&&(s.resetIV=!0,t=r-16)}s.rangeStart=t,s.rangeEnd=i}return s}function tq(e,t){let i=Error(`GAP ${e.gap?"tag":"attribute"} found`),s={type:Q.MEDIA_ERROR,details:z.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(s.part=t),(t||e).stats.aborted=!0,new tY(s)}
44class tY extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class tQ extends eh{constructor(e,t){super(e,t),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&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)}clearNextTick(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class tz{constructor(e,t,i,s=0,r=-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=tX(),this.buffering={audio:tX(),video:tX(),audiovideo:tX()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=r,this.partial=a}}function tX(){return{start:0,executeStart:0,executeEnd:0,end:0}}let tZ={length:0,start:()=>0,end:()=>0};class tJ{static isBuffered(e,t){if(e){let i=tJ.getBuffered(e);for(let e=i.length;e--;)if(t>=i.start(e)&&t<=i.end(e))return!0}return!1}static bufferedRanges(e){if(e){let t=tJ.getBuffered(e);return tJ.timeRangesToArray(t)}return[]}static timeRangesToArray(e){let t=[];for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}static bufferInfo(e,t,i){if(e){let s=tJ.bufferedRanges(e);if(s.length)return tJ.bufferedInfo(s,t,i)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,i){let s;t=Math.max(0,t),e.length>1&&e.sort((e,t)=>e.start-t.start||t.end-e.end);let r=-1,a=[];if(i)for(let s=0;s<e.length;s++){t>=e[s].start&&t<=e[s].end&&(r=s);let n=a.length;if(n){let t=a[n-1].end;e[s].start-t<i?e[s].end>t&&(a[n-1].end=e[s].end):a.push(e[s])}else a.push(e[s])}else a=e;let n=0,l=t,o=t;for(let e=0;e<a.length;e++){let d=a[e].start,h=a[e].end;if(-1===r&&t>=d&&t<=h&&(r=e),t+i>=d&&t<h)l=d,n=(o=h)-t;else if(t+i<d){s=d;break}}return{len:n,start:l||0,end:o||0,nextStart:s,buffered:e,bufferedIndex:r}}static getBuffered(e){try{return e.buffered||tZ}catch(e){return eg.log("failed to get media.buffered",e),tZ}}}let t0=/\{\$([a-zA-Z0-9-_]+)\}/g;function t1(e,t){if(null!==e.variableList||e.hasVariableRefs){let i=e.variableList;return t.replace(t0,t=>{let s=t.substring(2,t.length-1),r=null==i?void 0:i[s];return void 0===r?(e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),t):r})}return t}function t2(e,t,i){let s,r,a=e.variableList;if(a||(e.variableList=a={}),"QUERYPARAM"in t){s=t.QUERYPARAM;try{let e=new self.URL(i).searchParams;if(e.has(s))r=e.get(s);else throw Error(`"${s}" does not match any query parameter in URI: "${i}"`)}catch(t){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else s=t.NAME,r=t.VALUE;s in a?e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):a[s]=r||""}let t3=/^(\d+)x(\d+)$/,t4=/(.+?)=(".*?"|.*?)(?:,|$)/g;class t5{constructor(e,t){"string"==typeof e&&(e=t5.parseAttrList(e,t)),el(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}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),i=new Uint8Array((t=(1&t.length?"0":"")+t).length/2);for(let e=0;e<t.length/2;e++)i[e]=parseInt(t.slice(2*e,2*e+2),16);return i}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 i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){let i=this[e];return(i?i.split(/[ ,]+/):[]).reduce((e,t)=>
44(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){let t=t3.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let i,s={};for(t4.lastIndex=0;null!==(i=t4.exec(e));){let r=i[1].trim(),a=i[2],n=0===a.indexOf('"')&&a.lastIndexOf('"')===a.length-1,l=!1;if(n)a=a.slice(1,-1);else switch(r){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":l=!0}if(t&&(n||l))a=t1(t,a);else if(!l&&!n)switch(r){case"CLOSED-CAPTIONS":if("NONE"===a)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":eg.warn(`${e}: attribute ${r} is missing quotes`)}s[r]=a}return s}}class t8{constructor(e,t,i=0){var s;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(s=null==t?void 0:t.tagOrder)?s:i,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){eg.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=el(new t5({}),i,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]);j(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){let{tagAnchor:e}=this;return null===e||null===e.programDateTime?(eg.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return null!==t?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(j(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 isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&j(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class t6{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.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!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.drift
44StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,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,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let i=t.decryptdata;return i||(t.setKeyFormat(e.keyFormat),i=t.decryptdata),!!i&&e.matches(i)})}get hasProgramDateTime(){return!!this.fragments.length&&j(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(-1!==t){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function t9(e,t){return e.length===t.length&&!e.some((e,i)=>e!==t[i])}function t7(e,t){return!e&&!t||!!e&&!!t&&t9(e,t)}function ie(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function it(e){switch(e){case"AES-128":case"AES-256":return 0;case"AES-256-CTR":return 1;default:throw Error(`invalid full segment method ${e}`)}}function ii(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function is(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function ir(e){let t=function(e,t,i){let s=e[t];e[t]=e[i],e[i]=s};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function ia(e){let t=e.split(":"),i=null;if("data"===t[0]&&2===t.length){let e=t[1].split(";"),s=e[e.length-1].split(",");if(2===s.length){let t="base64"===s[0],r=s[1];if(t)e.splice(-1,1),i=ii(r);else{let e,t;e=is(r).subarray(0,16),(t=new Uint8Array(16)).set(e,16-e.length),i=t}}}return i}let il="u">typeof self?self:void 0;var io="org.w3.clearkey",id="com.apple.fps",ih="com.microsoft.playready",iu="com.widevine.alpha",ic="org.w3.clearkey",im="com.apple.streamingkeydelivery",ig="com.microsoft.playready",ip="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function iv(e){switch(e){case im:return id;case ig:return ih;case ip:return iu;case ic:return io}}function iE(e){switch(e){case id:return im;case ih:return ig;case iu:return ip;case io:return ic}}function ib(e){let{drmSystems:t,widevineLicenseUrl:i}=e,s=t?[id,iu,ih,io].filter(e=>!!t[e]):[];return!s[iu]&&i&&s.push(iu),s}let iy=null!=il&&null!=(u=il.navigator)&&u.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function iT(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(t)),s=i.substring(i.indexOf("<"),i.length),r=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("KID")[0];if(r){let e=r.childNodes[0]?r.childNodes[0].nodeValue:r.getAttribute("VALUE");if(e){let t=ii(e).subarray(0,16);return ir(t),t}}return null}let iA={};class iS{static clearKeyUriToKeyIdMap(){iA={}}static setKeyIdForUri(e,t){iA[e]=t}static addKeyIdForUri(e){let t=Object.keys(iA).length%Number.MAX_SAFE_INTEGER,i=new Uint8Array(16);return new DataView(i.buffer,12,4).setUint32(0,t),iA[e]=i,i}constructor(e,t,i,s=[1],r=null,a){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.pss
44h=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=s,this.iv=r,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!ie(e),null!=a&&a.startsWith("0x")&&(this.keyId=new Uint8Array(ey(a)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&t9(e.keyFormatVersions,this.keyFormatVersions)&&t7(e.iv,this.iv)&&t7(e.keyId,this.keyId)}isSupported(){if(this.method){if(ie(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case im:case ip:case ig:case ic:return -1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(e,t){var i,s;if(!this.encrypted||!this.uri)return null;if(ie(this.method)){let t=this.iv;return t||("number"!=typeof e&&(eg.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),t=function(e){let t=new Uint8Array(16);for(let i=12;i<16;i++)t[i]=e>>8*(15-i)&255;return t}(e)),new iS(this.method,this.uri,"identity",this.keyFormatVersions,t)}if(this.keyId){let e=iA[this.uri];if(e&&!t9(this.keyId,e)&&iS.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}let r=ia(this.uri);if(r)switch(this.keyFormat){case ip:if(this.pssh=r,!this.keyId){let e=function(e){let t=[];if(e instanceof ArrayBuffer){let i=e.byteLength,s=0;for(;s+32<i;){let i=function(e){let t=e.getUint32(0),i=e.byteOffset,s=e.byteLength;if(s<t)return{offset:i,size:s};if(0x70737368!==e.getUint32(4))return{offset:i,size:t};let r=e.getUint32(8)>>>24;if(0!==r&&1!==r)return{offset:i,size:t};let a=e.buffer,n=eb(new Uint8Array(a,i+12,16)),l=null,o=0;if(0===r)o=28;else{let r=e.getUint32(28);if(!r||s<32+16*r)return{offset:i,size:t};l=[];for(let e=0;e<r;e++)l.push(new Uint8Array(a,i+32+16*e,16));o=32+16*r}if(!o)return{offset:i,size:t};let d=e.getUint32(o);return t-32<d?{offset:i,size:t}:{version:r,systemId:n,kids:l,data:new Uint8Array(a,i+o+4,d),offset:i,size:t}}(new DataView(e,s));t.push(i),s+=i.size}}return t}(r.buffer);if(e.length){let t=e[0];this.keyId=null!=(i=t.kids)&&i.length?t.kids[0]:null}}this.keyId||(this.keyId=iI(t));break;case ig:{let e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(e,t){let i,s;if(16!==e.byteLength)throw RangeError("Invalid system id");i=new Uint8Array,s=new Uint8Array;let r=new Uint8Array(4);return t.byteLength>0&&new DataView(r.buffer).setUint32(0,t.byteLength,!1),function(e,...t){let i=t.length,s=8,r=i;for(;r--;)s+=t[r].byteLength;let a=new Uint8Array(s);for(a[0]=s>>24&255,a[1]=s>>16&255,a[2]=s>>8&255,a[3]=255&s,a.set(e,4),r=0,s=8;r<i;r++)a.set(t[r],s),s+=t[r].byteLength;return a}([112,115,115,104],new Uint8Array([0,0,0,0]),e,s,i,r,t)}(e,r),this.keyId=iT(r);break}default:{let e=r.subarray(0,16);if(16!==e.length){let t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e}}if(!this.keyId||16!==this.keyId.byteLength){let e,i;!(e=(i=null==(s=t)?void 0:s[ip])?i.keyId:null)&&((e=iI(t))||(e=iA[this.uri])),e&&(this.keyId=e,iS.setKeyIdForUri(this.uri,e))}return this}}function iI(e){let t=null==e?void 0:e[ig];if(t){let e=ia(t.uri);if(e)return iT(e)}return null}let iL=/#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,ik=/#EXT-X-MEDIA:(.*)/g,iR=/^#EXT(?:INF|-X-TARGETDURATION):/m,iM=RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),iC=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|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("|"));class i_{static findGroup(e,t){for(let i=0;i<e.length;i++){let s=e[i];if(s.id===t)return s}}static resolve(e,t){return eA.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return iR.test(e)}static parseMasterPlaylist(e,t){var i;let s,r={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:t0.test(e)},a=[];if(iL.lastIndex=0,!e.startsWith("#EXTM3U"))return r.playlistParsingError=Error("no EXTM3U delimiter"),r;for(;null!=(s=iL.exec(e));)if(s[1]){let e=new t5(s[1],r),n=t1(r,s[2]),l={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:i_.resolve(n,t)},o=e.decimalResolution("RESOLUTION");o&&(l.width=o.width,l.height=o.height),iP(e.CODECS,l);let d=e["SUPPLEMENTAL-CODECS"];d&&(l.supplemental={},iP(d,l.supplemental)),null!=(i=l.unknownCodecs)&&i.length||a.push(l),r.levels.push(l)}else if(s[3]){let e=s[3],i=s[4];switch(e){case"SESSION-DATA":{let e=new t5(i,r),t=e["DATA-ID"];t&&(null===r.sessionData&&(r.sessionData={}),r.sessionData[t]=e);break}case"SESSION-KEY":{let e=iD(i,t,r);e.encrypted&&e.isSupported()?(null===r.sessionKeys&&(r.sessionKeys=[]),r.sessionKeys.push(e)):eg.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${i}"`);break}case"DEFINE":{let e=new t5(i,r);t2(r,e,t)}break;case"CONTENT-STEERING":{let e=new t5(i,r);r.contentSteering={uri:i_.resolve(e["SERVER-URI"],t),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":r.startTimeOffset=ix(i)}}let n=a.length>0&&a.length<r.levels.length;return r.levels=n?a:r.levels,0===r.levels.length&&(r.playlistParsingError=Error("no levels found in manifest")),r}static parseMasterPlaylistMedia(e,t,i){let s,r={},a=i.levels,n={AUDIO:a.map(e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:a.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(ik.lastIndex=0;null!==(s=ik.exec(e));){let e=new t5(s[1],i),a=e.TYPE;if(a){let i=n[a],s=r[a]||[];r[a]=s;let o=e.LANGUAGE,d=e["ASSOC-LANGUAGE"],h=e.CHANNELS,u=e.CHARACTERISTICS,c=e["INSTREAM-ID"],f={attrs:e,bitrate:0,id:l++,groupId:e["GROUP-ID"]||"",name:e.NAME||o||"",type:a,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:o,url:e.URI?i_.resolve(e.URI,t):""};if(d&&(f.assocLang=d),h&&(f.channels=h),u&&(f.characteristics=u),c&&(f.instreamId=c),null!=i&&i.length){let e=i_.findGroup(i,f.groupId)||i[0];iO(f,e,"audioCodec"),iO(f,e,"textCodec")}s.push(f)}}return r}static parseLevelPlaylist(e,t,i,s,r,a){var n;let l,o,d,h,u={url:t},c=new t6(t),f=c.fragments,m=[],g=null,p=0,v=0,E=0,b=0,y=0,T=null,A=new eC(s,u),S=-1,I=!1,L=null;if(iM.lastIndex=0,c.m3u8=e,c.hasVariableRefs=t0.test(e),(null==(n=iM.exec(e))?void 0:n[0])!=="#EXTM3U")return c.playlistParsingError=Error("Missing format identifier #EXTM3U"),c;for(;null!==(l=iM.exec(e));){I&&(I=!1,(A=new eC(s,u)).playlistOffset=E,A.setStart(E),A.sn=p,A.cc=b,y&&(A.bitrate=y),A.level=i,g&&(A.initSegment=g,g.rawProgramDateTime&&(A.rawProgramDateTime=g.rawProgramDateTime,g.rawProgramDateTime=null),L&&(A.setByteRange(L),L=null)));let e=l[1];if(e){A.duration=parseFloat(e);let t=(" "+l[2]).slice(1);A.title=t||null,A.tagList.push(t?["INF",e,t]:["INF",e])}else if(l[3]){if(j(A.duration)){A.playlistOffset=E,A.setStart(E),d&&iF(A,d,c),A.sn=p,A.level=i,A.cc=b,f.push(A);let e=(" "+l[3]).slice(1);A.relurl=t1(c,e),iU(A,T,m),T=A,E+=A.duration,p++,v=0,I=!0}}
44else{if(!(l=l[0].match(iC))){eg.warn("No matches on slow regex match for level playlist!");continue}for(o=1;o<l.length&&void 0===l[o];o++);let e=(" "+l[o]).slice(1),r=(" "+l[o+1]).slice(1),n=l[o+2]?(" "+l[o+2]).slice(1):null;switch(e){case"BYTERANGE":T?A.setByteRange(r,T):A.setByteRange(r);break;case"PROGRAM-DATE-TIME":A.rawProgramDateTime=r,A.tagList.push(["PROGRAM-DATE-TIME",r]),-1===S&&(S=f.length);break;case"PLAYLIST-TYPE":c.type&&iB(c,e,l),c.type=r.toUpperCase();break;case"MEDIA-SEQUENCE":0!==c.startSN?iB(c,e,l):f.length>0&&i$(c,e,l),p=c.startSN=parseInt(r);break;case"SKIP":{c.skippedSegments&&iB(c,e,l);let t=new t5(r,c),i=t.decimalInteger("SKIPPED-SEGMENTS");if(j(i)){c.skippedSegments+=i;for(let e=i;e--;)f.push(null);p+=i}let s=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");s&&(c.recentlyRemovedDateranges=(c.recentlyRemovedDateranges||[]).concat(s.split(" ")));break}case"TARGETDURATION":0!==c.targetduration&&iB(c,e,l),c.targetduration=Math.max(parseInt(r),1);break;case"VERSION":null!==c.version&&iB(c,e,l),c.version=parseInt(r);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":c.live||iB(c,e,l),c.live=!1;break;case"#":(r||n)&&A.tagList.push(n?[r,n]:[r]);break;case"DISCONTINUITY":b++,A.tagList.push(["DIS"]);break;case"GAP":A.gap=!0,A.tagList.push([e]);break;case"BITRATE":A.tagList.push([e,r]),j(y=1e3*parseInt(r))?A.bitrate=y:y=0;break;case"DATERANGE":{let e=new t5(r,c),t=new t8(e,c.dateRanges[e.ID],c.dateRangeTagCount);c.dateRangeTagCount++,t.isValid||c.skippedSegments?c.dateRanges[t.id]=t:eg.warn(`Ignoring invalid DATERANGE tag: "${r}"`),A.tagList.push(["EXT-X-DATERANGE",r]);break}case"DEFINE":{let e=new t5(r,c);"IMPORT"in e?function(e,t,i){let s=t.IMPORT;if(i&&s in i){let t=e.variableList;t||(e.variableList=t={}),t[s]=i[s]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${s}"`))}(c,e,a):t2(c,e,t)}break;case"DISCONTINUITY-SEQUENCE":0!==c.startCC?iB(c,e,l):f.length>0&&i$(c,e,l),c.startCC=b=parseInt(r);break;case"KEY":{let e=iD(r,t,c);if(e.isSupported()){if("NONE"===e.method){d=void 0;break}d||(d={});let t=d[e.keyFormat];null!=t&&t.matches(e)||(t&&(d=el({},d)),d[e.keyFormat]=e)}else eg.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${r}"`);break}case"START":c.startTimeOffset=ix(r);break;case"MAP":{let e=new t5(r,c);if(A.duration){let t=new eC(s,u);iN(t,e,i,d),g=t,A.initSegment=g,g.rawProgramDateTime&&!A.rawProgramDateTime&&(A.rawProgramDateTime=g.rawProgramDateTime)}else{let t=A.byteRangeEndOffset;if(t){let e=A.byteRangeStartOffset;L=`${t-e}@${e}`}else L=null;iN(A,e,i,d),g=A,I=!0}g.cc=b;break}case"SERVER-CONTROL":h&&iB(c,e,l),c.canBlockReload=(h=new t5(r)).bool("CAN-BLOCK-RELOAD"),c.canSkipUntil=h.optionalFloat("CAN-SKIP-UNTIL",0),c.canSkipDateRanges=c.canSkipUntil>0&&h.bool("CAN-SKIP-DATERANGES"),c.partHoldBack=h.optionalFloat("PART-HOLD-BACK",0),c.holdBack=h.optionalFloat("HOLD-BACK",0);break;case"PART-INF":c.partTarget&&iB(c,e,l),c.partTarget=new t5(r).decimalFloatingPoint("PART-TARGET");break;case"PART":{let e=c.partList;e||(e=c.partList=[]);let t=v>0?e[e.length-1]:void 0,i=v++,s=new e_(new t5(r,c),A,u,i,t);e.push(s),A.duration+=s.duration;break}case"PRELOAD-HINT":{let e=new t5(r,c);c.preloadHint=e;break}case"RENDITION-REPORT":{let e=new t5(r,c);c.renditionReports=c.renditionReports||[],c.renditionReports.push(e);break}default:eg.warn(`line parsed but not handled: ${l}`)}}}T&&!T.relurl?(f.pop(),E-=T.duration,c.partList&&(c.fragmentHint=T)):c.partList&&(iU(A,T,m),A.cc=b,c.fragmentHint=A,d&&iF(A,d,c)),c.targetduration||(c.playlistParsingError=Error("Missing Target Duration"));let k=f.length,R=f[0],M=f[k-1];if((E+=c.skippedSegments*c.targetduration)>0&&k&&M){c.averagetargetduration=E/k;let e=M.sn;c.endSN="initSegment"!==e?e:0,c.live||(M.endList=!0),S>0&&(function(e,t){let i=e[t];for(let s=t;s--;){let t=e[s];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(f,S),R&&m.unshift(R))}return c.fragmentHint&&(E+=c.fragmentHint.duration),c.totalduration=E,m.length&&c.dateRangeTagCount&&R&&iw(m,c),c.endCC=b,c}}function iw(e,t){let i=e.length;if(!i)if(!t.hasProgramDateTime)return;else{let s=t.fragments[t.fragments.length-1];e.push(s),i++}
44let s=e[i-1],r=t.live?1/0:t.totalduration,a=Object.keys(t.dateRanges);for(let l=a.length;l--;){let o=t.dateRanges[a[l]],d=o.startDate.getTime();o.tagAnchor=s.ref;for(let s=i;s--;){var n;if((null==(n=e[s])?void 0:n.sn)<t.startSN)break;let i=function(e,t,i,s,r){let a=i[s];if(a){let l=a.programDateTime;if(t>=l||0===s){var n;if(t<=l+1e3*(((null==(n=i[s+1])?void 0:n.start)||r)-a.start)){let r=i[s].sn-e.startSN;if(r<0)return -1;let a=e.fragments;if(a.length>i.length){let n=(i[s+1]||a[a.length-1]).sn-e.startSN;for(let e=n;e>r;e--){let i=a[e].programDateTime;if(t>=i&&t<i+1e3*a[e].duration)return e}}return r}}}return -1}(t,d,e,s,r);if(-1!==i){o.tagAnchor=t.fragments[i].ref;break}}}}function iD(e,t,i){var s,r;let a=new t5(e,i),n=null!=(s=a.METHOD)?s:"",l=a.URI,o=a.hexadecimalInteger("IV"),d=a.KEYFORMATVERSIONS,h=null!=(r=a.KEYFORMAT)?r:"identity";return l&&a.IV&&!o&&eg.error(`Invalid IV: ${a.IV}`),new iS(n,l?i_.resolve(l,t):"",h,(d||"1").split("/").map(Number).filter(Number.isFinite),o,a.KEYID)}function ix(e){let t=new t5(e).decimalFloatingPoint("TIME-OFFSET");return j(t)?t:null}function iP(e,t){let i=(e||"").split(/[ ,]+/).filter(e=>e);["video","audio","text"].forEach(e=>{let s=i.filter(t=>eZ(t,e));s.length&&(t[`${e}Codec`]=s.map(e=>e.split("/")[0]).join(","),i=i.filter(e=>-1===s.indexOf(e)))}),t.unknownCodecs=i}function iO(e,t,i){let s=t[i];s&&(e[i]=s)}function iU(e,t,i){e.rawProgramDateTime?i.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function iN(e,t,i,s){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",s&&(e.levelkeys=s),e.initSegment=null}function iF(e,t,i){e.levelkeys=t;let{encryptedFragments:s}=i;(!s.length||s[s.length-1].levelkeys!==t)&&Object.keys(t).some(e=>t[e].isCommonEncryption)&&s.push(e)}function iB(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must not appear more than once (${i[0]})`)}function i$(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`)}function iH(e,t){let i=t.startPTS;if(j(i)){let s,r=0;t.sn>e.sn?(r=i-e.start,s=e):(r=e.start-i,s=t),s.duration!==r&&s.setDuration(r)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0))}function iG(e,t,i,s,r,a,n){let l;s-i<=0&&(n.warn("Fragment should have a positive duration",t),s=i+t.duration,a=r+t.duration);let o=i,d=s,h=t.startPTS,u=t.endPTS;if(j(h)){let l=Math.abs(h-i);e&&l>e.totalduration?n.warn(`media timestamps and playlist times differ by ${l}s for level ${t.level} ${e.url}`):j(t.deltaPTS)?t.deltaPTS=Math.max(l,t.deltaPTS):t.deltaPTS=l,o=Math.max(i,h),i=Math.min(i,h),r=void 0!==t.startDTS?Math.min(r,t.startDTS):r,d=Math.min(s,u),s=Math.max(s,u),a=void 0!==t.endDTS?Math.max(a,t.endDTS):a}let c=i-t.start;0!==t.start&&t.setStart(i),t.setDuration(s-t.start),t.startPTS=i,t.maxStartPTS=o,t.startDTS=r,t.endPTS=s,t.minEndPTS=d,t.endDTS=a;let f=t.sn;if(!e||f<e.startSN||f>e.endSN)return 0;let m=f-e.startSN,g=e.fragments;for(g[m]=t,l=m;l>0;l--)iH(g[l],g[l-1]);for(l=m;l<g.length-1;l++)iH(g[l],g[l+1]);return e.fragmentHint&&iH(g[g.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,c}function iV(e,t,i,s,r){return Error(`${e} ${r.url} 45Playlist starting @${t.startSN} 46${t.m3u8} 47 48Playlist starting @${i.startSN} 49${i.m3u8}`)}function iW(e,t,i=!0){let s=t.startSN+t.skippedSegments-e.startSN,r=e.fragments,a=s>=0,n=0;if(a&&s<r.length)n=r[s].start;else if(a&&t.startSN===e.endSN+1)n=e.fragmentEnd;else if(a&&i)n=e.fragmentStart+s*t.levelTargetDuration;else{if(t.skippedSegments||0!==t.fragmentStart)return;n=e.fragmentStart}iK(t,n)}function iK(e,t){if(t){let i=e.fragments;for(let s=e.skippedSegments;s<i.length;s++)i[s].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t)}}function ij(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){let s=e.fragments;if(s.length&&4*i>t){let e=1e3*s[s.length-1].duration;e<i&&(i=e)}}else i/=2;return Math.round(i)}function iq(e,t,i){if(!e)return null;let s=e.fragments[t-e.startSN];return s||(s=e.fragmentHint)&&s.sn===t?s:t<e.startSN&&i&&i.sn===t?i:null}function iY(e,t,i){return e?iQ(e.partList,t,i):null}function iQ(e,t,i){if(e)for(let s=e.length;s--;
49){let r=e[s];if(r.index===i&&r.fragment.sn===t)return r}return null}function iz(e){e.forEach((e,t)=>{var i;null==(i=e.details)||i.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function iX(e){return e.replace(/\?[^?]*$/,"")}function iZ(e,t){for(let s=0,r=e.length;s<r;s++){var i;if((null==(i=e[s])?void 0:i.cc)===t)return e[s]}return null}function iJ(e,t){let i=e.start+t;e.startPTS=i,e.setStart(i),e.endPTS=i+e.duration}function i0(e,t){let i=t.fragments;for(let t=0,s=i.length;t<s;t++)iJ(i[t],e);t.fragmentHint&&iJ(t.fragmentHint,e),t.alignedSliding=!0}function i1(e,t){if((!t||!(e.startCC<t.endCC)||!(e.endCC>t.startCC))&&1)return;let i=Math.min(t.endCC,e.endCC),s=iZ(t.fragments,i),r=iZ(e.fragments,i);s&&r&&(eg.log(`Aligning playlist at start of dicontinuity sequence ${i}`),i0(s.start-r.start,e))}function i2(e,t){let i,s;if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let r=e.fragments,a=t.fragments;if(!r.length||!a.length)return;let n=Math.min(t.endCC,e.endCC);t.startCC<n&&e.startCC<n&&(i=iZ(a,n),s=iZ(r,n)),i&&s||(s=iZ(r,(i=a[Math.floor(a.length/2)]).cc)||r[Math.floor(r.length/2)]);let l=i.programDateTime,o=s.programDateTime;l&&o&&i0((o-l)/1e3-(s.start-i.start),e)}function i3(e,t,i){i4(e,t,i),e.addEventListener(t,i)}function i4(e,t,i){e.removeEventListener(t,i)}let i5=function(e){let t="",i=e.length;for(let s=0;s<i;s++)t+=`[${e.start(s).toFixed(3)}-${e.end(s).toFixed(3)}]`;return t},i8="STOPPED",i6="IDLE",i9="KEY_LOADING",i7="FRAG_LOADING",se="FRAG_LOADING_WAITING_RETRY",st="WAITING_TRACK",si="PARSING",ss="PARSED",sr="ENDED",sa="ERROR",sn="WAITING_INIT_PTS",sl="WAITING_LEVEL";class so extends tQ{constructor(e,t,i,s,r){super(s,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=i8,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.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.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:r}=this,a=i?i.currentTime:0,n=tJ.bufferInfo(s||i,a,e.maxBufferHole),l=!n.len;if(this.log(`Media seeking to ${j(a)?a.toFixed(3):a}, state: ${r}, ${l?"out of":"in"} buffer`),this.state===sr)this.resetLoadingState();else if(t){let i=e.maxFragLookUpTolerance,s=t.start-i,r=t.start+t.duration+i;if(l||r<n.start||s>n.end){let e=a>r;(a<s||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(i&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),a>this.lastCurrentTime&&(this.lastCurrentTime=a),!this.loadingParts)){let e=Math.max(n.end,a),t=this.shouldLoadParts(this.getLevelDetails(),e);t&&(this.log(`LL-Part loading ON after seeking to ${a.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=t)}!this.hls.hasEnoughToStart&&(this.log(`Setting ${l?"startPosition":"nextLoadPosition"} to ${a} for seek without enough to start`),this.nextLoadPosition=a,l&&(this.startPosition=a)),l&&this.state===i6&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=r,this.hls=e,this.fragmentLoader=new tK(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new tW(e.config)}registerListeners(){let{hls:e}=this;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===i8)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=i8}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return -1===t&&e?e:t}get bufferingEnabled(){return this.buffering}
49pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;let i=e.end||0,s=this.config.timelineOffset||0;if(i<=s)return!1;let r=e.buffered;this.config.maxBufferHole&&r&&r.length>1&&(e=tJ.bufferedInfo(r,e.start,0));let a=e.nextStart;if(a&&a>s&&a<t.edge||this.media.currentTime<e.start)return!1;let n=t.partList;if(null!=n&&n.length){let e=n[n.length-1];return tJ.isBuffered(this.media,e.start+e.duration/2)}let l=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(l)}getLevelDetails(){if(this.levels&&null!==this.levelLastLoaded)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var t;return(null==(t=this.getLevelDetails())?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;i3(i,"seeking",this.onMediaSeeking),i3(i,"ended",this.onMediaEnded);let s=this.config;this.levels&&s.autoStartLoad&&this.state===i8&&this.startLoad(s.startPosition)}onMediaDetaching(e,t){let i=!!t.transferMedia,s=this.media;if(null!==s){if(s.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),i4(s,"seeking",this.onMediaSeeking),i4(s,"ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=i8,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,i){this.startFragRequested=!0,this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let s=e=>{let t=e.frag;if(this.fragContextChanged(t)){this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++,this._handleFragmentLoadProgress(e)};this._doFragLoad(e,t,i,s).then(e=>{if(!e)return;let t=this.state,i=e.frag;if(this.fragContextChanged(i)){t!==i7&&(this.fragCurrent||t!==si)||(this.fragmentTracker.removeFragment(i),this.state=i6);return}"payload"in e&&(this.log(`Loaded ${i.type} sn: ${i.sn} of ${this.playlistLabel()} ${i.level}`),this.hls.trigger(X.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)}).catch(t=>{this.state!==i8&&this.state!==sa&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===tO){let t=e.type,s=this.getFwdBufferInfo(this.mediaBuffer,t),r=Math.max(e.duration,s?s.len:this.config.maxBufferLength),a=this.backtrackFragment;(1==(a?e.sn-a.sn:0)||this.reduceMaxBufferLength(r,e.duration))&&i.removeFragment(e)}else(null==(t=this.mediaBuffer)?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===tU&&i.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)}waitForLive(e){let t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){e-t&&this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:e,endOffset:t,type:i})}_loadInitSegment(e,t){this._doFragLoad(e,t).then(e=>{let t=null==e?void 0:e.frag;if(!t||this.fragContextChanged(t)||!this.levels)throw Error("init load aborted");return e}).then(e=>{let{hls:t}=this,{frag:i,payload:s}=e,r=i.decryptdata;if(s&&s.byteLength>
490&&null!=r&&r.key&&r.iv&&ie(r.method)){let a=self.performance.now();return this.decrypter.decrypt(new Uint8Array(s),r.key.buffer,r.iv.buffer,it(r.method)).catch(e=>{throw t.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:i}),e}).then(s=>{let r=self.performance.now();return t.trigger(X.FRAG_DECRYPTED,{frag:i,payload:s,stats:{tstart:a,tdecrypt:r}}),e.payload=s,this.completeInitSegmentLoad(e)})}return this.completeInitSegmentLoad(e)}).catch(t=>{this.state!==i8&&this.state!==sa&&(this.warn(t),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw Error("init load aborted, missing levels");let i=e.frag.stats;this.state!==i8&&(this.state=i6),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var i,s;let r=e.tracks;if(r&&!t.encrypted&&(null!=(i=r.audio)&&i.encrypted||null!=(s=r.video)&&s.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let e=this.media,i=Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`);return this.warn(i.message),!!e&&!e.mediaKeys&&(this.hls.trigger(X.ERROR,{type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_NO_KEYS,fatal:!1,error:i,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){let i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?i5(tJ.getBuffered(i)):"(detached)"})`),eM(e)){var s;if(e.type!==er){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e])){this.state=i6;return}}let t=null==(s=this.levels)?void 0:s[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=i6}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:s,partsLoaded:r}=e,a=!r||0===r.length||r.some(e=>!e),n=new tz(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(n)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var r,a;let n;this.fragCurrent=e;let l=t.details;if(!this.levels||!l)throw Error(`frag load aborted, missing level${l?"":" detail"}s`);let o=null;if(e.encrypted&&!(null!=(r=e.decryptdata)&&r.key)){if(this.log(`Loading key for ${e.sn} of [${l.startSN}-${l.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=i9,this.fragCurrent=e,o=this.keyLoader.load(e).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(X.KEY_LOADED,e),this.state===i9&&(this.state=i6),e}),this.hls.trigger(X.KEY_LOADING,{frag:e}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else!e.encrypted&&(o=this.keyLoader.loadClear(e,l.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");let d=this.fragPrevious;if(eM(e)&&(!d||e.sn!==d.sn)){let i=this.shouldLoadParts(t.details,e.end);i!==this.loadingParts&&(this.log(`LL-Part loading ${i?"ON":"OFF"} loading sn ${null==d?void 0:d.sn}->${e.sn}`),this.loadingParts=i)}if(i=Math.max(e.start,i||0),this.loadingParts&&eM(e)){let r=l.partList;if(r&&s){i>l.fragmentEnd&&l.fragmentHint&&(e=l.fragmentHint);let a=this.getNextPart(r,e,i);if(a>-1){let n,d=r[a];return(e=this.fragCurrent=d.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${d.index} (${a}/${r.length-1}) of ${this.fragInfo(e,!1,d)}) cc: ${e.cc} [${l.startSN}-${l.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=d.start+d.duration,this.state=i7,n=o?o.then(i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,d,t,s)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(e,d,t,s).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:e,part:d,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts")):n}if(!e.url||this.loadedEndOfParts(r,i))return Promise.resolve(null)}}if(eM(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${null==(a=l.partList)?void 0:a.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+l.startSN+"-"+l.endSN+"]"}, target: ${parseFloat(i.toFixed(3))}`),j(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=i7;let h=this.config.progressive&&e.type!==er;return(n=h&&o?o.then(t=>!t||this.fragContextChanged(t.frag)?null:this.fragmentLoader.load(e,s)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(e,h?s:void 0),o]).then(([e])=>(!h&&s&&s(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING")):n}doFragPartsLoad(e,t,i,s){return new Promise((r,a)=>{var n;let l=[],o=null==(n=i.details)?void 0:n.partList,d=t=>{this.fragmentLoader.loadPart(e,t,s).then(s=>{l[t.index]=s;let a=s.part;this.hls.trigger(X.FRAG_LOADED,s);let n=iY(i.details,e.sn,t.index+1)||iQ(o,e.sn,t.index+1);if(!n)return r({frag:e,part:a,partsLoaded:l});d(n)}).catch(a)};d(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;t.frag&&t.details===z.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===Q.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(X.ERROR,t)}else this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==si){this.fragCurrent||this.state===i8||this.state===sa||(this.state=i6);return}let{frag:i,part:s,level:r}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a);let n=this.getLevelDetails(),l=n&&i.sn>n.endSN||this.shouldLoadParts(n,i.end);l!==this.loadingParts&&(this.log(`LL-Part loading ${l?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=l),this.updateLevelTiming(i,s,r,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i,s;let r=e.partList[0];if(r.fragment.type===er)return!1;if(t>=r.end+((null==(i=e.fragmentHint)?void 0:i.duration)||0)&&(this.hls.hasEnoughToStart?(null==(s=this.media)?void 0:s.currentTime)||this.lastCurrentTime:this.getLoadPosition())>r.start-r.fragment.duration)return!0}}return!1}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:s,sn:r,part:a}=e;if(!(null!=t&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${r} of ${this.playlistLabel()} ${s}. The current chunk will not be buffered.`),null;let n=t[s],l=n.details,o=a>-1?iY(l,r,a):null,d=o?o.fragment:iq(l,r,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:o,level:n}):null}bufferFragmentData(e,t,i,s,r){if(this.state!==si)return;let{data1:a,data2:n}=e,l=a;if(n&&(l=ej(a,n)),!l.length)return;let o=this.initPTS[t.cc],d=o?-o.baseTime/o.timescale:void 0,h={type:e.type,frag:t,part:i,chunkMeta:s,offset:d,parent:t.type,data:l};if(this.hls.trigger(X.BUFFER_APPENDING,h),e.dropped&&e.independent&&!i){if(r)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!tJ.isBuffered(t,t.currentTime))return void this.flushMainBuffer(0,e.start);let i=t.currentTime,s=tJ.bufferInfo(t,i,0),r=e.duration,a=Math.min(2*this.config.maxFragLookUpTolerance,.25*r),n=Math.max(Math.min(e.start-a,s.end-a),i+a);e.start-n>a&&this.flushMainBuffer(n,e.start)}getFwdBufferInfo(e,t){var i;let s=this.getLoadPosition();if(!j(s))return null;let r=this.lastCurrentTime>s||null!=(i=this.media)&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,s,t,r)}getFwdBufferInfoAtPos(e,t,i,s){let r=tJ.bufferInfo(e,t,s);if(0===r.len&&void 0!==r.nextStart){let a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&(r.nextStart<=a.end||a.gap)){let i=Math.max(Math.min(r.nextStart,a.end)-t,s);return tJ.bufferInfo(e,t,i)}}return r}
49getMaxBufferLength(e){let{config:t}=this;return Math.min(e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){let i=this.config,s=Math.max(Math.min(e-t,i.maxBufferLength),t),r=Math.max(e-3*t,i.maxMaxBufferLength/2,s);return r>=s&&(i.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0)}getAppendedFrag(e,t=ei){let i=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:r}=this,a=i[0].start,n=r.lowLatencyMode&&!!t.partList,l=null;if(t.live){let i=r.initialLiveManifestSize;if(s<i)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${i})`),null;if(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<a){var o;n&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),l=this.getInitialLiveFragment(t);let i=this.hls.startPosition,s=this.hls.liveSyncPosition,r=l?(-1!==i&&i>=a?i:s)||l.start:e;this.log(`Setting startPosition to ${r} to match start frag at live edge. mainStart: ${i} liveSyncPosition: ${s} frag.start: ${null==(o=l)?void 0:o.start}`),this.startPosition=this.nextLoadPosition=r}}else e<=a&&(l=i[0]);if(!l){let i=this.loadingParts?t.partEnd:t.fragmentEnd;l=this.getFragmentAtPosition(e,i,t)}let d=this.filterReplacedPrimary(l,t);if(!d&&l){let e=l.sn-t.startSN;d=this.filterReplacedPrimary(i[e+1]||null,t)}return this.mapToInitFragWhenRequired(d)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return("OK"===i||i===tU&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,s,r){let a=null;if(e.gap&&(a=this.getNextFragment(this.nextLoadPosition,t))&&!a.gap&&i.nextStart){let e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s,0);if(null!==e&&i.len+e.len>=r){let e=a.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,a}get primaryPrefetch(){if(sd(this.config)){var e;if(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(sd(this.config)&&e.type!==er){let i=this.hls.interstitialsManager,s=null==i?void 0:i.bufferingItem;if(s){let i=s.event;if(i){if(i.appendInPlace||Math.abs(e.start-s.start)>1||0===s.start)return null}else if(e.end<=s.start&&(null==t?void 0:t.live)===!1||e.start>s.end&&s.nextEvent&&(s.nextEvent.appendInPlace||e.start-s.end>1))return null}let r=null==i?void 0:i.playerQueue;if(r)for(let t=r.length;t--;){let i=r[t].interstitial;if(i.appendInPlace&&e.start>=i.startTime&&e.end<=i.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let s=-1,r=!1,a=!0;for(let n=0,l=e.length;n<l;n++){let l=e[n];if(a=a&&!l.independent,s>-1&&i<l.start)break;let o=l.loaded;o?s=-1:(r||(l.independent||a)&&l.fragment===t)&&(l.fragment!==t&&this.warn(`Need buffer at ${i} but next unloaded part starts at ${l.start}`),s=n),r=o}return s}loadedEndOfParts(e,t){let i;for(let s=e.length;s--&&(i=e[s]).loaded;)if(t>i.start)return!0;return!1}getInitialLiveFragment(e){let t=e.fragments,i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!j(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let s=0;s<e.length;++s){let r=e[s];if(function(e,t,i){let s=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-s>e}(t,i,r))return r}return null}(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let r=i.sn+1;if(r>=e.startSN&&r<=e.endSN){let a=t[r-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}!s&&(s=tI(e,i.cc,i.end))&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`)}}else{let t=this.hls.liveSyncPosition;null!==t&&(s=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,i){let s,{config:r}=this,{fragPrevious:a}=this,{fragments:n,endSN:l}=i,{fragmentHint:o}=i,{maxFragLookUpTolerance:d}=r,h=i.partList,u=!!(this.loadingParts&&null!=h&&h.length&&o);if(u&&!this.bitrateTest&&h[h.length-1].fragment.sn===o.sn&&(n=n.concat(o),l=o.sn),e<t){var c;let i=e<this.lastCurrentTime||e>t-d||null!=(c=this.media)&&c.paused||!this.startFragRequested?0:d;s=tA(a,n,e,i)}else s=n[n.length-1];if(s){let e=s.sn-i.startSN,t=this.fragmentTracker.getState(s);if(("OK"===t||t===tU&&s.gap)&&(a=s),a&&s.sn===a.sn&&(!u||h[0].fragment.sn>s.sn||!i.live)&&s.level===a.level){let t=n[e+1];s=s.sn<l&&"OK"!==this.fragmentTracker.getState(t)?t:null}}return s}alignPlaylists(e,t,i){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let r=e.fragmentStart,a=!t,n=e.alignedSliding&&j(r);if(a||!n&&!r){i&&(i1(e,i),e.alignedSliding||i2(e,i),e.alignedSliding||e.skippedSegments||iW(i,e,!1));let r=e.fragmentStart;return this.log(`Live playlist sliding: ${r.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${s}`),r}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);let s=this.timelineOffset;if(-1===i){let r=null!==this.startTimeOffset,a=r?this.startTimeOffset:e.startTimeOffset;null!==a&&j(a)?(i=t+a,a<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${a} found in ${r?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+s}this.nextLoadPosition=i+s}getLoadPosition(){var e;let{media:t}=this,i=0;return null!=(e=this.hls)&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&eM(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===se)||(this.state=i6)}onFragmentOrKeyLoadError(e,t){var i,s,r;if(t.chunkMeta&&!t.frag){let e=this.getCurrentContext(t.chunkMeta);e&&(t.frag=e.frag)}let a=t.frag;if(!a||a.type!==e||!this.levels)return;if(this.fragContextChanged(a))return void this.warn(`Frag load error must match current frag to retry ${a.url} > ${null==(s=this.fragCurrent)?void 0:s.url}`);let n=t.details===z.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(a,!0);let l=t.errorAction;if(!l){this.state=sa;return}let{action:o,flags:d,retryCount:h=0,retryConfig:u}=l,c=!!u,f=c&&5===o,m=c&&!l.resolved&&1===d,g=null==(i=this.hls.latestLevelDetails)?void 0:i.live;if(!f&&m&&eM(a)&&!a.endList&&g&&!tR(t))this.resetFragmentErrors(e),this.treatAsGap(a),l.resolved=!0;else if((f||m)&&h<u.maxNumRetry){let i=tD(null==(r=t.response)?void 0:r.code),s=tC(u,h);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+s,this.state=se,l.resolved=!0,i){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${a.sn} of ${e} ${a.level} errored with ${t.details}, retrying loading ${h+1}/${u.maxNumRetry} in ${s}ms`)}else if(u){if(this.resetFragmentErrors(e),!(h<u.maxNumRetry))return void this.warn(`${t.details} reached or exceeded max retry (${h})`);n||3===o||(l.resolved=!0)}else 2===o?this.state=sl:this.state=sa;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,i=t===1/0;(!t||e>=t||i&&!tD(0))&&(i&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=i6)}reduceLengthAndFlushBuffer(e){if(this.state===si||this.state===ss){let t=e.frag,i=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,i),r=s&&s.len>.5;r&&this.reduceMaxBufferLength(s.len,(null==t?void 0:t.duration)||10);let a=!r;return a&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===es&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==i8&&(this.state=i6)}afterBufferFlushed(e,t,i){if(!e)return;let s=tJ.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===sr&&this.resetLoadingState()}
49resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==i8&&(this.state=i6)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;null!=t&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${-1===e.level?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){let r=i.details;if(!r)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce((t,a)=>{let n=e.elementaryStreams[a];if(n){let l=n.endPTS-n.startPTS;if(l<=0)return this.warn(`Could not parse fragment ${e.sn} ${a} duration reliably (${l})`),t||!1;let o=s?0:iG(r,e,n.startPTS,n.endPTS,n.startDTS,n.endDTS,this);return this.hls.trigger(X.LEVEL_PTS_UPDATED,{details:r,level:i,drift:
49o,type:a,frag:e,start:n.startPTS,end:n.endPTS}),!0}return t},!1)){var a;let t=(null==(a=this.transmuxer)?void 0:a.error)===null;if((0===i.fragmentError||t&&(i.fragmentError<2||e.endList))&&this.treatAsGap(e,i),t){let t=Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=ss,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(X.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===ei?"level":"track"}fragInfo(e,t=!0,i){var s,r;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${(null!=(s=t&&!i?e.startPTS:(i||e).start)?s:NaN).toFixed(3)}-${(null!=(r=t&&!i?e.endPTS:(i||e).end)?r:NaN).toFixed(3)}]${i&&"main"===e.type?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null==(e=this.transmuxer)||e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function sd(e){return!!e.interstitialsController&&!1!==e.enableInterstitialPlayback}class sh{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let e,{chunks:t,dataLength:i}=this;return t.length?(e=1===t.length?t[0]:function(e,t){let i=new Uint8Array(t),s=0;for(let t=0;t<e.length;t++){let r=e[t];i.set(r,s),s+=r.length}return i}(t,i),this.reset(),e):new Uint8Array(0)}reset(){this.chunks.length=0,this.dataLength=0}}var su={exports:{}},sc=(p||(p=1,!function(e){var t=Object.prototype.hasOwnProperty,i="~";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function a(e,t,s,a,n){if("function"!=typeof s)throw TypeError("The listener must be a function");var l=new r(s,a||e,n),o=i?i+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],l]:e._events[o].push(l):(e._events[o]=l,e._eventsCount++),e}function n(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function l(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(i=!1)),l.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},l.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,a=s.length,n=Array(a);r<a;r++)n[r]=s[r].fn;return n},l.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},l.prototype.emit=function(e,t,s,r,a,n){var l=i?i+e:e;if(!this._events[l])return!1;var o,d,h=this._events[l],u=arguments.length;if(h.fn){switch(h.once&&this.removeListener(e,h.fn,void 0,!0),u){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,t),!0;case 3:return h.fn.call(h.context,t,s),!0;case 4:return h.fn.call(h.context,t,s,r),!0;case 5:return h.fn.call(h.context,t,s,r,a),!0;case 6:return h.fn.call(h.context,t,s,r,a,n),!0}for(d=1,o=Array(u-1);d<u;d++)o[d-1]=arguments[d];h.fn.apply(h.context,o)}else{var c,f=h.length;for(d=0;d<f;d++)switch(h[d].once&&this.removeListener(e,h[d].fn,void 0,!0),u){case 1:h[d].fn.call(h[d].context);break;case 2:h[d].fn.call(h[d].context,t);break;case 3:h[d].fn.call(h[d].context,t,s);break;case 4:h[d].fn.call(h[d].context,t,s,r);break;default:if(!o)for(c=1,o=Array(u-1);c<u;c++)o[c-1]=arguments[c];h[d].fn.apply(h[d].context,o)}}return!0},l.prototype.on=function(e,t,i){return a(this,e,t,i,!1)},l.prototype.once=function(e,t,i){return a(this,e,t,i,!0)},l.prototype.removeListener=function(e,t,s,r){var a=i?i+e:e;if(!this._events[a])return this;if(!t)return n(this,a),this;var l=this._events[a];if(l.fn)l.fn!==t||r&&!l.once||s&&l.context!==s||n(this,a);else{for(var o=0,d=[],h=l.length;o<h;o++)(l[o].fn!==t||r&&!l[o].once||s&&l[o].context!==s)&&d.push(l[o]);d.length?this._events[a]=1===d.length?d[0]:d:n(this,a)}return this},l.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&n(this,t)):(this._events=new s,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=i,l.EventEmitter=l,e.exports=l}(su)),(c=su.exports)&&c.__esModule&&Object.prototype.hasOwnProperty.call(c,"default"))?c.default:c;let sf="1.6.15",sm={};function sg(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function sp(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function sv(e,t){return(127&e[t])<<21|(127&e[t+1])<<14|(127&e[t+2])<<7|127&e[t+3]}function sE(e,t){let i=t,s=0;for(;sp(e,t);)s+=10,s+=sv(e,t+6),sg(e,t+10)&&(s+=10),t+=s;
49if(s>0)return e.subarray(i,i+s)}function sb(e,t){return 255===e[t]&&(246&e[t+1])==240}function sy(e,t){return 1&e[t+1]?7:9}function sT(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function sA(e,t){return t+1<e.length&&sb(e,t)}function sS(e,t,i,s,r){if(!e.samplerate){let a=function(e,t,i,s){let r=t[i+2],a=r>>2&15;if(a>12){let t=Error(`invalid ADTS sampling index:${a}`);e.emit(X.ERROR,X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message});return}let n=(r>>6&3)+1,l=t[i+3]>>6&3|(1&r)<<2,o="mp4a.40."+n,d=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][a],h=a;(5===n||29===n)&&(h-=3);let u=[n<<3|(14&h)>>1,(1&h)<<7|l<<3];return eg.log(`manifest codec:${s}, parsed codec:${o}, channels:${l}, rate:${d} (ADTS object type:${n} sampling index:${a})`),{config:u,samplerate:d,channelCount:l,codec:o,parsedCodec:o,manifestCodec:s}}(t,i,s,r);a&&el(e,a)}}function sI(e,t,i,s,r){let a,n=s+r*(9216e4/e.samplerate),l=function(e,t){let i=sy(e,t);if(t+i<=e.length){let s=sT(e,t)-i;if(s>0)return{headerLength:i,frameLength:s}}}(t,i);if(l){let{frameLength:s,headerLength:r}=l,o=r+s,d=Math.max(0,i+o-t.length);d?(a=new Uint8Array(o-r)).set(t.subarray(i+r,t.length),0):a=t.subarray(i+r,i+o);let h={unit:a,pts:n};return d||e.samples.push(h),{sample:h,length:o,missing:d}}let o=t.length-i;return(a=new Uint8Array(o)).set(t.subarray(i,t.length),0),{sample:{unit:a,pts:n},length:o,missing:-1}}function sL(e,t=0,i=1/0){var s,r,a,n,l,o;let d,h,u,c,f,m;return s=e,r=t,a=i,n=Uint8Array,d=(l=s)instanceof ArrayBuffer?l:l.buffer,h=1,"BYTES_PER_ELEMENT"in n&&(h=n.BYTES_PER_ELEMENT),c=((u=(o=s)&&o.buffer instanceof ArrayBuffer&&void 0!==o.byteLength&&void 0!==o.byteOffset?s.byteOffset:0)+s.byteLength)/h,m=Math.floor(Math.min((f=Math.floor(Math.max(0,Math.min((u+r)/h,c))))+Math.max(a,0),c)),new n(d,f,m-f)}function sk(e){let t=0,i=[];for(;sp(e,t);){let s=sv(e,t+6);e[t+5]>>6&1&&(t+=10);let r=(t+=10)+s;for(;t+10<r;){let s=function(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=sv(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}}(e.subarray(t)),r=function(e){if("PRIV"===e.type){if(e.size<2)return;let t=eE(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}}if("W"===e.type[0]){if("WXXX"===e.type){if(e.size<2)return;let t=1,i=eE(e.data.subarray(t),!0);t+=i.length+1;let s=eE(e.data.subarray(t));return{key:e.type,info:i,data:s}}let t=eE(e.data);return{key:e.type,info:"",data:t}}if("APIC"===e.type)return function(e){let t,i={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if(e.size<2)return;if(3!==e.data[0])return void console.log("Ignore frame with unrecognized character encoding");let s=e.data.subarray(1).indexOf(0);if(-1===s)return;let r=eE(sL(e.data,1,s)),a=e.data[2+s],n=e.data.subarray(3+s).indexOf(0);if(-1===n)return;let l=eE(sL(e.data,3+s,n));if("-->"===r)t=eE(sL(e.data,4+s+n));else{var o;t=(o=e.data.subarray(4+s+n))instanceof ArrayBuffer?o:0==o.byteOffset&&o.byteLength==o.buffer.byteLength?o.buffer:new Uint8Array(o).buffer}return i.mimeType=r,i.pictureType=a,i.description=l,i.data=t,i}(e);if(e.size<2)return;if("TXXX"===e.type){let t=1,i=eE(e.data.subarray(t),!0);t+=i.length+1;let s=eE(e.data.subarray(t));return{key:e.type,info:i,data:s}}let t=eE(e.data.subarray(1));return{key:e.type,info:"",data:t}}(s);r&&i.push(r),t+=s.size+10}sg(e,t)&&(t+=10)}return i}function sR(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info}function sM(e){let t=sk(e);for(let e=0;e<t.length;e++){let i=t[e];if(sR(i))return function(e){if(8===e.data.byteLength){let t=new Uint8Array(e.data),i=1&t[3],s=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return s/=45,i&&(s+=47721858.84),Math.round(s)}}(i)}}let sC=((f={}).audioId3="org.id3",f.dateRange="com.apple.quicktime.HLS",f.emsg="https://aomedia.org/emsg/ID3",f.misbklv="urn:misb:KLV:bin:1910.1",f);function s_(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class sw{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,i,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,i){}demux(e,t){let i;this.cachedData&&(e=ej(this.cachedData,e),this.cachedData=null);
49let s=sE(e,0),r=s?s.length:0,a=this._audioTrack,n=this._id3Track,l=s?sM(s):void 0,o=e.length;for((null===this.basePTS||0===this.frameIndex&&j(l))&&(this.basePTS=sD(l,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),s&&s.length>0&&n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:sC.audioId3,duration:1/0});r<o;){if(this.canParse(e,r)){let t=this.appendFrame(a,e,r);t?(this.frameIndex++,this.lastPTS=t.sample.pts,r+=t.length,i=r):r=o}else{var d,h;sp(d=e,h=r)&&sv(d,h+6)+10<=d.length-h?(s=sE(e,r),n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:sC.audioId3,duration:1/0}),r+=s.length,i=r):r++}if(r===o&&i!==o){let t=e.slice(i);this.cachedData?this.cachedData=ej(this.cachedData,t):this.cachedData=t}}return{audioTrack:a,videoTrack:s_(),id3Track:n,textTrack:s_()}}demuxSampleAes(e,t,i){return Promise.reject(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:s_(),id3Track:this._id3Track,textTrack:s_()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}let sD=(e,t,i)=>j(e)?90*e:9e4*t+(i?9e4*i.baseTime/i.timescale:0),sx=null,sP=[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],sO=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],sU=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],sN=[0,1,1,4];function sF(e,t,i,s,r){if(i+24>t.length)return;let a=sB(t,i);if(a&&i+a.frameLength<=t.length){let n=s+r*(9e4*a.samplesPerFrame/a.sampleRate),l={unit:t.subarray(i,i+a.frameLength),pts:n,dts:n};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(l),{sample:l,length:a.frameLength,missing:0}}}function sB(e,t){let i=e[t+1]>>3&3,s=e[t+1]>>1&3,r=e[t+2]>>4&15,a=e[t+2]>>2&3;if(1!==i&&0!==r&&15!==r&&3!==a){let n=e[t+2]>>1&1,l=e[t+3]>>6,o=1e3*sP[14*(3===i?3-s:3===s?3:4)+r-1],d=sO[3*(3===i?0:2===i?1:2)+a],h=sU[i][s],u=sN[s],c=Math.floor(h*o/d+n)*u;if(null===sx){let e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sx=e?parseInt(e[1]):0}return sx&&sx<=87&&2===s&&o>=224e3&&0===l&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:3===l?1:2,frameLength:c,samplesPerFrame:8*h*u}}}function s$(e,t){return 255===e[t]&&(224&e[t+1])==224&&(6&e[t+1])!=0}function sH(e,t){return t+1<e.length&&s$(e,t)}function sG(e,t){if(t+1<e.length&&s$(e,t)){let i=sB(e,t),s=4;null!=i&&i.frameLength&&(s=i.frameLength);let r=t+s;return r===e.length||sH(e,r)}return!1}let sV=(e,t)=>{let i=0,s=5;t+=5;let r=new Uint32Array(1),a=new Uint32Array(1),n=new Uint8Array(1);for(;s>0;){n[0]=e[t];let l=Math.min(s,8),o=8-l;a[0]=0xff000000>>>24+o<<o,r[0]=(n[0]&a[0])>>o,i=i?i<<l|r[0]:r[0],t+=1,s-=l}return i};function sW(e,t,i,s,r){if(i+8>t.length||11!==t[i]||119!==t[i+1])return -1;let a=t[i+4]>>6;if(a>=3)return -1;let n=[48e3,44100,32e3][a],l=63&t[i+4],o=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*l+a];if(i+o>t.length)return -1;let d=t[i+6]>>5,h=0;2===d?h+=2:(1&d&&1!==d&&(h+=2),4&d&&(h+=2));let u=(t[i+6]<<8|t[i+7])>>12-h&1,c=[2,1,2,3,3,4,4,5][d]+u,f=t[i+5]>>3,m=7&t[i+5],g=new Uint8Array([a<<6|f<<1|m>>2,(3&m)<<6|d<<3|u<<2|l>>4,l<<4&224]),p=t.subarray(i,i+o);return e.config=g,e.channelCount=c,e.samplerate=n,e.samples.push({unit:p,pts:s+1536/n*9e4*r}),o}let sK=/\/emsg[-/]ID3/i;function sj(e,t){return j(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class sq{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new tW(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,0)}decryptAacSample(e,t,i){let s=e[t].unit;if(s.length<=16)return;let r=s.subarray(16,s.length-s.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then(r=>{let a=new Uint8Array(r);s.set(a,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}).catch(i)}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=new Int8Array(16*Math.floor((e.length-48)/160)+16),i=0;for(let s=32;s<e.length-16;s+=160,i+=16)t.set(e.subarray(s,s+16),i);return t}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let t=32;t<e.length-16;t+=160,s+=16)e.set(i.subarray(s,s+16),t);return e}decryptAvcSample(e,t,i,s,r){let a=ez(r.data),n=this.getAvcEncryptedData(a);this.decryptBuffer(n.buffer).then(n=>{r.data=this.getAvcDecryptedUnit(a,n),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)}).catch(s)}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void s();let r=e[t].units;for(;!(i>=r.length);i++){let a=r[i];if(!(a.data.length<=48)&&(1===a.type||5===a.type)&&(this.decryptAvcSample(e,t,i,s,a),!this.decrypter.isSync()))return}}}}class sY{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){var t;let i,s=this.VideoSample;if(s&&0!==s.units.length||(s=e[e.length-1]),null!=(t=s)&&t.units){let e=s.units;i=e[e.length-1]}return i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){let i=t.samples,s=i.length;if(!s)return void t.dropped++;{let t=i[s-1];e.pts=t.pts,e.dts=t.dts}}t.samples.push(e)}}parseNALu(e,t,i){let s,r,a,n=t.byteLength,l=e.naluState||0,o=l,d=[],h=0,u=-1,c=0;for(-1===l&&(u=0,c=this.getNALuType(t,0),l=0,h=1);h<n;){if(s=t[h++],!l){l=+!s;continue}if(1===l){l=2*!s;continue}
49if(s)if(1===s){if(r=h-l-1,u>=0){let e={data:t.subarray(u,r),type:c};d.push(e)}else{let i=this.getLastNalUnit(e.samples);i&&(o&&h<=4-o&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-o)),r>0&&(i.data=ej(i.data,t.subarray(0,r)),i.state=0))}h<n?(a=this.getNALuType(t,h),u=h,c=a,l=0):l=-1}else l=0;else l=3}if(u>=0&&l>=0){let e={data:t.subarray(u,n),type:c,state:l};d.push(e)}if(0===d.length){let i=this.getLastNalUnit(e.samples);i&&(i.data=ej(i.data,t))}return e.naluState=l,d}}class sQ{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,i=e.byteLength-t,s=new Uint8Array(4),r=Math.min(4,t);if(0===r)throw Error("no bytes available");s.set(e.subarray(i,i+r)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=8*r,this.bytesAvailable-=r}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),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),i=this.word>>>32-t;if(e>32&&eg.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 Error("no bits available");return(t=e-t)>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&0x80000000>>>e)!=0)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 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class sz extends sY{parsePES(e,t,i,s){let r,a=this.parseNALu(e,i.data,s),n=this.VideoSample,l=!1;i.data=null,n&&a.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),a.forEach(s=>{var a,o,d,h,u;switch(s.type){case 1:{let t=!1;r=!0;let a=s.data;if(l&&a.length>4){let e=this.readSliceType(a);(2===e||4===e||7===e||9===e)&&(t=!0)}t&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.frame=!0,n.key=t;break}case 5:r=!0,null!=(a=n)&&a.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 6:r=!0,eQ(s.data,1,i.pts,t.samples);break;case 7:{r=!0,l=!0;let t=s.data,i=this.readSPS(t);if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(h=e.pixelRatio)?void 0:h[0])!==i.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t];let s=t.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let t=s[e].toString(16);t.length<2&&(t="0"+t),r+=t}e.codec=r}break}case 8:r=!0,e.pps=[s.data];break;case 9:r=!0,e.audFound=!0,null!=(o=n)&&o.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:r=!0;break;default:r=!1}n&&r&&n.units.push(s)}),s&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}getNALuType(e,t){return 31&e[t]}readSliceType(e){let t=new sQ(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let i=8,s=8;for(let r=0;r<e;r++)0!==s&&(s=(i+t.readEG()+256)%256),i=0===s?i:s}readSPS(e){let t,i,s,r=new sQ(e),a=0,n=0,l=0,o=0,d=r.readUByte.bind(r),h=r.readBits.bind(r),u=r.readUEG.bind(r),c=r.readBoolean.bind(r),f=r.skipBits.bind(r),m=r.skipEG.bind(r),g=r.skipUEG.bind(r),p=this.skipScalingList.bind(this);d();let v=d();if(h(5),f(3),d(),g(),100===v||110===v||122===v||244===v||44===v||83===v||86===v||118===v||128===v){let e=u();if(3===e&&f(1),g(),g(),f(1),c())for(i=3!==e?8:12,s=0;s<i;s++)c()&&p(s<6?16:64,r)}g();let E=u();if(0===E)u();else if(1===E)for(f(1),m(),m(),t=u(),s=0;s<t;s++)m();g(),f(1);let b=u(),y=u(),T=h(1);0===T&&f(1),f(1),c()&&(a=u(),n=u(),l=u(),o=u());let A=[1,1];if(c()&&c())switch(d()){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=[d()<<8|d(),d()<<8|d()]}return{width:Math.ceil((b+1)*16-2*a-2*n),height:(2-T)*(y+1)*16-(T?2:4)*(l+o),pixelRatio:A}}}class sX extends sY{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,i,s){let r,a=this.parseNALu(e,i.data,s),n=this.VideoSample,l=!1;i.data=null,n&&a.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),a.forEach(s=>{var a,o,d;
49switch(s.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.frame=!0,r=!0;break;case 16:case 17:case 18:case 21:r=!0,l&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 19:case 20:r=!0,null!=(a=n)&&a.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 39:r=!0,eQ(s.data,2,i.pts,t.samples);break;case 32:r=!0,e.vps||("object"!=typeof e.params&&(e.params={}),e.params=el(e.params,this.readVPS(s.data)),this.initVPS=s.data),e.vps=[s.data];break;case 33:if(r=!0,l=!0,void 0===e.vps||e.vps[0]===this.initVPS||void 0===e.sps||this.matchSPS(e.sps[0],s.data)||(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let t=this.readSPS(s.data);for(let i in e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.codec=t.codecString,e.sps=[],"object"!=typeof e.params&&(e.params={}),t.params)e.params[i]=t.params[i]}this.pushParameterSet(e.sps,s.data,e.vps),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0;break;case 34:if(r=!0,"object"==typeof e.params){if(!e.pps){e.pps=[];let t=this.readPPS(s.data);for(let i in t)e.params[i]=t[i]}this.pushParameterSet(e.pps,s.data,e.vps)}break;case 35:r=!0,e.audFound=!0,null!=(o=n)&&o.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:r=!1}n&&r&&n.units.push(s)}),s&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}pushParameterSet(e,t,i){(!i||i[0]!==this.initVPS)&&(i||e.length)||e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),i=0;for(let s=0;s<e.byteLength;s++)(!(s>=2)||3!==e[s]||0!==e[s-1]||0!==e[s-2])&&(t[i]=e[s],i++);return new Uint8Array(t.buffer,0,i)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){let t=new sQ(e);return t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6),{numTemporalLayers:t.readBits(3)+1,temporalIdNested:t.readBoolean()}}readSPS(e){let t=new sQ(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let i=t.readBits(3);t.readBoolean();let s=t.readBits(2),r=t.readBoolean(),a=t.readBits(5),n=t.readUByte(),l=t.readUByte(),o=t.readUByte(),d=t.readUByte(),h=t.readUByte(),u=t.readUByte(),c=t.readUByte(),f=t.readUByte(),m=t.readUByte(),g=t.readUByte(),p=t.readUByte(),v=[],E=[];for(let e=0;e<i;e++)v.push(t.readBoolean()),E.push(t.readBoolean());if(i>0)for(let e=i;e<8;e++)t.readBits(2);for(let e=0;e<i;e++)v[e]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),E[e]&&t.readUByte();t.readUEG();let b=t.readUEG();3==b&&t.skipBits(1);let y=t.readUEG(),T=t.readUEG(),A=t.readBoolean(),S=0,I=0,L=0,k=0;A&&(S+=t.readUEG(),I+=t.readUEG(),L+=t.readUEG(),k+=t.readUEG());let R=t.readUEG(),M=t.readUEG(),C=t.readUEG(),_=t.readBoolean();for(let e=_?0:i;e<=i;e++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let e=0;e<4;e++)for(let i=0;i<(3===e?2:6);i++)if(t.readBoolean()){let i=Math.min(64,1<<4+(e<<1));e>1&&t.readEG();for(let e=0;e<i;e++)t.readEG()}else t.readUEG();t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let w=t.readUEG(),D=0;for(let e=0;e<w;e++){let i=!1;if(0!==e&&(i=t.readBoolean()),i){e===w&&t.readUEG(),t.readBoolean(),t.readUEG();let i=0;for(let e=0;e<=D;e++){let e=t.readBoolean(),s=!1;e||(s=t.readBoolean()),(e||s)&&i++}D=i}else{let e=t.readUEG(),i=t.readUEG();D=e+i;for(let i=0;i<e;i++)t.readUEG(),t.readBoolean();for(let e=0;e<i;e++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){let e=t.readUEG();for(let i=0;i<e;i++){for(let e=0;e<C+4;e++)t.readBits(1);t.readBits(1)}}let x=0,P=1,O=1,U=!0,N=1,F=0;t.readBoolean(),t.readBoolean();if(t.readBoolean()){if(t.readBoolean()){let e=t.readUByte();e>0&&e<16?(P=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],O=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(P=t.readBits(16),O=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(N=t.readBits(32),F=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let e=t.readBoolean(),s=t.readBoolean(),r=!1;(e||s)&&((r=t.readBoolean())&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),r&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let a=0;a<=i;a++){let i=(U=t.readBoolean())||t.readBoolean(),a=!1;i?t.readEG():a=t.readBoolean();let n=a?1:t.readUEG()+1;if(e)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),r&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(s)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),r&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),x=t.readUEG())}let B=y,$=T;if(A){let e=1,t=1;1===b?e=t=2:2==b&&(e=2),B=y-e*I-e*S,$=T-t*k-t*L}let H=s?["A","B","C"][s]:"",G=n<<24|l<<16|o<<8|d,V=0;for(let e=0;e<32;e++)V=(V|(G>>e&1)<<31-e)>>>0;let W=V.toString(16);return 1===a&&"2"===W&&(W="6"),{codecString:`hvc1.${H}${a}.${W}.${r?"H":"L"}${p}.B0`,params:{general_tier_flag:r,general_profile_idc:a,general_profile_space:s,general_profile_compatibility_flags:[n,l,o,d],general_constraint_indicator_flags:[h,u,c,f,m,g],general_level_idc:
49p,bit_depth:R+8,bit_depth_luma_minus8:R,bit_depth_chroma_minus8:M,min_spatial_segmentation_idc:x,chroma_format_idc:b,frame_rate:{fixed:U,fps:F/N}},width:B,height:$,pixelRatio:[P,O]}}readPPS(e){let t=new sQ(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let i=t.readBoolean(),s=t.readBoolean(),r=1;return s&&i?r=0:s?r=3:i&&(r=2),{parallelismType:r}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}function sZ(e,t){return((31&e[t+1])<<8)+e[t+2]}function sJ(e,t,i,s){s.warn(`parsing error: ${t.message}`),e.emit(X.ERROR,X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function s0(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function s1(e,t){let i,s,r,a,n,l=0,o=e.data;if(!e||0===e.size)return null;for(;o[0].length<19&&o.length>1;)o[0]=ej(o[0],o[1]),o.splice(1,1);if(1===((i=o[0])[0]<<16)+(i[1]<<8)+i[2]){if((s=(i[4]<<8)+i[5])&&s>e.size-6)return null;let d=i[7];192&d&&(a=(14&i[9])*0x20000000+(255&i[10])*4194304+(254&i[11])*16384+(255&i[12])*128+(254&i[13])/2,64&d?a-(n=(14&i[14])*0x20000000+(255&i[15])*4194304+(254&i[16])*16384+(255&i[17])*128+(254&i[18])/2)>54e5&&(t.warn(`${Math.round((a-n)/9e4)}s delta between PTS and DTS, align them`),a=n):n=a);let h=(r=i[8])+9;if(e.size<=h)return null;e.size-=h;let u=new Uint8Array(e.size);for(let e=0,t=o.length;e<t;e++){let t=(i=o[e]).byteLength;if(h)if(h>t){h-=t;continue}else i=i.subarray(h),t-=h,h=0;u.set(i,l),l+=t}return s&&(s-=r+3),{data:u,pts:a,dts:n,len:s}}return null}class s2{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)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(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}class s3{static init(){let e;for(e in s3.types={avc1:[],avcC:[],hvc1:[],hvcC:[],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:[]},s3.types)s3.types.hasOwnProperty(e)&&(s3.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);s3.HDLR_TYPES={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])};let t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);s3.STTS=s3.STSC=s3.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),s3.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),s3.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),s3.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),s3.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let i=new Uint8Array([105,115,111,109]),s=new Uint8Array([97,118,99,49]),r=new
49Uint8Array([0,0,0,1]);s3.FTYP=s3.box(s3.types.ftyp,i,r,i,s),s3.DINF=s3.box(s3.types.dinf,s3.box(s3.types.dref,t))}static box(e,...t){let i=8,s=t.length,r=s;for(;s--;)i+=t[s].byteLength;let a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4),s=0,i=8;s<r;s++)a.set(t[s],i),i+=t[s].byteLength;return a}static hdlr(e){return s3.box(s3.types.hdlr,s3.HDLR_TYPES[e])}static mdat(e){return s3.box(s3.types.mdat,e)}static mdhd(e,t){let i=Math.floor((t*=e)/0x100000000),s=Math.floor(t%0x100000000);return s3.box(s3.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,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,85,196,0,0]))}static mdia(e){return s3.box(s3.types.mdia,s3.mdhd(e.timescale||0,e.duration||0),s3.hdlr(e.type),s3.minf(e))}static mfhd(e){return s3.box(s3.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?s3.box(s3.types.minf,s3.box(s3.types.smhd,s3.SMHD),s3.DINF,s3.stbl(e)):s3.box(s3.types.minf,s3.box(s3.types.vmhd,s3.VMHD),s3.DINF,s3.stbl(e))}static moof(e,t,i){return s3.box(s3.types.moof,s3.mfhd(e),s3.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=s3.trak(e[t]);return s3.box.apply(null,[s3.types.moov,s3.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(s3.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=s3.trex(e[t]);return s3.box.apply(null,[s3.types.mvex,...i])}static mvhd(e,t){let i=Math.floor((t*=e)/0x100000000),s=Math.floor(t%0x100000000),r=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,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,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 s3.box(s3.types.mvhd,r)}static sdtp(e){let t,i,s=e.samples||[],r=new Uint8Array(4+s.length);for(t=0;t<s.length;t++)i=s[t].flags,r[t+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return s3.box(s3.types.sdtp,r)}static stbl(e){return s3.box(s3.types.stbl,s3.stsd(e),s3.box(s3.types.stts,s3.STTS),s3.box(s3.types.stsc,s3.STSC),s3.box(s3.types.stsz,s3.STSZ),s3.box(s3.types.stco,s3.STCO))}static avc1(e){let t,i,s,r=[],a=[];for(t=0;t<e.sps.length;t++)s=(i=e.sps[t]).byteLength,r.push(s>>>8&255),r.push(255&s),r=r.concat(Array.prototype.slice.call(i));for(t=0;t<e.pps.length;t++)s=(i=e.pps[t]).byteLength,a.push(s>>>8&255),a.push(255&s),a=a.concat(Array.prototype.slice.call(i));let n=s3.box(s3.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|e.sps.length].concat(r).concat([e.pps.length]).concat(a))),l=e.width,o=e.height,d=e.pixelRatio[0],h=e.pixelRatio[1];return s3.box(s3.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,255&l,o>>8&255,255&o,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]),n,s3.box(s3.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),s3.box(s3.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,h>>24,h>>16&255,h>>8&255,255&h])))}static esds(e){return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e.config,6,1,2])}static audioStsd(e){let t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return s3.box(s3.types.mp4a,s3.audioStsd(e),s3.box(s3.types.esds,s3.esds(e)))}static mp3(e){return s3.box(s3.types[".mp3"],s3.audioStsd(e))}static ac3(e){return s3.box(s3.types["ac-3"],s3.audioStsd(e),s3.box(s3.types.dac3,e.config))}static stsd(e){let{segmentCodec:t}=e;if("audio"===e.type){if("aac"===t)return s3.box(s3.types.stsd,s3.STSD,s3.mp4a(e));if("ac3"===t&&e.config)return s3.box(s3.types.stsd,s3.STSD,s3.ac3(e));if("mp3"===t&&"mp3"===e.codec)return s3.box(s3.types.stsd,s3.STSD,s3.mp3(e))}else if(e.pps&&e.sps){if("avc"===t)return s3.box(s3.types.stsd,s3.STSD,s3.avc1(e));if("hevc"===t&&e.vps)return s3.box(s3.types.stsd,s3.STSD,s3.hvc1(e))}
49else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){let t=e.id,i=(e.duration||0)*(e.timescale||0),s=e.width||0,r=e.height||0,a=Math.floor(i/0x100000000),n=Math.floor(i%0x100000000);return s3.box(s3.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,255&t,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,n>>24,n>>16&255,n>>8&255,255&n,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,255&s,0,0,r>>8&255,255&r,0,0]))}static traf(e,t){let i=s3.sdtp(e),s=e.id,r=Math.floor(t/0x100000000),a=Math.floor(t%0x100000000);return s3.box(s3.types.traf,s3.box(s3.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s])),s3.box(s3.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,a>>24,a>>16&255,a>>8&255,255&a])),s3.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||0xffffffff,s3.box(s3.types.trak,s3.tkhd(e),s3.mdia(e))}static trex(e){let t=e.id;return s3.box(s3.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i,s,r,a,n,l,o=e.samples||[],d=o.length,h=12+16*d,u=new Uint8Array(h);for(t+=8+h,u.set([+("video"===e.type),0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),i=0;i<d;i++)r=(s=o[i]).duration,a=s.size,n=s.flags,l=s.cts,u.set([r>>>24&255,r>>>16&255,r>>>8&255,255&r,a>>>24&255,a>>>16&255,a>>>8&255,255&a,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.paddingValue<<1|n.isNonSync,61440&n.degradPrio,15&n.degradPrio,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*i);return s3.box(s3.types.trun,u)}static initSegment(e){s3.types||s3.init();let t=s3.moov(e);return ej(s3.FTYP,t)}static hvc1(e){let t=e.params,i=[e.vps,e.sps,e.pps],s=new Uint8Array([1,t.general_profile_space<<6|32*!!t.general_tier_flag|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|64*!!t.frame_rate.fixed,i.length]),r=s.length;for(let e=0;e<i.length;e+=1){r+=3;for(let t=0;t<i[e].length;t+=1)r+=2+i[e][t].length}let a=new Uint8Array(r);a.set(s,0),r=s.length;let n=i.length-1;for(let e=0;e<i.length;e+=1){a.set(new Uint8Array([32+e|128*(e===n),0,i[e].length]),r),r+=3;for(let t=0;t<i[e].length;t+=1)a.set(new Uint8Array([i[e][t].length>>8,255&i[e][t].length]),r),r+=2,a.set(i[e][t],r),r+=i[e][t].length}let l=s3.box(s3.types.hvcC,a),o=e.width,d=e.height,h=e.pixelRatio[0],u=e.pixelRatio[1];return s3.box(s3.types.hvc1,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,o>>8&255,255&o,d>>8&255,255&d,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]),l,s3.box(s3.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),s3.box(s3.types.pasp,new Uint8Array([h>>24,h>>16&255,h>>8&255,255&h,u>>24,u>>16&255,u>>8&255,255&u])))}}function s4(e,t,i=1,s=!1){let r=e*t*i;return s?Math.round(r):r}function s5(e,t=!1){return s4(e,1e3,11111111111111112e-21,t)}function s8(e){let{baseTime:t,timescale:i,trackId:s}=e;return`${t/i} (${t}/${i}) trackId: ${s}`}s3.types=void 0,s3.HDLR_TYPES=void 0,s3.STTS=void 0,s3.STSC=void 0,s3.STCO=void 0,s3.STSZ=void 0,s3.VMHD=void 0,s3.SMHD=void 0,s3.STSD=void 0,s3.FTYP=void 0,s3.DINF=void 0;let s6=null,s9=null;function s7(e,t,i,s){return{duration:t,size:i,cts:s,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:+!e}}}class re extends eh{constructor(e,t,i,s){if(super("mp4-remuxer",s),this.observer=void 0,this.config=void 0,this.typeSupp
49orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===s6){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);s6=e?parseInt(e[1]):0}if(null===s9){const e=navigator.userAgent.match(/Safari\/(\d+)/i);s9=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t?s8(t):t} > ${e?s8(e):e}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,i=e[0].pts,s=e.reduce((e,s)=>{let r=s.pts,a=r-e;return(a<-0x100000000&&(t=!0,a=(r=rt(r,i))-e),a>0)?e:r},i);return t&&this.debug("PTS rollover detected"),s}remux(e,t,i,s,r,a,n,l){let o,d,h,u,c,f,m=r,g=r,p=e.pid>-1,v=t.pid>-1,E=t.samples.length,b=e.samples.length>0,y=n&&E>0||E>1;if((!p||b)&&(!v||y)||this.ISGenerated||n){let i;if(this.ISGenerated){var T,A,S,I;let e=this.videoTrackConfig;(e&&(t.width!==e.width||t.height!==e.height||(null==(T=t.pixelRatio)?void 0:T[0])!==(null==(A=e.pixelRatio)?void 0:A[0])||(null==(S=t.pixelRatio)?void 0:S[1])!==(null==(I=e.pixelRatio)?void 0:I[1]))||!e&&y||null===this.nextAudioTs&&b)&&this.resetInitSegment()}this.ISGenerated||(h=this.generateIS(e,t,r,a));let s=this.isVideoContiguous,n=-1;if(y&&(n=function(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return -1}(t.samples),!s&&this.config.forceKeyFrameOnDiscontinuity))if(f=!0,n>0){this.warn(`Dropped ${n} out of ${E} video samples due to a missing keyframe`);let e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(n),t.dropped+=n,g+=(t.samples[0].pts-e)/t.inputTimeScale,i=g}else -1===n&&(this.warn(`No keyframe found out of ${E} video samples`),f=!1);if(this.ISGenerated){if(b&&y){let i=this.getVideoStartPts(t.samples),s=(rt(e.samples[0].pts,i)-i)/t.inputTimeScale;m+=Math.max(0,s),g+=Math.max(0,-s)}if(b){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),h=this.generateIS(e,t,r,a)),d=this.remuxAudio(e,m,this.isAudioContiguous,a,v||y||l===es?g:void 0),y){let i=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),h=this.generateIS(e,t,r,a)),o=this.remuxVideo(t,g,s,i)}}else y&&(o=this.remuxVideo(t,g,s,0));o&&(o.firstKeyFrame=n,o.independent=-1!==n,o.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(c=ri(i,r,this._initPTS,this._initDTS)),s.samples.length&&(u=rs(s,r,this._initPTS))),{audio:d,video:o,initSegment:h,independent:f,text:u,id3:c}}computeInitPts(e,t,i,s){let r=Math.round(i*t),a=rt(e,r);if(a<r+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(r-a)/t} ${s}`);a<r+t;)a+=0x200000000;return a-r}generateIS(e,t,i,s){let r,a,n,l=e.samples,o=t.samples,d=this.typeSupported,h={},u=this._initPTS,c=!u||s,f="audio/mp4",m=-1;if(c&&(r=a=1/0),e.config&&l.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(f="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}h.audio={id:"audio",container:f,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&d.mpeg?new Uint8Array(0):s3.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(m=e.id,n=e.inputTimeScale,u&&n===u.timescale?c=!1:r=a=this.computeInitPts(l[0].pts,n,i,"audio"))}if(t.sps&&t.pps&&o.length){if(t.timescale=t.inputTimeScale,h.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:s3.initSegment([t]),metadata:{width:t.width,height:t.height}},c)if(m=t.id,n=t.inputTimeScale,u&&n===u.timescale)c=!1;else{let e=this.getVideoStartPts(o),t=rt(o[0].dts,e),s=this.computeInitPts(t,n,i,"video"),l=this.computeInitPts(e,n,i,"video");a=Math.min(a,s),r=Math.min(r,l)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(h).length)return this.ISGenerated=!0,c?(u&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${i} ${r/n} != initPTS: ${u.baseTime/u.timescale} (${u.baseTime}/${u.timescale}) trackId: ${u.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${r/n} (${r}/${n}) trackId: ${m}`),this._initPTS={baseTime:r,timescale:n,trackId:m},this._initDTS={baseTime:a,timescale:n,trackId:m}):r=n=void 0,{tracks:h,initPTS:r,timescale:n,trackId:m}}remuxVideo(e,t,i,s){let r,a,n,l=e.inputTimeScale,o=e.samples,d=[],h=o.length,u=this._initPTS,c=u.baseTime*l/u.timescale,f=this.nextVideoTs,m=8,g=this.videoSampleDuration,p=1/0,v=-1/0,E=!1;if(!i||null===f){let e=c+t*l,s=o[0].pts-rt(o[0].dts,o[0].pts);s6&&null!==f&&15e3>Math.abs(e-s-(f+c))?i=!0:f=e-s-c}let b=f+c;for(let e=0;e<h;
49e++){let t=o[e];t.pts=rt(t.pts,b),t.dts=rt(t.dts,b),t.dts<o[e>0?e-1:e].dts&&(E=!0)}E&&o.sort(function(e,t){let i=e.dts-t.dts,s=e.pts-t.pts;return i||s}),r=o[0].dts;let y=(a=o[o.length-1].dts)-r,T=y?Math.round(y/(h-1)):g||e.inputTimeScale/30;if(i){let i=r-b,s=i>T,a=i<-1;if((s||a)&&(s?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${s5(i,!0)} ms (${i}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${s5(-i,!0)} ms (${i}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!a||b>=o[0].pts||s6)){r=b;let e=o[0].pts-i;if(s)o[0].dts=r,o[0].pts=e;else{let t=!0;for(let s=0;s<o.length&&(!(o[s].dts>e)||!t);s++){let e=o[s].pts;if(o[s].dts-=i,o[s].pts-=i,s<o.length-1){let i=o[s+1].pts;t=i<=o[s].pts==i<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${s5(e,!0)}/${s5(r,!0)}, delta: ${s5(i,!0)} ms`)}}let A=0,S=0,I=r=Math.max(0,r);for(let e=0;e<h;e++){let t=o[e],i=t.units,s=i.length,r=0;for(let e=0;e<s;e++)r+=i[e].data.length;S+=r,A+=s,t.length=r,t.dts<I?(t.dts=I,I+=T/4|0||1):I=t.dts,p=Math.min(t.pts,p),v=Math.max(t.pts,v)}a=o[h-1].dts;let L=S+4*A+8;try{n=new Uint8Array(L)}catch(e){this.observer.emit(X.ERROR,X.ERROR,{type:Q.MUX_ERROR,details:z.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:L,reason:`fail allocating video mdat ${L}`});return}let k=new DataView(n.buffer);k.setUint32(0,L),n.set(s3.types.mdat,4);let R=!1,M=1/0,C=1/0,_=-1/0,w=-1/0;for(let e=0;e<h;e++){let t,i=o[e],r=i.units,a=0;for(let e=0,t=r.length;e<t;e++){let t=r[e],i=t.data,s=t.data.byteLength;k.setUint32(m,s),m+=4,n.set(i,m),m+=s,a+=4+s}if(e<h-1)g=o[e+1].dts-i.dts,t=o[e+1].pts-i.pts;else{let r=this.config,a=e>0?i.dts-o[e-1].dts:T;if(t=e>0?i.pts-o[e-1].pts:T,r.stretchShortVideoTrack&&null!==this.nextAudioTs){let e=Math.floor(r.maxBufferHole*l),t=(s?p+s*l:this.nextAudioTs+c)-i.pts;t>e?((g=t-a)<0?g=a:R=!0,this.log(`It is approximately ${t/90} ms to the next segment; using duration ${g/90} ms for the last video frame.`)):g=a}else g=a}let u=Math.round(i.pts-i.dts);M=Math.min(M,g),_=Math.max(_,g),C=Math.min(C,t),w=Math.max(w,t),d.push(s7(i.key,g,a,u))}if(d.length){if(s6){if(s6<70){let e=d[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(s9&&w-C<_-M&&T/_<.025&&0===d[0].cts){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let e=r;for(let t=0,i=d.length;t<i;t++){let s=e+d[t].duration,r=e+d[t].cts;if(t<i-1){let e=s+d[t+1].cts;d[t].duration=e-r}else d[t].duration=t?d[t-1].duration:T;d[t].cts=0,e=s}}}let D=a+(g=R||!g?T:g);this.nextVideoTs=f=D-c,this.videoSampleDuration=g,this.isVideoContiguous=!0;let x={data1:s3.moof(e.sequenceNumber++,r,el(e,{samples:d})),data2:n,startPTS:(p-c)/l,endPTS:(v+g-c)/l,startDTS:(r-c)/l,endDTS:f/l,type:"video",hasAudio:!1,hasVideo:!0,nb:d.length,dropped:e.dropped};return e.samples=[],e.dropped=0,x}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}}remuxAudio(e,t,i,s,r){let a,n=e.inputTimeScale,l=e.samplerate?e.samplerate:n,o=n/l,d=this.getSamplesPerFrame(e),h=d*o,u=this._initPTS,c="mp3"===e.segmentCodec&&this.typeSupported.mpeg,f=[],m=void 0!==r,g=e.samples,p=8*!c,v=this.nextAudioTs||-1,E=u.baseTime*n/u.timescale,b=E+t*n;if(this.isAudioContiguous=i=i||g.length&&v>0&&(s&&9e3>Math.abs(b-(v+E))||Math.abs(rt(g[0].pts,b)-(v+E))<20*h),g.forEach(function(e){e.pts=rt(e.pts,b)}),!i||v<0){let e=g.length;if(e!==(g=g.filter(e=>e.pts>=0)).length&&this.warn(`Removed ${g.length-e} of ${e} samples (initPTS ${E} / ${n})`),!g.length)return;v=0===r?0:s&&!m?Math.max(0,b-E):g[0].pts-E}if("aac"===e.segmentCodec){let t=this.config.maxAudioFramesDrift;for(let i=0,s=v+E;i<g.length;i++){let r=g[i],a=r.pts,l=a-s,o=Math.abs(1e3*l/n);
49if(l<=-t*h&&m)0===i&&(this.warn(`Audio frame @ ${(a/n).toFixed(3)}s overlaps marker by ${Math.round(1e3*l/n)} ms.`),this.nextAudioTs=v=a-E,s=a);else if(l>=t*h&&o<1e4&&m){let t=Math.round(l/h);for(s=a-t*h;s<0&&t&&h;)t--,s+=h;0===i&&(this.nextAudioTs=v=s-E),this.warn(`Injecting ${t} audio frames @ ${((s-E)/n).toFixed(3)}s due to ${Math.round(1e3*l/n)} ms gap.`);for(let a=0;a<t;a++){let t=s2.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);t||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),t=r.unit.subarray()),g.splice(i,0,{unit:t,pts:s}),s+=h,i++}}r.pts=s,s+=h}}let y=null,T=null,A=0,S=g.length;for(;S--;)A+=g[S].unit.byteLength;for(let t=0,s=g.length;t<s;t++){let s=g[t],r=s.unit,n=s.pts;if(null!==T)f[t-1].duration=Math.round((n-T)/o);else{if(i&&"aac"===e.segmentCodec&&(n=v+E),y=n,!(A>0))return;A+=p;try{a=new Uint8Array(A)}catch(e){this.observer.emit(X.ERROR,X.ERROR,{type:Q.MUX_ERROR,details:z.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:A,reason:`fail allocating audio mdat ${A}`});return}c||(new DataView(a.buffer).setUint32(0,A),a.set(s3.types.mdat,4))}a.set(r,p);let l=r.byteLength;p+=l,f.push(s7(!0,d,l,0)),T=n}let I=f.length;if(!I)return;let L=f[f.length-1];v=T-E,this.nextAudioTs=v+o*L.duration;let k=c?new Uint8Array(0):s3.moof(e.sequenceNumber++,y/o,el({},e,{samples:f}));e.samples=[];let R=(y-E)/n,M=this.nextAudioTs/n,C={data1:k,data2:a,startPTS:R,endPTS:M,startDTS:R,endDTS:M,type:"audio",hasAudio:!0,hasVideo:!1,nb:I};return this.isAudioContiguous=!0,C}}function rt(e,t){let i;if(null===t)return e;for(i=t<e?-0x200000000:0x200000000;Math.abs(e-t)>0x100000000;)e+=i;return e}function ri(e,t,i,s){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let n=0;n<r;n++){let r=e.samples[n];r.pts=rt(r.pts-i.baseTime*a/i.timescale,t*a)/a,r.dts=rt(r.dts-s.baseTime*a/s.timescale,t*a)/a}let n=e.samples;return e.samples=[],{samples:n}}function rs(e,t,i){let s=e.samples.length;if(!s)return;let r=e.inputTimeScale;for(let a=0;a<s;a++){let s=e.samples[a];s.pts=rt(s.pts-i.baseTime*r/i.timescale,t*r)/r}e.samples.sort((e,t)=>e.pts-t.pts);let a=e.samples;return e.samples=[],{samples:a}}function rr(e,t,i=!1){return(null==e?void 0:e.start)!==void 0?(e.start+(i?e.duration:0))/e.timescale:t}function ra(e,t,i){let s=e.codec;return s&&s.length>4?s:t===eI?"ec-3"===s||"ac-3"===s||"alac"===s?s:"fLaC"===s||"Opus"===s?e8(s,!1):(i.warn(`Unhandled audio codec "${s}" in mp4 MAP`),s||"mp4a"):(i.warn(`Unhandled video codec "${s}" in mp4 MAP`),s||"avc1")}try{t=self.performance.now.bind(self.performance)}catch(e){t=Date.now}let rn=[{demux: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,i,s){let r=this.videoTrack=s_("video",1),a=this.audioTrack=s_("audio",1),n=this.txtTrack=s_("text",1);if(this.id3Track=s_("id3",1),this.timeOffset=0,!(null!=e&&e.byteLength))return;let l=eB(e);if(l.video){let{id:e,timescale:t,codec:i,supplemental:s}=l.video;r.id=e,r.timescale=n.timescale=t,r.codec=i,r.supplemental=s}if(l.audio){let{id:e,timescale:t,codec:i}=l.audio;a.id=e,a.timescale=t,a.codec=i}n.id=eD.text,r.sampleDuration=0,r.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){let t=e.byteLength;for(let i=0;i<t;){let s=eO(e,i);if(s>8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=s>1?i+s:t}return!1}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=ej(this.remainderData,e));let t=function(e){let t={valid:null,remainder:null},i=eF(e,["moof"]);if(i.length<2)return t.remainder=e,t;let s=i[i.length-1];return t.valid=e.slice(0,s.byteOffset-8),t.remainder=e.slice(s.byteOffset-8),t}(i);this.remainderData=t.remainder,s.samples=t.valid||new Uint8Array}else s.samples=i;let a=this.extractID3Track(s,t);
49return r.samples=eq(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=eq(e,t),{videoTrack:t,audioTrack:s_(),id3Track:s,textTrack:s_()}}extractID3Track(e,t){let i=this.id3Track;return e.samples.length&&eF(e.samples,["emsg"]).forEach(e=>{let s=function(e){let t=e[0],i="",s="",r=0,a=0,n=0,l=0,o=0,d=0;if(0===t){for(;"\0"!==ex(e.subarray(d,d+1));)i+=ex(e.subarray(d,d+1)),d+=1;for(i+=ex(e.subarray(d,d+1)),d+=1;"\0"!==ex(e.subarray(d,d+1));)s+=ex(e.subarray(d,d+1)),d+=1;s+=ex(e.subarray(d,d+1)),d+=1,r=eO(e,12),a=eO(e,16),l=eO(e,20),o=eO(e,24),d=28}else if(1===t){d+=4,r=eO(e,d);let t=eO(e,d+=4),a=eO(e,d+=4);for(d+=4,q(n=0x100000000*t+a)||(n=Number.MAX_SAFE_INTEGER,eg.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),l=eO(e,d),d+=4,o=eO(e,d),d+=4;"\0"!==ex(e.subarray(d,d+1));)i+=ex(e.subarray(d,d+1)),d+=1;for(i+=ex(e.subarray(d,d+1)),d+=1;"\0"!==ex(e.subarray(d,d+1));)s+=ex(e.subarray(d,d+1)),d+=1;s+=ex(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:s,timeScale:r,presentationTime:n,presentationTimeDelta:a,eventDuration:l,id:o,payload:e.subarray(d,e.byteLength)}}(e);if(sK.test(s.schemeIdUri)){let e=sj(s,t),r=0xffffffff===s.eventDuration?1/0:s.eventDuration/s.timeScale;r<=.001&&(r=1/0);let a=s.payload;i.samples.push({data:a,len:a.byteLength,dts:e,pts:e,type:sC.emsg,duration:r})}else if(this.config.enableEmsgKLVMetadata&&s.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){let e=sj(s,t);i.samples.push({data:s.payload,len:s.payload.byteLength,dts:e,pts:e,type:sC.misbklv,duration:1/0})}}),i}demuxSampleAes(e,t,i){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}},remux:class extends eh{constructor(e,t,i,s){super("passthrough-remuxer",s),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,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,s),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:i,videoCodec:s}=this;if(!(null!=e&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:r,video:a}=this.initData=eB(e);if(t)!function(e,t){if(!e||!t)return;let i=t.keyId;i&&t.isCommonEncryption&&eW(e,(e,t)=>{let s=e.subarray(8,24);s.some(e=>0!==e)||(eg.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${eb(s)} -> ${eb(i)}`),e.set(i,8))})}(e,t);else{let e=r||a;null!=e&&e.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${e.codec}")!`)}r&&(i=ra(r,eI,this)),a&&(s=ra(a,eL,this));let n={};r&&a?n.audiovideo={container:"video/mp4",codec:i+","+s,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:"main"}:r?n.audio={container:"audio/mp4",codec:i,encrypted:r.encrypted,initSegment:e,id:"audio"}:a?n.video={container:"video/mp4",codec:s,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,s,r,a){var n,l;let{initPTS:o,lastEndTime:d}=this,h={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};j(d)||(d=this.lastEndTime=r||0);let u=t.samples;if(!u.length)return h;let c={initPTS:void 0,timescale:void 0,trackId:void 0},f=this.initData;if(null!=(n=f)&&n.length||(this.generateInitSegment(u),f=this.initData),!(null!=(l=f)&&l.length))return this.warn("Failed to generate initSegment."),h;this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);let m=function(e,t,i){let s={},r=eF(e,["moof","traf"]);for(let e=0;e<r.length;e++){let a=r[e],n=eF(a,["tfhd"])[0],l=eO(n,4),o=t[l];if(!o)continue;s[l]||(s[l]={start:NaN,duration:0,sampleCount:0,timescale:o.timescale,type:o.type});let d=s[l],h=eF(a,["tfdt"])[0];if(h){let e=h[0],t=eO(h,4);1===e&&(0xffffffff===t?i.warn("[mp4-demuxer]: Ignoring assumed invali
49d signed 64-bit track fragment decode time"):(t*=0x100000000,t+=eO(h,8))),j(t)&&(!j(d.start)||t<d.start)&&(d.start=t)}let u=o.default,c=eO(n,0)|(null==u?void 0:u.flags),f=(null==u?void 0:u.duration)||0;8&c&&(f=2&c?eO(n,12):eO(n,8));let m=eF(a,["trun"]),g=d.start||0,p=0,v=f;for(let e=0;e<m.length;e++){let t=m[e],i=eO(t,4),s=d.sampleCount;d.sampleCount+=i;let r=1&t[3],a=4&t[3],n=1&t[2],l=2&t[2],o=4&t[2],h=8&t[2],u=8,c=i;for(r&&(u+=4),a&&i&&(1&t[u+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=s),u+=4,n?(v=eO(t,u),u+=4):v=f,l&&(u+=4),h&&(u+=4),g+=v,p+=v,c--);c--;)n?(v=eO(t,u),u+=4):v=f,l&&(u+=4),o&&(1&t[u+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=d.sampleCount-(c+1),d.keyFrameStart=g),u+=4),h&&(u+=4),g+=v,p+=v;!p&&f&&(p+=f*i)}d.duration+=p}if(!Object.keys(s).some(e=>s[e].duration)){let t=1/0,i=0,r=eF(e,["sidx"]);for(let e=0;e<r.length;e++){let s=function(e){let t=[],i=e[0],s=8,r=eO(e,8);s+=4;let a=0,n=0;0===i?(a=eO(e,s),n=eO(e,s+4),s+=8):(a=eU(e,s),n=eU(e,s+8),s+=16),s+=2;let l=e.length+n,o=eP(e,s);s+=2;for(let i=0;i<o;i++){let i=s,a=eO(e,i);i+=4;let n=0x7fffffff&a;if(1==(0x80000000&a)>>>31)return eg.warn("SIDX has hierarchical references (not supported)"),null;let o=eO(e,i);i+=4,t.push({referenceSize:n,subsegmentDuration:o,info:{duration:o/r,start:l,end:l+n-1}}),l+=n,i+=4,s=i}return{earliestPresentationTime:a,timescale:r,version:i,referencesCount:o,references:t}}(r[e]);if(null!=s&&s.references){t=Math.min(t,s.earliestPresentationTime/s.timescale);let e=s.references.reduce((e,t)=>e+t.info.duration||0,0);i=Math.max(i,e+s.earliestPresentationTime/s.timescale)}}i&&j(i)&&Object.keys(s).forEach(e=>{s[e].duration||(s[e].duration=i*s[e].timescale-s[e].start)})}return s}(u,f,this),g=f.audio?m[f.audio.id]:null,p=f.video?m[f.video.id]:null,v=rr(p,1/0),E=rr(g,1/0),b=rr(p,0,!0),y=rr(g,0,!0),T=r,A=0,S=g&&(!p||!o&&E<v||o&&o.trackId===f.audio.id),I=S?g:p;if(I){let e=I.timescale,t=I.start-r*e,i=S?f.audio.id:f.video.id;T=I.start/e,A=S?y-E:b-v,(a||!o)&&(function(e,t,i,s){if(null===e)return!0;let r=Math.max(s,1);return Math.abs(t-e.baseTime/e.timescale-i)>r}(o,T,r,A)||e!==o.timescale)&&(o&&this.warn(`Timestamps at playlist time: ${a?"":"~"}${r} ${t/e} != initPTS: ${o.baseTime/o.timescale} (${o.baseTime}/${o.timescale}) trackId: ${o.trackId}`),this.log(`Found initPTS at playlist time: ${r} offset: ${T-r} (${t}/${e}) trackId: ${i}`),o=null,c.initPTS=t,c.timescale=e,c.trackId=i)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${r}`);o?(c.initPTS=o.baseTime,c.timescale=o.timescale,c.trackId=o.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=T,c.timescale=1,c.trackId=-1),this.initPTS=o={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId});let L=T-o.baseTime/o.timescale,k=L+A;A>0?this.lastEndTime=k:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let R=!!f.audio,M=!!f.video,C="";R&&(C+="audio"),M&&(C+="video");let _={data1:u,startPTS:L,startDTS:L,endPTS:k,endDTS:k,type:C,hasAudio:R,hasVideo:M,nb:1,dropped:0,encrypted:!!f.audio&&f.audio.encrypted||!!f.video&&f.video.encrypted};h.audio=R&&!M?_:void 0,h.video=M?_:void 0;let w=null==p?void 0:p.sampleCount;if(w){let e=p.keyFrameIndex,t=-1!==e;_.nb=w,_.dropped=0===e||this.isVideoContiguous?0:t?e:w,_.independent=t,_.firstKeyFrame=e,t&&p.keyFrameStart&&(_.firstKeyFramePTS=(p.keyFrameStart-o.baseTime)/o.timescale),this.isVideoContiguous||(h.independent=t),this.isVideoContiguous||(this.isVideoContiguous=t),_.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${w} dropped: ${_.dropped} start: ${_.firstKeyFramePTS||"NA"}`)}return h.initSegment=c,h.id3=ri(i,r,o,o),s.samples.length&&(h.text=rs(s,r,o)),h}}},{demux:class e{constructor(e,t,i,s){this.logger=void 0,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._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.typeSupp
49orted=i,this.logger=s,this.videoParser=null}static probe(t,i){let s=e.syncOffset(t);return s>0&&i.warn(`MPEG2-TS detected but first sync word found @ offset ${s}`),-1!==s}static syncOffset(e){let t=e.length,i=Math.min(940,t-188)+1,s=0;for(;s<i;){let r=!1,a=-1,n=0;for(let l=s;l<t;l+=188)if(71===e[l]&&(t-l==188||71===e[l+188])){if(n++,-1===a&&0!==(a=l)&&(i=Math.min(a+18612,e.length-188)+1),r||(r=0===sZ(e,l)),r&&n>1&&(0===a&&n>2||l+188>i))return a}else if(n)return -1;else break;s++}return -1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:eD[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(t,i,s,r){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack("video"),this._videoTrack.duration=r,this._audioTrack=e.createTrack("audio",r),this._id3Track=e.createTrack("id3"),this._txtTrack=e.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=i,this.videoCodec=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(t,i,s=!1,r=!1){let a;s||(this.sampleAes=null);let n=this._videoTrack,l=this._audioTrack,o=this._id3Track,d=this._txtTrack,h=n.pid,u=n.pesData,c=l.pid,f=o.pid,m=l.pesData,g=o.pesData,p=null,v=this.pmtParsed,E=this._pmtId,b=t.length;if(this.remainderData&&(b=(t=ej(this.remainderData,t)).length,this.remainderData=null),b<188&&!r)return this.remainderData=t,{audioTrack:l,videoTrack:n,id3Track:o,textTrack:d};let y=Math.max(0,e.syncOffset(t));(b-=(b-y)%188)<t.byteLength&&!r&&(this.remainderData=new Uint8Array(t.buffer,b,t.buffer.byteLength-b));let T=0;for(let e=y;e<b;e+=188)if(71===t[e]){let i,r=!!(64&t[e+1]),b=sZ(t,e);if((48&t[e+3])>>4>1){if((i=e+5+t[e+4])===e+188)continue}else i=e+4;switch(b){case h:r&&(u&&(a=s1(u,this.logger))&&(this.readyVideoParser(n.segmentCodec),null!==this.videoParser&&this.videoParser.parsePES(n,d,a,!1)),u={data:[],size:0}),u&&(u.data.push(t.subarray(i,e+188)),u.size+=e+188-i);break;case c:if(r){if(m&&(a=s1(m,this.logger)))switch(l.segmentCodec){case"aac":this.parseAACPES(l,a);break;case"mp3":this.parseMPEGPES(l,a);break;case"ac3":this.parseAC3PES(l,a)}m={data:[],size:0}}m&&(m.data.push(t.subarray(i,e+188)),m.size+=e+188-i);break;case f:r&&(g&&(a=s1(g,this.logger))&&this.parseID3PES(o,a),g={data:[],size:0}),g&&(g.data.push(t.subarray(i,e+188)),g.size+=e+188-i);break;case 0:var A,S;r&&(i+=t[i]+1),E=this._pmtId=(31&(A=t)[(S=i)+10])<<8|A[S+11];break;case E:{r&&(i+=t[i]+1);let a=function(e,t,i,s,r,a){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},l=(15&e[t+1])<<8|e[t+2],o=t+3+l-4,d=(15&e[t+10])<<8|e[t+11];for(t+=12+d;t<o;){let l=sZ(e,t),o=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!s){s0("ADTS AAC",a);break}case 15:-1===n.audioPid&&(n.audioPid=l);break;case 21:-1===n.id3Pid&&(n.id3Pid=l);break;case 219:if(!s){s0("H.264",a);break}case 27:-1===n.videoPid&&(n.videoPid=l);break;case 3:case 4:i.mpeg||i.mp3?-1===n.audioPid&&(n.audioPid=l,n.segmentAudioCodec="mp3"):a.log("MPEG audio found, not supported in this browser");break;case 193:if(!s){s0("AC-3",a);break}case 129:i.ac3?-1===n.audioPid&&(n.audioPid=l,n.segmentAudioCodec="ac3"):a.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===n.audioPid&&o>0){let s=t+5,r=o;for(;r>2;){106===e[s]&&(!0!==i.ac3?a.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=l,n.segmentAudioCodec="ac3"));let t=e[s+1]+2;s+=t,r-=t}}break;case 194:case 135:return sJ(r,Error("Unsupported EC-3 in M2TS found"),void 0,a),n;case 36:-1===n.videoPid&&(n.videoPid=l,n.segmentVideoCodec="hevc",a.log("HEVC in M2TS found"))}t+=o+5}return n}(t,i,this.typeSupported,s,this.observer,this.logger);(h=a.videoPid)>0&&(n.pid=h,n.segmentCodec=a.segmentVideoCodec),(c=a.audioPid)>0&&(l.pid=c,l.segmentCodec=a.segmentAudioCodec),(f=a.id3Pid)>0&&(o.pid=f),null===p||v||(this.logger.warn(`MPEG-TS PMT found at ${e} after unknown PID '${p}'. Backtracking to sync byte @${y} to parse all TS packets.`),p=null,e=y-188),v=this.pmtParsed=!0;break}case 17:case 8191:break;default:p=b}}else T++;T>0&&sJ(this.observer,Error(`Found ${T} TS packet/s that do not start with 0x47`),void 0,this.logger),n.pesData=u,l.pesData=m,o.pesData=g;let I={audioTrack:l,videoTrack:n,id3Track:o,textTrack:d};return r&&this.extractRemainingSamples(I),I}flush(){let e,{remainderData:t}=this;
49return(this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes)?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(e){let t,{audioTrack:i,videoTrack:s,id3Track:r,textTrack:a}=e,n=s.pesData,l=i.pesData,o=r.pesData;if(n&&(t=s1(n,this.logger))?(this.readyVideoParser(s.segmentCodec),null!==this.videoParser&&(this.videoParser.parsePES(s,a,t,!0),s.pesData=null)):s.pesData=n,l&&(t=s1(l,this.logger))){switch(i.segmentCodec){case"aac":this.parseAACPES(i,t);break;case"mp3":this.parseMPEGPES(i,t);break;case"ac3":this.parseAC3PES(i,t)}i.pesData=null}else null!=l&&l.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),i.pesData=l;o&&(t=s1(o,this.logger))?(this.parseID3PES(r,t),r.pesData=null):r.pesData=o}demuxSampleAes(e,t,i){let s=this.demux(e,i,!0,!this.config.progressive),r=this.sampleAes=new sq(this.observer,this.config,t);return this.decrypt(s,r)}readyVideoParser(e){null===this.videoParser&&("avc"===e?this.videoParser=new sz:"hevc"===e&&(this.videoParser=new sX))}decrypt(e,t){return new Promise(i=>{let{audioTrack:s,videoTrack:r}=e;s.samples&&"aac"===s.segmentCodec?t.decryptAacSamples(s.samples,0,()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,()=>{i(e)}):i(e)}):r.samples&&t.decryptAvcSamples(r.samples,0,0,()=>{i(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let i,s,r,a,n=0,l=this.aacOverFlow,o=t.data;if(l){this.aacOverFlow=null;let t=l.missing,i=l.sample.unit.byteLength;-1===t?o=ej(l.sample.unit,o):(l.sample.unit.set(o.subarray(0,t),i-t),e.samples.push(l.sample),n=l.missing)}for(i=n,s=o.length;i<s-1&&!sA(o,i);i++);if(i!==n){let e,t=i<s-1;if(e=t?`AAC PES did not start with ADTS header,offset:${i}`:"No ADTS header found in AAC PES",sJ(this.observer,Error(e),t,this.logger),!t)return}if(sS(e,this.observer,o,i,this.audioCodec),void 0!==t.pts)r=t.pts;else{if(!l)return void this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");let t=9216e4/e.samplerate;r=l.sample.pts+t}let d=0;for(;i<s;){if(a=sI(e,o,i,r,d),i+=a.length,a.missing){this.aacOverFlow=a;break}for(d++;i<s-1&&!sA(o,i);i++);}}parseMPEGPES(e,t){let i=t.data,s=i.length,r=0,a=0,n=t.pts;if(void 0===n)return void this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");for(;a<s;)if(sH(i,a)){let t=sF(e,i,a,n,r);if(t)a+=t.length,r++;else break}else a++}parseAC3PES(e,t){{let i,s=t.data,r=t.pts;if(void 0===r)return void this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");let a=s.length,n=0,l=0;for(;l<a&&(i=sW(e,s,l,r,n++))>0;)l+=i}}parseID3PES(e,t){if(void 0===t.pts)return void this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");let i=el({},t,{type:this._videoTrack?sC.emsg:sC.audioId3,duration:1/0});e.samples.push(i)}},remux:re},{demux:class extends sw{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,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,t){if(!e)return!1;let i=sE(e,0),s=(null==i?void 0:i.length)||0;if(sG(e,s))return!1;for(let i=e.length;s<i;s++)if(function(e,t){if(sA(e,t)){let i=sy(e,t);if(t+i>=e.length)return!1;let s=sT(e,t);if(s<=i)return!1;let r=t+s;return r===e.length||sA(e,r)}return!1}(e,s))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return t+5<e.length&&sb(e,t)&&sT(e,t)<=e.length-t}appendFrame(e,t,i){sS(e,this.observer,t,i,e.manifestCodec);let s=sI(e,t,i,this.basePTS,this.frameIndex);if(s&&0===s.missing)return s}},remux:re},{demux:class extends sw{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,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=sE(e,0),i=(null==t?void 0:t.length)||0;
49if(t&&11===e[i]&&119===e[i+1]&&void 0!==sM(t)&&16>=sV(e,i))return!1;for(let t=e.length;i<t;i++)if(sG(e,i))return eg.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return s$(e,t)&&4<=e.length-t}appendFrame(e,t,i){if(null!==this.basePTS)return sF(e,t,i,this.basePTS,this.frameIndex)}},remux:re}];rn.splice(2,0,{demux:class extends sw{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,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,i){let s=sW(e,t,i,this.basePTS,this.frameIndex);if(-1!==s)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=sE(e,0);if(!t)return!1;let i=t.length;return!!(11===e[i]&&119===e[i+1]&&void 0!==sM(t)&&16>sV(e,i))}},remux:re});class rl{constructor(e,t,i,s,r,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=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=i,this.id=r,this.logger=a}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,i,s,r){var a,n;let l,o=s.transmuxing;o.executeStart=t();let d=new Uint8Array(e),{currentTransmuxState:h,transmuxConfig:u}=this;r&&(this.currentTransmuxState=r);let{contiguous:c,discontinuity:f,trackSwitch:m,accurateTimeOffset:g,timeOffset:p,initSegmentChange:v}=r||h,{audioCodec:E,videoCodec:b,defaultInitPts:y,duration:T,initSegmentData:A}=u,S=(a=d,n=i,l=null,a.byteLength>0&&(null==n?void 0:n.key)!=null&&null!==n.iv&&null!=n.method&&(l=n),l);if(S&&ie(S.method)){let e=this.getDecrypter(),i=it(S.method);if(!e.isSync())return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(d,S.key.buffer,S.iv.buffer,i).then(e=>{let t=this.push(e,null,s);return this.decryptionPromise=null,t}),this.decryptionPromise;{let r=e.softwareDecrypt(d,S.key.buffer,S.iv.buffer,i);if(s.part>-1){let t=e.flush();r=t?t.buffer:t}if(!r)return o.executeEnd=t(),ro(s);d=new Uint8Array(r)}}let I=this.needsProbing(f,m);if(I){let e=this.configureTransmuxer(d);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(X.ERROR,X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),o.executeEnd=t(),ro(s)}(f||m||v||I)&&this.resetInitSegment(A,E,b,T,i),(f||v||I)&&this.resetInitialTimestamp(y),c||this.resetContiguity();let L=this.transmux(d,S,p,g,s);this.asyncResult=rd(L);let k=this.currentTransmuxState;return k.contiguous=!0,k.discontinuity=!1,k.trackSwitch=!1,o.executeEnd=t(),L}flush(e){let i=e.transmuxing;i.executeStart=t();let{decrypter:s,currentTransmuxState:r,decryptionPromise:a}=this;if(a)return this.asyncResult=!0,a.then(()=>this.flush(e));let n=[],{timeOffset:l}=r;if(s){let t=s.flush();t&&n.push(this.push(t.buffer,null,e))}let{demuxer:o,remuxer:d}=this;if(!o||!d){i.executeEnd=t();let s=[ro(e)];return this.asyncResult?Promise.resolve(s):s}let h=o.flush(l);return rd(h)?(this.asyncResult=!0,h.then(t=>(this.flushRemux(n,t,e),n))):(this.flushRemux(n,h,e),this.asyncResult)?Promise.resolve(n):n}flushRemux(e,i,s){let{audioTrack:r,videoTrack:a,id3Track:n,textTrack:l}=i,{accurateTimeOffset:o,timeOffset:d}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${s.sn}${s.part>-1?" part: "+s.part:""} of ${this.id===ei?"level":"track"} ${s.level}`);let h=this.remuxer.remux(r,a,n,l,d,o,!0,this.id);e.push({remuxResult:h,chunkMeta:s}),s.transmuxing.executeEnd=t()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;t&&i&&(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,r){let{demuxer:a,remuxer:n}=this;a&&n&&(a.resetInitSegment(e,t,i,s),n.resetInitSegment(e,t,i,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,r){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,s,r):this.transmuxUnencrypted(e,i,s,r)}transmuxUnencrypted(e,t,i,s){let{audioTrack:r,videoTrack:a,id3Track:n,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,a,n,l,t,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,r){return this.demuxer.demuxSampleAes(e,t,i).then(e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,s,!1,this.id),chunkMeta:r}))}
49configureTransmuxer(e){let t,{config:i,observer:s,typeSupported:r}=this;for(let i=0,s=rn.length;i<s;i++){var a;if(null!=(a=rn[i].demux)&&a.probe(e,this.logger)){t=rn[i];break}}if(!t)return Error("Failed to find demuxer by probing fragment data");let n=this.demuxer,l=this.remuxer,o=t.remux,d=t.demux;l&&l instanceof o||(this.remuxer=new o(s,i,r,this.logger)),n&&n instanceof d||(this.demuxer=new d(s,i,r,this.logger),this.probe=d.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new tW(this.config)),e}}let ro=e=>({remuxResult:{},chunkMeta:e});function rd(e){return"then"in e&&e.then instanceof Function}class rh{constructor(e,t,i,s,r){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=i,this.duration=s,this.defaultInitPts=r||null}}class ru{constructor(e,t,i,s,r,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=i,this.trackSwitch=s,this.timeOffset=r,this.initSegmentChange=a}}let rc=0;class rf{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=rc++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{let t=e.data,i=this.hls;if(i&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":{var s;let e=null==(s=this.workerContext)?void 0:s.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":i.logger[t.data.logType]&&i.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,i.trigger(t.event,t.data)}},this.onWorkerError=e=>{if(!this.hls)return;let t=Error(`${e.message} (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:t})};const r=e.config;this.hls=e,this.id=t,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;const a=(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===X.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)};this.observer=new sc,this.observer.on(X.FRAG_DECRYPTED,a),this.observer.on(X.ERROR,a);const n=e7(r.preferManagedMediaSource);if(this.useWorker&&"u">typeof Worker){const i=this.hls.logger;if(r.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{r.workerPath?(i.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=function(e){let t=sm[e];if(t)return t.clientCount++,t;let i=new self.URL(e,self.location.href).href,s={worker:new self.Worker(i),scriptURL:i,clientCount:1};return sm[e]=s,s}(r.workerPath)):(i.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){let e=sm[sf];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),i=self.URL.createObjectURL(t),s={worker:new self.Worker(i),objectURL:i,clientCount:1};return sm[sf]=s,s}());const{worker:e}=this.workerContext;e.addEventListener("message",this.onWorkerMessage),e.addEventListener("error",this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:n,id:t,config:tc(r)})}catch(s){i.warn(`Error setting up "${t}" Web Worker, fallback to inline`,s),this.terminateWorker(),this.error=null,this.transmuxer=new rl(this.observer,n,r,"",t,e.logger)}return}}this.transmuxer=new rl(this.observer,n,r,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=rc++;let t=this.hls.config,i=e7(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupp
49orted:i,id:this.id,config:tc(t)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),function(e){let t=sm[e||sf];if(t&&1==t.clientCount--){let{worker:i,objectURL:s}=t;delete sm[e||sf],s&&self.URL.revokeObjectURL(s),i.terminate()}}(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,s,r,a,n,l,o,d){var h,u;o.transmuxing.start=self.performance.now();let{instanceNo:c,transmuxer:f}=this,m=a?a.start:r.start,g=r.decryptdata,p=this.frag,v=!(p&&r.cc===p.cc),E=!(p&&o.level===p.level),b=p?o.sn-p.sn:-1,y=this.part?o.part-this.part.index:-1,T=0===b&&o.id>1&&o.id===(null==p?void 0:p.stats.chunkCount),A=!E&&(1===b||0===b&&(1===y||T&&y<=0)),S=self.performance.now();(E||b||0===r.stats.parsing.start)&&(r.stats.parsing.start=S),a&&(y||!A)&&(a.stats.parsing.start=S);let I=!(p&&(null==(h=r.initSegment)?void 0:h.url)===(null==(u=p.initSegment)?void 0:u.url)),L=new ru(v,A,l,E,m,I);if(!A||v||I){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${r.type} sn: ${o.sn}${o.part>-1?" part: "+o.part:""} ${this.id===ei?"level":"track"}: ${o.level} id: ${o.id} 50 discontinuity: ${v} 51 trackSwitch: ${E} 52 contiguous: ${A} 53 accurateTimeOffset: ${l} 54 timeOffset: ${m} 55 initSegmentChange: ${I}`);let e=new rh(i,s,t,n,d);this.configureTransmuxer(e)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:c,cmd:"demux",data:e,decryptdata:g,chunkMeta:o,state:L},e instanceof ArrayBuffer?[e]:[]);else if(f){let t=f.push(e,g,o,L);rd(t)?t.then(e=>{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,o,"transmuxer-interface push error")}):this.handleTransmuxComplete(t)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){let t=i.flush(e);rd(t)?t.then(t=>{this.handleFlushResult(t,e)}).catch(t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}):this.handleFlushResult(t,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){let{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class rm extends eh{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){let s=null==t?void 0:t.renditionReports;if(s){let r=-1;for(let i=0;i<s.length;i++){let a,n=s[i];try{a=new self.URL(n.URI,t.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),a=n.URI||""}if(a===e){r=i;break}a===e.substring(0,a.length)&&(r=i)}if(-1!==r){let e=s[r],a=parseInt(e["LAST-MSN"])||t.lastPartSn,n=parseInt(e["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let e=Math.min(t.age-t.partTarget,t.targetduration);n>=0&&e>t.partTarget&&(n+=1)}return new td(a,n>=0?n:void 0,i&&to(i))}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(e,t,i){let{details:s,stats:r}=t,a=self.performance.now(),n=r.loading.first?Math.max(0,a-r.loading.first):0;s.advancedDateTime=Date.now()-n;let l=this.hls.config.timelineOffset;
55if(l!==s.appliedTimelineOffset){let e=Math.max(l||0,0);s.appliedTimelineOffset=e,s.fragments.forEach(t=>{t.setStart(t.playlistOffset+e)})}if(s.live||null!=i&&i.live){let l,d,h,u="levelInfo"in t?t.levelInfo:t.track;if(s.reloaded(i),i&&s.fragments.length>0){!function(e,t,i){let s;if(e===t)return;let r=null,a=e.fragments;for(let e=a.length-1;e>=0;e--){let t=a[e].initSegment;if(t){r=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS,function(e,t,i){let s=t.skippedSegments,r=Math.max(e.startSN,t.startSN)-t.startSN,a=+!!e.fragmentHint+(s?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,n=t.startSN-e.startSN,l=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let u=r;u<=a;u++){let r=o[n+u],a=l[u];if(s&&!a&&r&&(a=t.fragments[u]=r),r&&a){var d,h;i(r,a,u,l);let s=r.relurl,n=a.relurl;if(s&&(d=s)!==(h=n)&&h&&iX(d)!==iX(h)){t.playlistParsingError=iV(`media sequence mismatch ${a.sn}:`,e,t,r,a);return}if(r.cc!==a.cc){t.playlistParsingError=iV(`discontinuity sequence mismatch (${r.cc}!=${a.cc})`,e,t,r,a);return}}}}(e,t,(e,i,a,n)=>{if((!t.startCC||t.skippedSegments)&&i.cc!==e.cc){let s=e.cc-i.cc;for(let e=a;e<n.length;e++)n[e].cc+=s;t.endCC=n[n.length-1].cc}j(e.startPTS)&&j(e.endPTS)&&(i.setStart(i.startPTS=e.startPTS),i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.setDuration(e.endPTS-e.startPTS),i.duration&&(s=i),t.PTSKnown=t.alignedSliding=!0),e.hasStream
55s&&(i.elementaryStreams=e.elementaryStreams),i.loader=e.loader,e.hasStats&&(i.stats=e.stats),e.initSegment&&(i.initSegment=e.initSegment,r=e.initSegment)});let n=t.fragments,l=t.fragmentHint?n.concat(t.fragmentHint):n;if(r&&l.forEach(e=>{var t;e&&(!e.initSegment||e.initSegment.relurl===(null==(t=r)?void 0:t.relurl))&&(e.initSegment=r)}),t.skippedSegments){if(t.deltaUpdateFailed=n.some(e=>!e),t.deltaUpdateFailed){i.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)n.shift();t.startSN=n[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){let{dateRanges:s,recentlyRemovedDateranges:r}=t,a=el({},e);r&&r.forEach(e=>{delete a[e]});let n=Object.keys(a).length;return n?(Object.keys(s).forEach(e=>{let t=a[e],r=new t8(s[e].attr,t);r.isValid?(a[e]=r,t||(r.tagOrder+=n)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${tc(s[e].attr)}"`)}),a):s}(e.dateRanges,t,i));let s=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let e=1;e<l.length;e++)null===l[e].programDateTime&&iU(l[e],l[e-1],s);iw(s,t)}t.endCC=n[n.length-1].cc}if(!t.startCC){var o;let i=iq(e,t.startSN-1);t.startCC=null!=(o=null==i?void 0:i.cc)?o:n[0].cc}(function(e,t,i){if(e&&t){let s=0;for(let r=0,a=e.length;r<=a;r++){let a=e[r],n=t[r+s];a&&n&&a.index===n.index&&a.fragment.sn===n.fragment.sn?i(a,n):s--}}})(e.partList,t.partList,(e,t)=>{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),s?iG(t,s,s.startPTS,s.endPTS,s.startDTS,s.endDTS,i):iW(e,t),n.length&&(t.totalduration=t.edge-n[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let d=t.advancedDateTime;if(t.advanced&&d){let e=t.edge;t.driftStart||(t.driftStartTime=d,t.driftStart=e),t.driftEndTime=d,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;-1===t.requestScheduled&&(t.requestScheduled=e.requestScheduled)}(i,s,this);let e=s.playlistParsingError;if(e){this.warn(e);let i=this.hls;if(!i.config.ignorePlaylistParsingErrors){var o;let{networkDetails:a}=t;i.trigger(X.ERROR,{type:Q.NETWORK_ERROR,details:z.LEVEL_PARSING_ERROR,fatal:!1,url:s.url,error:e,reason:e.message,level:t.level||void 0,parent:null==(o=s.fragments[0])?void 0:o.type,networkDetails:a,stats:r});return}s.playlistParsingError=null}}-1===s.requestScheduled&&(s.requestScheduled=r.loading.start);let c=this.hls.mainForwardBufferInfo,f=c?c.end-c.len:0,m=(s.edge-f)*1e3,g=ij(s,m);if(s.requestScheduled+g<a?s.requestScheduled=a:s.requestScheduled+=g,this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),!this.canLoad||!s.live)return;if(s.canBlockReload&&s.endSN&&s.advanced){let e=this.hls.config.lowLatencyMode,r=s.lastPartSn,n=s.endSN,o=s.lastPartIndex,c=r===n;-1!==o?c?(d=n+1,h=e?0:o):(d=r,h=e?o+1:s.maxPartIndex):d=n+1;let f=s.age,m=f+s.ageHeader,g=Math.min(m-s.partTarget,1.5*s.targetduration);if(g>0){if(m>3*s.targetduration)this.log(`Playlist last advanced ${f.toFixed(2)}s ago. Omitting segment and part directives.`),d=void 0,h=void 0;else if(null!=i&&i.tuneInGoal&&m-s.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${g} with playlist age: ${s.age}`),g=0;else{let e=Math.floor(g/s.targetduration);d+=e,void 0!==h&&(h+=Math.round(g%s.targetduration/s.partTarget)),this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${f.toFixed(2)}s goal: ${g} skip sn ${e} to part ${h}`)}s.tuneInGoal=g}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,h),e||!c){s.requestScheduled=a,this.loadingPlaylist(u,l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,h));l&&void 0!==d&&s.canBlockReload&&(s.requestScheduled=r.loading.first+Math.max(g-2*n,g/2)),this.scheduleLoading(u,l,s)}else this.clearTimer()}scheduleLoading(e,t,i){let s=i||e.details;if(!s)return void this.loadingPlaylist(e,t);let r=self.performance.now(),a=s.requestScheduled;if(r>=a)return void this.loadingPlaylist(e,t);let n=a-r;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(n)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),n)}getDeliveryDirectives(e,t,i,s){let r=to(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,r=""),new td(i,s,r)}checkRetry(e){let t=e.details,i=tL(e),s=e.errorAction,{action:r,retryCount:a=0,retryConfig:n}=s||{},l=!!s&&!!n&&(5===r||!s.resolved&&2===r);if(l){var o;if(a>=n.maxNumRetry)return!1;if(i&&null!=(o=e.context)&&o.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${n.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let e=tC(n,a);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),e),this.warn(`Retrying playlist loading ${a+1}/${n.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,s.resolved=!0}return l}}function rg(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!rp(e[i].attrs,t[i].attrs))return!1;return!0}function rp(e,t,i){let s=e["STABLE-RENDITION-ID"];return s&&!i?s===t["STABLE-RENDITION-ID"]:!(i||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>e[i]!==t[i])}function rv(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class rE{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,i){if(null===this.queues||null===this.tracks)return;let s=this.queues[t];s.push(e),1!==s.length||i||this.executeNext(t)}appendBlocker(e){return new Promise(t=>{this.append({label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}},e)})}prependBlocker(e){return new Promise(t=>{this.queues&&this.queues[e].unshift({label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEac
55h(e=>{var t;let i=null==(t=e[0])?void 0:t.label;("async-blocker"===i||"async-blocker-prepend"===i)&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null===this.queues||this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(null===this.queues||null===this.tracks)return;let t=this.queues[e];if(t.length){let s=t[0];try{s.execute()}catch(r){var i;if(s.onError(r),null===this.queues||null===this.tracks)return;let t=null==(i=this.tracks[e])?void 0:i.buffer;null!=t&&t.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){let{queues:e,tracks:t}=this;return null===e||null===t?"<destroyed>":` 56${this.list("video")} 57${this.list("audio")} 58${this.list("audiovideo")}}`}list(e){var t,i;return null!=(t=this.queues)&&t[e]||null!=(i=this.tracks)&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;let i=null==(t=this.tracks)?void 0:t[e],s=null==i?void 0:i.buffer;return s?`SourceBuffer${s.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let rb=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,ry="HlsJsTrackRemovedError";class rT extends Error{constructor(e){super(e),this.name=ry}}function rA(e){let t=e.querySelectorAll("source");[].slice.call(t).forEach(t=>{e.removeChild(t)})}function rS(e){return+("audio"===e)}class rI{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=1/0,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(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.BUFFER_CODECS,this.onBufferCodecs,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.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 i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&j(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}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,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelEnabled&&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 i=t.filter((t,i)=>this.isLevelAllowed(t)&&i<=e);return this.clientRect=null,rI.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=1/0,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,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 i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.
58width||0,t.height=i.bottom-i.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(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height)}static getMaxLevelByMediaSize(e,t,i){if(!(null!=e&&e.length))return -1;let s=(e,t)=>!t||e.width!==t.width||e.height!==t.height,r=e.length-1,a=Math.max(t,i);for(let t=0;t<e.length;t+=1){let i=e[t];if((i.width>=a||i.height>=a)&&s(i,e[t+1])){r=t;break}}return r}}class rL{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof rL?e:new rL(e))),this.value=e,this.params=t}}function rk(e,t,i){return Error(`failed to serialize "${Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as ${t}`,{cause:i})}class rR{constructor(e){this.description=e}}let rM="Bare Item";function rC(e){if(e<-0x38d7ea4c67fff||0x38d7ea4c67fff<e)throw rk(e,"Integer");return e.toString()}let r_=/[\x00-\x1f\x7f]+/;function rw(e){let t=e.description||e.toString().slice(7,-1);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw rk(t,"Token");return t}function rD(e){switch(typeof e){case"number":if(!j(e))throw rk(e,rM);if(Number.isInteger(e))return rC(e);let t=function e(t,i){if(t<0)return-e(-t,i);let s=Math.pow(10,i);if(!(Math.abs(t*s%1-.5)<Number.EPSILON))return Math.round(t*s)/s;{let e=Math.floor(t*s);return(e%2==0?e:e+1)/s}}(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw rk(e,"Decimal");let i=t.toString();return i.includes(".")?i:`${i}.0`;case"string":if(r_.test(e))throw rk(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;case"symbol":return rw(e);case"boolean":if("boolean"!=typeof e)throw rk(e,"Boolean");return e?"?1":"?0";case"object":if(e instanceof Date)return`@${rC(e.getTime()/1e3)}`;if(e instanceof Uint8Array){if(!1===ArrayBuffer.isView(e))throw rk(e,"Byte Sequence");return`:${btoa(String.fromCharCode(...e))}:`}if(e instanceof rR)return rw(e);default:throw rk(e,rM)}}function rx(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw rk(e,"Key");return e}function rP(e){return null==e?"":Object.entries(e).map(([e,t])=>!0===t?`;${rx(e)}`:`;${rx(e)}=${rD(t)}`).join("")}function rO(e){return e instanceof rL?`${rD(e.value)}${rP(e.params)}`:rD(e)}function rU(e,t){return function(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw rk(e,"Dict");let i=e instanceof Map?e.entries():Object.entries(e),s=(null==t?void 0:t.whitespace)?" ":"";return Array.from(i).map(([e,t])=>{t instanceof rL==!1&&(t=new rL(t));let i=rx(e);if(!0===t.value)i+=rP(t.params);else if(i+="=",Array.isArray(t.value)){var s;i+=(s=t,`(${s.value.map(rO).join(" ")})${rP(s.params)}`)}else i+=rO(t);return i}).join(`,${s}`)}(e,t)}let rN="CMCD-Object",rF="CMCD-Request",rB="CMCD-Session",r$="CMCD-Status",rH={br:rN,ab:rN,d:rN,ot:rN,tb:rN,tpb:rN,lb:rN,tab:rN,lab:rN,url:rN,pb:rF,bl:rF,tbl:rF,dl:rF,ltc:rF,mtp:rF,nor:rF,nrr:rF,rc:rF,sn:rF,sta:rF,su:rF,ttfb:rF,ttfbb:rF,ttlb:rF,cmsdd:rF,cmsds:rF,smrt:rF,df:rF,cs:rF,ts:rF,cid:rB,pr:rB,sf:rB,sid:rB,st:rB,v:rB,msd:rB,bs:r$,bsd:r$,cdn:r$,rtp:r$,bg:r$,pt:r$,ec:r$,e:r$},rG="event",rV=e=>Math.round(e),rW=(e,t)=>Array.isArray(e)?e.map(e=>rW(e,t)):e instanceof rL&&"string"==typeof e.value?new rL(rW(e.value,t),e.params):(t.baseUrl&&(e=function(e,t){let i=new URL(e),s=new URL(t);if(i.origin!==s.origin)return e;let r=i.pathname.split("/").slice(1),a=s.pathname.split("/").slice(1,-1);for(;r[0]===a[0];)r.shift(),a.shift();for(;a.length;)a.shift(),r.unshift("..");return r.join("/")+i.search+i.hash}(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e),rK=e=>100*rV(e/100),rj={br:rV,d:rV,bl:rK,dl:rK,mtp:rK,nor:(e,t)=>{let i=e;return t.version>=2&&(e instanceof rL&&"string"==typeof e.value?i=new rL([e]):"string"==typeof e&&(i=[e])),rW(i,t)},rtp:rK,tb:rV}
58,rq="request",rY="response",rQ=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],rz=["e"],rX=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function rZ(e){return rX.test(e)}let rJ=["d","dl","nor","ot","rtp","su"],r0=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],r1=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function r2(e){return r1.includes(e)||rZ(e)}let r3={[rY]:function(e){return rQ.includes(e)||rJ.includes(e)||r0.includes(e)||rZ(e)},[rG]:function(e){return rQ.includes(e)||rz.includes(e)||rZ(e)},[rq]:function(e){return rQ.includes(e)||rJ.includes(e)||rZ(e)}};function r4(e,t={}){let i={};if(null==e||"object"!=typeof e)return i;let s=t.version||e.v||1,r=t.reportingMode||rq,a=1===s?r2:r3[r],n=Object.keys(e).filter(a),l=t.filter;"function"==typeof l&&(n=n.filter(l));let o=r===rY||r===rG;o&&!n.includes("ts")&&n.push("ts"),s>1&&!n.includes("v")&&n.push("v");let d=el({},rj,t.formatters),h={version:s,reportingMode:r,baseUrl:t.baseUrl};return n.sort().forEach(t=>{var r;let a=e[t],n=d[t];if("function"==typeof n&&(a=n(a,h)),"v"===t)if(1===s)return;else a=s;("pr"!=t||1!==a)&&(o&&"ts"===t&&!j(a)&&(a=Date.now()),("number"==typeof(r=a)?j(r):null!=r&&""!==r&&!1!==r)&&(["ot","sf","st","e","sta"].includes(t)&&"string"==typeof a&&(a=new rR(a)),i[t]=a))}),i}let r5=/CMCD=[^&#]+/;function r8(e,t,i,s){e&&Object.keys(t).forEach(r=>{let a=e.filter(e=>e.groupId===r).map(e=>{let a=el({},e);return a.details=void 0,a.attrs=new t5(a.attrs),a.url=a.attrs.URI=r6(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),a.groupId=a.attrs["GROUP-ID"]=t[r],a.attrs["PATHWAY-ID"]=s,a});e.push(...a)})}function r6(e,t,i,s){let r,{HOST:a,PARAMS:n,[i]:l}=s;t&&(r=null==l?void 0:l[t])&&(e=r);let o=new self.URL(e);return a&&!r&&(o.host=a),n&&Object.keys(n).sort().forEach(e=>{e&&o.searchParams.set(e,n[e])}),o.href}class r9 extends eh{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=r9.CDMCleanupPromise?[r9.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=e=>{let{initDataType:t,initData:i}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),null!==i){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=ib(this.config));let t=e.map(iE).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(r=>{let a,n=iv(r);if("sinf"!==t||n!==id)return void this.log(`Ignoring "${e.type}" event with init data type: "${t}" for selected key-system ${n}`);try{let e=ex(new Uint8Array(i)),t=ii(JSON.parse(e).sinf),s=eK(t);if(!s)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");a=new Uint8Array(s.subarray(8,24))}catch(e){this.warn(`${s} Failed to parse sinf: ${e}`);return}let l=eb(a),{keyIdToKeySessionPromise:o,mediaKeySessions:d}=this,h=o[l];for(let e=0;e<d.length;e++){let s=d[e],r=s.decryptdata;if(!r.keyId)continue;let n=eb(r.keyId);if(t9(a,r.keyId)||-1!==r.uri.replace(/-/g,"").indexOf(l)){if(!(h=o[n]))continue;if(r.pssh)break;delete o[n],r.pssh=new Uint8Array(i),r.keyId=a,(h=o[l]=h.then(()=>this.generateRequestWithPreferredKeySession(s,t,i,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}h||this.handleError(Error(`Key ID ${l} not encountered in playlist. Key-system sessions ${d.length}.`))}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}
58registerListeners(){this.hls.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(X.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(X.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,s=null==t?void 0:t[e];return s?s.licenseUrl:e===iu&&i?i:void 0}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(void 0===t)throw Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=null==t?void 0:t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,s=t.map(e=>e.audioCodec).filter(i),r=t.map(e=>e.videoCodec).filter(i);return s.length+r.length===0&&r.push("avc1.42e01e"),new Promise((t,i)=>{let a=e=>{let n=e.shift();this.getMediaKeysPromise(n,s,r).then(e=>t({keySystem:n,mediaKeys:e})).catch(t=>{e.length?a(e):t instanceof ae?i(t):i(new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})};a(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===iy&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){var s;let r=function(e,t,i,s){var r,a,n,l;let o;switch(e){case id:o=["cenc","sinf"];break;case iu:case ih:o=["cenc"];break;case io:o=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return r=o,a=t,n=i,[{initDataTypes:r,persistentState:(l=s).persistentState||"optional",distinctiveIdentifier:l.distinctiveIdentifier||"optional",sessionTypes:l.sessionTypes||[l.sessionType||"temporary"],audioCapabilities:a.map(e=>({contentType:`audio/mp4; codecs=${e}`,robustness:l.audioRobustness||"",encryptionScheme:l.audioEncryptionScheme||null})),videoCapabilities:n.map(e=>({contentType:`video/mp4; codecs=${e}`,robustness:l.videoRobustness||"",encryptionScheme:l.videoEncryptionScheme||null}))}]}(e,t,i,this.config.drmSystemOptions||{}),a=this.keySystemAccessPromises[e],n=null==(s=a)?void 0:s.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${e}" key-system access with config: ${tc(r)}`),n=this.requestMediaKeySystemAccess(e,r);let t=a=this.keySystemAccessPromises[e]={keySystemAccess:n};return n.catch(t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)}),n.then(i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);let s=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let r=t.mediaKeys=i.createMediaKeys().then(i=>(this.log(`Media-keys created for "${e}"`),t.hasMediaKeys=!0,s.then(t=>t?this.setMediaKeysServerCertificate(i,e,t):i)));return r.catch(t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)}),r})}return n.then(()=>a.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${eb(e.keyId||[])} keyUri: ${e.uri}`);let s=i.createSession(),r={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),s=r7(t);this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,"cenc",t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${eb(e.decryptdata.keyId||[])} 59 } (data length: ${t.byteLength})`),i.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>iE(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((t,i)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{let s=iE(e);s?t(s):i(Error(`Unable to find format for key-system "${e}"`))}).catch(i)})}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){let t=ib(this.config),i=e.map(iv).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(i)}getKeyStatus(e){let{mediaKeySessions:t}=this;for(let r=0;r<t.length;r++){var i,s;let a=(i=e,s=t[r],i.keyId&&s.mediaKeysSession.keyStatuses.has(i.keyId)?s.mediaKeysSession.keyStatuses.get(i.keyId):i.matches(s.decryptdata)?s.keyStatus:void 0);if(a)return a}}loadKey(e){let t=e.keyInfo.decryptdata,i=r7(t),s=this.bannedKeyIds[i];if(s||"internal-error"===this.getKeyStatus(t)){let i=at(s||"internal-error",t);return this.handleError(i,e.frag),Promise.reject(i)}let r=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${r}`);let a=this.keyIdToKeySessionPromise[i];if(!a){let s=this.getKeySystemForKeyPromise(t).then(({keySystem:i,mediaKeys:s})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${r}`),this.attemptSetMediaKeys(i,s).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:i,mediaKeys:s,decryptdata:t}))))).then(e=>{let i=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",i,"playlist-key")});return s.catch(t=>this.handleError(t,e.frag)),this.keyIdToKeySessionPromise[i]=s,s}return a.catch(i=>{if(i instanceof ae){let s=ed({},i.data);"internal-error"===this.getKeyStatus(t)&&(s.decryptdata=t);let r=new ae(s,i.message);this.handleError(r,e.frag)}}),a}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof ae){t&&(e.data.frag=t);let i=e.data.decryptdata;this.error(`${e.message}${i?` (${eb(i.keyId||[])})`:""}`),this.hls.trigger(X.ERROR,e.data)}else this.error(e.message),this.hls.trigger(X.ERROR,{type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}
59getKeySystemForKeyPromise(e){let t=r7(e),i=this.keyIdToKeySessionPromise[t];if(!i){let t=iv(e.keyFormat),i=t?[t]:ib(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=ib(this.config)),0===e.length)throw new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${tc({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).then(()=>this.media?this.media.setMediaKeys(t):new Promise((e,i)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return i(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=t,this.media.setMediaKeys(t).then(e).catch(i)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===i.indexOf(e))})}generateRequestWithPreferredKeySession(e,t,i,s){var r;let a=null==(r=this.config.drmSystems)||null==(r=r[e.keySystem])?void 0:r.generateRequest;if(a)try{let s=a.call(this.hls,t,i,e);if(!s)throw Error("Invalid response from configured generateRequest filter");t=s.initDataType,i=s.initData?s.initData:null,e.decryptdata.pssh=i?new Uint8Array(i):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let n=r7(e.decryptdata),l=e.decryptdata.uri;this.log(`Generating key-session request for "${s}" keyId: ${n} URI: ${l} (init data type: ${t} length: ${i.byteLength})`);let o=new sc,d=e._onmessage=t=>{let i=e.mediaKeysSession;if(!i)return void o.emit("error",Error("invalid state"));let{messageType:s,message:r}=t;this.log(`"${s}" message event for session "${i.sessionId}" message size: ${r.byteLength}`),"license-request"===s||"license-renewal"===s?this.renewLicense(e,r).catch(e=>
59{o.eventNames().length?o.emit("error",e):this.handleError(e)}):"license-release"===s?e.keySystem===id&&this.updateKeySession(e,is("acknowledged")).then(()=>this.removeSession(e)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${s}"`)},h=(e,t)=>{let i;t.keyStatus=e,e.startsWith("usable")?o.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?i=at(e,t.decryptdata):"expired"===e?i=Error(`key expired (keyId: ${n})`):"released"===e?i=Error("key released"):"status-pending"===e||this.warn(`unhandled key status change "${e}" (keyId: ${n})`),i&&(o.eventNames().length?o.emit("error",i):this.handleError(i))},u=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void o.emit("error",Error("invalid state"));let i=this.getKeyStatuses(e);if(!Object.keys(i).some(e=>"status-pending"!==i[e]))return;if("expired"===i[n]){this.log(`Expired key ${tc(i)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let s=i[n];if(s)h(s,e);else{var r;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(r=e.keyStatusTimeouts)[n]||(r[n]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;let t=this.getKeyStatus(e.decryptdata);if(t&&"status-pending"!==t)return this.log(`No status for keyId ${n} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${t} from other session.`),h(t,e);this.log(`key status for ${n} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),h(s="internal-error",e)},1e3)),this.log(`No status for keyId ${n} (${tc(i)}).`)}};i3(e.mediaKeysSession,"message",d),i3(e.mediaKeysSession,"keystatuseschange",u);let c=new Promise((e,t)=>{o.on("error",t),o.on("resolved",e)});return e.mediaKeysSession.generateRequest(t,i).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${n} URI: ${l}`)}).catch(t=>{throw new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_NO_SESSION,error:t,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${t}`)}).then(()=>c).catch(t=>(o.removeAllListeners(),this.removeSession(e).then(()=>{throw t}))).then(()=>(o.removeAllListeners(),e))}getKeyStatuses(e){let t={};return e.mediaKeysSession.keyStatuses.forEach((i,s)=>{if("string"==typeof s&&"object"==typeof i){let e=s;s=i,i=e}let r="buffer"in s?new Uint8Array(s.buffer,s.byteOffset,s.byteLength):new Uint8Array(s);e.keySystem===ih&&16===r.length&&(t[eb(r)]=i,ir(r));let a=eb(r);"internal-error"===i&&(this.bannedKeyIds[a]=i),this.log(`key status change "${i}" for keyStatuses keyId: ${a} key-session "${e.mediaKeysSession.sessionId}"`),t[a]=i}),t}fetchServerCertificate(e){let t=this.config,i=new t.loader(t),s=this.getServerCertificateUrl(e);return s?(this.log(`Fetching server certificate for "${e}"`),new Promise((r,a)=>{let n={responseType:"arraybuffer",url:s},l=t.certLoadPolicy.default,o={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};i.load(n,o,{onSuccess:(e,t,i,s)=>{r(e.data)},onError:(t,i,r,l)=>{a(new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:ed({url:n.url,data:void 0},t)},`"${e}" certificate request failed (${s}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,r)=>{a(new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:n.url,data:void 0}},`"${e}" certificate request timed out (${s})`))},onAbort:(e,t,i)=>{a(Error("aborted"))}})})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((s,r)=>{e.setServerCertificate(i).then(r=>{this.log(`setServerCertificate ${r?"success":"not supported by CDM"} (${i.byteLength}) on "${t}"`),s(e)}).catch(e=>{r(new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(t=>this.updateKeySession(e,new Uint8Array(t)).catch(t=>{throw new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:t,fatal:!1},t.message)}))}unpackPlayReadyKeyMessage(e,t){let i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(i,"application/xml"),r=s.querySelectorAll("HttpHeader");if(r.length>0){let t;for(let i=0,s=r.length;i<s;i++){var a,n;let s=null==(a=(t=r[i]).querySelector("name"))?void 0:a.textContent,l=null==(n=t.querySelector("value"))?void 0:n.textContent;s&&l&&e.setRequestHeader(s,l)}}let l=s.querySelector("Challenge"),o=null==l?void 0:l.textContent;
59if(!o)throw Error("Cannot find <Challenge> in key message");return is(atob(o))}setupLicenseXHR(e,t,i,s){let r=this.config.licenseXhrSetup;return r?Promise.resolve().then(()=>{if(!i.decryptdata)throw Error("Key removed");return r.call(this.hls,e,t,i,s)}).catch(a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),r.call(this.hls,e,t,i,s)}).then(i=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:i||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((s,r)=>{let a=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${a}`);let n=new XMLHttpRequest;n.responseType="arraybuffer",n.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(Error("invalid state"));if(4===n.readyState)if(200===n.status){this._requestLicenseFailureCount=0;let t=n.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);let i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,n,a,e)}catch(e){this.error(e)}s(t)}else{let l=i.errorRetry,o=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>o||n.status>=400&&n.status<500)r(new ae({type:Q.KEY_SYSTEM_ERROR,details:z.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:n,response:{url:a,data:void 0,code:n.status,text:n.statusText}},`License Request XHR failed (${a}). Status: ${n.status} (${n.statusText})`));else{let i=o-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(s,r)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=n,this.setupLicenseXHR(n,a,e,t).then(({xhr:t,licenseChallenge:i})=>{e.keySystem==ih&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}).catch(r)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,i3(i,"encrypted",this.onMediaEncrypted),i3(i,"waitingforkey",this.onWaitingForKey);let s=this.mediaResolved;s?s():this.mediaKeys=i.mediaKeys}onMediaDetached(){let e=this.media;e&&(i4(e,"encrypted",this.onMediaEncrypted),i4(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let t=this.mediaResolved;if(t&&t(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let i=this.media,s=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,iS.clearKeyUriToKeyIdMap();let r=s.length;r9.CDMCleanupPromise=Promise.all(s.map(e=>this.removeSession(e)).concat((null==i||null==(e=i.setMediaKeys(null))?void 0:e.catch(e=>{this.log(`Could not clear media keys: ${e}`),this.hls&&this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${e}`)})}))||Promise.resolve())).catch(e=>{this.log(`Could not close sessions and clear media keys: ${e}`),this.hls&&this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${e}`)})}).then(()=>{r&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){let e=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i,decryptdata:s}=e;if(t){var r;this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${eb((null==s?void 0:s.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let a=this.mediaKeySessions.indexOf(e);a>-1&&this.mediaKeySessions.splice(a,1);let{keyStatusTimeouts:n}=e;
59n&&Object.keys(n).forEach(e=>self.clearTimeout(n[e]));let{drmSystemOptions:l}=this.config;return(l&&("persistent-license"===l.sessionType||null!=(r=l.sessionTypes)&&r.some(e=>"persistent-license"===e))?new Promise((e,i)=>{self.setTimeout(()=>i(Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(e).catch(i)}):Promise.resolve()).catch(e=>{this.log(`Could not remove session: ${e}`),this.hls&&this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${e}`)})}).then(()=>t.close()).catch(e=>{this.log(`Could not close session: ${e}`),this.hls&&this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${e}`)})})}return Promise.resolve()}}function r7(e){if(!e)throw Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw Error("keyId is null");return eb(e.keyId)}r9.CDMCleanupPromise=void 0;class ae extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=Error(t)),this.data=e,e.err=e.error}}function at(e,t){let i="output-restricted"===e,s=i?z.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:z.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new ae({type:Q.KEY_SYSTEM_ERROR,details:s,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`)}function ai(e,t){let i;try{i=new Event("addtrack")}catch(e){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function as(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw Error(`addCue is failed for: ${t}`)}catch(i){eg.debug(`[texttrack-utils]: ${i}`);try{let i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){eg.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function ar(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues)for(let i=e.cues.length;i--;)t&&e.cues[i].removeEventListener("enter",t),e.removeCue(e.cues[i]);"disabled"===i&&(e.mode=i)}function aa(e,t,i,s){let r=e.mode;if("disabled"===r&&(e.mode="hidden"),e.cues&&e.cues.length>0){let r=function(e,t,i){let s=[],r=function(e,t){let i;if(t<=e[0].startTime)return 0;let s=e.length-1;if(t>e[s].endTime)return -1;let r=0,a=s;for(;r<=a;)if(t<e[i=Math.floor((a+r)/2)].startTime)a=i-1;else{if(!(t>e[i].startTime)||!(r<s))return i;r=i+1}return e[r].startTime-t<t-e[a].startTime?r:a}(e,t);if(r>-1)for(let a=r,n=e.length;a<n;a++){let r=e[a];if(r.startTime>=t&&r.endTime<=i)s.push(r);else if(r.startTime>i)break}return s}(e.cues,t,i);for(let t=0;t<r.length;t++)(!s||s(r[t]))&&e.removeCue(r[t])}"disabled"===r&&(e.mode=r)}function an(e){let t=[];for(let i=0;i<e.length;i++){let s=e[i];("subtitles"===s.kind||"captions"===s.kind)&&s.label&&t.push(e[i])}return t}function al(e){let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()}let ao=((m={})[m.Point=0]="Point",m[m.Range=1]="Range",m);class ad{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null==(e=this.assetListLoader)||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;let i=this.playoutLimit;return!(e<=0||isNaN(i))&&(0===i||((null==(t=this.assetList[e])?void 0:t.startOffset)||0)>i)}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return ah(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(0===this.startTime||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime,i=ah(t,e);return t-i<.1}return!1}get resumptionOffset(){let e=this.resumeOffset,t=j(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return ah(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&.025>Math.abs(this.resumeOffset-this.duration)))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e,t=this.playoutLimit;return e=null!==this._duration?this._duration:this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0,!isNaN(t)&&t<e&&(e=t),e}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return"RANGE"===this.dateRange.attr["X-TIMELINE-OCCUPIES"]?ao.Range:ao.Point}get supplementsPrimary(){return"PRIMARY"===this.dateRange.attr["X-TIMELINE-STYLE"]}get contentMayVary(){return"NO"!==this.dateRange.attr["X-CONTENT-MAY-VARY"]}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||null!==this.assetListResponse}toString(){var e;return e=this,`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}}function ah(e,t){return e-t.start<t.duration/2&&!(.025>Math.abs(e-(t.start+t.duration)))?t.start:t.start+t.duration}function au(e,t,i){let s=new self.URL(e,i);return"data:"!==s.protocol&&s.searchParams.set("_HLS_primary_id",t),s}function ac(e,t){for(;null!=(i=e.assetList[++t])&&i.error;)var i;return t}function af(e){let t=e.timelineStart,i=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+i).toFixed(2)}]`}class am{constructor(e,t,i,s){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
59s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(X.PLAYOUT_LIMIT_REACHED,{})};const r=this.hls=new e(t);this.interstitial=i,this.assetItem=s;const a=()=>{this.hasDetails=!0};r.once(X.LEVEL_LOADED,a),r.once(X.AUDIO_TRACK_LOADED,a),r.once(X.SUBTITLE_TRACK_LOADED,a),r.on(X.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&r.on(X.BUFFER_APPENDED,()=>{let e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,r.trigger(X.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=au(t,e.config.primarySessionId||"").href}catch(e){}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if(null!=(t=this.hls)&&t.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),s=this.timelineOffset,r=tJ.bufferInfo(e,s,0);return this.getAssetTime(r.end)>=i-.02}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=tJ.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let i=t-this.startOffset;if(i>0&&i<e)return i}return e}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return(null==(e=this.hls)?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let t=this.timelineOffset;if(e!==t&&Math.abs(e-t)>1/9e4&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){return Math.min(Math.max(0,e-this.timelineOffset),this.duration)}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null==(t=this.hls)||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,null==(e=this.hls)||e.detachMedia()}resumeBuffering(){var e;null==(e=this.hls)||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.hls)||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=e=>delete e.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,i){var s;null==(s=this.hls)||s.on(e,t)}once(e,t,i){var s;null==(s=this.hls)||s.once(e,t)}off(e,t,i){var s;null==(s=this.hls)||s.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${af(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}class ag extends eh{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={}
59,this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,s)=>e<=s.startOffset&&t>s.startOffset?(delete s.error,i+1):i,0):0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);let s=this.items;if(s)for(s[i]||(void 0===t&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&null!=(r=s[i])&&r.event;){var r;i--}return i}findItemIndexAtTime(e,t){let i=this.items;if(i)for(let s=0;s<i.length;s++){let r=i[s];if(t&&"primary"!==t&&(r=r[t]),e===r.start||e>r.start&&e<r.end)return s}return -1}findJumpRestrictedIndex(e,t){let i=this.items;if(i)for(let s=e;s<=t&&i[s];s++){let e=i[s].event;if(null!=e&&e.restrictions.jump&&!e.appendInPlace)return s}return -1}findEventIndex(e){let t=this.items;if(t)for(let s=t.length;s--;){var i;if((null==(i=t[s].event)?void 0:i.identifier)===e)return s}return -1}findAssetIndex(e,t){let i=e.assetList,s=i.length;if(s>1)for(let e=0;e<s;e++){let r=i[e];if(!r.error){let i=r.timelineStart;if(t===i||t>i&&(t<i+(r.duration||0)||e===s-1))return e}}return 0}get assetIdAtEnd(){var e;let t=null==(e=this.items)||null==(e=e[this.length-1])?void 0:e.event;if(t){let e=t.assetList,i=e[e.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,t){let i=e.main.details,{dateRanges:s}=i,r=this.events,a=this.parseDateRanges(s,{url:i.url},t),n=Object.keys(s),l=r?r.filter(e=>!n.includes(e.identifier)):[];a.length&&a.sort((e,t)=>{let i=e.cue.pre,s=e.cue.post,r=t.cue.pre,a=t.cue.post;if(i&&!r)return -1;if(r&&!i||s&&!a)return 1;if(a&&!s)return -1;if(!i&&!r&&!s&&!a){let i=e.startTime,s=t.startTime;if(i!==s)return i-s}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=a,l.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,l)}updateSchedule(e,t=[],i=!1){let s=this.events||[];
59if(s.length||t.length||this.length<2){let r=this.items,a=this.parseSchedule(s,e);(i||t.length||(null==r?void 0:r.length)!==a.length||a.some((e,t)=>Math.abs(e.playout.start-r[t].playout.start)>.005||Math.abs(e.playout.end-r[t].playout.end)>.005))&&(this.items=a,this.onScheduleUpdate(t,r))}}parseDateRanges(e,t,i){let s=[],r=Object.keys(e);for(let a=0;a<r.length;a++){let n=r[a],l=e[n];if(l.isInterstitial){let e=this.eventMap[n];e?e.setDateRange(l):(e=new ad(l,t),this.eventMap[n]=e,!1===i&&(e.appendInPlace=i)),s.push(e)}}return s}parseSchedule(e,t){let i=[],s=t.main.details,r=s.live?1/0:s.edge,a=0;if((e=e.filter(e=>!e.error&&!(e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(e,t);let s=0,l=0;if(e.forEach((t,n)=>{let o=t.cue.pre,d=t.cue.post,h=e[n-1]||null,u=t.appendInPlace,c=d?r:t.startOffset,f=t.duration,m=t.timelineOccupancy===ao.Range?f:0,g=t.resumptionOffset,p=(null==h?void 0:h.startTime)===c,v=c+t.cumulativeDuration,E=u?v+f:c+g;if(o||!d&&c<=0){let e=l;l+=m,t.timelineStart=v;let s=a;a+=f,i.push({event:t,start:v,end:E,playout:{start:s,end:a},integrated:{start:e,end:l}})}else{if(!(c<=r))return;if(!p){let r=c-s;if(r>.033){let o=s,d=l;l+=r;let h=a;a+=r;let u={previousEvent:e[n-1]||null,nextEvent:t,start:o,end:o+r,playout:{start:h,end:a},integrated:{start:d,end:l}};i.push(u)}else r>0&&h&&(h.cumulativeDuration+=r,i[i.length-1].end=c)}d&&(E=v),t.timelineStart=v;let o=l;l+=m;let u=a;a+=f,i.push({event:t,start:v,end:E,playout:{start:u,end:a},integrated:{start:o,end:l}})}let b=t.resumeTime;s=d||b>r?r:b}),s<r){var n;let e=s,t=l,o=r-s;l+=o;let d=a;a+=o,i.push({previousEvent:(null==(n=i[i.length-1])?void 0:n.event)||null,nextEvent:null,start:s,end:e+o,playout:{start:d,end:a},integrated:{start:t,end:l}})}this.setDurations(r,a,l)}else i.push({previousEvent:null,nextEvent:null,start:0,end:r,playout:{start:0,end:r},integrated:{start:0,end:r}}),this.setDurations(r,r,r);return i}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i}}resolveOffsets(e,t){let i=t.main.details,s=i.live?1/0:i.edge,r=0,a=-1;e.forEach((n,l)=>{let o=n.cue.pre,d=n.cue.post,h=o?0:d?s:n.startTime;this.updateAssetDurations(n),a===h?n.cumulativeDuration=r:(r=0,a=h),!d&&n.snapOptions.in&&(n.resumeAnchor=tA(null,i.fragments,n.startOffset+n.resumptionOffset,0,0)||void 0),n.appendInPlace&&!n.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(n,t)||(n.appendInPlace=!1)),!n.appendInPlace&&l+1<e.length&&e[l+1].startTime-e[l].resumeTime<.033&&(e[l+1].appendInPlace=!1,e[l+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${n}`));let u=j(n.resumeOffset)?n.resumeOffset:n.duration;r+=u})}primaryCanResumeInPlaceAt(e,t){let i=e.resumeTime,s=e.startTime+e.resumptionOffset;return Math.abs(i-s)>.025?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${s}`),!1):!Object.keys(t).some(s=>{let r=t[s].details,a=r.edge;if(i>=a)return this.log(`"${e.identifier}" resumption ${i} past ${s} playlist end ${a}`),!1;let n=tA(null,r.fragments,i);if(!n)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${s} playlist (${r.fragStart}-${r.fragmentEnd})`),!0;let l=.175*("audio"===s);return!(Math.abs(n.start-i)<.025+l||Math.abs(n.end-i)<.025+l)&&(this.log(`"${e.identifier}" resumption ${i} not aligned with ${s} fragment bounds (${n.start}-${n.end} sn: ${n.sn} cc: ${n.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,i=0,s=!1,r=!1;for(let a=0;a<e.assetList.length;a++){let n=e.assetList[a],l=t+i;n.startOffset=i,n.timelineStart=l,s||(s=null===n.duration),r||(r=!!n.error),i+=n.error?0:n.duration||0}s&&!r?e.duration=Math.max(i,e.duration):e.duration=i}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function ap(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class av{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){let i,s=e.assetListUrl;try{i=au(s,this.hls.sessionId,e.baseUrl)}catch(i){let t=this.assignAssetListError(e,z.ASSET_LIST_LOAD_ERROR,i,s);this.hls.trigger(X.ERROR,t);return}t&&"data:"!==i.protocol&&i.searchParams.set("_HLS_start_offset",""+t);let r=this.hls.config,a=new r.loader(r),n={responseType:"json",url:i.href},l=r.interstitialAssetListLoadPolicy.default,o={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return a.load(n,o,{onSuccess:(t,i,s,r)=>{let a=t.data;if(!Array.isArray(null==a?void 0:a.ASSETS)){let t=this.assignAssetListError(e,z.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),s.url,i,r);this.hls.trigger(X.ERROR,t);return}e.assetListResponse=a,this.hls.trigger(X.ASSET_LIST_LOADED,{event:e,assetListResponse:a,networkDetails:r})},onError:(t,i,s,r)=>{let a=this.assignAssetListError(e,z.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${t.code} ${t.text} (${i.url})`),i.url,r,s);this.hls.trigger(X.ERROR,a)},onTimeout:(t,i,s)=>{let r=this.assignAssetListError(e,z.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${i.url})`),i.url,t,s);this.hls.trigger(X.ERROR,r)}}),this.hls.trigger(X.ASSET_LIST_LOADING,{event:e}),a}assignAssetListError(e,t,i,s,r,a){return e.error=i,{type:Q.NETWORK_E
59RROR,details:t,fatal:!1,interstitial:e,url:s,error:i,networkDetails:a,stats:r}}}function aE(e){var t;null==e||null==(t=e.play())||t.catch(()=>{})}function ab(e,t){return`[${e}] Advancing timeline position to ${t}`}class ay{constructor(e){this.buffered=void 0;const t=(t,i,s)=>{if((i>>>=0)>s-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${s})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}let aT={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},aA=e=>String.fromCharCode(aT[e]||e),aS={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},aI={17:2,18:4,21:6,22:8,23:10,19:13,20:15},aL={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},ak={25:2,26:4,29:6,30:8,31:10,27:13,28:15},aR=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class aM{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i="function"==typeof t?t():t;eg.log(`${this.time} [${e}] ${i}`)}}}let aC=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t};class a_{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 i=0;i<t.length;i++){let s=t[i];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!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}}class aw{constructor(){this.uchar=" ",this.penState=new a_}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()}}class aD{constructor(e){this.chars=[],this.pos=0,this.currPenState=new a_,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<100;e++)this.chars.push(new aw);this.logger=e}equals(e){for(let t=0;t<100;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<100;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<100;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>100&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=100)}moveCursor(e){let t=this.pos+e;if(e>1)for(let e=this.pos+1;e<t+1;e++)this.chars[e].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=aA(e);this.pos>=100?this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t<100;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 i=0;i<100;i++){let s=this.chars[i].uchar;" "!==s&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class ax{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<15;t++)this.rows.push(new aD(e));this.logger=e}reset(){for(let e=0;e<15;e++)this.rows[e].clear();this.currRow=14}equals(e){let t=!0;for(let i=0;i<15;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<15;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<15;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 = "+tc(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let e=0;e<15;e++)this.rows[e].clear();let e=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){let s=i.rows[e].cueStartTime,r=this.logger.time;if(null!==s&&null!==r&&s<r)for(let s=0;s<this.nrRollUpRows;s++)this.rows[t-this.nrRollUpRows+s+1].copy(i.rows[e+s])}}this.currRow=t;let i=this.rows[this.currRow];if(null!==e.indent){let t=Math.max(e.indent-1,0);i.setCursor(e.indent),e.color=i.chars[t].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 = "+tc(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");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=[],i="",s=-1;for(let i=0;i<15;i++){let r=this.rows[i].getTextString();r&&(s=i+1,e?t.push("Row "+s+": '"+r+"'"):t.push(r.trim()))}return t.length>0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class aP{constructor(e,t,i){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 ax(i),this.nonDisplayedMemory=new ax(i),this.lastOutputScreen=new ax(i),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],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),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;t<e.length;t++)this.writeScreen.insertChar(e[t]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),("MODE_PAINT-ON"===this.mode||"MODE_ROLL-UP"===this.mode)&&(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"),"MODE_TEXT"!==this.mode&&(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})}
59ccRDC(){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"),"MODE_POP-ON"===this.mode){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};(t.underline=e%2==1,t.italics=e>=46,t.italics)?t.foreground="white":t.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(e/2)-16],this.logger.log(2,"MIDROW: "+tc(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?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.cueStartTime=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)}}class aO{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const s=this.logger=new aM;this.channels=[null,new aP(e,t,s),new aP(e+1,i,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 e=0;e<t.length;e+=2){var i,s,r,a,n,l,o,d;let h=127&t[e],u=127&t[e+1],c=!1,f=null;if(0===h&&0===u)continue;this.logger.log(3,()=>"["+aC([t[e],t[e+1]])+"] -> ("+aC([h,u])+")");let m=this.cmdHistory;if(h>=16&&h<=31){if(i=h,s=u,(r=m).a===i&&r.b===s){(a=m).a=null,a.b=null,this.logger.log(3,()=>"Repeated command ("+aC([h,u])+") is dropped");continue}n=h,l=u,(o=this.cmdHistory).a=n,o.b=l,(c=this.parseCmd(h,u))||(c=this.parseMidrow(h,u)),c||(c=this.parsePAC(h,u)),c||(c=this.parseBackgroundAttributes(h,u))}else{(d=m).a=null,d.b=null}if(!c&&(f=this.parseChars(h,u))){let e=this.currentChannel;e&&e>0?this.channels[e].insertChars(f):this.logger.log(2,"No channel found yet. TEXT-MODE?")}c||f||this.logger.log(2,()=>"Couldn't parse cleaned data "+aC([h,u])+" orig: "+aC([t[e],t[e+1]]))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;let i=20===e||21===e||23===e?1:2,s=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?s.ccRCL():33===t?s.ccBS():34===t?s.ccAOF():35===t?s.ccAON():36===t?s.ccDER():37===t?s.ccRU(2):38===t?s.ccRU(3):39===t?s.ccRU(4):40===t?s.ccFON():41===t?s.ccRDC():42===t?s.ccTR():43===t?s.ccRTD():44===t?s.ccEDM():45===t?s.ccCR():46===t?s.ccENM():47===t&&s.ccEOC():s.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if((i=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[i];return!!s&&(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+aC([e,t])+")"),!0)}return!1}parsePAC(e,t){let i,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,r=(16===e||24===e)&&t>=64&&t<=95;if(!(s||r))return!1;let a=e<=23?1:2;i=t>=64&&t<=95?1===a?aS[e]:aL[e]:1===a?aI[e]:ak[e];let n=this.channels[a];return!!n&&(n.setPAC(this.interpretPAC(i,t)),this.currentChannel=a,!0)}interpretPAC(e,t){let i,s={color:null,italics:!1,indent:null,underline:!1,row:e};return s.underline=(1&(i=t>95?t-96:t-64))==1,i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=4*Math.floor((i-16)/2),s}parseChars(e,t){let i,s=null,r=null;if(e>=25?(i=2,r=e-8):(i=1,r=e),r>=17&&r<=19){let e;e=17===r?t+80:18===r?t+112:t+144,this.logger.log(2,()=>"Special char '"+aA(e)+"' in channel "+i),s=[e]}else e>=32&&e<=127&&(s=0===t?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+aC(s).join(",")),s}
59parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;let i={};return 16===e||24===e?(i.background=aR[Math.floor((t-32)/2)],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),this.channels[e<=23?1:2].setBkgData(i),!0}reset(){var e;for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}(e=this.cmdHistory).a=null,e.b=null}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}}var aU=function(){if(null!=il&&il.VTTCue)return self.VTTCue;let e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t||!Array.isArray(e))return!1;let i=t.toLowerCase();return!!~e.indexOf(i)&&i}function s(e){let t=1;for(;t<arguments.length;t++){let i=arguments[t];for(let t in i)e[t]=i[t]}return e}function r(r,a,n){let l={enumerable:!0};this.hasBeenReset=!1;let o="",d=!1,h=r,u=a,c=n,f=null,m="",g=!0,p="auto",v="start",E=50,b="middle",y=50,T="middle";Object.defineProperty(this,"id",s({},l,{get:function(){return o},set:function(e){o=""+e}})),Object.defineProperty(this,"pauseOnExit",s({},l,{get:function(){return d},set:function(e){d=!!e}})),Object.defineProperty(this,"startTime",s({},l,{get:function(){return h},set:function(e){if("number"!=typeof e)throw TypeError("Start time must be set to a number.");h=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"endTime",s({},l,{get:function(){return u},set:function(e){if("number"!=typeof e)throw TypeError("End time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"text",s({},l,{get:function(){return c},set:function(e){c=""+e,this.hasBeenReset=!0}})),Object.defineProperty(this,"region",s({},l,{get:function(){return f},set:function(e){f=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"vertical",s({},l,{get:function(){return m},set:function(t){let s=i(e,t);if(!1===s)throw SyntaxError("An invalid or illegal string was specified.");m=s,this.hasBeenReset=!0}})),Object.defineProperty(this,"snapToLines",s({},l,{get:function(){return g},set:function(e){g=!!e,this.hasBeenReset=!0}})),Object.defineProperty(this,"line",s({},l,{get:function(){return p},set:function(e){if("number"!=typeof e&&"auto"!==e)throw SyntaxError("An invalid number or illegal string was specified.");p=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"lineAlign",s({},l,{get:function(){return v},set:function(e){let s=i(t,e);if(!s)throw SyntaxError("An invalid or illegal string was specified.");v=s,this.hasBeenReset=!0}})),Object.defineProperty(this,"position",s({},l,{get:function(){return E},set:function(e){if(e<0||e>100)throw Error("Position must be between 0 and 100.");E=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"positionAlign",s({},l,{get:function(){return b},set:function(e){let s=i(t,e);if(!s)throw SyntaxError("An invalid or illegal string was specified.");b=s,this.hasBeenReset=!0}})),Object.defineProperty(this,"size",s({},l,{get:function(){return y},set:function(e){if(e<0||e>100)throw Error("Size must be between 0 and 100.");y=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"align",s({},l,{get:function(){return T},set:function(e){let s=i(t,e);if(!s)throw SyntaxError("An invalid or illegal string was specified.");T=s,this.hasBeenReset=!0}})),this.displayState=void 0}return r.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},r}();class aN{decode(e,t){if(!e)return"";if("string"!=typeof e)throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function aF(e){function t(e,t,i,s){return(0|e)*3600+(0|t)*60+(0|i)+parseFloat(s||0)}let i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class aB{constructor(){this.values=Object.create(null)}set(e,t){this.get(e)||""===t||(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let s=0;s<i.length;++s)if(t===i[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 i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}}function a$(e,t,i,s){let r=s?e.split(s):[e];for(let e in r){if("string"!=typeof r[e])continue;let s=r[e].split(i);if(2===s.length)t(s[0],s[1])}}let aH=new aU(0,0,""),aG="middle"===aH.align?"middle":"center";function aV(e){return e.replace(/<br(?: \/)?>/gi,"\n")}class aW{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new aN,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;function i(){let e=t.buffer,i=0;for(e=aV(e);i<e.length&&"\r"!==e[i]&&"\n"!==e[i];)++i;let s=e.slice(0,i);return"\r"===e[i]&&++i,"\n"===e[i]&&++i,t.buffer=e.slice(i),s}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{let e="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;let s=(e=i()).match(/^()?WEBVTT([ \t].*)?$/);if(!(null!=s&&s[0]))throw Error("Malformed WebVTT signature.");t.state="HEADER"}let r=!1;for(;t.buffer&&/\r\n|\n/.test(t.buffer);)switch(r?r=!1:e=i(),t.state){case"HEADER":if(/:/.test(e)){var s;s=e,a$(s,function(e,t){},/:/)}else e||(t.state="ID");continue;case"NOTE":e||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(e)){t.state="NOTE";break}if(!e)continue;if(t.cue=new aU(0,0,""),t.state="CUE",-1===e.indexOf("-->")){t.cue.id=e;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{!function(e,t,i){var s;let r,a,n,l=e;function o(){let t=aF(e);if(null===t)throw Error("Malformed timestamp: "+l);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function d(){e=e.replace(/^\s+/,"")}if(d(),t.startTime=o(),d(),"-->"!==e.slice(0,3))throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+l);e=e.slice(3),d(),t.endTime=o(),d(),s=e,r=new aB,a$(s,function(e,t){let s;switch(e){case"region":for(let s=i.length-1;s>=0;s--)if(i[s].id===t){r.set(e,i[s].region);break}break;case"vertical":r.alt(e,t,["rl","lr"]);break;case"line":s=t.split(","),r.integer(e,s[0]),r.percent(e,s[0])&&r.set("snapToLines",!1),r.alt(e,s[0],["auto"]),2===s.length&&r.alt("lineAlign",s[1],["start",aG,"end"]);break;case"position":s=t.split(","),r.percent(e,s[0]),2===s.length&&r.alt("positionAlign",s[1],["start",aG,"end","line-left","line-right","auto"]);break;case"size":r.percent(e,t);break;case"align":r.alt(e,t,["start",aG,"end","left","right"])}},/:/,/\s/),t.region=r.get("region",null),t.vertical=r.get("vertical",""),"auto"===(a=r.get("line","auto"))&&-1===aH.line&&(a=-1),t.line=a,t.lineAlign=r.get("lineAlign","start"),t.snapToLines=r.get("snapToLines",!0),t.size=r.get("size",100),t.align=r.get("align",aG),"auto"===(n=r.get("position","auto"))&&50===aH.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}(e,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let i=-1!==e.indexOf("-->");if(!e||i&&(r=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=e}continue;case"BADCUE":e||(t.state="ID")}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this}flush(){try{if((this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state||"BADWEBVTT"===this.state)throw Error("Malformed WebVTT signature.")}catch(e){this.onparsingerror&&this.onparsingerror(e)}return this.onflush&&this.onflush(),this}}let aK=/\r\n|\n\r|\n|\r/g,aj=function(e,t,i=0){return e.slice(i,i+t.length)===t},aq=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),r=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;
59if(!j(t)||!j(i)||!j(s)||!j(r))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*s,t+=36e5*r};function aY(e,t,i){return al(e.toString())+al(t.toString())+al(i)}let aQ=function(e,t,i){let s=e[t],r=e[s.prevCC];if(!r||!r.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;null!=(a=r)&&a.new;){var a;e.ccOffset+=s.start-r.start,s.new=!1,r=e[(s=r).prevCC]}e.presentationOffset=i},az="stpp.ttml.im1t",aX=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,aZ=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,aJ={left:"start",center:"center",right:"end",start:"start",end:"end"};function a0(e,t,i,s){let r=eF(new Uint8Array(e),["mdat"]);if(0===r.length)return void s(Error("Could not parse IMSC1 mdat"));let a=r.map(e=>eE(e)),n=function(e,t=1,i=!1){return s4(e,1,1/t,i)}(t.baseTime,t.timescale);try{a.forEach(e=>i(function(e,t){let i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw Error("Invalid ttml");let s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},r=Object.keys(s).reduce((e,t)=>(e[t]=i.getAttribute(`ttp:${t}`)||s[t],e),{}),a="preserve"!==i.getAttribute("xml:space"),n=a2(a1(i,"styling","style")),l=a2(a1(i,"layout","region")),o=a1(i,"body","[begin]");return[].map.call(o,e=>{var i,s,o;let d,h,u,c=function e(t,i){return[].slice.call(t.childNodes).reduce((t,s,r)=>{var a;return"br"===s.nodeName&&r?t+"\n":null!=(a=s.childNodes)&&a.length?e(s,i):i?t+s.textContent.trim().replace(/\s+/g," "):t+s.textContent},"")}(e,a);if(!c||!e.hasAttribute("begin"))return null;let f=a5(e.getAttribute("begin"),r),m=a5(e.getAttribute("dur"),r),g=a5(e.getAttribute("end"),r);if(null===f)throw a4(e);if(null===g){if(null===m)throw a4(e);g=f+m}let p=new aU(f-t,g-t,c);p.id=aY(p.startTime,p.endTime,p.text);let v=(i=l[e.getAttribute("region")],s=n[e.getAttribute("style")],o=n,d="http://www.w3.org/ns/ttml#styling",h=null,(u=null!=i&&i.hasAttribute("style")?i.getAttribute("style"):null)&&o.hasOwnProperty(u)&&(h=o[u]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>{let r=a3(s,d,t)||a3(i,d,t)||a3(h,d,t);return r&&(e[t]=r),e},{})),{textAlign:E}=v;if(E){let e=aJ[E];e&&(p.lineAlign=e),p.align=E}return el(p,v),p}).filter(e=>null!==e)}(e,n)))}catch(e){s(e)}}function a1(e,t,i){let s=e.getElementsByTagName(t)[0];return s?[].slice.call(s.querySelectorAll(i)):[]}function a2(e){return e.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function a3(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function a4(e){return Error(`Could not parse ttml timestamp ${e}`)}function a5(e,t){var i,s;let r,a;if(!e)return null;let n=aF(e);return null===n&&(aX.test(e)?(i=e,s=t,a=(0|(r=aX.exec(i))[4])+(0|r[5])/s.subFrameRate,n=(0|r[1])*3600+(0|r[2])*60+(0|r[3])+a/s.frameRate):aZ.test(e)&&(n=function(e,t){let i=aZ.exec(e),s=Number(i[1]);switch(i[2]){case"h":return 3600*s;case"m":return 60*s;case"ms":return 1e3*s;case"f":return s/t.frameRate;case"t":return s/t.tickRate}return s}(e,t))),n}class a8{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(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}function a6(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function a9(e,t){return!!e&&e.kind===a6(t)&&rv(t,e)}function a7(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}let ne=/\s/,nt={newCue(e,t,i,s){let r,a,n,l,o,d=[],h=self.VTTCue||self.TextTrackCue;for(let c=0;c<s.rows.length;c++)if(r=s.rows[c],n=!0,l=0,o="",!r.isEmpty()){var u;for(let e=0;e<r.chars.length;e++)ne.test(r.chars[e].uchar)&&n?l++:(o+=r.chars[e].uchar,n=!1);r.cueStartTime=t,t===i&&(i+=1e-4),l>=16?l--:l++;let s=aV(o.trim()),f=aY(t,i,s);null!=e&&null!=(u=e.cues)&&u.getCueById(f)||((a=new h(t,i,s)).id=f,a.line=c+1,a.align="left",a.position=10+Math.min(80,10*Math.floor(8*l/32)),d.push(a))}return e&&d.length&&(d.sort((e,t)=>
59"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line),d.forEach(t=>as(e,t))),d}},ni=/(\d+)-(\d+)\/(\d+)/;class ns{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||nr,this.controller=new self.AbortController,this.stats=new eS}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(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){var s;let r,a=this.stats;if(a.loading.start)throw Error("Loader can only be used once.");a.loading.start=self.performance.now();let n=(s=e,r={method:"GET",mode:"cors",credentials:"same-origin",signal:this.controller.signal,headers:new self.Headers(el({},s.headers))},s.rangeEnd&&r.headers.set("Range","bytes="+s.rangeStart+"-"+String(s.rangeEnd-1)),r),l="arraybuffer"===e.responseType,o=l?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:h}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&j(d)?d:h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(a,e,this.response))},t.timeout),(rd(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(i=>{var s;this.response=this.loader=i;let r=Math.max(self.performance.now(),a.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(a,e,this.response))},h-(r-a.loading.start)),!i.ok){let{status:e,statusText:t}=i;throw new na(t||"fetch, bad network response",e,i)}a.loading.first=r,a.total=function(e){let t=e.get("Content-Range");if(t){let e=function(e){let t=ni.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(j(e))return e}let i=e.get("Content-Length");if(i)return parseInt(i)}(i.headers)||a.total;let n=null==(s=this.callbacks)?void 0:s.onProgress;return n&&j(t.highWaterMark)?this.loadProgressively(i,a,e,t.highWaterMark,n):l?i.arrayBuffer():"json"===e.responseType?i.json():i.text()}).then(i=>{var s,r;let n=this.response;if(!n)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),a.loading.end=Math.max(self.performance.now(),a.loading.first);let l=i[o];l&&(a.loaded=a.total=l);let d={url:n.url,data:i,code:n.status},h=null==(s=this.callbacks)?void 0:s.onProgress;h&&!j(t.highWaterMark)&&h(a,e,i,n),null==(r=this.callbacks)||r.onSuccess(d,a,e,n)}).catch(t=>{var i;if(self.clearTimeout(this.requestTimeout),a.aborted)return;let s=t&&t.code||0,r=t?t.message:null;null==(i=this.callbacks)||i.onError({code:s,text:r},e,t?t.details:null,a)})}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,i,s=0,r){let a=new sh,n=e.body.getReader(),l=()=>n.read().then(n=>{if(n.done)return a.dataLength&&r(t,i,a.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let o=n.value,d=o.length;return t.loaded+=d,d<s||a.dataLength?(a.push(o),a.dataLength>=s&&r(t,i,a.flush().buffer,e)):r(t,i,o.buffer,e),l()}).catch(()=>Promise.reject());return l()}}function nr(e,t){return new self.Request(e.url,t)}class na extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}let nn=/^age:\s*[\d.]+\s*$/im;class nl{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 eS,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,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let i=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let r=this.xhrSetup;r?Promise.resolve().then(()=>
59{if(this.loader===i&&!this.stats.aborted)return r(i,t.url)}).catch(e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),r(i,t.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(e=>{var r;null==(r=this.callbacks)||r.onError({code:i.status,text:e.message},t,i,s)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=i.loadPolicy;if(s)for(let t in s)e.setRequestHeader(t,s[t]);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),i.timeout=r&&j(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,r=this.config;if(!i.aborted&&s>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===s)){var a,n,l;self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let s=t.status,o="text"===t.responseType?t.responseText:null;if(s>=200&&s<300){let r=null!=o?o:t.response;if(null!=r){i.loading.end=Math.max(self.performance.now(),i.loading.first),i.loaded=i.total="arraybuffer"===t.responseType?r.byteLength:r.length,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first);let l=null==(a=this.callbacks)?void 0:a.onProgress;l&&l(i,e,r,t);let o={url:t.responseURL,data:r,code:s};null==(n=this.callbacks)||n.onSuccess(o,i,e,t);return}}let d=r.loadPolicy.errorRetry;tw(d,i.retry,!1,{url:e.url,data:void 0,code:s})?this.retry(d):(eg.error(`${s} while loading ${e.url}`),null==(l=this.callbacks)||l.onError({code:s,text:t.statusText},e,t,i))}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry;if(tw(e,this.stats.retry,!0))this.retry(e);else{var t;eg.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);let e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=tC(e,i.retry),i.retry++,eg.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.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&&nn.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let no=ed(ed({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:1/0,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,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,ignorePlaylistParsingErrors:!1,loader:nl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class extends eh{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.co
59decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=e=>{var t;let i,{fragCurrent:s,partCurrent:r,hls:a}=this,{autoLevelEnabled:n,media:l}=a;if(!s||!l)return;let o=performance.now(),d=r?r.stats:s.stats,h=r?r.duration:s.duration,u=o-d.loading.start,c=a.minAutoLevel,f=s.level,m=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||f<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n)return;let g=m>-1&&m!==f,p=!!e||g;if(!p&&(l.paused||!l.playbackRate||!l.readyState))return;let v=a.mainForwardBufferInfo;if(!p&&null===v)return;let E=this.bwEstimator.getEstimateTTFB(),b=Math.abs(l.playbackRate);if(u<=Math.max(E,h/(2*b)*1e3))return;let y=v?v.len/b:0,T=d.loading.first?d.loading.first-d.loading.start:-1,A=d.loaded&&T>-1,S=this.getBwEstimate(),I=a.levels,L=I[f],k=Math.max(d.loaded,Math.round(h*(s.bitrate||L.averageBitrate)/8)),R=A?u-T:u;R<1&&A&&(R=Math.min(u,8*d.loaded/S));let M=A?1e3*d.loaded/R:0,C=E/1e3,_=M?(k-d.loaded)/M:8*k/S+C;if(_<=y)return;let w=M?8*M:S,D=(null==(t=(null==e?void 0:e.details)||this.hls.latestLevelDetails)?void 0:t.live)===!0,x=this.hls.config.abrBandWidthUpFactor,P=1/0;for(i=f-1;i>c;i--){let e=I[i].maxBitrate,t=!I[i].details||D;if((P=this.getTimeToLoadFrag(C,w,h*e,t))<Math.min(y,h+C))break}if(P>=_||P>10*h)return;A?this.bwEstimator.sample(u-Math.min(E,T),d.loaded):this.bwEstimator.sampleTTFB(u);let O=I[i].maxBitrate;this.getBwEstimate()*x>O&&this.resetEstimator(O);let U=this.findBestLevel(O,c,i,0,y,1,1);U>-1&&(i=U),this.warn(`Fragment ${s.sn}${r?" part "+r.index:""} of level ${f} is loading too slowly; 60 Fragment duration: ${s.duration.toFixed(3)} 61 Time to underbuffer: ${y.toFixed(3)} s 62 Estimated load time for current fragment: ${_.toFixed(3)} s 63 Estimated load time for down switch fragment: ${P.toFixed(3)} s 64 TTFB estimate: ${0|T} ms 65 Current BW estimate: ${j(S)?0|S:"Unknown"} bps 66 New BW estimate: ${0|this.getBwEstimate()} bps 67 Switching to level ${i} @ ${0|O} bps`),a.nextLoadLevel=a.nextAutoLevel=i,this.clearTimer();let N=()=>{if(this.clearTimer(),this.fragCurrent===s&&this.hls.loadLevel===i&&i>0){let e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${i>0?"and switching down":""} 68 Fragment duration: ${s.duration.toFixed(3)} s 69 Time to underbuffer: ${e.toFixed(3)} s`),s.abortRequests(),this.fragCurrent=this.partCurrent=null,i>c){let t=this.findBestLevel(this.hls.levels[c].bitrate,c,i,0,e,1,1);-1===t&&(t=c),this.hls.nextLoadLevel=this.hls.nextAutoLevel=t,this.resetEstimator(this.hls.levels[t].bitrate)}}};g||_>2*P?N():this.timer=self.setInterval(N,1e3*P),a.trigger(X.FRAG_LOAD_EMERGENCY_ABORTED,{frag:s,part:r,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.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 en(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(X.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},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 i=t.frag;
69if(!this.ignoreFragment(i)){if(!i.bitrateTest){var s;this.fragCurrent=i,this.partCurrent=null!=(s=t.part)?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 z.BUFFER_ADD_CODEC_ERROR:case z.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case z.FRAG_LOAD_TIMEOUT:{let e=t.frag,{fragCurrent:i,partCurrent:s}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){let t=performance.now(),i=s?s.stats:e.stats,r=t-i.loading.start,a=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&a>-1){let e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(r-Math.min(e,a),i.loaded)}else this.bwEstimator.sampleTTFB(r)}}}}getTimeToLoadFrag(e,t,i,s){let r=s?e+this.lastLevelLoadSec:0;return e+i/t+r}onLevelLoaded(e,t){let i=this.hls.config,{loading:s}=t.stats,r=s.end-s.first;j(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===ei&&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 e=i?i.duration:t.duration,r=this.hls.levels[t.level],a=(r.loaded?r.loaded.bytes:0)+s.loaded,n=(r.loaded?r.loaded.duration:0)+e;r.loaded={bytes:a,duration:n},r.realBitrate=Math.round(8*a/n)}if(t.bitrateTest){let e={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(X.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:s}=t,r=null!=s&&s.stats.loaded?s.stats:i.stats;if(r.aborted||this.ignoreFragment(i))return;let a=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,r.loaded),r.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==ei||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,r=this.findBestLevel(i,t,e,0,s,1,1);if(r>-1)return r;let a=this.hls.firstLevel,n=Math.min(Math.max(a,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${n}`),n}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(-1!==e&&(!t||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let s=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){let t=this.hls.levels;if(t.length>Math.max(e,s)&&t[e].loadError<=t[s].loadError)return e}return this._nextAutoLevel=s,this.nextAutoLevelKey=this.getAutoLevelKey(),s}getAutoLevelKey(){return`${this.getBwEstimate()}
69_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;let{maxAutoLevel:s,config:r,minAutoLevel:a}=i,n=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),o=this.getStarvationDelay(),d=r.abrBandWidthFactor,h=r.abrBandWidthUpFactor;if(o){let e=this.findBestLevel(l,a,s,o,0,d,h);if(e>=0)return this.rebufferNotice=-1,e}let u=n?Math.min(n,r.maxStarvationDelay):r.maxStarvationDelay;if(!o){let e=this.bitrateTestDelay;e&&(u=(n?Math.min(n,r.maxLoadingDelay):r.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*u)} ms`),d=h=1)}let c=this.findBestLevel(l,a,s,o,u,d,h);if(this.rebufferNotice!==c&&(this.rebufferNotice=c,this.info(`${o?"rebuffering expected":"buffer is empty"}, optimal quality level ${c}`)),c>-1)return c;let f=i.levels[a],m=i.loadLevelObj;return m&&(null==f?void 0:f.bitrate)<m.bitrate?a:i.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,s,r,a,n){var l,o;let d,h=s+r,u=this.lastLoadedFragLevel,c=-1===u?this.hls.firstLevel:u,{fragCurrent:f,partCurrent:m}=this,{levels:g,allAudioTracks:p,loadLevel:v,config:E}=this.hls;if(1===g.length)return 0;let b=g[c],y=!!(null!=(l=this.hls.latestLevelDetails)&&l.live),T=-1===v||-1===u,A="SDR",S=(null==b?void 0:b.frameRate)||0,{audioPreference:I,videoPreference:L}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=tm(p)),R=-1;if(T){if(-1!==this.firstSelection)return this.firstSelection;let s=function(e,t,i,s,r){let a=Object.keys(e),n=null==s?void 0:s.channels,l=null==s?void 0:s.audioCodec,o=null==r?void 0:r.videoCodec,d=n&&2===parseInt(n),h=!1,u=!1,
69c=1/0,f=1/0,m=1/0,g=1/0,p=0,v=[],{preferHDR:E,allowedVideoRanges:b}=function(e,t){let i=!1,s=[];if(e&&(i="SDR"!==e,s=[e]),t){let e="SDR"!==(s=t.allowedVideoRanges||tl.slice(0)).join("")&&!t.videoCodec;(i=void 0!==t.preferHDR?t.preferHDR:e&&function(){if("function"==typeof matchMedia){let e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}())||(s=["SDR"])}return{preferHDR:i,allowedVideoRanges:s}}(t,r);for(let t=a.length;t--;){let i=e[a[t]];h||(h=i.channels[2]>0),c=Math.min(c,i.minHeight),f=Math.min(f,i.minFramerate),m=Math.min(m,i.minBitrate),b.filter(e=>i.videoRanges[e]>0).length>0&&(u=!0)}c=j(c)?c:0,f=j(f)?f:0;let y=Math.max(1080,c),T=Math.max(30,f);i=Math.max(m=j(m)?m:i,i),u||(t=void 0);let A=a.length>1;return{codecSet:a.reduce((t,s)=>{let r=e[s];if(s===t)return t;if(v=u?b.filter(e=>r.videoRanges[e]>0):[],A){if(r.minBitrate>i)return tf(s,`min bitrate of ${r.minBitrate} > current estimate of ${i}`),t;if(!r.hasDefaultAudio)return tf(s,"no renditions with default or auto-select sound found"),t;if(l&&s.indexOf(l.substring(0,4))%5!=0)return tf(s,`audio codec preference "${l}" not found`),t;if(n&&!d){if(!r.channels[n])return tf(s,`no renditions with ${n} channel sound found (channels options: ${Object.keys(r.channels)})`),t}else if((!l||d)&&h&&0===r.channels["2"])return tf(s,"no renditions with stereo sound found"),t;if(r.minHeight>y)return tf(s,`min resolution of ${r.minHeight} > maximum of ${y}`),t;if(r.minFramerate>T)return tf(s,`min framerate of ${r.minFramerate} > maximum of ${T}`),t;if(!v.some(e=>r.videoRanges[e]>0))return tf(s,`no variants with VIDEO-RANGE of ${tc(v)} found`),t;if(o&&s.indexOf(o.substring(0,4))%5!=0)return tf(s,`video codec preference "${o}" not found`),t;if(r.maxScore<p)return tf(s,`max score of ${r.maxScore} < selected max of ${p}`),t}return t&&(e3(s)>=e3(t)||r.fragmentError>e[t].fragmentError)?t:(g=r.minIndex,p=r.maxScore,s)},void 0),videoRanges:v,preferHDR:E,minFramerate:f,minBitrate:m,minIndex:g}}(this.codecTiers||(this.codecTiers=g.slice(t,i+1).reduce((e,t,i)=>{if(!t.codecSet)return e;let s=t.audioGroups,r=e[t.codecSet];r||(e[t.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:i,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,t.bitrate);let a=Math.min(t.height,t.width);return r.minHeight=Math.min(r.minHeight,a),r.minFramerate=Math.min(r.minFramerate,t.frameRate),r.minIndex=Math.min(r.minIndex,i),r.maxScore=Math.max(r.maxScore,t.score),r.fragmentError+=t.fragmentError,r.videoRanges[t.videoRange]=(r.videoRanges[t.videoRange]||0)+1,s&&s.forEach(e=>{if(!e)return;let t=k.groups[e];t&&(r.hasDefaultAudio=r.hasDefaultAudio||k.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!k.hasDefaultAudio&&!k.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{r.channels[e]=(r.channels[e]||0)+t.channels[e]}))}),e},{})),A,e,I,L),{codecSet:r,videoRanges:a,minFramerate:n,minBitrate:l,minIndex:o,preferHDR:h}=s;R=o,d=r,A=h?a[a.length-1]:a[0],S=n,e=Math.max(e,l),this.log(`picked start tier ${tc(s)}`)}else d=null==b?void 0:b.codecSet,A=null==b?void 0:b.videoRange;let M=m?m.duration:f?f.duration:0,C=this.bwEstimator.getEstimateTTFB()/1e3,_=[];for(let l=i;l>=t;l--){let t,f=g[l],p=l>c;if(!f)continue;if(E.useMediaCapabilities&&!f.supportedResult&&!f.supportedPromise){let t=navigator.mediaCapabilities;"function"==typeof(null==t?void 0:t.decodingInfo)&&function(e,t,i,s,r,a){let n=e.videoCodec,l=e.audioCodec?e.audioGroups:null,o=null==a?void 0:a.audioCodec,d=null==a?void 0:a.channels,h=d?parseInt(d):o?1/0:2,u=null;if(null!=l&&l.length)try{u=1===l.length&&l[0]?t.groups[l[0]].channels:l.reduce((e,i)=>{if(i){let s=t.groups[i];if(!s)throw Error(`Audio track group ${i} not found`);Object.keys(s.channels).forEach(t=>{e[t]=(e[t]||0)+s.channels[t]})}return e},{2:0})}catch(e){return!0}return void 0!==n&&(n.split(",").some(e=>eY(e))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(s,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(r,8e6))||!!u&&j(h)&&Object.keys(u).some(e=>parseInt(e)>h)}
69(f,k,A,S,e,I)?(f.supportedPromise=tr(f,k,t,this.supportedCache),f.supportedPromise.then(e=>{if(!this.hls)return;f.supportedResult=e;let t=this.hls.levels,i=t.indexOf(f);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${i} ${tc(e)}`):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${i} not smooth or powerEfficient: ${tc(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${i} ${tc(e)}`),i>-1&&t.length>1&&(this.log(`Removing unsupported level ${i}`),this.hls.removeLevel(i),-1===this.hls.loadLevel&&(this.hls.nextLoadLevel=0)))}).catch(e=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${e}`)})):f.supportedResult=ti}if((d&&f.codecSet!==d||A&&f.videoRange!==A||p&&S>f.frameRate||!p&&S>0&&S<f.frameRate||null!=(o=f.supportedResult)&&null!=(o=o.decodingInfoResults)&&o.some(e=>!1===e.smooth))&&(!T||l!==R)){_.push(l);continue}let b=f.details,L=(m?null==b?void 0:b.partTarget:null==b?void 0:b.averagetargetduration)||M;t=p?n*e:a*e;let w=M&&s>=2*M&&0===r?f.averageBitrate:f.maxBitrate,D=this.getTimeToLoadFrag(C,t,w*L,void 0===b);if(t>=w&&(l===u||0===f.loadError&&0===f.fragmentError)&&(D<=C||!j(D)||y&&!this.bitrateTestDelay||D<h)){let e=this.forcedAutoLevel;return l!==v&&(-1===e||e!==v)&&(_.length&&this.trace(`Skipped level(s) ${_.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${g[_[0]].codecs}" ${g[_[0]].videoRange}; not compatible with "${d}" ${A}`),this.info(`switch candidate:${c}->${l} adjustedbw(${Math.round(t)})-bitrate=${Math.round(t-w)} ttfb:${C.toFixed(1)} avgDuration:${L.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${D.toFixed(1)} firstSelection:${T} codecSet:${f.codecSet} videoRange:${f.videoRange} hls.loadLevel:${v}`)),T&&(this.firstSelection=l),l}}return -1}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}},bufferController:class extends eh{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&(null==(t=this.mediaSource)?void 0:t.readyState)==="open"&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{let{media:t,mediaSource:i}=this;e&&this.log("Media source opened"),t&&i&&(i.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(X.MEDIA_ATTACHED,{media:t,mediaSource:i}),null!==this.mediaSource&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=function(e){return"u">typeof self&&e===self.ManagedMediaSource}(ep(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){let{hls:e}=this;
69e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.BUFFER_RESET,this.onBufferReset,this),e.on(X.BUFFER_APPENDING,this.onBufferAppending,this),e.on(X.BUFFER_CODECS,this.onBufferCodecs,this),e.on(X.BUFFER_EOS,this.onBufferEos,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.FRAG_PARSED,this.onFragParsed,this),e.on(X.FRAG_CHANGED,this.onFragChanged,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.BUFFER_RESET,this.onBufferReset,this),e.off(X.BUFFER_APPENDING,this.onBufferAppending,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.BUFFER_EOS,this.onBufferEos,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.FRAG_PARSED,this.onFragParsed,this),e.off(X.FRAG_CHANGED,this.onFragChanged,this),e.off(X.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let i={};if(this.operationQueue){let e=this.isUpdating();e||this.operationQueue.removeBlockers();let t=this.isQueued();(e||t)&&this.warn(`Transfering MediaSource with${t?" operations in queue":""}${e?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}let s=this.transferData;return!this.sourceBufferCount&&s&&s.mediaSource===t?el(i,s.tracks):this.sourceBuffers.forEach(e=>{let[t]=e;t&&(i[t]=el({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:e,mediaSource:t,tracks:i}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var i;let s=2;(!t.audio||t.video)&&t.altAudio||(s=1),this.bufferCodecEventsTotal=s,this.log(`${s} bufferCodec event(s) expected.`),null!=(i=this.transferData)&&i.mediaSource&&this.sourceBufferCount&&s&&this.bufferCreated()}onMediaAttaching(e,t){let i=this.media=t.media;this.transferData=this.overrides=void 0;let s=ep(this.appendSource);if(s){let e=!!t.mediaSource;(e||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let n=this.mediaSource=t.mediaSource||new s;if(this.assignMediaSource(n),e)this._objectUrl=i.src,this.attachTransferred();else{let e=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{var r,a;let t;i.removeAttribute("src");let s=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||s&&n instanceof s,rA(i),r=i,a=e,(t=self.document.createElement("source")).type="video/mp4",t.src=a,r.appendChild(t),i.load()}catch(t){i.src=e}else i.src=e}i.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,i;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${null==(i=e.constructor)?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let i=this.tracks,s=t.tracks,r=s?Object.keys(s):null,a=r?r.length:0,n=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(s&&r&&a){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) 70required tracks: ${tc(i,(e,t)=>"initSegment"===e?void 0:t)}; 71transfer tracks: ${tc(s,(e,t)=>"initSegment"===e?void 0:t)}}`),!ev(s,i)){t.mediaSource=null,t.tracks=void 0;let r=e.currentTime,a=this.details,n=Math.max(r,(null==a?void 0:a.fragments[0].start)||0);return n-r>1?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${r} -> ${n}`):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(s)}"->"${Object.keys(i)}") start time: ${n} currentTime: ${r}`),this.onMediaDetaching(X.MEDIA_DETACHING,{}
71),this.onMediaAttaching(X.MEDIA_ATTACHING,t),void(e.currentTime=n))}this.transferData=void 0,r.forEach(e=>{let t=s[e];if(t){let i=t.buffer;if(i){let s=this.fragmentTracker,r=t.id;if(s.hasFragments(r)||s.hasParts(r)){let t=tJ.getBuffered(i);s.detectEvictedFragments(e,t,r,null,!0)}let a=rS(e),n=[e,i];this.sourceBuffers[a]=n,i.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,t)}}}),n(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),n()}get mediaSourceOpenOrEnded(){var e;let t=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===t||"ended"===t}onMediaDetaching(e,t){let i=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:s,mediaSource:r,_objectUrl:a}=this;if(r){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let e="open"===r.readyState;try{let t=r.sourceBuffers;for(let i=t.length;i--;)e&&t[i].abort(),r.removeSourceBuffer(t[i]);e&&r.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}r.removeEventListener("sourceopen",this._onMediaSourceOpen),r.removeEventListener("sourceended",this._onMediaSourceEnded),r.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(r.removeEventListener("startstreaming",this._onStartStreaming),r.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}s&&(s.removeEventListener("emptied",this._onMediaEmptied),i||(a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(s.removeAttribute("src"),this.appendSource&&rA(s),s.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(X.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t,i;let s=null==(t=this.tracks[e])?void 0:t.buffer;if(this.removeBuffer(e),s)try{null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(s)}catch(t){this.warn(`onBufferReset ${e}`,t)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[rS(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new rE(this.tracks)}onBufferCodecs(e,t){var i;let s=this.tracks,r=Object.keys(t);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);let a="audiovideo"in t&&(s.audio||s.video)||s.audiovideo&&("audio"in t||"video"in t),n=!a&&this.sourceBufferCount&&this.media&&r.some(e=>!s[e]);a||n?this.warn(`Unsupported transition between "${Object.keys(s)}" and "${r}" SourceBuffers`):(r.forEach(e=>{var i,r;let{id:a,codec:n,levelCodec:l,container:o,metadata:d,supplemental:h}=t[e],u=s[e],c=null==(i=this.transferData)||null==(i=i.tracks)?void 0:i[e],f=null!=c&&c.buffer?c:u,m=(null==f?void 0:f.pendingCodec)||(null==f?void 0:f.codec),g=null==f?void 0:f.levelCodec;u||(u=s[e]={buffer:void 0,listeners:[],codec:n,supplemental:h,container:o,levelCodec:l,metadata:d,id:a});let p=e6(m,g),v=null==p?void 0:p.replace(rb,"$1"),E=e6(n,l),b=null==(r=E)?void 0:r.replace(rb,"$1");E&&p&&v!==b&&("audio"===e.slice(0,5)&&(E=e8(E,this.appendSource)),this.log(`switching codec ${m} to ${E}`),E!==(u.pendingCodec||u.codec)&&(u.pendingCodec=E),u.container=o,this.appendChangeType(e,o,E))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(!(this.bufferCodecEventsTotal>1)||this.tracks.video||t.video||(null==(i=t.audio)?void 0:i.id)!=="main"||(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks()))}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(e,t,i){let s=`${t};codecs=${i}`,r={label:`change-type=${s}`,execute:()=>{let r=this.tracks[e];if(r){let a=r.buffer;null!=a&&a.changeType&&(this.log(`changing ${e} sourceBuffer type to ${s}`),a.changeType(s),r.codec=i,r.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};this.append(r,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;let i=e.start,s=i+.05*e.duration;if((null==(t=this.fragmentTracker.getAppendedFrag(i,ei))?void 0:t.gap)===!0)return;let r={label:"block-audio",execute:()=>{var e;let t=this.tracks.video;(this.lastVideoAppendEnd>s||null!=t&&t.buffer&&tJ.isBuffered(t.buffer,s)||(null==(e=this.fragmentTracker.getAppendedFrag(s,ei))?void 0:e.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}};this.blockedAudioAppend={op:r,frag:e},this.append(r,"audio",!0)}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){let{tracks:i}=this,{data:s,type:r,parent:a,frag:n,part:l,chunkMeta:o,offset:d}=t,h=o.buffering[r],{sn:u,cc:c}=n,f=self.performance.now();h.start=f;let m=n.stats.buffering,g=l?l.stats.buffering:null;0===m.start&&(m.start=f),g&&0===g.start&&(g.start=f);let p=i.audio,v=!1;"audio"===r&&(null==p?void 0:p.container)==="audio/mpeg"&&(v=!this.lastMpegAudioChunk||1===o.id||this.lastMpegAudioChunk.sn!==o.sn,this.lastMpegAudioChunk=o);let E=i.video,b=null==E?void 0:E.buffer;if(b&&"initSegment"!==u){let e=l||n,t=this.blockedAudioAppend;if("audio"!==r||"main"===a||this.blockedAudioAppend||E.ending||E.ended){if("video"===r){let i=e.end;if(t){let e=t.frag.start;(i>e||i<this.lastVideoAppendEnd||tJ.isBuffered(b,e))&&this.unblockAudio()}this.lastVideoAppendEnd=i}}else{let t=e.start+.05*e.duration,i=b.buffered,s=this.currentOp("video");(i.length||s)&&(s||tJ.isBuffered(b,t)||!(this.lastVideoAppendEnd<t))||this.blockAudio(e)}}let y=(l||n).start,T={label:`append-${r}`,execute:()=>{var e;h.executeStart=self.performance.now();let t=null==(e=this.tracks[r])?void 0:e.buffer;t&&(v?this.updateTimestampOffset(t,y,.1,r,u,c):void 0!==d&&j(d)&&this.updateTimestampOffset(t,d,1e-6,r,u,c)),this.appendExecutor(s,r)},onStart:()=>{},onComplete:()=>{let e=self.performance.now();h.executeEnd=h.end=e,0===m.first&&(m.first=e),g&&0===g.first&&(g.first=e);let t={};
71this.sourceBuffers.forEach(([e,i])=>{e&&(t[e]=tJ.getBuffered(i))}),this.appendErrors[r]=0,"audio"===r||"video"===r?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(X.BUFFER_APPENDED,{type:r,frag:n,part:l,chunkMeta:o,parent:n.type,timeRanges:t})},onError:e=>{var t;let i={type:Q.MEDIA_ERROR,parent:n.type,details:z.BUFFER_APPEND_ERROR,sourceBufferName:r,frag:n,part:l,chunkMeta:o,error:e,err:e,fatal:!1},s=null==(t=this.media)?void 0:t.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e)i.details=z.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!s)i.errorAction=tx(!0);else if(e.name===ry&&0===this.sourceBufferCount)i.errorAction=tx(!0);else{let e=++this.appendErrors[r];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${r}" sourceBuffer (${s||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||s)&&(i.fatal=!0)}this.hls.trigger(X.ERROR,i)}};this.log(`queuing "${r}" append sn: ${u}${l?" p: "+l.index:""} of ${n.type===ei?"level":"track"} ${n.level} cc: ${c}`),this.append(T,r,this.isPending(this.tracks[r]))}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(X.BUFFER_FLUSHED,{type:e})},onError:s=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,s)}}}onBufferFlushing(e,t){let{type:i,startOffset:s,endOffset:r}=t;i?this.append(this.getFlushOp(i,s,r),i):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,s,r),e)})}onFragParsed(e,t){let{frag:i,part:s}=t,r=[],a=s?s.elementaryStreams:i.elementaryStreams;a[ek]?r.push("audiovideo"):(a[eI]&&r.push("audio"),a[eL]&&r.push("video"));let n=()=>{let e=self.performance.now();i.stats.buffering.end=e,s&&(s.stats.buffering.end=e);let t=s?s.stats:i.stats;this.hls.trigger(X.FRAG_BUFFERED,{frag:i,part:s,stats:t,id:i.type})};0===r.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(n,r).catch(e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([e])=>{if(e){let i=this.tracks[e];(!t.type||t.type===e)&&(i.ending=!0,i.ended||(i.ended=!0,this.log(`${e} buffer reached EOS`)))}});let s=(null==(i=this.overrides)?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t;return e&&!(null!=(t=this.tracks[e])&&t.ended)})?s?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:e}=this;if(!e||"open"!==e.readyState){e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(X.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(X.BUFFERED_TO_END,void 0)):"video"===t.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(null!==e){let t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===z.BUFFER_APPEND_ERROR&&t.frag){var i;let e=null==(i=t.errorAction)?void 0:i.nextAutoLevel;j(e)&&e!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||null===t||!this.sourceBufferCount)return;let s=e.config,r=i.currentTime,a=t.levelTargetDuration,n=t.live&&null!==s.liveBackBufferLength?s.liveBackBufferLength:s.backBufferLength;if(j(n)&&n>=0){let e=Math.max(n,a),t=Math.floor(r/a)*a-e;this.flushBackBuffer(r,a,t)}let l=s.frontBufferFlushThreshold;if(j(l)&&l>0){let e=Math.max(Math.max(s.maxBufferLength,l),a),t=Math.floor(r/a)*a+e;this.flushFrontBuffer(r,a,t)}}
71flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([e,t])=>{if(t){let r=tJ.getBuffered(t);if(r.length>0&&i>r.start(0)){var s;this.hls.trigger(X.BACK_BUFFER_REACHED,{bufferEnd:i});let t=this.tracks[e];if(null!=(s=this.details)&&s.live)this.hls.trigger(X.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:e})}}})}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([t,s])=>{if(s){let r=tJ.getBuffered(s),a=r.length;if(a<2)return;let n=r.start(a-1),l=r.end(a-1);i>n||e>=n&&e<=l||this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:t})}})}getDurationAndRange(){var e;let{details:t,mediaSource:i}=this;if(!t||!this.media||(null==i?void 0:i.readyState)!=="open")return null;let s=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&i.setLiveSeekableRange){let e=Math.max(0,t.fragmentStart),i=Math.max(e,s);return{duration:1/0,start:e,end:i}}return{duration:1/0}}let r=null==(e=this.overrides)?void 0:e.duration;if(r)return j(r)?{duration:r}:null;let a=this.media.duration;return s>(j(i.duration)?i.duration:0)&&s>a||!j(a)?{duration:s}:null}updateMediaSource({duration:e,start:t,end:i}){let s=this.mediaSource;this.media&&s&&"open"===s.readyState&&(s.duration!==e&&(j(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),s.duration=e),void 0!==t&&void 0!==i&&(this.log(`MediaSource duration is set to ${s.duration}. Setting seekable range to ${t}-${i}.`),s.setLiveSeekableRange(t,i)))}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${tc(i)}`),this.tracksReady){var s;let e=null==(s=this.transferData)?void 0:s.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,i])=>{if(t){let s=this.tracks[t];e[t]={buffer:i,container:s.container,codec:s.codec,supplemental:s.supplemental,levelCodec:s.levelCodec,id:s.id,metadata:s.metadata}}}),this.hls.trigger(X.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let r in e){let a=e[r];if(this.isPending(a)){let e=this.getTrackCodec(a,r),n=`${a.container};codecs=${e}`;a.codec=e,this.log(`creating sourceBuffer(${n})${this.currentOp(r)?" Queued":""} ${tc(a)}`);try{let e=i.addSourceBuffer(n),s=rS(r),l=[r,e];t[s]=l,a.buffer=e}catch(e){var s;this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(r),null==(s=this.operationQueue)||s.removeBlockers(),delete this.tracks[r],this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:r,mimeType:n,parent:a.id});return}this.trackSourceBuffer(r,a)}}this.bufferCreated()}getTrackCodec(e,t){let i=e.supplemental,s=e.codec;i&&("video"===t||"audiovideo"===t)&&eJ(i,"video")&&(s=function(e,t){let i=[];if(e){let t=e.split(",");for(let e=0;e<t.length;e++)eZ(t[e],"video")||i.push(t[e])}return t&&i.push(t),i.join(",")}(s,i));let r=e6(s,e.levelCodec);return r?"audio"===t.slice(0,5)?e8(r,this.appendSource):r:""}trackSourceBuffer(e,t){let i=t.buffer;if(!i)return;let s=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:s,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(e,t)=>{let i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(X.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t;let i=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==i?void 0:i.src}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if((null==(t=this.mediaSource)?void 0:t.readyState)==="closed")return void this.resetBuffer(e);let i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i;let s=Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${s}`,t),this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let r=this.currentOp(e);r&&r.onError(s)}updateTimestampOffset(e,t,i,s,r,a){Math.abs(t-e.timestampOffset)>=i&&(this.log(`Updating ${s} SourceBuffer timestampOffset to ${t} (sn: ${r} cc: ${a})`),e.timestampOffset=t)}removeExecutor(e,t,i){let{media:s,mediaSource:r}=this,a=this.tracks[e],n=null==a?void 0:a.buffer;if(!s||!r||!n){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}let l=j(s.duration)?s.duration:1/0,o=j(r.duration)?r.duration:1/0,d=Math.max(0,t),h=Math.min(i,l,o);h>d&&(!a.ending||a.ended)?(a.ended=!1,this.log(`Removing [${d},${h}] from the ${e} SourceBuffer`),n.remove(d,h)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){let i=this.tracks[t],s=null==i?void 0:i.buffer;if(!s)throw new rT(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,s.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn(`SourceBuffer blocked callback ${e}
71`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:i}=this,s=t.map(e=>this.appendBlocker(e));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(s).then(t=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t;let i=null==(t=this.tracks[e])?void 0:t.buffer;i&&!i.updating&&this.shiftAndExecuteNext(e)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+ +!!this.isPending(this.tracks[t]),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+ +!!t,0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){let s=this.tracks[e];if(!s)return;let r=s.buffer;if(!r)return;let a=i.bind(this,e);s.listeners.push({event:t,listener:a}),r.addEventListener(t,a)}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let i=t.buffer;i&&(t.listeners.forEach(e=>{i.removeEventListener(e.event,e.listener)}),t.listeners.length=0)}},capLevelController:rI,errorController:class extends eh{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(X.ERROR,this.onError,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(X.ERROR,this.onError,this),e.off(X.ERROR,this.onErrorOut,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===ei?e.level:this.getVariantIndex()}getVariantIndex(){var e;let t=this.hls,i=t.currentLevel;return null!=(e=t.loadLevelObj)&&e.details||-1===i?t.loadLevel:i}variantHasKey(e,t){if(e){var i;if(null!=(i=e.details)&&i.hasKey(t))return!0;let s=e.audioGroups;if(s)return this.hls.allAudioTracks.filter(e=>s.indexOf(e.groupId)>=0).some(e=>{var i;return null==(i=e.details)?void 0:i.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s,r;if(t.fatal)return;let a=this.hls,n=t.context;switch(t.details){case z.FRAG_LOAD_ERROR:case z.FRAG_LOAD_TIMEOUT:case z.KEY_LOAD_ERROR:case z.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case z.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap){t.errorAction=tx();return}case z.FRAG_GAP:case z.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=2;return;case z.LEVEL_EMPTY_ERROR:case z.LEVEL_PARSING_ERROR:{let e=t.parent===ei?t.level:a.loadLevel;t.details===z.LEVEL_EMPTY_ERROR&&null!=(s=t.context)&&null!=(s=s.levelDetails)&&s.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case z.LEVEL_LOAD_ERROR:case z.LEVEL_LOAD_TIMEOUT:"number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case z.AUDIO_TRACK_LOAD_ERROR:case z.AUDIO_TRACK_LOAD_TIMEOUT:case z.SUBTITLE_LOAD_ERROR:case z.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let e=a.loadLevelObj;e&&(n.type===ee&&e.hasAudioGroup(n.groupId)||n.type===et&&e.hasSubtitleGroup(n.groupId))&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.loadLevel),t.errorAction.action=2,t.errorAction.flags=1)}return;case z.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:2,flags:2};return;case z.KEY_SYSTEM_SESSION_UPDATE_FAILED:case z.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case z.KEY_SYSTEM_NO_SESSION:t.errorAction={action:2,flags:4};return;
71case z.BUFFER_ADD_CODEC_ERROR:case z.REMUX_ALLOC_ERROR:case z.BUFFER_APPEND_ERROR:t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(r=t.level)?r:a.loadLevel));return;case z.INTERNAL_EXCEPTION:case z.BUFFER_APPENDING_ERROR:case z.BUFFER_FULL_ERROR:case z.LEVEL_SWITCH_ERROR:case z.BUFFER_STALLED_ERROR:case z.BUFFER_SEEK_OVER_HOLE:case z.BUFFER_NUDGE_ON_STALL:t.errorAction=tx();return}t.type===Q.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=tx())}getPlaylistRetryOrSwitchAction(e,t){let i=tM(this.hls.config.playlistLoadPolicy,e),s=this.playlistError++;if(tw(i,s,tL(e),e.response))return{action:5,flags:0,retryConfig:i,retryCount:s};let r=this.getLevelSwitchAction(e,t);return i&&(r.retryConfig=i,r.retryCount=s),r}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:r,keyLoadPolicy:a}=t.config,n=tM(tk(e)?a:r,e),l=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(s&&(e.details!==z.FRAG_GAP&&s.fragmentError++,!tR(e))&&tw(n,l,tL(e),e.response))return{action:5,flags:0,retryConfig:n,retryCount:l};let o=this.getLevelSwitchAction(e,i);return n&&(o.retryConfig=n,o.retryCount=l),o}getLevelSwitchAction(e,t){let i=this.hls;null==t&&(t=i.loadLevel);let s=this.hls.levels[t];if(s){var r,a,n,l;let t=e.details;s.loadError++,t===z.BUFFER_APPEND_ERROR&&s.fragmentError++;let o=-1,{levels:d,loadLevel:h,minAutoLevel:u,maxAutoLevel:c}=i;i.autoLevelEnabled||i.config.preserveManualLevelOnError||(i.loadLevel=-1);let f=null==(r=e.frag)?void 0:r.type,m=(f===es&&t===z.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===z.BUFFER_ADD_CODEC_ERROR||t===z.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:e})=>s.audioCodec!==e),g="video"===e.sourceBufferName&&(t===z.BUFFER_ADD_CODEC_ERROR||t===z.BUFFER_APPEND_ERROR)&&d.some(({codecSet:e,audioCodec:t})=>s.codecSet!==e&&s.audioCodec===t),{type:p,groupId:v}=null!=(a=e.context)?a:{};for(let i=d.length;i--;){let r=(i+h)%d.length;if(r!==h&&r>=u&&r<=c&&0===d[r].loadError){let i=d[r];if(t===z.FRAG_GAP&&f===ei&&e.frag){let t=d[r].details;if(t){let i=tA(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else if(p===ee&&i.hasAudioGroup(v)||p===et&&i.hasSubtitleGroup(v))continue;else if(f===es&&null!=(n=s.audioGroups)&&n.some(e=>i.hasAudioGroup(e))||f===er&&null!=(l=s.subtitleGroups)&&l.some(e=>i.hasSubtitleGroup(e))||m&&s.audioCodec===i.audioCodec||g&&s.codecSet===i.codecSet||!m&&s.codecSet!==i.codecSet)continue;o=r;break}}if(o>-1&&i.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:2,flags:0,nextAutoLevel:o}}return{action:2,flags:1}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case 0:break;case 2:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===z.FRAG_GAP?/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()):t.fatal=!0}if(t.fatal)return void this.hls.stopLoad()}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s}=i,r=i.nextAutoLevel;switch(s){case 0:this.switchLevel(e,r);break;case 2:{let s=this.getVariantLevelIndex(e.frag),r=t.levels[s],a=null==r?void 0:r.attrs["HDCP-LEVEL"];if(i.hdcpLevel=a,"NONE"===a)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(a){t.maxHdcpLevel=tn[tn.indexOf(a)-1],i.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case 4:{let t=e.decryptdata;if(t){let s=this.hls.levels,r=s.length;for(let i=r;i--;)if(this.variantHasKey(s[i],t)){var a,n;this.log(`Banned key found in level ${i} (${s[i].bitrate}bps) or audio group "${null==(a=s[i].audioGroups)?void 0:a.join(",")}" (${null==(n=e.frag)?void 0:n.type} fragment) ${eb(t.keyId||[])}`),s[i].fragmentError++,s[i].loadError++,this.log(`Removing level ${i} with key error (${e.error})`),this.hls.removeLevel(i)}let l=e.frag;if(this.hls.levels.length<r)i.resolved=!0;else if(l&&l.type!==ei){let e=l.decryptdata;e&&!t.matches(e)&&(i.resolved=!0)}}}}i.resolved||this.switchLevel(e,r)}switchLevel(e,t){if(void 0!==t&&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,e.details===z.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&"audiovideo"!==e.sourceBufferName)){let t=te(e.mimeType),i=this.hls.levels;for(let s=i.length;s--;)i[s][`${e.sourceBufferName}Codec`]===t&&(this.log(`Removing level ${s} for ${e.details} ("${t}" not supported)`),this.hls.removeLevel(s))}}},fpsController: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}
71registerListeners(){this.hls.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let e=s-this.lastTime,r=i-this.lastDroppedFrames,a=t-this.lastDecodedFrames,n=1e3*r/e,l=this.hls;if(l.trigger(X.FPS_DROP,{currentDropped:r,currentDecoded:a,totalDroppedFrames:i}),n>0&&r>l.config.fpsDroppedMonitoringThreshold*a){let e=l.currentLevel;l.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===l.autoLevelCapping||l.autoLevelCapping>=e)&&(e-=1,l.trigger(X.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:l.currentLevel}),l.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,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)}},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:iy,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},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}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,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},{cueHandler:nt,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends so{constructor(e,t,i){super(e,t,i,"subt
71itle-stream-controller",er),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=i6,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let i,{frag:s,success:r}=t;if(this.fragContextChanged(s)||(eM(s)&&(this.fragPrevious=s),this.state=i6),!r)return;let a=this.tracksBuffered[this.currentTrackId];if(!a)return;let n=s.start;for(let e=0;e<a.length;e++)if(n>=a[e].start&&n<=a[e].end){i=a[e];break}let l=s.start+s.duration;i?i.end=l:(i={start:n,end:l},a.push(i)),this.fragmentTracker.fragBuffered(s),this.fragBufferedComplete(s,null),this.media&&this.tick()}onBufferFlushing(e,t){let{startOffset:i,endOffset:s}=t;if(0===i&&s!==1/0){let e=s-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach(t=>{for(let i=0;i<t.length;){if(t[i].end<=e){t.shift();continue}if(t[i].start<e)t[i].start=e;else break;i++}}),this.fragmentTracker.removeFragmentsInRange(i,e,er)}}onError(e,t){let i=t.frag;(null==i?void 0:i.type)===er&&(t.details===z.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==i8&&(this.state=i6))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&rg(this.levels,t)){this.levels=t.map(e=>new th(e));return}this.tracksBuffered=[],this.levels=t.map(e=>{let t=new th(e);return this.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,1/0,er),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!(null!=(i=this.levels)&&i.length)||-1===this.currentTrackId)return void this.clearInterval();let s=this.levels[this.currentTrackId];null!=s&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.state!==i8&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i,s;let{currentTrackId:r,levels:a}=this,{details:n,id:l}=t;if(!a)return void this.warn(`Subtitle tracks were reset while loading level ${l}`);let o=a[l];if(l>=a.length||!o)return;this.log(`Subtitle track ${l} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(n.live||null!=(i=o.details)&&i.live){if(n.deltaUpdateFailed)return;let e=this.mainDetails;if(!e){this.startFragRequested=!1;return}let t=e.fragments[0];o.details?0===(d=this.alignPlaylists(n,o.details,null==(s=this.levelLastLoaded)?void 0:s.details))&&t&&iK(n,d=t.start):n.hasProgramDateTime&&e.hasProgramDateTime?(i2(n,e),d=n.fragmentStart):t&&iK(n,d=t.start),e&&!this.startFragRequested&&this.setStartPosition(e,d)}o.details=n,this.levelLastLoaded=o,l===r&&(this.hls.trigger(X.SUBTITLE_TRACK_UPDATED,{details:n,id:l,groupId:t.groupId}),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===i6&&(tA(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),o.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,s=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&null!=s&&s.key&&s.iv&&ie(s.method)){let e=performance.now();
71this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer,it(s.method)).catch(e=>{throw r.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e}).then(i=>{let s=performance.now();r.trigger(X.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:s}})}).catch(e=>{this.warn(`${e.name}: ${e.message}`),this.state=i6})}}doTick(){if(!this.media){this.state=i6;return}if(this.state===i6){let{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;let{config:s}=this,r=this.getLoadPosition(),{end:a,len:n}=tJ.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,s.maxBufferHole),l=i.details;if(n>this.hls.maxBufferLength+l.levelTargetDuration)return;let o=l.fragments,d=o.length,h=l.edge,u=null,c=this.fragPrevious;if(a<h){let e=s.maxFragLookUpTolerance;(u=tA(c,o,Math.max(o[0].start,a),a>h-e?0:e))||!c||!(c.start<o[0].start)||(u=o[0])}else u=o[d-1];if(!(u=this.filterReplacedPrimary(u,i.details)))return;let f=o[u.sn-l.startSN-1];if(f&&f.cc===u.cc&&this.fragmentTracker.getState(f)===tP&&(u=f),this.fragmentTracker.getState(u)===tP){let e=this.mapToInitFragWhenRequired(u);e&&this.loadFragment(e,i,a)}}}loadFragment(e,t,i){eM(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new ay(this.tracksBuffered[this.currentTrackId]||[])}},subtitleTrackController:class extends rm{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.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null,t=an(this.media.textTracks);for(let i=0;i<t.length;i++)if("hidden"===t[i].mode)e=t[i];else if("showing"===t[i].mode){e=t[i];break}let i=this.findTrackForTextTrack(e);this.subtitleTrack!==i&&this.setSubtitleTrack(i)},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(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(X.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(e,t){let i=this.media;if(!i)return;let s=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,s||an(i.textTracks).forEac
71h(e=>{ar(e)})}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:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Subtitle track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);let n=a.details;a.details=t.details,this.log(`Subtitle track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}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 i=t.subtitleGroups||null,s=this.groupIds,r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==s?void 0:s.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.subtitlePreference;if(!r&&t){this.selectDefaultTrack=!1;let i=tp(t,e);if(i>-1)r=e[i];else{let e=tp(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null)),this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(X.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:e}),-1!==s&&-1===this.trackId&&this.setSubtitleTrack(s)}}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let r=t[s];if((!i||r.default)&&(i||e)&&(!e||tv(r,e)))return s}if(e){for(let i=0;i<t.length;i++){let s=t[i];if(rp(e.attrs,s.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let s=t[i];if(rp(e.attrs,s.attrs,["LANGUAGE"]))return i}}return -1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++)if(rv(t[i],e))return i}return -1}onError(e,t){!t.fatal&&t.context&&(t.context.type!==et||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||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){if(-1===e.id)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&tv(e,i))return i;let s=tp(e,this.tracksInGroup);if(s>-1){let e=this.tracksInGroup[s];return this.setSubtitleTrack(s),e}{if(i)return null;let s=tp(e,t);if(s>-1)return t[s]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,s=e.groupId,r=this.getUrlWithDirectives(e.url,t),a=e.details,n=null==a?void 0:a.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${s}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&a.live?" age "+n.toFixed(1)+(a.type?" "+a.type:""):""} ${r}`),this.hls.trigger(X.SUBTITLE_TRACK_LOADING,{url:r,id:i,groupId:s,deliveryDirectives:t||null,track:e})}toggleTrackModes(){let e,{media:t}=this;if(!t)return;let i=an(t.textTracks),s=this.currentTrack;if(s&&((e=i.filter(e=>rv(s,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${s.name}" and language "${s.lang}"`)),[].slice.call(i).forEach(t=>{"disabled"!==t.mode&&t!==e&&(t.mode="disabled")}),e){let t=this.subtitleDisplay?"showing":"hidden";e.mode!==t&&(e.mode=t)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!j(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s)return void this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:e});let r=!!s.details&&!s.details.live;if(e===this.trackId&&s===i&&r)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:n="",name:l,type:o,url:d}=s;this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:a,groupId:n,name:l,type:o,url:d});let h=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(h)}},timelineController: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=a7(),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}}
71,e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new a8(this,"textTrack1"),t=new a8(this,"textTrack2"),i=new a8(this,"textTrack3"),s=new a8(this,"textTrack4");this.cea608Parser1=new aO(1,e,t),this.cea608Parser2=new aO(3,i,s)}addCues(e,t,i,s,r){let a=!1;for(let e=r.length;e--;){var n,l;let s=r[e],o=(n=s[0],l=s[1],Math.min(l,i)-Math.max(n,t));if(o>=0&&(s[0]=Math.min(s[0],t),s[1]=Math.max(s[1],i),a=!0,o/(i-t)>.5))return}if(a||r.push([t,i]),this.config.renderTextTracksNatively){let r=this.captionsTracks[e];this.Cues.newCue(r,t,i,s)}else{let r=this.Cues.newCue(null,t,i,s);this.hls.trigger(X.CUES_PARSED,{type:"captions",cues:r,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:r,trackId:a}){let{unparsedVttFrags:n}=this;i===ei&&(this.initPTS[t.cc]={baseTime:s,timescale:r,trackId:a}),n.length&&(this.unparsedVttFrags=[],n.forEach(e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(X.FRAG_LOADED,e):this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let s=0;s<i.textTracks.length;s++){let r=i.textTracks[s];if(a9(r,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return r}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:r,languageCode:a}=t[e],n=this.getExistingTrack(r,a);if(n)i[e]=n,ar(i[e]),ai(i[e],s);else{let t=this.createTextTrack("captions",r,a);t&&(t[e]=!0,i[e]=t)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(X.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(e,t,i){let s=this.media;if(s)return s.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){let i=!!t.transferMedia;if(this.media=null,i)return;let{captionsTracks:s}=this;Object.keys(s).forEach(e=>{ar(s[e]),delete s[e]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=a7(),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 e=0;e<t.length;e++)ar(t[e])}
71onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(e=>e.textCodec===az);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(rg(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let e=this.media,t=e?an(e.textTracks):null;if(this.tracks.forEach((e,i)=>{let s;if(t){let i=null;for(let s=0;s<t.length;s++)if(t[s]&&a9(t[s],e)){i=t[s],t[s]=null;break}i&&(s=i)}if(s)ar(s);else{let t=a6(e);(s=this.createTextTrack(t,e.name,e.lang))&&(s.mode="disabled")}s&&this.textTracks.push(s)}),null!=t&&t.length){let e=t.filter(e=>null!==e).map(e=>e.label);e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let e=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}));this.hls.trigger(X.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{let t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;let i=`textTrack${t[1]}`,s=this.captionsProperties[i];s&&(s.label=e.name,e.lang&&(s.languageCode=e.lang),s.media=e)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===ei){var i,s;let{cea608Parser1:e,cea608Parser2:r,lastSn:a}=this,{cc:n,sn:l}=t.frag,o=null!=(i=null==(s=t.part)?void 0:s.index)?i:-1;e&&r&&(l!==a+1||l===a&&o!==this.lastPartIndex+1||n!==this.lastCc)&&(e.reset(),r.reset()),this.lastCc=n,this.lastSn=l,this.lastPartIndex=o}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===er)if(s.byteLength){let e=i.decryptdata,r="stats"in t;if(null==e||!e.encrypted||r){let e=this.tracks[i.level],r=this.vttCCs;r[i.cc]||(r[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===az?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;a0(t,this.initPTS[e.cc],t=>{this._appendCues(t,e.level),i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},t=>{i.logger.log(`Failed to parse IMSC1: ${t}`),i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})}_parseVTTs(e){var t,i,s,r,a,n,l,o;let d,h,u,c,f,m,g,p,v,{frag:E,payload:b}=e,{initPTS:y,unparsedVttFrags:T}=this,A=y.length-1;if(!y[E.cc]&&-1===A)return void T.push(e);let S=this.hls;i=null!=(t=E.initSegment)&&t.data?ej(E.initSegment.data,new Uint8Array(b)).buffer:b,s=this.initPTS[E.cc],r=this.vttCCs,a=E.cc,n=E.start,l=e=>{this._appendCues(e,E.level),S.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:E})},o=t=>{let i="Missing initPTS for VTT MPEGTS"===t.message;i?T.push(e):this._fallbackToIMSC1(E,b),S.logger.log(`Failed to parse VTT cue: ${t}`),i&&A>E.cc||S.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:E,error:t})},h=new aW,u=eE(new Uint8Array(i)).trim().replace(aK,"\n").split("\n"),c=[],f=s?function(e,t=1){return s4(e,9e4,1/t)}(s.baseTime,s.timescale):0,m="00:00.000",g=0,p=0,v=!0,h.oncue=function(e){let t=r[a],i=r.ccOffset,l=(g-f)/9e4;if(null!=t&&t.new&&(void 0!==p?i=r.ccOffset=t.start:aQ(r,a,l)),l){if(!s){d=Error("Missing initPTS for VTT MPEGTS");return}i=l-r.presentationOffset}let o=e.endTime-e.startTime,h=rt((e.startTime+i-p)*9e4,9e4*n)/9e4;e.startTime=Math.max(h,0),e.endTime=Math.max(h+o,0);let u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=aY(e.startTime,e.endTime,u)),e.endTime>0&&c.push(e)},h.onparsingerror=function(e){d=e},h.onflush=function(){d?o(d):l(c)},u.forEach(e=>{if(v)if(aj(e,"X-TIMESTAMP-MAP=")){v=!1,e.slice(16).split(",").forEach(e=>{aj(e,"LOCAL:")?m=e.slice(6):aj(e,"MPEGTS:")&&(g=parseInt(e.slice(7)))});try{p=aq(m)/1e3}catch(e){d=e}return}else""===e&&(v=!1);h.parse(e+"\n")}),h.flush()}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||a0(t,this.initPTS[e.cc],()=>{i.textCodec=az,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let i=this.textTracks[t];if(!i||"disabled"===i.mode)return;
71e.forEach(e=>as(i,e))}else{let s=this.tracks[t];if(!s)return;let r=s.default?"default":"subtitles"+t;i.trigger(X.CUES_PARSED,{type:"subtitles",cues:e,track:r})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===er&&this.onFragLoaded(X.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:i,samples:s}=t;if(i.type!==ei||"NONE"!==this.closedCaptionsForLevel(i))for(let e=0;e<s.length;e++){let t=s[e].bytes;if(t){this.cea608Parser1||this.initCea608Parsers();let i=this.extractCea608Data(t);this.cea608Parser1.addData(s[e].pts,i[0]),this.cea608Parser2.addData(s[e].pts,i[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:r}){let{media:a}=this;if(a&&!(a.currentTime<i)){if(!r||"video"===r){let{captionsTracks:e}=this;Object.keys(e).forEach(s=>aa(e[s],t,i))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==s){let{textTracks:e}=this;Object.keys(e).forEach(i=>aa(e[i],t,s))}}}extractCea608Data(e){let t=[[],[]],i=31&e[0],s=2;for(let r=0;r<i;r++){let i=e[s++],r=127&e[s++],a=127&e[s++];if((0!==r||0!==a)&&(4&i)!=0){let e=3&i;(0===e||1===e)&&(t[e].push(r),t[e].push(a))}}return t}},audioStreamController:class extends so{constructor(e,t,i){super(e,t,i,"audio-stream-controller",es),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!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.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.BUFFER_RESET,this.onBufferReset,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.BUFFER_RESET,this.onBufferReset,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:r,trackId:a}){if(i===ei){let e=t.cc,i=this.fragCurrent;if(this.initPTS[e]={baseTime:s,timescale:r,trackId:a},this.log(`InitPTS for cc: ${e} found from main: ${s/r} (${s}/${r}) trackId: ${a}`),this.mainAnchor=t,this.state===sn){let i=this.waitingData;(i||this.loadingParts)&&(!i||i.frag.cc===e)||this.syncWithAnchor(t,null==i?void 0:i.frag)}else!this.hls.hasEnoughToStart&&i&&i.cc!==e?(i.abortRequests(),this.syncWithAnchor(t,i)):this.state===i6&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i;let s=(null==(i=this.mainFragLoading)?void 0:i.frag)||null;if(t&&(null==s?void 0:s.cc)===t.cc)return;let r=(s||e).cc,a=tI(this.getLevelDetails(),r,this.getLoadPosition());a&&(this.log(`Syncing with main frag at ${a.start} cc ${a.cc}`),this.startFragRequested=!1,this.nextLoadPosition=a.start,this.resetLoadingState(),this.state===i6&&this.doTickIdle())}
71startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=i8;return}let i=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),i>0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=i6):this.state=st,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case i6:this.doTickIdle();break;case st:{let{levels:e,trackId:t}=this,i=null==e?void 0:e[t],s=null==i?void 0:i.details;if(s&&!this.waitForLive(i)){if(this.waitForCdnTuneIn(s))break;this.state=sn}break}case se:this.checkRetryDate();break;case sn:{let e=this.waitingData;if(e){let{frag:t,part:i,cache:s,complete:r}=e,a=this.mainAnchor;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.state=i7;let e={frag:t,part:i,payload:s.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),r&&super._handleFragmentLoadComplete(e)}else a&&a.cc!==e.frag.cc&&this.syncWithAnchor(a,e.frag)}else this.state=i6}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){let{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;let{hls:t,levels:i,media:s,trackId:r}=this,a=t.config;if(!this.buffering||!s&&!this.primaryPrefetch&&(this.startFragRequested||!a.startFragPrefetch)||!(null!=i&&i[r]))return;let n=i[r],l=n.details;if(!l||this.waitForLive(n)||this.waitForCdnTuneIn(l)){this.state=st,this.startFragRequested=!1;return}let o=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&o&&(this.bufferFlushed=!1,this.afterBufferFlushed(o,eI,es));let d=this.getFwdBufferInfo(o,es);if(null===d)return;if(!this.switchingTrack&&this._streamEnded(d,l)){t.trigger(X.BUFFER_EOS,{type:"audio"}),this.state=sr;return}let h=d.len,u=t.maxBufferLength,c=l.fragments,f=c[0].start,m=this.getLoadPosition(),g=this.flushing?m:d.end;if(this.switchingTrack&&s&&l.PTSKnown&&m<f&&(d.end>f||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),s.currentTime=f+.05),h>=u&&!this.switchingTrack&&g<c[c.length-1].start)return;let p=this.getNextFragment(g,l);if(p&&this.isLoopLoading(p,g)&&(p=this.getNextFragmentLoopLoading(p,l,d,ei,u)),!p){this.bufferFlushed=!0;return}let v=(null==(e=this.mainFragLoading)?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&v&&eM(p)&&!p.endList&&(!l.live||!this.loadingParts&&g<this.hls.liveSyncPosition)&&("OK"===this.fragmentTracker.getState(v)&&(this.mainFragLoading=v=null),v&&eM(v))){if(p.start>v.end){let e=this.fragmentTracker.getFragAtPos(g,ei);e&&e.end>v.end&&(v=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(p.start>v.end)return}this.loadFragment(p,n,g)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new th(e))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==i8&&(this.setInterval(100),this.state=i6,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;let i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(X.AUDIO_TRACK_LOADED,i))}onAudioTrackLoaded(e,t){var i,s;let{levels:r}=this,{details:a,id:n,groupId:l,track:o}=t;if(!r)return void this.warn(`Audio tracks reset while loading track ${n} "${o.name}" of "${l}"`);let d=this.mainDetails;if(!d||a.endCC>d.endCC||d.expired){this.cachedTrackLoadedData=t,this.state!==i8&&(this.state=st);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${n} "${o.name}" of "${l}" loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`);let h=r[n],u=0;if(a.live||null!=(i=h.details)&&i.live){if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;h.details&&(u=this.alignPlaylists(a,h.details,null==(s=this.levelLastLoaded)?void 0:s.details)),a.alignedSliding||(i1(a,d),a.alignedSliding||i2(a,d),u=a.fragmentStart)}h.details=a,this.levelLastLoaded=h,this.startFragRequested||this.setStartPosition(d,u),this.hls.trigger(X.AUDIO_TRACK_UPDATED,{details:a,id:n,groupId:t.groupId}),this.state!==st||this.waitForCdnTuneIn(a)||(this.state=i6),this.tick()}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:s,payload:r}
71=e,{config:a,trackId:n,levels:l}=this;if(!l)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let o=l[n];if(!o)return void this.warn("Audio track is undefined on fragment load progress");let d=o.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let h=a.defaultAudioCodec||o.audioCodec||"mp4a.40.2",u=this.transmuxer;u||(u=this.transmuxer=new rf(this.hls,es,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let c=this.initPTS[i.cc],f=null==(t=i.initSegment)?void 0:t.data;if(void 0!==c){let e=s?s.index:-1,t=new tz(i.level,i.sn,i.stats.chunkCount,r.byteLength,e,-1!==e);u.push(r,f,h,"",i,s,d.totalduration,!1,t,c)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${n}`);let{cache:e}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new sh,complete:!1};e.push(new Uint8Array(r)),this.state!==i8&&(this.state=sn)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===ei&&eM(t.frag)&&(this.mainFragLoading=t,this.state===i6&&this.tick())}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i.type!==es){this.audioOnly||i.type!==ei||i.elementaryStreams.video||i.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(i))return void this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);if(eM(i)){this.fragPrevious=i;let e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(X.AUDIO_TRACK_SWITCHED,ed({},e)))}this.fragBufferedComplete(i,s),this.media&&this.tick()}onError(e,t){var i;if(t.fatal){this.state=sa;return}switch(t.details){case z.FRAG_GAP:case z.FRAG_PARSING_ERROR:case z.FRAG_DECRYPT_ERROR:case z.FRAG_LOAD_ERROR:case z.FRAG_LOAD_TIMEOUT:case z.KEY_LOAD_ERROR:case z.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(es,t);break;case z.AUDIO_TRACK_LOAD_ERROR:case z.AUDIO_TRACK_LOAD_TIMEOUT:case z.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==st||(null==(i=t.context)?void 0:i.type)!==ee||(this.state=i6);break;case z.BUFFER_ADD_CODEC_ERROR:case z.BUFFER_APPEND_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case z.BUFFER_FULL_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,1/0,"audio"));break;case z.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==eL&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==eL){this.flushing=!1,this.bufferFlushed=!0,this.state===sr&&(this.state=i6);let e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,es),this.tick())}}_handleTransmuxComplete(e){var t;let i="audio",{hls:s}=this,{remuxResult:r,chunkMeta:a}=e,n=this.getCurrentContext(a);if(!n)return void this.resetWhenMissingContext(a);let{frag:l,part:o,level:d}=n,{details:h}=d,{audio:u,text:c,id3:f,initSegment:m}=r;if(this.fragContextChanged(l)||!h)return void this.fragmentTracker.removeFragment(l);if(this.state=si,this.switchingTrack&&u&&this.completeAudioSwitch(this.switchingTrack),null!=m&&m.tracks){let e=l.initSegment||l;if(this.unhandledEncryptionError(m,l))return;this._bufferInitSegment(d,m.tracks,e,a),s.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:m.tracks})}if(u){let{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=u;o&&(o.elementaryStreams[eI]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),l.setElementaryStreamInfo(eI,e,t,i,s),this.bufferFragmentData(u,l,o,a)}if(null!=f&&null!=(t=f.samples)&&t.length){let e=el({id:i,frag:l,details:h},f);s.trigger(X.FRAG_PARSING_METADATA,e)}if(c){let e=el({id:i,frag:l,details:h},c);s.trigger(X.FRAG_PARSING_USERDATA,e)}}_bufferInitSegment(e,t,i,s){if(this.state!==si||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let r=t.audio;r.id=es;let a=e.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),a&&1===a.split(",").length&&(r.levelCodec=a),this.hls.trigger(X.BUFFER_CODECS,t);let n=r.initSegment;if(null!=n&&n.byteLength){let e={type:"audio",frag:i,part:null,chunkMeta:s,parent:i.type,data:n};this.hls.trigger(X.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);if(this.switchingTrack||s===tP||s===tU){var r;if(eM(e))if(null!=(r=t.details)&&r.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=sn;let i=this.mainDetails;i&&i.fragmentStart!==t.details.fragmentStart&&i2(t.details,i)}else super.loadFragment(e,t,i);else this._loadInitSegment(e,t)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:i,assocLang:s,characteristics:r,audioCodec:a,channels:n}=this.bufferedTrack;tv({name:t,lang:i,assocLang:s,characteristics:r,audioCodec:a,channels:n},e,tE)||(ty(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,1/0,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(X.AUDIO_TRACK_SWITCHED,ed({},e))}},audioTrackController:class extends rm{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(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.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:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Audio track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);let n=a.details;a.details=t.details,this.log(`Audio track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}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 i=t.audioGroups||null,s=this.groupIds,r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==s?void 0:s.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>
71{e.id=t});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.audioPreference;if(!r&&t){let i=tp(t,e,tE);if(i>-1)r=e[i];else{let e=tp(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null)),this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(X.AUDIO_TRACKS_UPDATED,{audioTracks:e});let n=this.trackId;if(-1!==s&&-1===n)this.setAudioTrack(s);else if(e.length&&-1===n){var a;let t=Error(`No audio track selected for current audio group-ID(s): ${null==(a=this.groupIds)?void 0:a.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}}onError(e,t){!t.fatal&&t.context&&(t.context.type!==ee||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||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;
71if(this.selectDefaultTrack=!1,r.length){let a=this.currentTrack;if(a&&tv(e,a,tE))return a;let n=tp(e,this.tracksInGroup,tE);if(n>-1){let e=this.tracksInGroup[n];return this.setAudioTrack(n),e}if(a){var i,s;let a,n,l,o,d,h,u=t.loadLevel;-1===u&&(u=t.firstAutoLevel);let c=(i=t.levels,a=i[s=u],(n=i.reduce((e,t,i)=>{let s=t.uri;return(e[s]||(e[s]=[])).push(i),e},{})[a.uri]).length>1&&(s=Math.max.apply(Math,n)),l=a.videoRange,o=a.frameRate,d=a.codecSet.substring(0,4),(h=tb(i,s,t=>{if(t.videoRange!==l||t.frameRate!==o||t.codecSet.substring(0,4)!==d)return!1;let i=t.audioGroups;return tp(e,r.filter(e=>!i||-1!==i.indexOf(e.groupId)),tE)>-1}))>-1?h:tb(i,s,t=>{let i=t.audioGroups;return tp(e,r.filter(e=>!i||-1!==i.indexOf(e.groupId)),tE)>-1}));if(-1===c)return null;t.nextLoadLevel=c}if(e.channels||e.audioCodec){let t=tp(e,r);if(t>-1)return r[t]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,s=t[e],r=s.details&&!s.details.live;if(e===this.trackId&&s===i&&r||(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(X.AUDIO_TRACK_SWITCHING,ed({},s)),r))return;let a=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if((!this.selectDefaultTrack||s.default)&&(!e||tv(e,s,tE)))return i}if(e){let{name:i,lang:s,assocLang:r,characteristics:a,audioCodec:n,channels:l}=e;for(let e=0;e<t.length;e++)if(tv({name:i,lang:s,assocLang:r,characteristics:a,audioCodec:n,channels:l},t[e],tE))return e;for(let i=0;i<t.length;i++){let s=t[i];if(rp(e.attrs,s.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let s=t[i];if(rp(e.attrs,s.attrs,["LANGUAGE"]))return i}}return -1}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&ty(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,s=e.groupId,r=this.getUrlWithDirectives(e.url,t),a=e.details,n=null==a?void 0:a.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${s}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&a.live?" age "+n.toFixed(1)+(a.type?" "+a.type:""):""} ${r}`),this.hls.trigger(X.AUDIO_TRACK_LOADING,{url:r,id:i,groupId:s,deliveryDirectives:t||null,track:e})}},emeController:r9,cmcdController: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=e=>{try{this.apply(e,{ot:"m",su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{let{frag:t,part:i}=e,s=this.hls.levels[t.level],r=this.getObjectType(t),a={d:1e3*(i||t).duration,ot:r};("v"===r||"a"===r||"av"==r)&&(a.br=s.bitrate/1e3,a.tb=this.getTopBandwidth(r)/1e3,a.bl=this.getBufferLength(r));let n=i?this.getNextPart(i):this.getNextFrag(t);null!=n&&n.url&&n.url!==t.url&&(a.nor=n.url),this.apply(e,a)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHED,this.onMediaDetached,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHED,this.onMediaDetached,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=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 i,s;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(s=t.tracks.video)?void 0:s.buffer}createData(){var e;return{v:1,sf:"h",sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){el(t,this.createData());let i="i"===t.ot||"v"===t.ot||"av"===t.ot;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((e,i)=>(s.includes(i)&&(e[i]=t[i]),e),{}));let r={baseUrl:e.url};if(this.useHeaders){var a;e.headers||(e.headers={}),a=e.headers,el(a,function(e,t={}){let i={};return e?Object.entries(function(e,t){let i={};if(!e)return i;let s=Object.keys(e),r=t?Object.keys(t).reduce((e,i)=>{var s;
71return null==(s=t[i])||s.forEach(t=>e[t]=i),e},{}):{};return s.reduce((t,i)=>{var s;let a=rH[i]||r[i]||rF;return(null!=(s=t[a])?s:t[a]={})[i]=e[i],t},i)}(r4(e,t),null==t?void 0:t.customHeaderMap)).reduce((e,[t,i])=>{let s=rU(i,{whitespace:!1});return s&&(e[t]=s),e},i):i}(t,r))}else e.url=function(e,t,i){let s=function(e,t={}){if(!e)return"";let i=function(e,t={}){return e?encodeURIComponent(function(e,t={}){return e?rU(r4(e,t),{whitespace:!1}):""}(e,t)):""}(e,t);return`CMCD=${i}`}(t,i);if(!s)return e;if(r5.test(e))return e.replace(r5,s);let r=e.includes("?")?"&":"?";return`${e}${r}${s}`}(e.url,t,r)}getNextFrag(e){var t;let i=null==(t=this.hls.levels[e.level])?void 0:t.details;if(i){let t=e.sn-i.startSN;return i.fragments[t+1]}}getNextPart(e){var t;let{index:i,fragment:s}=e,r=null==(t=this.hls.levels[s.level])||null==(t=t.details)?void 0:t.partList;if(r){let{sn:e}=s;for(let t=r.length-1;t>=0;t--){let s=r[t];if(s.index===i&&s.fragment.sn===e)return r[t+1]}}}getObjectType(e){let{type:t}=e;return"subtitle"===t?"tt":"initSegment"===e.sn?"i":"audio"===t?"a":"main"===t?this.hls.audioTracks.length?"v":"av":void 0}getTopBandwidth(e){let t,i=0,s=this.hls;if("a"===e)t=s.audioTracks;else{let e=s.maxAutoLevel,i=e>-1?e+1:s.levels.length;t=s.levels.slice(0,i)}return t.forEach(e=>{e.bitrate>i&&(i=e.bitrate)}),i>0?i:NaN}getBufferLength(e){let t=this.media,i="a"===e?this.audioBuffer:this.videoBuffer;return i&&t?1e3*tJ.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len:NaN}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}},contentSteeringController:class extends eh{constructor(e){super("content-steering",e.logger),this.hls=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.registerListeners()}registerListeners(){let e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(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(t=>t!==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:i}=t;null!==i&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((null==i?void 0:i.action)===2&&1===i.flags){let e=this.levels,s=this._pathwayPriority,r=this.pathwayId;if(t.context){let{groupId:i,pathwayId:s,type:a}=t.context;i&&e?r=this.getPathwayForGroupId(i,a,r):s&&(r=s)}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!s&&e&&(s=this.pathways()),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==r),t.details!==z.BUFFER_APPEND_ERROR||t.fatal?i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${r} levels: ${e?e.length:e} priorities: ${tc(s)} penalized: ${tc(this.penalizedPathways)}`):i.resolved=!0}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){let t;this._pathwayPriority=e;let i=this.penalizedPathways,s=performance.now();
71Object.keys(i).forEach(e=>{s-i[e]>3e5&&delete i[e]});for(let s=0;s<e.length;s++){let r=e[s];if(r in i)continue;if(r===this.pathwayId)return;let a=this.hls.nextLoadLevel,n=this.hls.levels[a];if((t=this.getLevelsForPathway(r)).length>0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,iz(t),this.hls.trigger(X.LEVELS_UPDATED,{levels:t});let e=this.hls.levels[a];n&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==n.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==n.bitrate&&this.log(`Unstable Pathways change from bitrate ${n.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=a);break}}}getPathwayForGroupId(e,t,i){let s=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i<s.length;i++)if(t===ee&&s[i].hasAudioGroup(e)||t===et&&s[i].hasSubtitleGroup(e))return s[i].pathwayId;return i}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(e=>{let{ID:r,"BASE-ID":a,"URI-REPLACEMENT":n}=e;if(t.some(e=>e.pathwayId===r))return;let l=this.getLevelsForPathway(a).map(e=>{let t=new t5(e.attrs);t["PATHWAY-ID"]=r;let a=t.AUDIO&&`${t.AUDIO}_clone_${r}`,l=t.SUBTITLES&&`${t.SUBTITLES}_clone_${r}`;a&&(i[t.AUDIO]=a,t.AUDIO=a),l&&(s[t.SUBTITLES]=l,t.SUBTITLES=l);let o=r6(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",n),d=new th({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:o,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t<e.audioGroups.length;t++)d.addGroupId("audio",`${e.audioGroups[t]}_clone_${r}`);if(e.subtitleGroups)for(let t=1;t<e.subtitleGroups.length;t++)d.addGroupId("text",`${e.subtitleGroups[t]}_clone_${r}`);return d});t.push(...l),r8(this.audioTracks,i,n,r),r8(this.subtitleTracks,s,n,r)})}loadSteeringManifest(e){let t,i=this.hls.config,s=i.loader;this.loader&&this.loader.destroy(),this.loader=new s(i);try{t=new self.URL(e)}catch(t){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if("data:"!==t.protocol){let e=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+e)}let r={responseType:"json",url:t.href},a=i.steeringManifestLoadPolicy.default,n=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0};this.log(`Requesting steering manifest: ${t}`),this.loader.load(r,l,{onSuccess:(e,i,s,r)=>{this.log(`Loaded steering manifest: "${t}"`);let a=e.data;if((null==a?void 0:a.VERSION)!==1)return void this.log(`Steering VERSION ${a.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=a.TTL;let{"RELOAD-URI":n,"PATHWAY-CLONES":l,"PATHWAY-PRIORITY":o}=a;if(n)try{this.uri=new self.URL(n,t).href}catch(e){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${n}`);return}this.scheduleRefresh(this.uri||s.url),l&&this.clonePathways(l);let d={steeringManifest:a,url:t.toString()};this.hls.trigger(X.STEERING_MANIFEST_LOADED,d),o&&this.updatePathwayPriority(o)},onError:(e,t,i,s)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code){this.enabled=!1,this.log(`Steering manifest ${t.url} no longer available`);return}let r=1e3*this.timeToLoad;if(429===e.code){let e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){let t=e.getResponseHeader("Retry-After");t&&(r=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`);return}this.scheduleRefresh(this.uri||t.url,r)},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}})}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var t;let i=null==(t=this.hls)?void 0:t.media;i&&!i.ended?this.loadSteeringManifest(e):this.scheduleRefresh(e,1e3*this.timeToLoad)},t)}},interstitialsController:class extends eh{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1}
71,this.onSeeking=()=>{var e,t;let i=this.currentTime;if(void 0===i||this.playbackDisabled||!this.schedule)return;let s=i-this.timelinePos;if(Math.abs(s)<1/7056e5)return;let r=s<=-.01;this.timelinePos=i,this.bufferedPos=i;let a=this.playingItem;if(!a)return void this.checkBuffer();if(r&&this.schedule.resetErrorsInRange(i,i-s)&&this.updateSchedule(!0),this.checkBuffer(),r&&i<a.start||i>=a.end){let t=this.findItemIndex(a),s=this.schedule.findItemIndexAtTime(i);if(-1===s&&(s=t+(r?-1:1),this.log(`seeked ${r?"back ":""}to position not covered by schedule ${i} (resolving from ${t} to ${s})`)),!this.isInterstitial(a)&&null!=(e=this.media)&&e.paused&&(this.shouldPlay=!1),!r&&s>t){let e=this.schedule.findJumpRestrictedIndex(t+1,s);if(e>t)return void this.setSchedulePosition(e)}this.setSchedulePosition(s);return}let n=this.playingAsset;if(!n){if(this.playingLastItem&&this.isInterstitial(a)){let e=a.event.assetList[0];e&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,e))}return}let l=n.timelineStart,o=n.duration||0;(r&&i<l||i>=l+o)&&(null!=(t=a.event)&&t.appendInPlace&&(this.clearAssetPlayers(a.event,a),this.flushFrontBuffer(i)),this.setScheduleToAssetAtTime(i,n))},this.onTimeupdate=()=>{let e=this.currentTime;if(void 0===e||this.playbackDisabled||!(e>this.timelinePos))return;this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();let t=this.playingItem;if(!t||this.playingLastItem)return;if(e>=t.end){this.timelinePos=t.end;let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}let i=this.playingAsset;!i||e>=i.timelineStart+(i.duration||0)&&this.setScheduleToAssetAtTime(e,i)},this.onScheduleUpdate=(e,t)=>{let i=this.schedule;if(!i)return;let s=this.playingItem,r=i.events||[],a=i.items||[],n=i.durations,l=e.map(e=>e.identifier),o=!!(r.length||l.length);(o||t)&&this.log(`INTERSTITIALS_UPDATED (${r.length}): ${r} 72Schedule: ${a.map(e=>ap(e))} pos: ${this.timelinePos}`),l.length&&this.log(`Removed events ${l}`);let d=null,h=null;s&&(d=this.updateItem(s,this.timelinePos),this.itemsMatch(s,d)?this.playingItem=d:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let u=this.bufferingItem;if(u&&(h=this.updateItem(u,this.bufferedPos),this.itemsMatch(u,h)?this.bufferingItem=h:u.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(u.event,null))),e.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(e=>{if(e.interstitial.appendInPlace){let t=e.assetItem.timelineStart,i=e.timelineOffset-t;if(i)try{e.timelineOffset=t}catch(s){Math.abs(i)>.025&&this.warn(`${s} ("${e.assetId}" ${e.timelineOffset}->${t})`)}}}),o||t){if(this.hls.trigger(X.INTERSTITIALS_UPDATED,{events:r.slice(0),schedule:a.slice(0),durations:n,removedIds:l}),this.isInterstitial(s)&&l.includes(s.event.identifier)){this.warn(`Interstitial "${s.event.identifier}" removed while playing`),this.primaryFallback(s.event);return}s&&this.trimInPlace(d,s),u&&h!==d&&this.trimInPlace(h,u),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new av(e),this.schedule=new ag(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(X.MEDIA_ENDED,this.onMediaEnded,this),e.on(X.ERROR,this.onError,this),e.on(X.DESTROYING,this.onDestroying,this))}unregisterListeners(){let e=this.hls;
72e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(X.MEDIA_ENDED,this.onMediaEnded,this),e.off(X.ERROR,this.onError,this),e.off(X.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null==(e=this.getBufferingPlayer())||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.getBufferingPlayer())||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){i4(e,"play",this.onPlay),i4(e,"pause",this.onPause),i4(e,"seeking",this.onSeeking),i4(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){let i=this.media=t.media;i3(i,"seeking",this.onSeeking),i3(i,"timeupdate",this.onTimeupdate),i3(i,"play",this.onPlay),i3(i,"pause",this.onPause)}onMediaAttached(e,t){let i=this.effectivePlayingItem,s=this.detachedData;if(this.detachedData=null,null===i)this.checkStart();else if(!s){this.clearScheduleState();let e=this.findItemIndex(i);this.setSchedulePosition(e)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){let i=!!t.transferMedia,s=this.media;if(this.media=null,!i&&(s&&this.removeMediaListeners(s),this.detachedData)){let e=this.getBufferingPlayer();e&&(this.log(`Removing schedule state for detachedData and ${e}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=t=>t?e.getAssetPlayer(t.identifier):t,i=(i,r,a,n,l)=>{if(i){let o=i[r].start,d=i.event;if(d){if("playout"===r||d.timelineOccupancy!==ao.Point){let e=t(a);(null==e?void 0:e.interstitial)===d&&(o+=e.assetItem.startOffset+e[l])}}else o+=("bufferedPos"===n?s():e[n])-i.start;return o}return 0},s=()=>{let t=e.bufferedPos;return t===Number.MAX_VALUE?r("primary"):Math.max(t,0)},r=t=>{var i,s;return null!=(i=e.primaryDetails)&&i.live?e.primaryDetails.edge:(null==(s=e.schedule)?void 0:s.durations[t])||0},a=(s,r)=>{var a,n;let l=e.effectivePlayingItem;if(null!=l&&null!=(a=l.event)&&a.restrictions.skip||!e.schedule)return;e.log(`seek to ${s} "${r}"`);let o=e.effectivePlayingItem,d=e.schedule.findItemIndexAtTime(s,r),h=null==(n=e.schedule.items)?void 0:n[d],u=e.getBufferingPlayer(),c=null==u?void 0:u.interstitial,f=null==c?void 0:c.appendInPlace,m=o&&e.itemsMatch(o,h);if(o&&(f||m)){let a=t(e.playingAsset),n=(null==a?void 0:a.media)||e.primaryMedia;if(n){let t="primary"===r?n.currentTime:i(o,r,e.playingAsset,"timelinePos","currentTime"),l=s-t,d=(f?t:n.currentTime)+l;if(d>=0&&(!a||f||d<=a.duration)){n.currentTime=d;return}}}if(h){let t=s;if("primary"!==r){let e=s-h[r].start;t=h.start+e}let i=!e.isInterstitial(h);if((!e.isInterstitial(o)||o.event.appendInPlace)&&(i||h.event.appendInPlace)){let i=e.media||(f?null==u?void 0:u.media:null);i&&(i.currentTime=t)}else if(o){let a=e.findItemIndex(o);if(d>a){let t=e.schedule.findJumpRestrictedIndex(a+1,d);if(t>a)return void e.setSchedulePosition(t)}let n=0;if(i)e.timelinePos=t,e.checkBuffer();else{let e=h.event.assetList,t=s-(h[r]||h).start;for(let i=e.length;i--;){let s=e[i];if(s.duration&&t>=s.startOffset&&t<s.startOffset+s.duration){n=i;break}}}e.setSchedulePosition(d,n)}}},n=()=>{let t=e.effectivePlayingItem;if(e.isInterstitial(t))return t;let i=e.bufferingItem||e.waitingItem;return e.isInterstitial(i)?i:null},l={get bufferedEnd(){let t=e.bufferingItem||e.waitingItem,s=e.bufferingItem;if(s&&s===t){var o;return i(s,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-s.playout.start||(null==(o=e.bufferingAsset)?void 0:o.startOffset)||0}return 0},get currentTime(){let t=n(),s=e.effectivePlayingItem;if(s&&s===t)return i(s,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-s.playout.start;return 0},set currentTime(time){let t=n(),i=e.effectivePlayingItem;i&&i===t&&a(time+i.playout.start,"playout")},get duration(){let e=n();if(e)return e.playout.end-e.playout.start;return 0},get assetPlayers(){var d;let t=null==(d=n())?void 0:d.event.assetList;if(t)return t.map(t=>e.getAssetPlayer(t.identifier));return[]},get playingIndex(){var h;let t=null==(h=n())?void 0:h.event;if(t&&e.effectivePlayingAsset)return t.findAssetIndex(e.effectivePlayingAsset);return -1},get scheduleItem(){return n()}};return this.manager={get events(){var u;return(null==(u=e.schedule)||null==(u=u.events)?void 0:u.slice(0))||[]},get schedule(){var c;return(null==(c=e.schedule)||null==(c=c.items)?void 0:c.slice(0))||[]},get interstitialPlayer(){if(n())return l;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return e.bufferingItem||e.waitingItem},get bufferingIndex(){let t=e.bufferingItem||e.waitingItem;return e.findItemIndex(t)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let t=e.effectivePlayingItem;return e.findItemIndex(t)},primary:{get bufferedEnd(){return s()},get currentTime(){let t=e.timelinePos;return t>0?t:0},set currentTime(time){a(time,"primary")},get duration(){return r("primary")},get seekableStart(){var f;return(null==(f=e.primaryDetails)?void 0:f.fragmentStart)||0}},integrated:{get bufferedEnd(){return i(e.bufferingItem||e.waitingItem,"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(time){a(time,"integrated")},get duration(){return r("integrated")},get seekableStart(){var m;return((t,i)=>{var s,r;if(0!==t&&"primary"!==i&&null!=(s=e.schedule)&&s.length){let s=e.sc
72hedule.findItemIndexAtTime(t),a=null==(r=e.schedule.items)?void 0:r[s];if(a)return t+(a[i].start-a.start)}return t})((null==(m=e.primaryDetails)?void 0:m.fragmentStart)||0,"integrated")}},skip:()=>{let t=e.effectivePlayingItem,i=null==t?void 0:t.event;if(i&&!i.restrictions.skip){let s=e.findItemIndex(t);i.appendInPlace?a(t.playout.start+t.event.duration+.001,"playout"):e.advanceAfterAssetEnded(i,s,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let t=this.playingItem,i=null==(e=this.schedule)?void 0:e.items;return!!this.playbackStarted&&!!t&&!!i&&this.findItemIndex(t)===i.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){var e,t;if(null===this.mediaSelection)return;let i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let s=this.media;!s&&null!=(e=this.bufferingItem)&&null!=(e=e.event)&&e.appendInPlace&&(s=this.primaryMedia);let r=null==(t=s)?void 0:t.currentTime;if(void 0!==r&&j(r))return r}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!!(null!=e&&e.event)}retreiveMediaSource(e,t){let i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t)}transferMediaFromPlayer(e,t){let i=e.interstitial.appendInPlace,s=e.media;if(i&&s===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&s){this.detachedData={media:s};return}let i=e.transferMedia();this.log(`transfer MediaSource from ${e} ${tc(i)}`),this.detachedData=i}else t&&s&&(this.shouldPlay||(this.shouldPlay=!s.paused))}transferMediaTo(e,t){var i,s;let r;if(e.media===t)return;let a=null,n=this.hls,l=e!==n,o=l&&e.interstitial.appendInPlace,d=null==(i=this.detachedData)?void 0:i.mediaSource;if(n.media)o&&(a=n.transferMedia(),this.detachedData=a),r="Primary";else if(d){let e=this.getBufferingPlayer();e?(a=e.transferMedia(),r=`${e}`):r="detached MediaSource"}else r="detached media";if(!a){if(d)a=this.detachedData,this.log(`using detachedData: MediaSource ${tc(a)}`);else if(!this.detachedData||n.media===t){let e=this.playerQueue;e.length>1&&e.forEach(e=>{if(l&&e.interstitial.appendInPlace!==o){let t=e.interstitial;this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${t}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}let h=a&&"mediaSource"in a&&(null==(s=a.mediaSource)?void 0:s.readyState)!=="closed",u=h&&a?a:t;this.log(`${h?"transfering MediaSource":"attaching media"} to ${l?e:"Primary"} from ${r} (media.currentTime: ${t.currentTime})`);let c=this.schedule;if(u===a&&c){let t=l&&e.assetId===c.assetIdAtEnd;u.overrides={duration:c.duration,endOfStream:!l||t,cueRemoval:!l}}e.attachMedia(u)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,t=null==e?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;-1===this.bufferedPos&&(this.bufferedPos=0);let i=this.timelinePos,s=this.effectivePlayingItem;if(-1===i){let i=this.hls.startPosition;if(this.log(ab("checkStart",i)),this.timelinePos=i,t.length&&t[0].cue.pre){let i=e.findEventIndex(t[0].identifier);this.setSchedulePosition(i)}else if(i>=0||!this.primaryLive){let t=this.timelinePos=i>0?i:0,s=e.findItemIndexAtTime(t);this.setSchedulePosition(s)}}else if(s&&!this.playingItem){let t=e.findItemIndex(s);this.setSchedulePosition(t)}}advanceAssetBuffering(e,t){let i=e.event,s=i.findAssetIndex(t),r=ac(i,s);if(i.isAssetPastPlayoutLimit(r)){if(this.schedule){var a;let t=null==(a=this.schedule.items)?void 0:a[this.findItemIndex(e)+1];t&&this.bufferedToItem(t)}}else this.bufferedToEvent(e,r)}advanceAfterAssetEnded(e,t,i){let s=ac(e,i);if(e.isAssetPastPlayoutLimit(s)){if(this.schedule){let i=this.schedule.items;if(i){let s=t+1;if(s>=i.length)return void this.setSchedulePosition(-1);let r=e.resumeTime;this.timelinePos<r&&(this.log(ab("advanceAfterAssetEnded",r)),this.timelinePos=r,e.appendInPlace&&this.advanceInPlace(r),this.checkBuffer(this.bufferedPos<r)),this.setSchedulePosition(s)}}}else{if(e.appendInPlace){let t=e.assetList[s];t&&this.advanceInPlace(t.timelineStart)}this.setSchedulePosition(t,s)}}setScheduleToAssetAtTime(e,t){let i=this.schedule;if(!i)return;let s=t.parentIdentifier,r=i.getEvent(s);if(r){let t=i.findEventIndex(s),a=i.findAssetIndex(r,e);this.advanceAfterAssetEnded(r,t,a-1)}}setSchedulePosition(e,t){var i,s,r;let a=null==(i=this.schedule)?void 0:i.items;if(!a||this.playbackDisabled)return;let n=e>=0?a[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${n?ap(n):n}) pos: ${this.timelinePos}`);let l=this.waitingItem||this.playingItem,o=this.playingLastItem;if(this.isInterstitial(l)){let i=l.event,d=this.playingAsset,h=null==d?void 0:d.identifier,u=h?this.getAssetPlayer(h):null;
72if(u&&h&&(!this.eventItemsMatch(l,n)||void 0!==t&&h!==i.assetList[t].identifier)){let t=i.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${t+1}/${i.assetList.length} ${af(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(X.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:t,event:i,schedule:a.slice(0),scheduleIndex:e,player:u}),l!==this.playingItem){this.itemsMatch(l,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(i,this.findItemIndex(this.playingItem),t);return}this.retreiveMediaSource(h,n),u.media&&!(null!=(s=this.detachedData)&&s.mediaSource)&&u.detachMedia()}if(!this.eventItemsMatch(l,n)&&(this.endedItem=l,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${i} ${ap(l)}`),i.hasPlayed=!0,this.hls.trigger(X.INTERSTITIAL_ENDED,{event:i,schedule:a.slice(0),scheduleIndex:e}),i.cue.once)){this.updateSchedule();let e=null==(r=this.schedule)?void 0:r.items;if(n&&e){let i=this.findItemIndex(n);this.advanceSchedule(i,e,t,l,o)}return}}this.advanceSchedule(e,a,t,l,o)}advanceSchedule(e,t,i,s,r){let a=this.schedule;if(!a)return;let n=t[e]||null,l=this.primaryMedia,o=this.playerQueue;if(o.length&&o.forEach(t=>{let i=t.interstitial,s=a.findEventIndex(i.identifier);(s<e||s>e+1)&&this.clearInterstitial(i,n)}),this.isInterstitial(n)){this.timelinePos=Math.min(Math.max(this.timelinePos,n.start),n.end);let r=n.event;if(void 0===i){i=a.findAssetIndex(r,this.timelinePos);let t=ac(r,i-1);if(r.isAssetPastPlayoutLimit(t)||r.appendInPlace&&this.timelinePos===n.end)return void this.advanceAfterAssetEnded(r,e,i);i=t}let o=this.waitingItem;this.assetsBuffered(n,l)||this.setBufferingItem(n);let d=this.preloadAssets(r,i);if(this.eventItemsMatch(n,o||s)||(this.waitingItem=n,this.log(`INTERSTITIAL_STARTED ${ap(n)} ${r.appendInPlace?"append in place":""}`),this.hls.trigger(X.INTERSTITIAL_STARTED,{event:r,schedule:t.slice(0),scheduleIndex:e})),!r.assetListLoaded)return void this.log(`Waiting for ASSET-LIST to complete loading ${r}`);if(r.assetListLoader&&(r.assetListLoader.destroy(),r.assetListLoader=void 0),!l)return void this.log(`Waiting for attachMedia to start Interstitial ${r}`);this.waitingItem=this.endedItem=null,this.playingItem=n;let h=r.assetList[i];if(!h)return void this.advanceAfterAssetEnded(r,e,i||0);if(d||(d=this.getAssetPlayer(h.identifier)),null===d||d.destroyed){let e=r.assetList.length;this.warn(`asset ${i+1}/${e} player destroyed ${r}`),(d=this.createAssetPlayer(r,h,i)).loadSource()}if(!this.eventItemsMatch(n,this.bufferingItem)&&r.appendInPlace&&this.isAssetBuffered(h))return;this.startAssetPlayer(d,i,t,e,l),this.shouldPlay&&aE(d.media)}else n?(this.resumePrimary(n,e,s),this.shouldPlay&&aE(this.hls.media)):r&&this.isInterstitial(s)&&(this.endedItem=null,this.playingItem=s,s.event.appendInPlace||this.attachPrimary(a.durations.primary,null))}get playbackDisabled(){return!1===this.hls.config.enableInterstitialPlayback}get primaryDetails(){var e;return null==(e=this.mediaSelection)?void 0:e.main.details}get primaryLive(){var e;return!!(null!=(e=this.primaryDetails)&&e.live)}resumePrimary(e,t,i){var s,r;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${ap(e)}`),!(null!=(s=this.detachedData)&&s.mediaSource)){let i=this.timelinePos;(i<e.start||i>=e.end)&&(i=this.getPrimaryResumption(e,t),this.log(ab("resumePrimary",i)),this.timelinePos=i),this.attachPrimary(i,e)}if(!i)return;let a=null==(r=this.schedule)?void 0:r.items;a&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${ap(e)}`),this.hls.trigger(X.INTERSTITIALS_PRIMARY_RESUMED,{schedule:a.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){let i=e.start;if(this.primaryLive){let e=this.primaryDetails;if(0===t)return this.hls.startPosition;if(e&&(i<e.fragmentStart||i>e.edge))return this.hls.liveSyncPosition||-1}return i}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:tJ.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let s=this.primaryMedia;if(!s)return;let r=this.hls;r.media?this.checkBuffer():(this.transferMediaTo(r,s),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(ab("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i))}
72startLoadingPrimaryAt(e,t){var i;let s=this.hls;!s.loadingEnabled||!s.media||Math.abs(((null==(i=s.mainForwardBufferInfo)?void 0:i.start)||s.media.currentTime)-e)>.5?s.startLoad(e,t):s.bufferingEnabled||s.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),null==(e=this.schedule)||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(X.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(X.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(-1===t.level||!this.schedule)return;let i=this.hls.levels[t.level];if(!i.details)return;let s=ed(ed({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=s,this.schedule.parseInterstitialDateRanges(s,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){let i=this.hls.audioTracks[t.id],s=this.mediaSelection;if(!s){this.altSelection=ed(ed({},this.altSelection),{},{audio:i});return}let r=ed(ed({},s),{},{audio:i});this.mediaSelection=r}onSubtitleTrackUpdated(e,t){let i=this.hls.subtitleTracks[t.id],s=this.mediaSelection;if(!s){this.altSelection=ed(ed({},this.altSelection),{},{subtitles:i});return}let r=ed(ed({},s),{},{subtitles:i});this.mediaSelection=r}onAudioTrackSwitching(e,t){let i=tg(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setAudioOption(t)||e.setAudioOption(i)))}onSubtitleTrackSwitch(e,t){let i=tg(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(i)))}onBufferCodecs(e,t){let i=t.tracks;i&&(this.requiredTracks=i)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){let i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){let e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let e=0;e<t.length;e++){let s=t[e];if(s.cue.post){var i;let e=this.schedule.findEventIndex(s.identifier),t=null==(i=this.schedule.items)?void 0:i[e];this.isInterstitial(t)&&this.eventItemsMatch(t,this.bufferingItem)&&this.bufferedToItem(t,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}updateItem(e,t){var i;let s=null==(i=this.schedule)?void 0:i.items;return e&&s&&s[this.findItemIndex(e,t)]||null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((t,i)=>{e.event.isAssetPastPlayoutLimit(i)&&this.clearAssetPlayer(t.identifier,null)});let i=e.end+.25,s=tJ.bufferInfo(this.primaryMedia,i,0);(s.end>i||(s.nextStart||0)>i)&&(this.log(`trim buffered interstitial ${ap(e)} (was ${ap(t)})`),this.attachPrimary(i,null,!0),this.flushFrontBuffer(i))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===(null==(i=t.event)?void 0:i.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;let i=this.mediaSelection;i&&(null==(t=this.schedule)||t.updateSchedule(i,[],e))}checkBuffer(e){var t;let i=null==(t=this.schedule)?void 0:t.items;if(!i)return;let s=tJ.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=s.len<1),this.updateBufferedPos(s.end,i,e)}updateBufferedPos(e,t,i){let s=this.schedule,r=this.bufferingItem;if(this.bufferedPos>e||!s)return;if(1===t.length&&this.itemsMatch(t[0],r)){this.bufferedPos=e;return}let a=this.playingItem,n=this.findItemIndex(a),l=s.findItemIndexAtTime(e);if(this.bufferedPos<e){var o;let i=this.findItemIndex(r),s=Math.min(i+1,t.length-1),a=t[s];if((-1===l&&r&&e>=r.end||null!=(o=a.event)&&o.appendInPlace&&e+.01>=a.start)&&(l=s),this.isInterstitial(r)){let e=r.event;if(s-n>1&&!1===e.appendInPlace||0===e.assetList.length&&e.assetListLoader)return}if(this.bufferedPos=e,l>i&&l>n)this.bufferedToItem(a);else{let t=this.primaryDetails;this.primaryLive&&t&&e>t.edge-t.targetduration&&a.start<t.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(a)&&this.preloadAssets(a.event,0)}}else i&&a&&!this.itemsMatch(a,r)&&(l===n?this.bufferedToItem(a):l===n+1&&this.bufferedToItem(t[l]))}assetsBuffered(e,t){return 0!==e.event.assetList.length&&!e.event.assetList.some(e=>{let i=this.getAssetPlayer(e.identifier);return!(null!=i&&i.bufferedInPlaceToEnd(t))})}setBufferingItem(e){let t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){let{items:s,events:r}=i;if(!s||!r)return t;
72let a=this.isInterstitial(e),n=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let l=n?n.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${ap(e)}`+(t?` (${l.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(a){let t=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,i)=>{let s=this.getAssetPlayer(e.identifier);s&&(i===t&&s.loadSource(),s.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(X.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:r.slice(0),schedule:s.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){let i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(null!==i){this.bufferingAsset=null;let t=this.detachedData;t&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)}}}preloadPrimary(e){let t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i)}bufferedToEvent(e,t){let i=e.event,s=0===i.assetList.length&&!i.assetListLoader,r=i.cue.once;if(s||!r){let e=this.preloadAssets(i,t);if(null!=e&&e.interstitial.appendInPlace){let t=this.primaryMedia;t&&this.bufferAssetPlayer(e,t)}}}preloadAssets(e,t){let i=e.assetUrl,s=e.assetList.length,r=0===s&&!e.assetListLoader,a=e.cue.once;if(r){let r,a=e.timelineStart;if(e.appendInPlace){var n;let t=this.playingItem;this.isInterstitial(t)||(null==t||null==(n=t.nextEvent)?void 0:n.identifier)!==e.identifier||this.flushFrontBuffer(a+.25)}let l=0;if(!this.playingItem&&this.primaryLive&&-1===(l=this.hls.startPosition)&&(l=this.hls.liveSyncPosition||0),l&&!(e.cue.pre||e.cue.post)){let e=l-a;e>0&&(r=Math.round(1e3*e)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${i?1:s} ${e}${r?` live-start: ${l} start-offset: ${r}`:""}`),i)return this.createAsset(e,0,0,a,e.duration,i);let o=this.assetListLoader.loadAssetList(e,r);o&&(e.assetListLoader=o)}else if(!a&&s){for(let i=t;i<s;i++){let t=e.assetList[i],s=this.getAssetPlayerQueueIndex(t.identifier);(-1===s||this.playerQueue[s].destroyed)&&!t.error&&this.createAssetPlayer(e,t,i)}let i=e.assetList[t];if(i){let e=this.getAssetPlayer(i.identifier);return e&&e.loadSource(),e}}return null}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(t=>{this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:t})}))}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return -1}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i]}return null}createAsset(e,t,i,s,r,a){let n={parentIdentifier:e.identifier,identifier:`${e.identifier}-${t+1}-${al(a)}`,duration:r,startOffset:i,timelineStart:s,uri:a};return this.createAssetPlayer(e,n,t)}createAssetPlayer(e,t,i){let s=this.hls,r=s.userConfig,a=r.videoPreference,n=s.loadLevelObj||s.levels[s.currentLevel];(a||n)&&(a=el({},a),n.videoCodec&&(a.videoCodec=n.videoCodec),n.videoRange&&(a.allowedVideoRanges=[n.videoRange]));let l=s.audioTracks[s.audioTrack],o=s.subtitleTracks[s.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let e=this.timelinePos-t.timelineStart;if(e>1){let i=t.duration;i&&e<i&&(d=e)}}let h=t.identifier,u=ed(ed({},r),{},{maxMaxBufferLength:Math.min(180,s.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:s.sessionId,assetPlayerId:h,abrEwmaDefaultEstimate:s.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:a,audioPreference:l||r.audioPreference,subtitlePreference:o||r.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(u.timelineOffset=t.timelineStart));let c=u.cmcd;null!=c&&c.sessionId&&c.contentId&&(u.cmcd=el({},c,{contentId:al(t.uri)})),this.getAssetPlayer(h)&&this.warn(`Duplicate date range identifier ${e} and asset ${h}`);let f=new am(this.HlsPlayerClass,u,e,t);this.playerQueue.push(f),e.assetList[i]=t;let m=!0,g=s=>{if(s.live){var r;let t=Error(`Interstitials MUST be VOD assets ${e}`),s={fatal:!0,type:Q.OTHER_ERROR,details:z.INTERSTITIAL_ASSET_ITEM_ER
72ROR,error:t},a=(null==(r=this.schedule)?void 0:r.findEventIndex(e.identifier))||-1;this.handleAssetItemError(s,e,a,i,t.message);return}let a=s.edge-s.fragmentStart,n=t.duration;(m||null===n||a>n)&&(m=!1,this.log(`Interstitial asset "${h}" duration change ${n} > ${a}`),t.duration=a,this.updateSchedule())};f.on(X.LEVEL_UPDATED,(e,{details:t})=>g(t)),f.on(X.LEVEL_PTS_UPDATED,(e,{details:t})=>g(t)),f.on(X.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let p=(e,t)=>{let i=this.getAssetPlayer(h);if(i&&t.tracks){i.off(X.BUFFER_CODECS,p),i.tracks=t.tracks;let e=this.primaryMedia;this.bufferingAsset===i.assetItem&&e&&!i.media&&this.bufferAssetPlayer(i,e)}};f.on(X.BUFFER_CODECS,p);let v=()=>{var i;let s=this.getAssetPlayer(h);if(this.log(`buffered to end of asset ${s}`),!s||!this.schedule)return;let r=this.schedule.findEventIndex(e.identifier),a=null==(i=this.schedule.items)?void 0:i[r];this.isInterstitial(a)&&this.advanceAssetBuffering(a,t)};f.on(X.BUFFERED_TO_END,v);let E=t=>()=>{if(!this.getAssetPlayer(h)||!this.schedule)return;this.shouldPlay=!0;let i=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,t)};return f.once(X.MEDIA_ENDED,E(i)),f.once(X.PLAYOUT_LIMIT_REACHED,E(1/0)),f.on(X.ERROR,(t,s)=>{if(!this.schedule)return;let r=this.getAssetPlayer(h);s.details===z.BUFFER_STALLED_ERROR?null!=r&&r.appendInPlace?this.handleInPlaceStall(e):(this.onTimeupdate(),this.checkBuffer(!0)):this.handleAssetItemError(s,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${s.error} ${e}`)}),f.on(X.DESTROYING,()=>{if(!this.getAssetPlayer(h)||!this.schedule)return;let t=Error(`Asset player destroyed unexpectedly ${h}`),s={fatal:!0,type:Q.OTHER_ERROR,details:z.INTERSTITIAL_ASSET_ITEM_ERROR,error:t};this.handleAssetItemError(s,e,this.schedule.findEventIndex(e.identifier),i,t.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${af(t)}`),this.hls.trigger(X.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:f}),f}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(-1!==t){this.log(`reset asset player "${e}" after error`);let i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails()}}clearAssetPlayer(e,t){let i=this.getAssetPlayerQueueIndex(e);if(-1!==i){let e=this.playerQueue[i];this.log(`clear ${e} toSegment: ${t?ap(t):t}`),this.transferMediaFromPlayer(e,t),this.playerQueue.splice(i,1),e.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,s,r){let{interstitial:a,assetItem:n,assetId:l}=e,o=a.assetList.length,d=this.playingAsset;this.endedAsset=null,this.playingAsset=n,d&&d.identifier===l||(d&&(this.clearAssetPlayer(d.identifier,i[s]),delete d.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${o} ${af(n)}`),this.hls.trigger(X.INTERSTITIAL_ASSET_STARTED,{asset:n,assetListIndex:t,event:a,schedule:i.slice(0),scheduleIndex:s,player:e})),this.bufferAssetPlayer(e,r)}bufferAssetPlayer(e,t){var i,s;if(!this.schedule)return;let{interstitial:r,assetItem:a}=e,n=this.schedule.findEventIndex(r.identifier),l=null==(i=this.schedule.items)?void 0:i[n];if(!l)return;e.loadSource(),this.setBufferingItem(l),this.bufferingAsset=a;let o=this.getBufferingPlayer();if(o===e)return;let d=r.appendInPlace;if(d&&(null==o?void 0:o.interstitial.appendInPlace)===!1)return;let h=(null==o?void 0:o.tracks)||(null==(s=this.detachedData)?void 0:s.tracks)||this.requiredTracks;if(d&&a!==this.playingAsset){if(!e.tracks)return void this.log(`Waiting for track info before buffering ${e}`);if(h&&!ev(h,e.tracks)){let t=Error(`Asset ${af(a)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(h)}')`),i={fatal:!0,type:Q.OTHER_ERROR,details:z.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},s=r.findAssetIndex(a);this.handleAssetItemError(i,r,n,s,t.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){let t=this.schedule,i=this.primaryMedia;if(!t||!i)return;let s=i.currentTime,r=t.findAssetIndex(e,s),a=e.assetList[r];if(a){let n=this.getAssetPlayer(a.identifier);if(n){let l=n.currentTime||s-a.timelineStart,o=n.duration-l;if(this.warn(`Stalled at ${l} of ${l+o} in ${n} ${e} (media.currentTime: ${s})`),l&&(o/i.playbackRate<.5||n.bufferedInPlaceToEnd(i))&&n.hls){let i=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,r)}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,i,s,r){if(e.details===z.BUFFER_STALLED_ERROR)return;let a=t.assetList[s]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${a?af(a):a} ${e.error}`),!this.schedule)return;let n=(null==a?void 0:a.identifier)||"",l=this.getAssetPlayerQueueIndex(n),o=this.playerQueue[l]||null,d=this.schedule.items,h=el({},e,{fatal:!1,errorAction:tx(!0),asset:a,assetListIndex:s,event:t,schedule:d,scheduleIndex:i,player:o});if(this.hls.trigger(X.INTERSTITIAL_ASSET_ERROR,h),!e.fatal)return;let u=this.playingAsset,c=this.bufferingAsset,f=Error(r);
72if(a&&(this.clearAssetPlayer(n,null),a.error=f),t.assetList.some(e=>!e.error))for(let e=s;e<t.assetList.length;e++)this.resetAssetPlayer(t.assetList[e].identifier);else t.error=f;this.updateSchedule(!0),t.error?this.primaryFallback(t):u&&u.identifier===n?this.advanceAfterAssetEnded(t,i,s):c&&c.identifier===n&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,c)}primaryFallback(e){let t=e.timelineStart,i=this.effectivePlayingItem,s=this.timelinePos;if(i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${s} playing: ${ap(i)} error: ${e.error}`),-1===s&&(s=this.hls.startPosition);let r=this.updateItem(i,s);this.itemsMatch(i,r)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(-1===s)return void this.checkStart();if(!this.schedule)return;let r=this.schedule.findItemIndexAtTime(s);this.setSchedulePosition(r)}onAssetListLoaded(e,t){var i,s,r;let a=t.event,n=a.identifier,l=t.assetListResponse.ASSETS;if(!(null!=(i=this.schedule)&&i.hasEvent(n)))return;let o=a.timelineStart,d=a.duration,h=0;l.forEach((e,t)=>{let i=parseFloat(e.DURATION);this.createAsset(a,t,h,o+h,i,e.URI),h+=i}),a.duration=h,this.log(`Loaded asset-list with duration: ${h} (was: ${d}) ${a}`);let u=this.waitingItem,c=(null==u?void 0:u.event.identifier)===n;this.updateSchedule();let f=null==(s=this.bufferingItem)?void 0:s.event;if(c){let e=this.schedule.findEventIndex(n),t=null==(r=this.schedule.items)?void 0:r[e];if(t){if(!this.playingItem&&this.timelinePos>t.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e){a.error=Error(`Interstitial ${l.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${a}`),this.log(a.error.message),this.updateSchedule(!0),this.primaryFallback(a);return}this.setBufferingItem(t)}this.setSchedulePosition(e)}else if((null==f?void 0:f.identifier)===n){let e=a.assetList[0];if(e){let t=this.getAssetPlayer(e.identifier);if(f.appendInPlace){let e=this.primaryMedia;t&&e&&this.bufferAssetPlayer(t,e)}else t&&t.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case z.ASSET_LIST_PARSING_ERROR:case z.ASSET_LIST_LOAD_ERROR:case z.ASSET_LIST_LOAD_TIMEOUT:{let e=t.interstitial;e&&(this.updateSchedule(!0),this.primaryFallback(e));break}case z.BUFFER_STALLED_ERROR:{let e=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(e)&&e.event.appendInPlace)return void this.handleInPlaceStall(e.event);this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0)}}}}});class nd extends tQ{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var e;this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(X.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){let{hls:e}=this;e&&(e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;let i=this.media=t.media;i3(i,"playing",this.onMediaPlaying),i3(i,"waiting",this.onMediaWaiting),i3(i,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();let{media:i}=this;i&&(i4(i,"playing",this.onMediaPlaying),i4(i,"waiting",this.onMediaWaiting),i4(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!(null!=(e=this.media)&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var i,s,r;let a=null==(i=this.hls)?void 0:i.config;if(!a)return;let n=this.media;if(!n)return;let{seeking:l}=n,o=this.seeking&&!l,d=!this.seeking&&l,h=n.paused&&!l||n.ended||0===n.playbackRate;if(this.seeking=l,e!==t){t&&(this.ended=0),this.moved=!0,!l&&(this.nudgeRetry=0,a.nudgeOnVideoHole&&!h&&e>t&&this.nudgeOnVideoHole(e,t)),0===this.waiting&&this.stallResolved(e);return}if(d||o){o&&this.stallResolved(e);return}if(h){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&n.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(X.MEDIA_ENDED,{stalled:!1}));return}if(!tJ.getBuffered(n).length){this.nudgeRetry=0;return}let u=tJ.bufferInfo(n,e,0),c=u.nextStart||0,f=this.fragmentTracker;if(l&&f&&this.hls){let t=nh(this.hls.inFlightFragments,e),i=u.len>2,s=!c||t||c-e>2&&!f.getPartialFragment(e);
72if(i||s)return;this.moved=!1}let m=null==(s=this.hls)?void 0:s.latestLevelDetails;if(!this.moved&&null!==this.stalled&&f){if(!(u.len>0)&&!c)return;let t=Math.max(c,u.start||0)-e,i=null!=m&&m.live?2*m.targetduration:2,s=nc(e,f);if(t>0&&(t<=i||s)){n.paused||this._trySkipBufferHole(s);return}}let g=a.detectStallWithCurrentTimeMs,p=self.performance.now(),v=this.waiting,E=this.stalled;if(null===E)if(v>0&&p-v<g)E=this.stalled=v;else{this.stalled=p;return}let b=p-E;if(!l&&(b>=g||v)&&this.hls){if((null==(r=this.mediaSource)?void 0:r.readyState)==="ended"&&!(null!=m&&m.live)&&1>Math.abs(e-((null==m?void 0:m.edge)||0))){if(this.ended)return;this.ended=e||1,this.hls.trigger(X.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(u),!this.media||!this.hls)return}let y=tJ.bufferInfo(n,e,a.maxBufferHole);this._tryFixBufferStall(y,b,e)}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(X.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var i;let s=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&null!=(i=this.buffered.audio)&&i.length&&s&&s.length>1&&e>s.end(0)){let i=tJ.bufferedInfo(tJ.timeRangesToArray(this.buffered.audio),e,0);if(i.len>1&&t>=i.start){let i=tJ.timeRangesToArray(s),r=tJ.bufferedInfo(i,t,0).bufferedIndex;if(r>-1&&r<i.length-1){let t=tJ.bufferedInfo(i,e,0).bufferedIndex,s=i[r].end,a=i[r+1].start;if((-1===t||t>r)&&a-s<1&&e-s<2){let i=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${s} -> ${a} buffered index: ${t}`);this.warn(i.message),this.media.currentTime+=1e-6;let r=nc(e,this.fragmentTracker);r&&"fragment"in r?r=r.fragment:r||(r=void 0);let n=tJ.bufferInfo(this.media,e,0);this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,frag:r,buffer:n.len,bufferInfo:n})}}}}}_tryFixBufferStall(e,t,i){var s,r;let{fragmentTracker:a,media:n}=this,l=null==(s=this.hls)?void 0:s.config;if(!n||!a||!l)return;let o=null==(r=this.hls)?void 0:r.latestLevelDetails,d=nc(i,a);if((d||null!=o&&o.live&&i<o.fragmentStart)&&(this._trySkipBufferHole(d)||!this.media))return;let h=e.buffered,u=this.adjacentTraversal(e,i);(h&&h.length>1&&e.len>l.maxBufferHole||e.nextStart&&(e.nextStart-i<l.maxBufferHole||u))&&(t>1e3*l.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){let i=this.fragmentTracker,s=e.nextStart;if(i&&s){let e=i.getFragAtPos(t,ei),r=i.getFragAtPos(s,ei);if(e&&r)return r.sn-e.sn<2}return!1}_reportStall(e){let{hls:t,media:i,stallReported:s,stalled:r}=this;if(!s&&null!==r&&i&&t){this.stallReported=!0;let s=Error(`Playback stalling at @${i.currentTime} due to low buffer (${tc(e)})`);this.warn(s.message),t.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_STALLED_ERROR,fatal:!1,error:s,buffer:e.len,bufferInfo:e,stalled:{start:r}})}}_trySkipBufferHole(e){var t,i;let{fragmentTracker:s,media:r}=this,a=null==(t=this.hls)?void 0:t.config;if(!r||!s||!a)return 0;let n=r.currentTime,l=tJ.bufferInfo(r,n,0),o=n<l.start?l.start:l.nextStart;if(o&&this.hls){let t=l.len<=a.maxBufferHole,d=l.len>0&&l.len<1&&r.readyState<3,h=o-n;if(h>0&&(t||d)){if(h>a.maxBufferHole){let t=!1;if(0===n){let e=s.getAppendedFrag(0,ei);e&&o<e.end&&(t=!0)}if(!t&&e){if(!(null!=(i=this.hls.loadLevelObj)&&i.details)||nh(this.hls.inFlightFragments,o))return 0;let t=!1,r=e.end;for(;r<o;){let e=nc(r,s);if(e)r+=e.duration;else{t=!0;break}}if(t)return 0}}let t=Math.max(o+.05,n+.1);if(this.warn(`skipping hole, adjusting currentTime from ${n} to ${t}`),this.moved=!0,r.currentTime=t,!(null!=e&&e.gap)){let i=Error(`fragment loaded with buffer holes, seeking from ${n} to ${t}`),s={type:Q.MEDIA_ERROR,details:z.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,buffer:l.len,bufferInfo:l};e&&("fragment"in e?s.part=e:s.frag=e),this.hls.trigger(X.ERROR,s)}return t}}return 0}_tryNudgeBuffer(e){let{hls:t,media:i,nudgeRetry:s}=this,r=null==t?void 0:t.config;if(!i||!r)return 0;let a=i.currentTime;if(this.nudgeRetry++,s<r.nudgeMaxRetry){let n=a+(s+1)*r.nudgeOffset,l=Error(`Nudging 'currentTime' from ${a} to ${n}`);this.warn(l.message),i.currentTime=n,t.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_NUDGE_ON_STALL,error:l,fatal:!1,buffer:e.len,bufferInfo:e})}else{let i=Error(`Playhead still not moving while enough data buffered @${a} after ${r.nudgeMaxRetry} nudges`);this.error(i.message),t.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.BUFFER_STALLED_ERROR,error:i,fatal:!0,buffer:e.len,bufferInfo:e})}}}function nh(e,t){let i=nu(e.main);if(i&&i.start<=t)return i;let s=nu(e.audio);return s&&s.start<=t?s:null}function nu(e){if(!e)return null;switch(e.state){case i6:case i8:case sr:case sa:return null}return e.frag}function nc(e,t){return t.getAppendedFrag(e,ei)||t.getPartialFragment(e)}function nf(){if("u">typeof self)return self.VTTCue||self.TextTrackCue}function nm(e,t,i,s,r){let a=new e(t,i,"");try{a.value=s,r&&(a.type=r)}catch(n){a=new e(t,i,tc(r?ed({type:r},s):s))}return a}let ng=(()=>{let e=nf();try{e&&new e(0,1/0,"")}catch(e){return Number.MAX_VALUE}return 1/0})();
72class np{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(X.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var i;this.media=t.media,(null==(i=t.overrides)?void 0:i.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;let t=null==(e=this.hls)?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,t.transferMedia||(this.id3Track&&(this.removeCues&&ar(this.id3Track,this.onEventCueEnter),this.id3Track=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 i=e[t];if("metadata"===i.kind&&"id3"===i.label)return ai(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:i,enableID3MetadataCues:s}=this.hls.config;if(!i&&!s)return;let{samples:r}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=nf();if(a)for(let e=0;e<r.length;e++){let t=r[e].type;if(t===sC.emsg&&!i||!s)continue;let n=sk(r[e].data),l=r[e].pts,o=l+r[e].duration;o>ng&&(o=ng),o-l<=0&&(o=l+.25);for(let e=0;e<n.length;e++){let i=n[e];if(!sR(i)){this.updateId3CueEnds(l,t);let e=nm(a,l,o,i,t);e&&this.id3Track.addCue(e)}}}}updateId3CueEnds(e,t){var i;let s=null==(i=this.id3Track)?void 0:i.cues;if(s)for(let i=s.length;i--;){let r=s[i];r.type===t&&r.startTime<e&&r.endTime===ng&&(r.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:r,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:n,enableID3MetadataCues:l}}=a;r&&(n||l)&&aa(r,t,i,"audio"===s?e=>e.type===sC.audioId3&&l:"video"===s?e=>e.type===sC.emsg&&n:e=>e.type===sC.audioId3&&l||e.type===sC.emsg&&n)}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){var i,s;if(!this.hls||!this.media)return;let{assetPlayerId:r,timelineOffset:a,enableDateRangeMetadataCues:n,interstitialsController:l}=this.hls.config;if(!n)return;let o=nf();if(r&&a&&!l){let{fragmentStart:t,fragmentEnd:i}=e,s=this.assetCue;s?(s.startTime=t,s.endTime=i):o&&(s=this.assetCue=nm(o,t,i,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"))&&(s.id=r,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(s),s.addEventListener("enter",this.onEventCueEnter))}if(!e.hasProgramDateTime)return;let{id3Track:d}=this,{dateRanges:h}=e,u=Object.keys(h),c=this.dateRangeCuesAppended;if(d&&t)if(null!=(i=d.cues)&&i.length){let e=Object.keys(c).filter(e=>!u.includes(e));for(let t=e.length;t--;){let i=e[t],r=null==(s=c[i])?void 0:s.cues;delete c[i],r&&Object.keys(r).forEach(e=>{let t=r[e];if(t){t.removeEventListener("enter",this.onEventCueEnter);try{d.removeCue(t)}catch(e){}}})}}else c=this.dateRangeCuesAppended={};let f=e.fragments[e.fragments.length-1];if(0!==u.length&&j(null==f?void 0:f.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e<u.length;e++){let t=u[e],i=h[t],s=i.startTime,r=c[t],a=(null==r?void 0:r.cues)||{}
72,n=(null==r?void 0:r.durationKnown)||!1,d=ng,{duration:f,endDate:m}=i;if(m&&null!==f)d=s+f,n=!0;else if(i.endOnNext&&!n){let e=u.reduce((e,t)=>{if(t!==i.id){let s=h[t];if(s.class===i.class&&s.startDate>i.startDate&&(!e||i.startDate<e.startDate))return s}return e},null);e&&(d=e.startTime,n=!0)}let g=Object.keys(i.attr);for(let e=0;e<g.length;e++){let h=g[e];if("ID"===h||"CLASS"===h||"CUE"===h||"START-DATE"===h||"DURATION"===h||"END-DATE"===h||"END-ON-NEXT"===h)continue;let u=a[h];if(u)n&&!(null!=r&&r.durationKnown)?u.endTime=d:Math.abs(u.startTime-s)>.01&&(u.startTime=s,u.endTime=d);else if(o){let e=i.attr[h];("SCTE35-OUT"===h||"SCTE35-IN"===h||"SCTE35-CMD"===h)&&(e=ey(e));let r=nm(o,s,d,{key:h,data:e},sC.dateRange);r&&(r.id=t,this.id3Track.addCue(r),a[h]=r,l&&("X-ASSET-LIST"===h||"X-ASSET-URL"===h)&&r.addEventListener("enter",this.onEventCueEnter))}}c[t]={cues:a,dateRange:i,durationKnown:n}}}}}class nv{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:e}=this,t=this.levelDetails;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(null===i)return;this._latency=i;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:r}=this.config;if(!s||1===r||!t.live)return;let a=this.targetLatency;if(null===a)return;let n=i-a;if(n<Math.min(this.maxLatency,a+t.targetduration)&&n>.05&&this.forwardBufferLength>1){let t=Math.min(Math.min(2,Math.max(1,r)),Math.max(1,Math.round(2/(1+Math.exp(-.75*n-this.edgeStalled))*20)/20));this.changeMediaPlaybackRate(e,t)}else 1!==e.playbackRate&&0!==e.playbackRate&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return(null==(e=this.hls)?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){let{config:e}=this;if(void 0!==e.liveMaxLatencyDuration)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let e=this.levelDetails;if(null===e||null===this.hls)return null;let{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:r,liveSyncDurationCount:a,lowLatencyMode:n}=this.config,l=this.hls.userConfig,o=n&&i||t;return(this._targetLatencyUpdated||l.liveSyncDuration||l.liveSyncDurationCount||0===o)&&(o=void 0!==r?r:a*s),o+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,s)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(null===e||null===t)return null;let i=this.levelDetails;if(null===i)return null;let s=i.edge,r=e-t-this.edgeStalled;return Math.min(Math.max(s-i.totalduration,r),s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration))}get drift(){let e=this.levelDetails;return null===e?1:e.drift}get edgeStalled(){let e=this.levelDetails;if(null===e)return 0;let t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;e&&(e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.ERROR,this.onError,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var i;t.details===z.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&null!=(i=this.levelDetails)&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var i,s;e.playbackRate!==t&&(null==(i=this.hls)||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${null==(s=this.targetLatency)?void 0:s.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){let e=this.levelDetails;return null===e?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}class nE extends rm{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(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this),e.on(X.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this),e.off(X.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}
72stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.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 i=this.hls.config.preferManagedMediaSource,s=[],r={},a={},n=!1,l=!1,o=!1;t.levels.forEach(e=>{let t=e.attrs,{audioCodec:d,videoCodec:h}=e;d&&(e.audioCodec=d=e8(d,i)||void 0),h&&(h=e.videoCodec=function(e){let t=e.split(",");for(let e=0;e<t.length;e++){let i=t[e].split(".");i.length>2&&"avc1"===i[0]&&(t[e]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`)}return t.join(",")}(h));let{width:u,height:c,unknownCodecs:f}=e,m=(null==f?void 0:f.length)||0;if(n||(n=!!(u&&c)),l||(l=!!h),o||(o=!!d),m||d&&!this.isAudioSupported(d)||h&&!this.isVideoSupported(h))return void this.log(`Some or all CODECS not supported "${t.CODECS}"`);let{CODECS:g,"FRAME-RATE":p,"HDCP-LEVEL":v,"PATHWAY-ID":E,RESOLUTION:b,"VIDEO-RANGE":y}=t,T=`${E||"."}-`,A=`${T}${e.bitrate}-${b}-${p}-${g}-${y}-${v}`;if(r[A])if(r[A].uri===e.url||e.attrs["PATHWAY-ID"])r[A].addGroupId("audio",t.AUDIO),r[A].addGroupId("text",t.SUBTITLES);else{let t=a[A]+=1;e.attrs["PATHWAY-ID"]=Array(t+1).join(".");let i=this.createLevel(e);r[A]=i,s.push(i)}else{let t=this.createLevel(e);r[A]=t,a[A]=1,s.push(t)}}),this.filterAndSortMediaOptions(s,t,n,l,o)}createLevel(e){let t=new th(e),i=e.supplemental;if(null!=i&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){let e=Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(e.message),t.supportedResult=ts(e,[])}return t}isAudioSupported(e){return eJ(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return eJ(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,i,s,r){var a,n;let l=[],o=[],d=e,h=(null==(a=t.stats)?void 0:a.parsing)||{};if((i||s)&&r&&(d=d.filter(({videoCodec:e,videoRange:t,width:i,height:s})=>{var r;return(!!e||!!(i&&s))&&!!(r=t)&&tl.indexOf(r)>-1})),0===d.length){Promise.resolve().then(()=>{if(this.hls){let e="no level with compatible codecs found in manifest",i=e;t.levels.length&&(i=`one or more CODECS in variant not supported: ${tc(t.levels.map(e=>e.attrs.CODECS).filter((e,t,i)=>i.indexOf(e)===t))}`,this.warn(i),e+=` (${i})`);let s=Error(e);this.hls.trigger(X.ERROR,{type:Q.MEDIA_ERROR,details:z.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:s,reason:i})}}),h.end=performance.now();return}t.audioTracks&&nb(l=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),t.subtitles&&nb(o=t.subtitles);let u=d.slice(0);d.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return tl.indexOf(e.videoRange)-tl.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){let i=e2(e.videoCodec),s=e2(t.videoCodec);if(i!==s)return s-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){let i=e3(e.codecSet),s=e3(t.codecSet);if(i!==s)return s-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let c=u[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==u.length){for(let e=0;e<u.length;e++)if(u[e].pathwayId===d[0].pathwayId){c=u[e];break}}this._levels=d;for(let e=0;e<d.length;e++)if(d[e]===c){this._firstLevel=e;let t=c.bitrate,i=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${t}`),(null==(n=this.hls.userConfig)?void 0:n.abrEwmaDefaultEstimate)===void 0){let e=Math.min(t,this.hls.config.abrEwmaDefaultEstimateMax);e>i&&i===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}let f=r&&!s,m=this.hls.config,g=!!(m.audioStreamController&&m.audioTrackController),p={levels:d,audioTracks:l,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:s,altAudio:g&&!f&&l.some(e=>!!e.url)};h.end=performance.now(),this.hls.trigger(X.MANIFEST_PARSED,p)}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){let i=Error("invalid level idx"),s=e<0;if(this.hls.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.LEVEL_SWITCH_ERROR,level:e,fatal:s,error:i,reason:i.message}),s)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,s=this.currentLevel,r=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],n=a.attrs["PATHWAY-ID"];
72if(this.currentLevelIndex=e,this.currentLevel=a,i===e&&s&&r===n)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${n?" with Pathway "+n:""} from level ${i}${r?" with Pathway "+r:""}`);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(X.LEVEL_SWITCHING,l);let o=a.details;if(!o||o.live){let e=this.switchParams(a.uri,null==s?void 0:s.details,o);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){let e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),i=e.filter(e=>-1!==t.indexOf(e));if(e.length<1)return void this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);this.steering.pathwayPriority=i}}onError(e,t){!t.fatal&&t.context&&t.context.type===J&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===ei){let e=t.elementaryStreams;if(!Object.keys(e).some(t=>!!e[t]))return;let i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i,s;let{level:r,details:a}=t,n=t.levelInfo;if(!n){this.warn(`Invalid level index ${r}`),null!=(s=t.deliveryDirectives)&&s.skip&&(a.deltaUpdateFailed=!0);return}if(n===this.currentLevel||t.withoutMultiVariant){0===n.fragmentError&&(n.loadError=0);let e=n.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(r,t,e)}else null!=(i=t.deliveryDirectives)&&i.skip&&(a.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=this.getUrlWithDirectives(e.uri,t),s=this.currentLevelIndex,r=e.attrs["PATHWAY-ID"],a=e.details,n=null==a?void 0:a.age;this.log(`Loading level index ${s}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${r?" Pathway "+r:""}${n&&a.live?" age "+n.toFixed(1)+(a.type?" "+a.type:""):""} ${i}`),this.hls.trigger(X.LEVEL_LOADING,{url:i,level:s,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return -1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(1===this._levels.length)return;let i=this._levels.filter((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(e=>e.level=-1)),!1));iz(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let s=i.length-1;this._firstLevel=Math.min(this._firstLevel,s),this._startLevel&&(this._startLevel=Math.min(this._startLevel,s)),this.hls.trigger(X.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(X.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function nb(e){let t={};
72e.forEach(e=>{let i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++})}function ny(){return self.SourceBuffer||self.WebKitSourceBuffer}function nT(){if(!ep())return!1;let e=ny();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class nA extends so{constructor(e,t,i){super(e,t,i,"stream-controller",ei),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let e=this.media,t=e?e.currentTime:null;if(null===t||!j(t)||(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t)))return;let i=this.getFwdBufferInfoAtPos(e,t,ei,0);null===i||0===i.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${i?i.len:"empty"})`):this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){let{lastCurrentTime:i,hls:s}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=s.startLevel;-1===e&&(s.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=s.firstAutoLevel),s.nextLoadLevel=e,this.level=s.loadLevel,this._hasEnoughToStart=!!t}i>0&&-1===e&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=i6,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=i8}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case sl:{let{levels:e,level:t}=this,i=null==e?void 0:e[t],s=null==i?void 0:i.details;if(!s||s.live&&(this.levelLastLoaded!==i||this.waitForLive(i)))this.hls.nextLoadLevel!==this.level&&(this.state=i6);else{if(this.waitForCdnTuneIn(s))break;this.state=i6}break}case se:this.checkRetryDate()}this.state===i6&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),null!=(e=this.media)&&e.readyState&&!1===this.media.seeking&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:s}=this;if(null===t||!s&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let r=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(null!=i&&i[r]))return;let a=i[r],n=this.getMainFwdBufferInfo();if(null===n)return;let l=this.getLevelDetails();if(l&&this._streamEnded(n,l)){let e={};2===this.altAudio&&(e.type="video"),this.hls.trigger(X.BUFFER_EOS,e),this.state=sr;return}if(!this.buffering)return;e.loadLevel!==r&&-1===e.manualLevel&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=e.nextLoadLevel=r;let o=a.details;if(!o||this.state===sl||this.waitForLive(a)){this.level=r,this.state=sl,this.startFragRequested=!1;return}let d=n.len,h=this.getMaxBufferLength(a.maxBitrate);
72if(d>=h)return;this.backtrackFragment&&this.backtrackFragment.start>n.end&&(this.backtrackFragment=null);let u=this.backtrackFragment?this.backtrackFragment.start:n.end,c=this.getNextFragment(u,o);if(this.couldBacktrack&&!this.fragPrevious&&c&&eM(c)&&"OK"!==this.fragmentTracker.getState(c)){var f;let e=(null!=(f=this.backtrackFragment)?f:c).sn-o.startSN,t=o.fragments[e-1];t&&c.cc===t.cc&&(c=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&n.len&&(this.backtrackFragment=null);if(c&&this.isLoopLoading(c,u)){if(!c.gap){let e=this.audioOnly&&!this.altAudio?eI:eL,t=(e===eL?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,ei)}c=this.getNextFragmentLoopLoading(c,o,n,ei,h)}c&&(!c.initSegment||c.initSegment.data||this.bitrateTest||(c=c.initSegment),this.loadFragment(c,a,u))}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);s===tP||s===tU?eM(e)?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)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,ei)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,1/0)}nextLevelSwitch(){let{levels:e,media:t}=this;if(null!=t&&t.readyState){let i,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let r=this.getLevelDetails();if(null!=r&&r.live){let e=this.getMainFwdBufferInfo();if(!e||e.len<2*r.targetduration)return}if(!t.paused&&e){let t=e[this.hls.nextLoadLevel],s=this.fragLastKbps;i=s&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*s)+1:0}else i=0;let a=this.getBufferedFrag(t.currentTime+i);if(a){let e=this.followingBufferedFrag(a);if(e){this.abortCurrentFrag();let t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,s=Math.max(a.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(s,1/0)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case i9:case i7:case se:case si:case ss:this.state=i6}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,2===this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;i3(i,"playing",this.onMediaPlaying),i3(i,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){let{media:i}=this;i&&(i4(i,"playing",this.onMediaPlaying),i4(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),t.transferMedia||(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(X.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){var i;let s,r=!1,a=!1;for(let e=0;e<t.levels.length;e++){let i=t.levels[e].audioCodec;i&&(r=r||-1!==i.indexOf("mp4a.40.2"),a=a||-1!==i.indexOf("mp4a.40.5"))}this.audioCodecSwitch=r&&a&&"function"!=typeof(null==(s=ny())||null==(i=s.prototype)?void 0:i.changeType),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:i}=this;if(!i||this.state!==i6)return;let s=t.levelInfo;(!s.details||s.details.live&&(this.levelLastLoaded!==s||s.details.expired)||this.waitForCdnTuneIn(s.details))&&(this.state=sl)}onLevelLoaded(e,t){var i,s;let{levels:r,startFragRequested:a}=this,n=t.level,l=t.details,o=l.totalduration;if(!r)return void this.warn(`Levels were reset while loading level ${n}`);this.log(`Level ${n} loaded [${l.startSN},${l.endSN}]${l.lastPartSn?`[part-${l.lastPartSn}-${l.lastPartIndex}]`:""}, cc [${l.startCC}, ${l.endCC}] duration:${o}`);let d=t.levelInfo,h=this.fragCurrent;h&&(this.state===i7||this.state===se)&&h.level!==t.level&&h.loader&&this.abortCurrentFrag();let u=0;if(l.live||null!=(i=d.details)&&i.live){if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;u=this.alignPlaylists(l,d.details,null==(s=this.levelLastLoaded)?void 0:s.details)}if(d.details=l,this.levelLastLoaded=d,a||this.setStartPosition(l,u),this.hls.trigger(X.LEVEL_UPDATED,{details:l,level:n}),this.state===sl){if(this.waitForCdnTuneIn(l))return;this.state=i6}a&&l.live&&this.synchronizeToLiveEdge(l),this.tick()}
72synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,r=this.getLoadPosition(),a=e.fragmentStart,n=e.edge,l=r>=a-t.maxFragLookUpTolerance&&r<=n;if(null!==s&&i.duration>s&&(r<s||!l)){let a=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!l&&i.readyState<4||r<n-a)&&(this._hasEnoughToStart||(this.nextLoadPosition=s),i.readyState))if(this.warn(`Playback: ${r.toFixed(3)} is located too far from the end of live sliding playlist: ${n}, reset currentTime to : ${s.toFixed(3)}`),"buffered"===this.config.liveSyncMode){var o;let e=tJ.bufferInfo(i,s,0);if(!(null!=(o=e.buffered)&&o.length)||e.start<=r){i.currentTime=s;return}let{nextStart:t}=tJ.bufferedInfo(e.buffered,r,0);t&&(i.currentTime=t)}else i.currentTime=s}}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:s,payload:r}=e,{levels:a}=this;if(!a)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let n=a[i.level];if(!n)return void this.warn(`Level ${i.level} not found on progress`);let l=n.details;if(!l){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let o=n.videoCodec,d=l.PTSKnown||!l.live,h=null==(t=i.initSegment)?void 0:t.data,u=this._getAudioCodec(n),c=this.transmuxer=this.transmuxer||new rf(this.hls,ei,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),f=s?s.index:-1,m=new tz(i.level,i.sn,i.stats.chunkCount,r.byteLength,f,-1!==f),g=this.initPTS[i.cc];c.push(r,h,u,o,i,s,l.totalduration,d,m,g)}onAudioTrackSwitching(e,t){let i=this.hls,s=0!==this.altAudio;if(ty(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(s){this.altAudio=0,this.fragmentTracker.removeAllFragments(),i.once(X.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(X.AUDIO_TRACK_SWITCHED,t)}),i.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:null});return}i.trigger(X.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=ty(t.url,this.hls);if(i){let e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=2*!!i,this.tick()}onBufferCreated(e,t){let i,s,r=t.tracks,a=!1;for(let e in r){let t=r[e];if("main"===t.id){if(s=e,i=t,"video"===e){let t=r[e];t&&(this.videoBuffer=t.buffer)}}else a=!0}a&&i?(this.log(`Alternate track found, use ${s}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:s}=t,r=i.type===ei;if(r){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===ss&&(this.state=i6);return}let e=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),eM(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,s)}let a=this.media;a&&(!this._hasEnoughToStart&&tJ.getBuffered(a).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),r&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal){this.state=sa;return}switch(t.details){case z.FRAG_GAP:case z.FRAG_PARSING_ERROR:case z.FRAG_DECRYPT_ERROR:case z.FRAG_LOAD_ERROR:case z.FRAG_LOAD_TIMEOUT:case z.KEY_LOAD_ERROR:case z.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ei,t);break;case z.LEVEL_LOAD_ERROR:case z.LEVEL_LOAD_TIMEOUT:case z.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==sl||(null==(i=t.context)?void 0:i.type)!==J||(this.state=i6);break;case z.BUFFER_ADD_CODEC_ERROR:case z.BUFFER_APPEND_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case z.BUFFER_FULL_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,1/0));break;case z.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=i6,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==eI||!this.altAudio){let e=(t===eL?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,t,ei),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,-1===this.level&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking)return void this.log(`could not seek to ${i}, already seeking at ${t}`);let s=this.timelineOffset;s&&i&&(i+=s);let r=this.getLevelDetails(),a=tJ.getBuffered(e),n=a.length?a.start(0):0,l=n-i,o=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||l>0&&(l<o||this.loadingParts&&l<2*((null==r?void 0:r.partTarget)||0)))&&(this.log(`adjusting start position by ${l} to match buffer start`),i+=l,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${n}`),e.currentTime=i)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(e=>{let{hls:i}=this,s=null==e?void 0:e.frag;if(!s||this.fragContextChanged(s))return;t.fragmentError=0,this.state=i6,this.startFragRequested=!1,this.bitrateTest=!1;let r=s.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),i.trigger(X.FRAG_LOADED,e),s.bitrateTest=!1}
72).catch(t=>{this.state!==i8&&this.state!==sa&&(this.warn(t),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){let t=this.playlistType,{hls:i}=this,{remuxResult:s,chunkMeta:r}=e,a=this.getCurrentContext(r);if(!a)return void this.resetWhenMissingContext(r);let{frag:n,part:l,level:o}=a,{video:d,text:h,id3:u,initSegment:c}=s,{details:f}=o,m=this.altAudio?void 0:s.audio;if(this.fragContextChanged(n))return void this.fragmentTracker.removeFragment(n);if(this.state=si,c){let e=c.tracks;if(e){let s=n.initSegment||n;if(this.unhandledEncryptionError(c,n))return;this._bufferInitSegment(o,e,s,r),i.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:s,id:t,tracks:e})}let s=c.initPTS,a=c.timescale,l=this.initPTS[n.cc];if(j(s)&&(!l||l.baseTime!==s||l.timescale!==a)){let e=c.trackId;this.initPTS[n.cc]={baseTime:s,timescale:a,trackId:e},i.trigger(X.INIT_PTS_FOUND,{frag:n,id:t,initPTS:s,timescale:a,trackId:e})}}if(d&&f){m&&"audiovideo"===d.type&&this.logMuxedErr(n);let e=f.fragments[n.sn-1-f.startSN],t=n.sn===f.startSN,i=!e||n.cc>e.cc;if(!1!==s.independent){let{startPTS:e,endPTS:s,startDTS:a,endDTS:o}=d;if(l)l.elementaryStreams[d.type]={startPTS:e,endPTS:s,startDTS:a,endDTS:o};else if(d.firstKeyFrame&&d.independent&&1===r.id&&!i&&(this.couldBacktrack=!0),d.dropped&&d.independent){let r=this.getMainFwdBufferInfo(),a=(r?r.end:this.getLoadPosition())+this.config.maxBufferHole,l=d.firstKeyFramePTS?d.firstKeyFramePTS:e;if(!t&&a<l-this.config.maxBufferHole&&!i)return void this.backtrack(n);i&&(n.gap=!0),n.setElementaryStreamInfo(d.type,n.start,s,n.start,o,!0)}else t&&e-(f.appliedTimelineOffset||0)>2&&(n.gap=!0);n.setElementaryStreamInfo(d.type,e,s,a,o),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(d,n,l,r,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(m){let{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=m;l&&(l.elementaryStreams[eI]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),n.setElementaryStreamInfo(eI,e,t,i,s),this.bufferFragmentData(m,n,l,r)}if(f&&null!=u&&u.samples.length){let e={id:t,frag:n,details:f,samples:u.samples};i.trigger(X.FRAG_PARSING_METADATA,e)}if(f&&h){let e={id:t,frag:n,details:f,samples:h.samples};i.trigger(X.FRAG_PARSING_USERDATA,e)}}logMuxedErr(e){this.warn(`${eM(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,i,s){if(this.state!==si)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));let{audio:r,video:a,audiovideo:n}=t;if(r){let i=e.audioCodec,s=e6(r.codec,i);"mp4a"===s&&(s="mp4a.40.5");let a=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){s&&(s=-1!==s.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");let e=r.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===a.indexOf("firefox")&&(s="mp4a.40.5")}s&&-1!==s.indexOf("mp4a.40.5")&&-1!==a.indexOf("android")&&"audio/mpeg"!==r.container&&(s="mp4a.40.2",this.log(`Android: force audio codec to ${s}`)),i&&i!==s&&this.log(`Swapping manifest audio codec "${i}" for "${s}"`),r.levelCodec=s,r.id=ei,this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${s||""}/${i||""}/${r.codec}]`),delete t.audiovideo}if(a){a.levelCodec=e.videoCodec,a.id=ei;let i=a.codec;if((null==i?void 0:i.length)===4)switch(i){case"hvc1":case"hev1":a.codec="hvc1.1.6.L120.90";break;case"av01":a.codec="av01.0.04M.08";break;case"avc1":a.codec="avc1.42e01e"}this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${i}]${a.codec!==i?" parsed-corrected="+a.codec:""}${a.supplemental?" supplemental="+a.supplemental:""}`),delete t.audiovideo}n&&(this.log(`Init audiovideo buffer, container:${n.container}, codecs[level/parsed]=[${e.codecs}/${n.codec}]`),delete t.video,delete t.audio);let l=Object.keys(t);if(l.length){if(this.hls.trigger(X.BUFFER_CODECS,t),!this.hls)return;l.forEach(e=>{let r=t[e].initSegment;null!=r&&r.byteLength&&this.hls.trigger(X.BUFFER_APPENDING,{type:e,data:r,frag:i,part:null,chunkMeta:s,parent:i.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,ei)}get maxBufferLength(){let{levels:e,level:t}=this,i=null==e?void 0:e[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength}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=i6}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){let i=e.currentTime;if(tJ.isBuffered(e,i)?t=this.getAppendedFrag(i):tJ.isBuffered(e,i+.
721)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let e=this.fragPlaying,i=t.level;(!e||t.sn!==e.sn||e.level!==i)&&(this.fragPlaying=t,this.hls.trigger(X.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(X.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;return j(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;if(j(t)){let e=this.getLevelDetails(),i=this.currentFrag||(e?tA(null,e.fragments,t):null);if(i){let e=i.programDateTime;if(null!==e)return new Date(e+(t-i.start)*1e3)}}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}}class nS extends eh{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let i in this.keyIdToKeyInfo){let s=this.keyIdToKeyInfo[i].loader;if(s){var t;if(e&&e!==(null==(t=s.context)?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){for(let e in this.detach(),this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=z.KEY_LOAD_ERROR,i,s,r){return new tY({type:Q.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:r,error:i,networkDetails:s})}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let s=0,r=t.length;s<r;s++){let a=t[s];if(e.cc<=a.cc&&(!eM(e)||!eM(a)||e.sn<a.sn)||!i&&s==r-1)return this.emeController.selectKeySystemFormat(a).then(e=>{if(!this.emeController)return;a.setKeyFormat(e);let t=iv(e);if(t)return this.emeController.getKeySystemAccess([t])})}if(this.config.requireKeySystemAccessOnStart){let e=ib(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);let r=e.decryptdata;if(!r){let i=Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,z.KEY_LOAD_ERROR,i))}let a=r.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,z.KEY_LOAD_ERROR,Error(`Invalid key URI: "${a}"`)));let n=nI(r),l=this.keyIdToKeyInfo[n];if(null!=(i=l)&&i.decryptdata.key)return r.key=l.decryptdata.key,Promise.resolve({frag:e,keyInfo:l});if(this.emeController&&null!=(s=l)&&s.keyLoadPromise)switch(this.emeController.getKeyStatus(l.decryptdata)){case"usable":case"usable-in-future":return l.keyLoadPromise.then(t=>{let{keyInfo:i}=t;return r.key=i.decryptdata.key,{frag:e,keyInfo:i}})}switch(this.log(`${this.keyIdToKeyInfo[n]?"Rel":"L"}oading${r.keyId?" keyId: "+eb(r.keyId):""} URI: ${r.uri} from ${e.type} ${e.level}`),l=this.keyIdToKeyInfo[n]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if("identity"===r.keyFormat)return this.loadKeyHTTP(l,e);return this.loadKeyEME(l,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(l,e);default:return Promise.reject(this.createKeyLoadError(e,z.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var s,r;if(!e.decryptdata.keyId&&null!=(s=t.initSegment)&&s.data){let i,s=(r=t.initSegment.data,i=[],eW(r,e=>i.push(e.subarray(8,24))),i);if(s.length){let t=s[0];t.some(e=>0!==e)?(this.log(`Using keyId found in init segment ${eb(t)}`),iS.setKeyIdForUri(e.decryptdata.uri,t)):(t=iS.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${eb(t)}`)),e.decryptdata.keyId=t}}return e.decryptdata.keyId||eM(t)?(e.keyLoadPromise=this.emeController.loadKey(i).then(t=>(e.mediaKeySessionContext=t,i))).catch(i=>{throw e.keyLoadPromise=null,"data"in i&&(i.data.frag=t),i}):Promise.resolve(i)}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,s=new i.loader(i);return t.keyLoader=e.loader=s,e.keyLoadPromise=new Promise((r,a)=>{let n={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},l=i.keyLoadPolicy.default,o={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};s.load(n,o,{onSuccess:(e,t,i,s)=>{let{frag:n,keyInfo:l}=i,o=nI(l.decryptdata);if(!n.decryptdata||l!==this.keyIdToKeyInfo[o])return a(this.createKeyLoadError(n,z.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),s));l.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,l.loader=null,r({frag:n,keyInfo:l})},onError:(e,i,s,r)=>{this.resetLoader(i),a(this.createKeyLoadError(t,z.KEY_LOAD_ERROR,Error(`HTTP Error ${e.code} loading key ${e.text}`),s,ed({url:n.url,data:void 0},e)))},onTimeout:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,z.KEY_LOAD_TIMEOUT,Error("key loading timed out"),s))},onAbort:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,z.INTERNAL_ABORTED,Error("key loading aborted"),s))}})})}
72resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,r=i.loader;t.keyLoader===r&&(t.keyLoader=null,i.loader=null);let a=nI(i.decryptdata)||s;delete this.keyIdToKeyInfo[a],r&&r.destroy()}}function nI(e){if(e.keyFormat!==im){let t=e.keyId;if(t)return eb(t)}return e.uri}function nL(e){let{type:t}=e;switch(t){case ee:return es;case et:return er;default:return ei}}function nk(e,t){let i=e.url;return(void 0===i||0===i.indexOf("data:"))&&(i=t.url),i}class nR{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,r=new(i||s)(t);return this.loaders[e.type]=r,r}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:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Z,url:i,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){let{id:i,level:s,pathwayId:r,url:a,deliveryDirectives:n,levelInfo:l}=t;this.load({id:i,level:s,pathwayId:r,responseType:"text",type:J,url:a,deliveryDirectives:n,levelOrTrack:l})}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:r,deliveryDirectives:a,track:n}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:ee,url:r,deliveryDirectives:a,levelOrTrack:n})}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:r,deliveryDirectives:a,track:n}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:et,url:r,deliveryDirectives:a,levelOrTrack:n})}onLevelsUpdated(e,t){let i=this.loaders[J];if(i){let e=i.context;e&&!t.levels.some(t=>t===e.levelOrTrack)&&(i.abort(),delete this.loaders[J])}}load(e){var t;let i,s=this.hls.config,r=this.getInternalLoader(e);if(r){let t=this.hls.logger,i=r.context;if(i&&i.levelOrTrack===e.levelOrTrack&&(i.url===e.url||i.deliveryDirectives&&!e.deliveryDirectives))return void(i.url===e.url?t.log(`[playlist-loader]: ignore ${e.url} ongoing request`):t.log(`[playlist-loader]: ignore ${e.url} in favor of ${i.url}`));t.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),r.abort()}if(i=e.type===Z?s.manifestLoadPolicy.default:el({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),j(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===J&&null!==e.level?t=this.hls.levels[e.level].details:e.type===ee&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===et&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){let e=t.partTarget,s=t.targetduration;if(e&&s){let t=1e3*Math.max(3*e,.8*s);i=el({},i,{maxTimeToFirstByteMs:Math.min(t,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,i.maxTimeToFirstByteMs)})}}}let a=i.errorRetry||i.timeoutRetry||{},n={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0};r.load(e,n,{onSuccess:(e,t,i,s)=>{let r=this.getInternalLoader(i);this.resetInternalLoader(i.type);let a=e.data;t.parsing.start=performance.now(),i_.isMediaPlaylist(a)||i.type!==Z?this.handleTrackOrLevelPlaylist(e,t,i,s||null,r):this.handleMasterPlaylist(e,t,i,s)},onError:(e,t,i,s)=>{this.handleNetworkError(t,i,!1,e,s)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}})}
72checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,s){let r=this.hls,a=e.data,n=nk(e,i),l=i_.parseMasterPlaylist(a,n);if(l.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return}let{contentSteering:o,levels:d,sessionData:h,sessionKeys:u,startTimeOffset:c,variableList:f}=l;this.variableList=f,d.forEach(e=>{let{unknownCodecs:t}=e;if(t){let{preferManagedMediaSource:i}=this.hls.config,{audioCodec:s,videoCodec:r}=e;for(let a=t.length;a--;){let n=t[a];eJ(n,"audio",i)?(e.audioCodec=s=s?`${s},${n}`:n,eX.audio[s.substring(0,4)]=2,t.splice(a,1)):eJ(n,"video",i)&&(e.videoCodec=r=r?`${r},${n}`:n,eX.video[r.substring(0,4)]=2,t.splice(a,1))}}});let{AUDIO:m=[],SUBTITLES:g,"CLOSED-CAPTIONS":p}=i_.parseMasterPlaylistMedia(a,n,l);m.length&&(m.some(e=>!e.url)||!d[0].audioCodec||d[0].attrs.AUDIO||(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),m.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new t5({}),bitrate:0,url:""}))),r.trigger(X.MANIFEST_LOADED,{levels:d,audioTracks:m,subtitles:g,captions:p,contentSteering:o,url:n,stats:t,networkDetails:s,sessionData:h,sessionKeys:u,startTimeOffset:c,variableList:f})}handleTrackOrLevelPlaylist(e,t,i,s,r){let a=this.hls,{id:n,level:l,type:o}=i,d=nk(e,i),h=j(l)?l:j(n)?n:0,u=nL(i),c=i_.parseLevelPlaylist(e.data,d,h,u,0,this.variableList);if(o===Z){let e={attrs:new t5({}),bitrate:0,details:c,name:"",url:d};c.requestScheduled=t.loading.start+ij(c,0),a.trigger(X.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=c,this.handlePlaylistLoaded(c,e,t,i,s,r)}handleManifestParsingError(e,t,i,s,r){this.hls.trigger(X.ERROR,{type:Q.NETWORK_ERROR,details:z.MANIFEST_PARSING_ERROR,fatal:t.type===Z,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:r})}handleNetworkError(e,t,i=!1,s,r){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===J?a+=`: ${e.level} id: ${e.id}`:(e.type===ee||e.type===et)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let n=Error(a);this.hls.logger.warn(`[playlist-loader]: ${a}`);let l=z.UNKNOWN,o=!1,d=this.getInternalLoader(e);switch(e.type){case Z:l=i?z.MANIFEST_LOAD_TIMEOUT:z.MANIFEST_LOAD_ERROR,o=!0;break;case J:l=i?z.LEVEL_LOAD_TIMEOUT:z.LEVEL_LOAD_ERROR,o=!1;break;case ee:l=i?z.AUDIO_TRACK_LOAD_TIMEOUT:z.AUDIO_TRACK_LOAD_ERROR,o=!1;break;case et:l=i?z.SUBTITLE_TRACK_LOAD_TIMEOUT:z.SUBTITLE_LOAD_ERROR,o=!1}d&&this.resetInternalLoader(e.type);let h={type:Q.NETWORK_ERROR,details:l,fatal:o,url:e.url,loader:d,context:e,error:n,networkDetails:t,stats:r};s&&(h.response=ed({url:(null==t?void 0:t.url)||e.url,data:void 0},s)),this.hls.trigger(X.ERROR,h)}handlePlaylistLoaded(e,t,i,s,r,a){let n=this.hls,{type:l,level:o,levelOrTrack:d,id:h,groupId:u,deliveryDirectives:c}=s,f=nk(t,s),m=nL(s),g="number"==typeof s.level&&m===ei?o:void 0,p=e.playlistParsingError;if(p){if(this.hls.logger.warn(`${p} ${e.url}`),!n.config.ignorePlaylistParsingErrors)return void n.trigger(X.ERROR,{type:Q.NETWORK_ERROR,details:z.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:p,reason:p.message,response:t,context:s,level:g,parent:m,networkDetails:r,stats:i});e.playlistParsingError=null}if(!e.fragments.length){let a=e.playlistParsingError=Error("No Segments found in Playlist");n.trigger(X.ERROR,{type:Q.NETWORK_ERROR,details:z.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:a,reason:a.message,response:t,context:s,level:g,parent:m,networkDetails:r,stats:i});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Z:case J:if(g)if(d){if(d!==n.levels[g]){let e=n.levels.indexOf(d);e>-1&&(g=e)}}else g=0;n.trigger(X.LEVEL_LOADED,{details:e,levelInfo:d||n.levels[0],level:g||0,id:h||0,stats:i,networkDetails:r,deliveryDirectives:c,withoutMultiVariant:l===Z});break;case ee:n.trigger(X.AUDIO_TRACK_LOADED,{details:e,track:d,id:h||0,groupId:u||"",stats:i,networkDetails:r,deliveryDirectives:c});break;case et:n.trigger(X.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:h||0,groupId:u||"",stats:i,networkDetails:r,deliveryDirectives:c})}}}class nM{static get version(){return sf}static isMSESupported(){return nT()}static isSupported(){if(!nT())return!1;let e=ep();
72return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>e.isTypeSupported(e1(t,"video")))||["mp4a.40.2","fLaC"].some(t=>e.isTypeSupported(e1(t,"audio"))))}static getMediaSource(){return ep()}static get Events(){return X}static get MetadataSchema(){return sC}static get ErrorTypes(){return Q}static get ErrorDetails(){return z}static get DefaultConfig(){return nM.defaultConfig?nM.defaultConfig:no}static set DefaultConfig(e){nM.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new sc,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.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=function(e,t,i){let s=ef();if("object"==typeof console&&!0===e||"object"==typeof e){let r=["debug","log","info","warn","error"];r.forEach(t=>{s[t]=em(t,e,i)});try{s.log(`Debug logs enabled for "${t}" in hls.js version 1.6.15`)}catch(e){return ef()}r.forEach(t=>{eg[t]=em(t,e)})}else el(eg,s);return s}(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=function(e,t,i){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let s=function e(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,s)=>(i[s]=e(t[s]),i),{}):t}(e),r=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(e=>{let a=`${"level"===e?"playlist":e}LoadPolicy`,n=void 0===t[a],l=[];r.forEach(i=>{let r=`${e}Loading${i}`,o=t[r];if(void 0!==o&&n){l.push(r);let e=s[a].default;switch(t[a]={default:e},i){case"TimeOut":e.maxLoadTimeMs=o,e.maxTimeToFirstByteMs=o;break;case"MaxRetry":e.errorRetry.maxNumRetry=o,e.timeoutRetry.maxNumRetry=o;break;case"RetryDelay":e.errorRetry.retryDelayMs=o,e.timeoutRetry.retryDelayMs=o;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=o,e.timeoutRetry.maxRetryDelayMs=o}}}),l.length&&i.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${tc(t[a])}`)}),ed(ed({},s),t)}(nM.DefaultConfig,e,t);this.userConfig=e,i.progressive&&function(e,t){let i=e.loader;i!==ns&&i!==nl?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}()&&(e.loader=ns,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}(i,t);const{abrController:s,bufferController:r,capLevelController:a,errorController:n,fpsController:l}=i,o=new n(this),d=this.abrController=new s(this),h=new tN(this),u=i.interstitialsController,c=u?this.interstitialsController=new u(this,nM):null,f=this.bufferController=new r(this,h),m=this.capLevelController=new a(this),g=new l(this),p=new nR(this),v=i.contentSteeringController,E=v?new v(this):null,b=this.levelController=new nE(this,E),y=new np(this),T=new nS(this.config,this.logger),A=this.streamController=new nA(this,h,T),S=this.gapController=new nd(this,h);m.setStreamController(A),g.setStreamController(A);const I=[p,b,A];c&&I.splice(1,0,c),E&&I.splice(1,0,E),this.networkControllers=I;
72const L=[d,f,S,m,g,y,h];this.audioTrackController=this.createController(i.audioTrackController,I);const k=i.audioStreamController;k&&I.push(this.audioStreamController=new k(this,h,T)),this.subtitleTrackController=this.createController(i.subtitleTrackController,I);const R=i.subtitleStreamController;R&&I.push(this.subtititleStreamController=new R(this,h,T)),this.createController(i.timelineController,L),T.emeController=this.emeController=this.createController(i.emeController,L),this.cmcdController=this.createController(i.cmcdController,L),this.latencyController=this.createController(nv,L),this.coreComponents=L,I.push(o);const M=o.onErrorOut;"function"==typeof M&&this.on(X.ERROR,M,o),this.on(X.MANIFEST_LOADED,p.onManifestLoaded,p)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;let i=e===X.ERROR;this.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(X.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let t=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(X.ERROR,{type:Q.OTHER_ERROR,details:z.ATTACH_MEDIA_ERROR,fatal:!0,error:t});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());let t="media"in e,i=t?e.media:e,s=t?e:{media:i};this._media=i,this.trigger(X.MEDIA_ATTACHING,s)}detachMedia(){this.logger.log("detachMedia"),this.trigger(X.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;let e=this.bufferController.transferMedia();return this.trigger(X.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();let t=this.media,i=this._url,s=this._url=eA.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(X.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].startLoad(e,t),this.started&&this.networkControllers);i++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!this.started&&this.networkControllers);e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){let e={[ei]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[es]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[er]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=function(){try{return crypto.randomUUID()}catch(e){try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(t){let e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)})}}}()),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.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){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return -1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),-1!==e&&(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 abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){tn.indexOf(e)>-1&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return -1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let i=e.length;for(let s=0;s<i;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let e,{levels:t,autoLevelCapping:i,maxHdcpLevel:s}=this;if(e=-1===i&&null!=t&&t.length?t.length-1:i,s)for(let i=e;i--;){let e=t[i].attrs["HDCP-LEVEL"];if(e&&e<=s)return i}return e}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()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}
72setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0: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}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}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!(null!=(e=this.bufferController)&&e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return tr(e,tm(t),navigator.mediaCapabilities)}}nM.defaultConfig=void 0;let nC=(i=function(e){if(!e?.prototype)return e;let t=K(e,"video");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"videoTracks",{get(){var e=this;let t=R(e).videoTracks;if(!t&&(t=new _,R(e).videoTracks=t,V)){let i=V.call(e.nativeEl??e);for(let t of i)M(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(e=>e instanceof O)){for(let e of i)C(e);return}M(e,s.track)}),i.addEventListener("removetrack",e=>{C(e.track)})}return t}});let i=K(e,"audio");(!i||`${i}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"audioTracks",{get(){var e=this;let t=R(e).audioTracks;
72if(!t&&(t=new H,R(e).audioTracks=t,W)){let i=W.call(e.nativeEl??e);for(let t of i)B(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(e=>e instanceof G)){for(let e of i)$(e);return}B(e,s.track)}),i.addEventListener("removetrack",e=>{$(e.track)})}return t}}),"addVideoTrack"in e.prototype||(e.prototype.addVideoTrack=function(e,t="",i=""){let s=new O;return s.kind=e,s.label=t,s.language=i,M(this,s),s}),"removeVideoTrack"in e.prototype||(e.prototype.removeVideoTrack=C),"addAudioTrack"in e.prototype||(e.prototype.addAudioTrack=function(e,t="",i=""){let s=new G;return s.kind=e,s.label=t,s.language=i,B(this,s),s}),"removeAudioTrack"in e.prototype||(e.prototype.removeAudioTrack=$),"videoRenditions"in e.prototype||Object.defineProperty(e.prototype,"videoRenditions",{get(){return s(this)}});let s=e=>{let t=R(e).videoRenditions;return t||(R(t=new x).media=e,R(e).videoRenditions=t),t};"audioRenditions"in e.prototype||Object.defineProperty(e.prototype,"audioRenditions",{get(){return r(this)}});let r=e=>{let t=R(e).audioRenditions;return t||(R(t=new N).media=e,R(e).audioRenditions=t),t};return e}(I),class extends i{static shadowRootOptions={...i.shadowRootOptions};static getTemplateHTML=(e,t={})=>{let{src:s,...r}=e;return` 73 <script type="application/json" id="config"> 74 ${JSON.stringify(t.config||{})} 75 </script> 76 ${i.getTemplateHTML(r)} 77 `};#y=null;#T=null;constructor(){super(),this.#l("config")}get config(){return this.#T}set config(e){this.#T=e}attributeChangedCallback(e,t,i){"src"!==e&&super.attributeChangedCallback(e,t,i),"src"===e&&t!=i&&this.load()}#A(){var e,t;null==(e=this.#y)||e.remove(),null==(t=this.nativeEl)||t.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",this.#S),this.api&&(this.api.detachMedia(),this.api.destroy(),this.api=null)}async load(){var e,t;let i=!this.api;if(this.#A(),this.src){if(i&&!this.#T&&(this.#T=JSON.parse((null==(e=this.shadowRoot.getElementById("config"))?void 0:e.textContent)||"{}")),nM.isSupported()){switch(await Promise.resolve(),this.api=new nM({liveDurationInfinity:!0,autoStartLoad:!1,...this.config}),this.api.loadSource(this.src),this.api.attachMedia(this.nativeEl),this.nativeEl.preload){case"none":{let e=()=>this.api.startLoad();this.nativeEl.addEventListener("play",e,{once:!0}),this.api.on(nM.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",e)});break}case"metadata":{let e=this.api.config.maxBufferLength,t=this.api.config.maxBufferSize;this.api.config.maxBufferLength=1,this.api.config.maxBufferSize=1;let i=()=>{this.api.config.maxBufferLength=e,this.api.config.maxBufferSize=t};this.nativeEl.addEventListener("play",i,{once:!0}),this.api.on(nM.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",i)}),this.api.startLoad();break}default:this.api.startLoad()}this.nativeEl.webkitCurrentPlaybackTargetIsWireless&&this.api.stopLoad(),this.nativeEl.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",this.#S),this.#y=document.createElement("source"),this.#y.setAttribute("type","application/x-mpegURL"),this.#y.setAttribute("src",this.src),this.nativeEl.disableRemotePlayback=!1,this.nativeEl.append(this.#y);let e=new WeakMap;this.api.on(nM.Events.MANIFEST_PARSED,(t,i)=>{this.nativeEl.autoplay&&this.nativeEl.paused&&this.nativeEl.play().catch(e=>{console.warn("Autoplay failed:",e)}),r();let s=this.videoTracks.getTrackById("main");for(let[t,r]of(s||((s=this.addVideoTrack("main")).id="main",s.selected=!0),i.levels.entries())){let i=s.addRendition(r.url[0],r.width,r.height,r.videoCodec,r.bitrate);e.set(r,`${t}`),i.id=`${t}`}for(let[e,t]of i.audioTracks.entries()){let i=t.default?"main":"alternative",s=this.addAudioTrack(i,t.name,t.lang);s.id=`${e}`,t.default&&(s.enabled=!0)}}),this.audioTracks.addEventListener("change",()=>{var e;let t=+(null==(e=[...this.audioTracks].find(e=>e.enabled))?void 0:e.id),i=this.api.audioTracks.map(e=>e.id);t!=this.api.audioTrack&&i.includes(t)&&(this.api.audioTrack=t)}),this.api.on(nM.Events.LEVELS_UPDATED,(t,i)=>{let s=this.videoTracks[this.videoTracks.selectedIndex??0];if(!s)return;let r=i.levels.map(t=>e.get(t));for(let e of this.videoRenditions)e.id&&!r.includes(e.id)&&s.removeRendition(e)});let i=null;this.api.on(nM.Events.ERROR,(e,t)=>
77{t.type===nM.ErrorTypes.NETWORK_ERROR&&t.details===nM.ErrorDetails.FRAG_LOAD_ERROR&&(i=t.frag.level)}),this.api.on(nM.Events.LEVEL_SWITCHED,(e,t)=>{let s=t.level;null!==i&&s<i&&(console.warn(`\u26A0\uFE0F hls.js downgraded quality from level ${i} to ${s} due to fragment load failure.`),this.videoRenditions.selectedIndex=s,i=null)});let s=e=>{let t=e.target.selectedIndex;t!=this.api.nextLevel&&(this.api.nextLevel=t)};null==(t=this.videoRenditions)||t.addEventListener("change",s);let r=()=>{for(let e of this.videoTracks)this.removeVideoTrack(e);for(let e of this.audioTracks)this.removeAudioTrack(e)};this.api.once(nM.Events.DESTROYING,r);return}await Promise.resolve(),this.nativeEl.canPlayType("application/vnd.apple.mpegurl")&&(this.nativeEl.src=this.src)}}#S=()=>{var e,t,i;(null==(e=this.nativeEl)?void 0:e.webkitCurrentPlaybackTargetIsWireless)?null==(t=this.api)||t.stopLoad():null==(i=this.api)||i.startLoad()};#l(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}});globalThis.customElements&&!globalThis.customElements.get("hls-video")&&globalThis.customElements.define("hls-video",nC);var n_=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),nw={className:"class",htmlFor:"for"};function nD(e){return e.toLowerCase()}function nx(e){return"boolean"==typeof e?e?"":void 0:"function"==typeof e?void 0:"object"!=typeof e||null===e?e:void 0}function nP(e,t,i){var s;e[t]=i,null==i&&t in((null==(s=globalThis.HTMLElement)?void 0:s.prototype)??{})&&e.removeAttribute(t)}var nO=function({react:e,tagName:t,elementClass:i,events:s,displayName:r,defaultProps:a,toAttributeName:n=nD,toAttributeValue:l=nx}){let o=Number.parseInt(e.version)>=19,d=e.forwardRef((r,d)=>{var h,u;let c=e.useRef(null),f=e.useRef(new Map),m={},g={},p={},v={};for(let[e,t]of Object.entries(r)){if(n_.has(e)){p[e]=t;continue}let s=n(nw[e]??e);if(i.prototype&&e in i.prototype&&!(e in((null==(h=globalThis.HTMLElement)?void 0:h.prototype)??{}))&&!(null==(u=i.observedAttributes)?void 0:u.some(e=>e===s))){v[e]=t;continue}if(e.startsWith("on")){m[e]=t;continue}let r=l(t);s&&null!=r&&(g[s]=String(r),o||(p[s]=r)),s&&o&&(r!==nx(t)?p[s]=r:p[s]=t)}if("u">typeof window){for(let t in m){let i=m[t],r=t.endsWith("Capture"),a=((null==s?void 0:s[t])??t.slice(2).toLowerCase()).slice(0,r?-7:void 0);e.useLayoutEffect(()=>{let e=null==c?void 0:c.current;if(e&&"function"==typeof i)return e.addEventListener(a,i,r),()=>{e.removeEventListener(a,i,r)}},[null==c?void 0:c.current,i])}e.useLayoutEffect(()=>{if(null===c.current)return;let e=new Map;for(let t in v)nP(c.current,t,v[t]),f.current.delete(t),e.set(t,v[t]);for(let[e,t]of f.current)nP(c.current,e,void 0);f.current=e})}if("u"<typeof window&&(null==i?void 0:i.getTemplateHTML)&&(null==i?void 0:i.shadowRootOptions)){let{mode:t,delegatesFocus:s}=i.shadowRootOptions;p.children=[e.createElement("template",{shadowrootmode:t,shadowrootdelegatesfocus:s,dangerouslySetInnerHTML:{__html:i.getTemplateHTML(g,r)},key:"ce-la-react-ssr-template-shadow-root"}),p.children]}return e.createElement(t,{...a,...p,ref:e.useCallback(e=>{c.current=e,"function"==typeof d?d(e):null!==d&&(d.current=e)},[d])},p.children)});return d.displayName=r??i.name,d}({react:v.default,tagName:"hls-video",elementClass:nC,toAttributeName:e=>"muted"===e?"":"defaultMuted"===e?"muted":nD(e)});e.s(["default",0,nO],556836)},900001,30094,889096,e=>{"use strict";let t={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},i={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_P
77LAYED:"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_LOOP:"mediaLoop",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_LANG:"mediaLang",MEDIA_WIDTH:"mediaWidth"},s=Object.entries(i),r=s.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{}),a=s.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),n=Object.entries(a).reduce((e,[t,i])=>{let s=r[t];return s&&(e[i]=s),e},{userinactivechange:"userinactive"}),l=Object.entries(r).reduce((e,[t,i])=>{let s=a[t];return s&&(e[i]=s),e},{userinactive:"userinactivechange"});e.s(["AttributeToStateChangeEventMap",0,l,"AvailabilityStates",0,{UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},"MediaStateChangeEvents",0,a,"MediaStateReceiverAttributes",0,t,"MediaUIAttributes",0,r,"MediaUIEvents",0,{MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_LOOP_REQUEST:"medialooprequest",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"},"MediaUIProps",0,i,"PointerTypes",0,{MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},"ReadyStates",0,{HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},"StateChangeEventToAttributeMap",0,n,"StreamTypes",0,{LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"},"TextTrackKinds",0,{SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},"TextTrackModes",0,{DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"},"VolumeLevels",0,{HIGH:"high",MEDIUM:"medium",LOW:"low",OFF:"off"},"WebkitPresentationModes",0,{INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"}],900001);class o{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}}class d extends o{}class h extends d{constructor(){super(...arguments),this.role=null}}let u={createElement:function(){return new c.HTMLElement},createElementNS:function(){return new c.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent:e=>!1},c={ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},document:u,Node:d,Element:h,HTMLElement:class extends h{constructor(){super(...arguments),this.innerHTML=""}get content(){return new c.DocumentFragment}},DocumentFragment:class extends o{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem:e=>null,setItem(e,t){},removeItem(e){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia:e=>({matches:!1,media:e}),DOMParser:class{parseFromString(e,t){return{body:{textContent:e}}}}},f="global"in globalThis&&(null==globalThis?void 0:globalThis.global)===globalThis||"u"<typeof window||void 0===window.customElements,m=Object.keys(c).every(e=>e in globalThis),g=f&&!m?c:globalThis,p=f&&!m?u:globalThis.document;function v(e){var i;let{MEDIA_CONTROLLER:s}=t,r=e.getAttribute(s);if(r)return null==(i=y(e))?void 0:i.getElementById(r)}e.s(["document",0,p,"globalThis",0,g],30094);let E=(e,t)=>!!e&&!!t&&(null!=e&&!!e.contains(t)||E(e,t.getRootNode().host)),b=(e,t)=>{if(!e)return null;let i=e.closest(t);return i||b(e.getRootNode().host,t)};function y(e){var t;let i=null==(t=null==e?void 0:e.getRootNode)?void 0:t.call(e);return i instanceof ShadowRoot||i instanceof Document?i:null}function T(e,t){var i,s;let r=null!=(i=e.querySelectorAll("style:not([media])"))?i:[],a=null==r?void 0:r[r.length-1];return(null==a?void 0:a.sheet)?(null==a||a.sheet.insertRule(`${t}{}`,a.sheet.cssRules.length),null==(s=a.sheet.cssRules)?void 0:s[a.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",e),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function A(e,t,i=NaN){let s=e.getAttribute(t);return null!=s?+s:i}function S(e,t){return e.hasAttribute(t)}function I(e,t,i=null){var s;return null!=(s=e.getAttribute(t))?s:i}e.s(["closestComposedNode",0,b,"containsComposedNode",0,E,"getActiveElement",0,function e(t=document){var i;let s=null==t?void 0:t.activeElement;return s?null!=(i=e(s.shadowRoot))?i:s:null},"getAttributeMediaController",0,v,"getBooleanAttr",0,S,"getDocumentOrShadowRoot",0,y,"getMediaController",0,function(e){var t;return null!=(t=v(e))?t:b(e,"media-controller")},"getNumericAttr",0,A,"getOrInsertCSSRule",0,function(e,t){let i=function(e,t){var i,s;let r;for(r of null!=(i=e.querySelectorAll("style:not([media])"))?i:[]){let e;try{e=null==(s=r.sheet)?void 0:s.cssRules}catch{continue}for(let i of null!=e?e:[])if(t(i.selectorText))return i}}(e,e=>e===t);return i||T(e,t)},"getPointProgressOnLine",0,function(e,t,i,s){let r=s.x-i.x,a=s.y-i.y,n=r*r+a*a;return 0===n?0:Math.max(0,Math.min(1,((e-i.x)*r+(t-i.y)*a)/n))},"getSlotted",0,(e,t)=>{let i,s;return(i=`slot[name="${t}"]`,!(s=e.shadowRoot.querySelector(i))?[]:s.children)[0]},"getStringAttr",0,I,"insertCSSRule",0,T,"isElementVisible",0,function(e,{depth:t=3,checkOpacity:i=!0,checkVisibilityCSS:s=!0}={}){if(e.checkVisibility)return e.checkVisibility({checkOpacity:i,checkVisibilityCSS:s});let r=e;for(;r&&t>0;){let e=getComputedStyle(r);if(i&&"0"===e.opacity||s&&"hidden"===e.visibility||"none"===e.display)return!1;r=r.parentElement,t--}return!0},"namedNodeMapToObject",0,function(e){let t={};for(let i of e)t[i.name]=i.value;return t},"setBooleanAttr",0,function(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}S(e,t)!=i&&e.toggleAttribute(t,i)},"setNumericAttr",0,function(e,t,i){let s=+i;if(null==i||Number.isNaN(s)){e.hasAttribute(t)&&e.removeAttribute(t);return}A(e,t,void 0)!==s&&e.setAttribute(t,`${s}`)},"setStringAttr",0,function(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}let s=`${i}`;I(e,t,void 0)!==s&&e.setAttribute(t,s)},"updateIconText",0,(e,t,i=".value")=>{let s=e.querySelector(i);s&&(s.textContent=t)}],889096)},911639,244899,e=>{"use strict";var t,i,s,r,a,n,l,o=e.i(900001),d=e.i(889096),h=e.i(30094);let u="placement",c="bounds";class f extends h.globalThis.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!(0,d.isElementVisible)(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if("left"===t||"right"===t)return void this.style.removeProperty("--media-tooltip-offset-x");let i=getComputedStyle(this),s=null!=(e=(0,d.closestComposedNode)(this,"#"+this.bounds))?e:(0,d.getMediaController)(this);if(!s)return;let{x:r,width:a}=s.getBoundingClientRect(),{x:n,width:l}=this.getBoundingClientRect(),o=i.getPropertyValue("--media-tooltip-offset-x"),h=o?parseFloat(o.replace("px","")):0,u=i.getPropertyValue("--media-tooltip-container-margin"),c=u?parseFloat(u.replace("px","")):0,f=n-r+h-c,m=n+l-(r+a)+h+c;f<0?this.style.setProperty("--media-tooltip-offset-x",`${f}px`):m>0?this.style.setProperty("--media-tooltip-offset-x",`${m}px`):this.style.removeProperty("--media-tooltip-offset-x")},!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,d.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}if(this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){const e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[u,c]}get placement(){return(0,d.getStringAttr)(this,u)}set placement(e){(0,d.setStringAttr)(this,u,e)}get bounds(){return(0,d.getStringAttr)(this,c)}set bounds(e){(0,d.setStringAttr)(this,c,e)}}f.shadowRootOptions={mode:"open"},f.getTemplateHTML=function(e){return` 78 <style> 79 :host { 80 --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7))); 81 --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color)); 82 --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2); 83 --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px); 84 --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color)); 85 position: relative; 86 pointer-events: none; 87 display: var(--media-tooltip-display, inline-flex); 88 justify-content: center; 89 align-items: center; 90 box-sizing: border-box; 91 z-index: var(--media-tooltip-z-index, 1); 92 background: var(--_tooltip-background); 93 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 94 font: var(--media-font, 95 var(--media-font-weight, 400) 96 var(--media-font-size, 13px) / 97 var(--media-text-content-height, var(--media-control-height, 18px)) 98 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 99 padding: var(--media-tooltip-padding, .35em .7em); 100 border: var(--media-tooltip-border, none); 101 border-radius: var(--media-tooltip-border-radius, 5px); 102 filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2))); 103 white-space: var(--media-tooltip-white-space, nowrap); 104 } 105 106 :host([hidden]) { 107 display: none; 108 } 109 110 img, svg { 111 display: inline-block; 112 } 113 114 #arrow { 115 position: absolute; 116 width: 0px; 117 height: 0px; 118 border-style: solid; 119 display: var(--media-tooltip-arrow-display, block); 120 } 121 122 :host(:not([placement])), 123 :host([placement="top"]) { 124 position: absolute; 125 bottom: calc(100% + var(--media-tooltip-distance, 12px)); 126 left: 50%; 127 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0
127); 128 } 129 :host(:not([placement])) #arrow, 130 :host([placement="top"]) #arrow { 131 top: 100%; 132 left: 50%; 133 border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width); 134 border-color: var(--_tooltip-arrow-background) transparent transparent transparent; 135 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 136 } 137 138 :host([placement="right"]) { 139 position: absolute; 140 left: calc(100% + var(--media-tooltip-distance, 12px)); 141 top: 50%; 142 transform: translate(0, -50%); 143 } 144 :host([placement="right"]) #arrow { 145 top: 50%; 146 right: 100%; 147 border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0; 148 border-color: transparent var(--_tooltip-arrow-background) transparent transparent; 149 transform: translate(0, -50%); 150 } 151 152 :host([placement="bottom"]) { 153 position: absolute; 154 top: calc(100% + var(--media-tooltip-distance, 12px)); 155 left: 50%; 156 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0); 157 } 158 :host([placement="bottom"]) #arrow { 159 bottom: 100%; 160 left: 50%; 161 border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width); 162 border-color: transparent transparent var(--_tooltip-arrow-background) transparent; 163 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 164 } 165 166 :host([placement="left"]) { 167 position: absolute; 168 right: calc(100% + var(--media-tooltip-distance, 12px)); 169 top: 50%; 170 transform: translate(0, -50%); 171 } 172 :host([placement="left"]) #arrow { 173 top: 50%; 174 left: 100%; 175 border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height); 176 border-color: transparent transparent transparent var(--_tooltip-arrow-background); 177 transform: translate(0, -50%); 178 } 179 180 :host([placement="none"]) #arrow { 181 display: none; 182 } 183 </style> 184 <slot></slot> 185 <div id="arrow"></div> 186 `},h.globalThis.customElements.get("media-tooltip")||h.globalThis.customElements.define("media-tooltip",f),e.s(["default",0,f],244899);var m=h,g=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},p=(e,t,i)=>(g(e,t,"read from private field"),i?i.call(e):t.get(e)),v=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},E=(e,t,i,s)=>(g(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);let b="tooltipplacement",y="disabled",T="notooltip";class A extends m.globalThis.HTMLElement{constructor(){if(super(),v(this,n),v(this,t,void 0),this.preventClick=!1,this.tooltipEl=null,v(this,i,e=>{this.preventClick||this.handleClick(e),setTimeout(p(this,s),0)}),v(this,s,()=>{var e,t;null==(t=null==(e=this.tooltipEl)?void 0:e.updateXOffset)||t.call(e)}),v(this,r,e=>{let{key:t}=e;this.keysUsed.includes(t)?this.preventClick||this.handleClick(e):this.removeEventListener("keyup",p(this,r))}),v(this,a,e=>{let{metaKey:t,altKey:i,key:s}=e;t||i||!this.keysUsed.includes(s)?this.removeEventListener("keyup",p(this,r)):this.addEventListener("keyup",p(this,r),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,d.namedNodeMapToObject)(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",b,o.MediaStateReceiverAttributes.MEDIA_CONTROLLER,o.MediaUIAttributes.MEDIA_LANG]}enable(){this.addEventListener("click",p(this,i)),this.addEventListener("keydown",p(this,a)),this.tabIndex=0}disable(){this.removeEventListener("click",p(this,i)),this.removeEventListener("keydown",p(this,a)),this.removeEventListener("keyup",p(this,r)),this.tabIndex=-1}attributeChangedCallback(e,i,r){var a,n,l,d,h;e===o.MediaStateReceiverAttributes.MEDIA_CONTROLLER?(i&&(null==(n=null==(a=p(this,t))?void 0:a.unassociateElement)||n.call(a,this),E(this,t,null)),r&&this.isConnected&&(E(this,t,null==(l=this.getRootNode())?void 0:l.getElementById(r)),null==(h=null==(d=p(this,t))?void 0:d.associateElement)||h.call(d,this))):"disabled"===e&&r!==i?null==r?this.enable():this.disable():e===b&&this.tooltipEl&&r!==i?this.tooltipEl.placement=r:e===o.MediaUIAttributes.MEDIA_LA
186NG&&(this.shadowRoot.querySelector('slot[name="tooltip-content"]').innerHTML=this.constructor.getTooltipContentHTML()),p(this,s).call(this)}connectedCallback(){var e,i,s;let{style:r}=(0,d.getOrInsertCSSRule)(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let a=this.getAttribute(o.MediaStateReceiverAttributes.MEDIA_CONTROLLER);a&&(E(this,t,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(s=null==(i=p(this,t))?void 0:i.associateElement)||s.call(i,this)),m.globalThis.customElements.whenDefined("media-tooltip").then(()=>{var e,t;return(e=n,t=l,g(this,e,"access private method"),t).call(this)})}disconnectedCallback(){var e,r;this.disable(),null==(r=null==(e=p(this,t))?void 0:e.unassociateElement)||r.call(e,this),E(this,t,null),this.removeEventListener("mouseenter",p(this,s)),this.removeEventListener("focus",p(this,s)),this.removeEventListener("click",p(this,i))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return(0,d.getStringAttr)(this,b)}set tooltipPlacement(e){(0,d.setStringAttr)(this,b,e)}get mediaController(){return(0,d.getStringAttr)(this,o.MediaStateReceiverAttributes.MEDIA_CONTROLLER)}set mediaController(e){(0,d.setStringAttr)(this,o.MediaStateReceiverAttributes.MEDIA_CONTROLLER,e)}get disabled(){return(0,d.getBooleanAttr)(this,y)}set disabled(e){(0,d.setBooleanAttr)(this,y,e)}get noTooltip(){return(0,d.getBooleanAttr)(this,T)}set noTooltip(e){(0,d.setBooleanAttr)(this,T,e)}handleClick(e){}}t=new WeakMap,i=new WeakMap,s=new WeakMap,r=new WeakMap,a=new WeakMap,n=new WeakSet,l=function(){this.addEventListener("mouseenter",p(this,s)),this.addEventListener("focus",p(this,s)),this.addEventListener("click",p(this,i));let e=this.tooltipPlacement;e&&this.tooltipEl&&(this.tooltipEl.placement=e)},A.shadowRootOptions={mode:"open"},A.getTemplateHTML=function(e,t={}){return` 187 <style> 188 :host { 189 position: relative; 190 font: var(--media-font, 191 var(--media-font-weight, bold) 192 var(--media-font-size, 14px) / 193 var(--media-text-content-height, var(--media-control-height, 24px)) 194 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 195 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 196 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 197 padding: var(--media-button-padding, var(--media-control-padding, 10px)); 198 justify-content: var(--media-button-justify-content, center); 199 display: inline-flex; 200 align-items: center; 201 vertical-align: middle; 202 box-sizing: border-box; 203 transition: background .15s linear; 204 pointer-events: auto; 205 cursor: var(--media-cursor, pointer); 206 -webkit-tap-highlight-color: transparent; 207 } 208 209 210 :host(:focus-visible) { 211 box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 212 outline: 0; 213 } 214 215 :host(:where(:focus)) { 216 box-shadow: none; 217 outline: 0; 218 } 219 220 :host(:hover) { 221 background: var(--media-control-hover-background, rgba(50 50 70 / .7)); 222 } 223 224 svg, img, ::slotted(svg), ::slotted(img) { 225 width: var(--media-button-icon-width); 226 height: var(--media-button-icon-height, var(--media-control-height, 24px)); 227 transform: var(--media-button-icon-transform); 228 transition: var(--media-button-icon-transition); 229 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 230 vertical-align: middle; 231 max-width: 100%; 232 max-height: 100%; 233 min-width: 100%; 234 } 235 236 media-tooltip { 237 238 max-width: 0; 239 overflow-x: clip; 240 opacity: 0; 241 transition: opacity .3s, max-width 0s 9s; 242 } 243 244 :host(:hover) media-tooltip, 245 :host(:focus-visible) media-tooltip { 246 max-width: 100vw; 247 opacity: 1; 248 transition: opacity .3s; 249 } 250 251 :host([notooltip]) slot[name="tooltip"] { 252 display: none; 253 } 254 </style> 255
256 ${this.getSlotTemplateHTML(e,t)} 257 258 <slot name="tooltip"> 259 <media-tooltip part="tooltip" aria-hidden="true"> 260 <template shadowrootmode="${f.shadowRootOptions.mode}"> 261 ${f.getTemplateHTML({})} 262 </template> 263 <slot name="tooltip-content"> 264 ${this.getTooltipContentHTML(e)} 265 </slot> 266 </media-tooltip> 267 </slot> 268 `},A.getSlotTemplateHTML=function(e,t){return` 269 <slot></slot> 270 `},A.getTooltipContentHTML=function(){return""},m.globalThis.customElements.get("media-chrome-button")||m.globalThis.customElements.define("media-chrome-button",A),e.s(["MediaChromeButton",0,A,"default",0,A],911639)},11339,e=>{"use strict";var t,i=e.i(911639),s=e.i(30094),r=e.i(900001),a=e.i(789312),n=e.i(889096),l=e.i(12327),o=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)};let d="rates",h=[1,1.2,1.5,1.7,2];class u extends i.MediaChromeButton{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,t,new a.AttributeTokenList(this,d,{defaultValue:h})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}static get observedAttributes(){return[...super.observedAttributes,r.MediaUIAttributes.MEDIA_PLAYBACK_RATE,d]}attributeChangedCallback(e,i,s){if(super.attributeChangedCallback(e,i,s),e===d&&(o(this,t).value=s),e===r.MediaUIAttributes.MEDIA_PLAYBACK_RATE){let e=s?+s:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",(0,l.t)("Playback rate {playbackRate}",{playbackRate:t}))}}get rates(){return o(this,t)}set rates(e){e?Array.isArray(e)?o(this,t).value=e.join(" "):"string"==typeof e&&(o(this,t).value=e):o(this,t).value=""}get mediaPlaybackRate(){return(0,n.getNumericAttr)(this,r.MediaUIAttributes.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){(0,n.setNumericAttr)(this,r.MediaUIAttributes.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,i;let a=Array.from(o(this,t).values(),e=>+e).sort((e,t)=>e-t),n=null!=(i=null!=(e=a.find(e=>e>this.mediaPlaybackRate))?e:a[0])?i:1,l=new s.globalThis.CustomEvent(r.MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:n});this.dispatchEvent(l)}}t=new WeakMap,u.getSlotTemplateHTML=function(e){return` 271 <style> 272 :host { 273 min-width: 5ch; 274 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 275 } 276 </style> 277 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 278 `},u.getTooltipContentHTML=function(){return(0,l.t)("Playback rate")},s.globalThis.customElements.get("media-playback-rate-button")||s.globalThis.customElements.define("media-playback-rate-button",u),e.s(["DEFAULT_RATE",0,1,"DEFAULT_RATES",0,h,"default",0,u])},747426,285664,417379,e=>{"use strict";let t;var i=e.i(699294),s=e.i(900001),r=e.i(30094),a=e.i(889096),n=e.i(489094),l=e.i(474227),o=e.i(436561);let d=e=>(0,o.getTextTracksList)(e.media,e=>[s.TextTrackKinds.SUBTITLES,s.TextTrackKinds.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),h=e=>(0,o.getTextTracksList)(e.media,e=>e.mode===s.TextTrackModes.SHOWING&&[s.TextTrackKinds.SUBTITLES,s.TextTrackKinds.CAPTIONS].includes(e.kind)),u=(e,t)=>{let i=d(e),r=h(e),a=!!r.length;if(i.length){if(!1===t||a&&!0!==t)(0,o.updateTracksModeTo)(s.TextTrackModes.DISABLED,i,r);else if(!0===t||!a&&!1!==t){let t=i[0],{options:a}=e;if(!(null==a?void 0:a.noSubtitlesLangPref)){let e=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),s=e?[e,...globalThis.navigator.languages]:globalThis.navigator.languages,r=i.filter(e=>s.some(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))).sort((e,t)=>s.findIndex(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))-s.findIndex(e=>t.language.toLowerCase().startsWith(e.split("-")[0])));r[0]&&(t=r[0])}let{language:n,label:l,kind:d}=t;(0,o.updateTracksModeTo)(s.TextTrackModes.DISABLED,i,r),(0,o.updateTracksModeTo)(s.TextTrackModes.SHOWING,i,[{language:n,label:l,kind:d}])}}},c=(e,t)=>e===t||null!=e&&null!=t&&typeof e==typeof t&&(!!("number"==typeof e&&Number.isNaN(e)&&Number.isNaN(t))||"object"==typeof e&&(Array.isArray(e)?f(e,t):Object.entries(e).every(([e,i])=>
278e in t&&c(i,t[e])))),f=(e,t)=>{let i=Array.isArray(e),s=Array.isArray(t);return i===s&&(!i&&!s||e.length===t.length&&e.every((e,i)=>c(e,t[i])))};var m=e.i(966803);let g=Object.values(s.StreamTypes),p=(0,l.hasVolumeSupportAsync)().then(e=>t=e),v=async(...e)=>{await Promise.all(e.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof r.globalThis.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let i=r.globalThis.customElements.get(t);i&&e instanceof i||(await r.globalThis.customElements.whenDefined(t),r.globalThis.customElements.upgrade(e))}))},E=new r.globalThis.DOMParser,b={mediaError:{get(e,t){let{media:i}=e;if((null==t?void 0:t.type)!=="playing")return null==i?void 0:i.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(e,t){var i;let{media:s}=e;if((null==t?void 0:t.type)!=="playing")return null==(i=null==s?void 0:s.error)?void 0:i.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(e,t){var i,s;let{media:r}=e;if((null==t?void 0:t.type)!=="playing")return null!=(s=null==(i=null==r?void 0:r.error)?void 0:i.message)?s:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoWidth)?t:0},mediaEvents:["resize"]},mediaHeight:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoHeight)?t:0},mediaEvents:["resize"]},mediaPaused:{get(e){var t;let{media:i}=e;return null==(t=null==i?void 0:i.paused)||t},set(e,t){var i;let{media:s}=t;s&&(e?s.pause():null==(i=s.play())||i.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(e,t){let{media:i}=e;return!!i&&(t?"playing"===t.type:!i.paused)},mediaEvents:["playing","emptied"]},mediaEnded:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.ended)&&t},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.playbackRate)?t:1},set(e,t){let{media:i}=t;!i||Number.isFinite(+e)&&(i.playbackRate=+e)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.muted)&&t},set(e,t){let{media:i,options:{noMutedPref:s}={}}=t;if(i){i.muted=e;try{let t=null!==r.globalThis.localStorage.getItem("media-chrome-pref-muted"),a=i.hasAttribute("muted");if(s){t&&r.globalThis.localStorage.removeItem("media-chrome-pref-muted");return}if(a&&!t)return;r.globalThis.localStorage.setItem("media-chrome-pref-muted",e?"true":"false")}catch(e){console.debug("Error setting muted pref",e)}}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noMutedPref:i}}=t,{media:s}=t;if(s&&!s.muted&&!i)try{let i="true"===r.globalThis.localStorage.getItem("media-chrome-pref-muted");b.mediaMuted.set(i,t),e(i)}catch(e){console.debug("Error getting muted pref",e)}}]},mediaLoop:{get(e){let{media:t}=e;return null==t?void 0:t.loop},set(e,t){let{media:i}=t;i&&(i.loop=e)},mediaEvents:["medialooprequest"]},mediaVolume:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.volume)?t:1},set(e,t){let{media:i,options:{noVolumePref:s}={}}=t;if(i){try{null==e?r.globalThis.localStorage.removeItem("media-chrome-pref-volume"):i.hasAttribute("muted")||s||r.globalThis.localStorage.setItem("media-chrome-pref-volume",e.toString())}catch(e){console.debug("Error setting volume pref",e)}Number.isFinite(+e)&&(i.volume=+e)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noVolumePref:i}}=t;if(!i)try{let{media:i}=t;if(!i)return;let s=r.globalThis.localStorage.getItem("media-chrome-pref-volume");if(null==s)return;b.mediaVolume.set(+s,t),e(+s)}catch(e){console.debug("Error getting volume pref",e)}}]},mediaVolumeLevel:{get(e){let{media:t}=e;return void 0===(null==t?void 0:t.volume)?"high":t.muted||0===t.volume?"off":t.volume<.5?"low":t.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.currentTime)?t:0},set(e,t){let{media:i}=t;i&&(0,m.isValidNumber)(e)&&(i.currentTime=e)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(e){let{media:t,options:{defaultDuration:i}={}}=e;return i&&(!t||!t.duration||Number.isNaN(t.duration)||!Number.isFinite(t.duration))?i:Number.isFinite(null==t?void 0:t.duration)?t.duration:NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(e){let{media:t}=e;return(null==t?void 0:t.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(e){var t;let{media:i}=e;if(!(null==(t=null==i?void 0:i.seekable)?void 0:t.length))return;let s=i.seekable.start(0),r=i.seekable.end(i.seekable.length-1);if(s||r)return[Number(s.toFixed(3)),Number(r.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(e){var t;let{media:i}=e,s=null!=(t=null==i?void 0:i.buffered)?t:[];return Array.from(s).map((e,t)=>[Number(s.start(t).toFixed(3)),Number(s.end(t).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(e){let{media:t,options:{defaultStreamType:i}={}}=e,r=[s.StreamTypes.LIVE,s.StreamTypes.ON_DEMAND].includes(i)?i:void 0;if(!t)return r;let{streamType:a}=t;if(g.includes(a))return a===s.StreamTypes.UNKNOWN?r:a;let n=t.duration;return n===1/0?s.StreamTypes.LIVE:Number.isFinite(n)?s.StreamTypes.ON_DEMAND:r}
278,mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(e){let{media:t}=e;if(!t)return NaN;let{targetLiveWindow:i}=t,r=b.mediaStreamType.get(e);return(null==i||Number.isNaN(i))&&r===s.StreamTypes.LIVE?0:i},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(e){let{media:t,options:{liveEdgeOffset:i=10}={}}=e;if(!t)return!1;if("number"==typeof t.liveEdgeStart)return!Number.isNaN(t.liveEdgeStart)&&t.currentTime>=t.liveEdgeStart;if(b.mediaStreamType.get(e)!==s.StreamTypes.LIVE)return!1;let r=t.seekable;if(!r)return!0;if(!r.length)return!1;let a=r.end(r.length-1)-i;return t.currentTime>=a},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get:e=>d(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get:e=>h(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i,r;let{media:a,options:n}=t;if(!a)return;let l=e=>{var i;n.defaultSubtitles&&(e&&![s.TextTrackKinds.CAPTIONS,s.TextTrackKinds.SUBTITLES].includes(null==(i=null==e?void 0:e.track)?void 0:i.kind)||u(t,!0))};return a.addEventListener("loadstart",l),null==(i=a.textTracks)||i.addEventListener("addtrack",l),null==(r=a.textTracks)||r.addEventListener("removetrack",l),()=>{var e,t;a.removeEventListener("loadstart",l),null==(e=a.textTracks)||e.removeEventListener("addtrack",l),null==(t=a.textTracks)||t.removeEventListener("removetrack",l)}}]},mediaChaptersCues:{get(e){var t;let{media:i}=e;if(!i)return[];let[r]=(0,o.getTextTracksList)(i,{kind:s.TextTrackKinds.CHAPTERS});return Array.from(null!=(t=null==r?void 0:r.cues)?t:[]).map(({text:e,startTime:t,endTime:i})=>({text:e&&E.parseFromString(e,"text/html").body.textContent||e,startTime:t,endTime:i}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:s}=t;if(!s)return;let r=s.querySelector('track[kind="chapters"][default][src]'),a=null==(i=s.shadowRoot)?void 0:i.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return null==r||r.addEventListener("load",e),null==a||a.addEventListener("load",e),()=>{null==r||r.removeEventListener("load",e),null==a||a.removeEventListener("load",e)}}]},mediaIsPip:{get(e){var t,i;let{media:s,documentElement:r}=e;if(!s||!r||!r.pictureInPictureElement)return!1;if(r.pictureInPictureElement===s)return!0;if(r.pictureInPictureElement instanceof HTMLMediaElement)return!!(null==(t=s.localName)?void 0:t.includes("-"))&&(0,a.containsComposedNode)(s,r.pictureInPictureElement);if(r.pictureInPictureElement.localName.includes("-")){let e=r.pictureInPictureElement.shadowRoot;for(;null==e?void 0:e.pictureInPictureElement;){if(e.pictureInPictureElement===s)return!0;e=null==(i=e.pictureInPictureElement)?void 0:i.shadowRoot}}return!1},set(e,t){let{media:i}=t;if(i)if(e){if(!r.document.pictureInPictureEnabled)return void console.warn("MediaChrome: Picture-in-picture is not enabled");if(!i.requestPictureInPicture)return void console.warn("MediaChrome: The current media does not support picture-in-picture");let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};i.requestPictureInPicture().catch(t=>{if(11===t.code){if(!i.src)return void console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");if(0===i.readyState&&"none"===i.preload){let t=()=>{i.removeEventListener("loadedmetadata",s),i.preload="none"},s=()=>{i.requestPictureInPicture().catch(e),t()};i.addEventListener("loadedmetadata",s),i.preload="metadata",setTimeout(()=>{0===i.readyState&&e(),t()},1e3)}else throw t}else throw t})}else r.document.pictureInPictureElement&&r.document.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.videoRenditions)?t:[]].map(e=>({...e}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(e){var t,i,s;let{media:r}=e;return null==(s=null==(i=null==r?void 0:r.videoRenditions)?void 0:i[null==(t=r.videoRenditions)?void 0:t.selectedIndex])?void 0:s.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.videoRenditions))return void console.warn("MediaController: Rendition selection not supported by this media.");let s=Array.prototype.findIndex.call(i.videoRenditions,t=>t.id==e);i.videoRenditions.selectedIndex!=s&&(i.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.audioTracks)?t:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(e){var t,i;let{media:s}=e;return null==(i=[...null!=(t=null==s?void 0:s.audioTracks)?t:[]].find(e=>e.enabled))?void 0:i.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.audioTracks))return void console.warn("MediaChrome: Audio track selection not supported by this media.");
278for(let t of i.audioTracks)t.enabled=e==t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get:e=>(0,n.isFullscreen)(e),set(e,t,i){var s;e?((0,n.enterFullscreen)(t),i.detail&&(null==(s=t.media)||s.focus())):(0,n.exitFullscreen)(t)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(e){var t;let{media:i}=e;return!!(null==i?void 0:i.remote)&&(null==(t=i.remote)?void 0:t.state)!=="disconnected"&&!!i.remote.state},set(e,t){var i,s;let{media:r}=t;if(r&&(!e||(null==(i=r.remote)?void 0:i.state)==="disconnected")&&(e||(null==(s=r.remote)?void 0:s.state)==="connected")){if("function"!=typeof r.remote.prompt)return void console.warn("MediaChrome: Casting is not supported in this environment");r.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get:()=>!1,set(e,t){let{media:i}=t;if(i){if(!(i.webkitShowPlaybackTargetPicker&&r.globalThis.WebKitPlaybackTargetAvailabilityEvent))return void console.error("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");i.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(e){let{media:t}=e;if(!l.fullscreenSupported||!(0,l.hasFullscreenSupport)(t))return s.AvailabilityStates.UNSUPPORTED}},mediaPipUnavailable:{get(e){let{media:t}=e;return l.pipSupported&&(0,l.hasPipSupport)(t)?(null==t?void 0:t.disablePictureInPicture)?s.AvailabilityStates.UNAVAILABLE:void 0:s.AvailabilityStates.UNSUPPORTED}},mediaVolumeUnavailable:{get(e){let{media:i}=e;if(!1===t||(null==i?void 0:i.volume)==void 0)return s.AvailabilityStates.UNSUPPORTED},stateOwnersUpdateHandlers:[e=>{null==t&&p.then(t=>e(t?void 0:s.AvailabilityStates.UNSUPPORTED))}]},mediaCastUnavailable:{get(e,{availability:t="not-available"}={}){var i;let{media:r}=e;return l.castSupported&&(null==(i=null==r?void 0:r.remote)?void 0:i.state)?null!=t&&"available"!==t?s.AvailabilityStates.UNAVAILABLE:void 0:s.AvailabilityStates.UNSUPPORTED},stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:s}=t;if(s)return s.disableRemotePlayback||s.hasAttribute("disableremoteplayback")||null==(i=null==s?void 0:s.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==s?void 0:s.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaAirplayUnavailable:{get:(e,t)=>l.airplaySupported?(null==t?void 0:t.availability)==="not-available"?s.AvailabilityStates.UNAVAILABLE:void 0:s.AvailabilityStates.UNSUPPORTED,mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:s}=t;if(s)return s.disableRemotePlayback||s.hasAttribute("disableremoteplayback")||null==(i=null==s?void 0:s.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==s?void 0:s.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaRenditionUnavailable:{get(e){var t;let{media:i}=e;return(null==i?void 0:i.videoRenditions)?(null==(t=i.videoRenditions)?void 0:t.length)?void 0:s.AvailabilityStates.UNAVAILABLE:s.AvailabilityStates.UNSUPPORTED},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(e){var t,i;let{media:r}=e;return(null==r?void 0:r.audioTracks)?(null!=(i=null==(t=r.audioTracks)?void 0:t.length)?i:0)<=1?s.AvailabilityStates.UNAVAILABLE:void 0:s.AvailabilityStates.UNSUPPORTED},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaLang:{get(e){let{options:{mediaLang:t}={}}=e;return null!=t?t:"en"}}},y={[s.MediaUIEvents.MEDIA_PREVIEW_REQUEST](e,t,{detail:i}){var r,a,n;let l,d,{media:h}=t,u=null!=i?i:void 0;if(h&&null!=u){let[e]=(0,o.getTextTracksList)(h,{kind:s.TextTrackKinds.METADATA,label:"thumbnails"}),t=Array.prototype.find.call(null!=(r=null==e?void 0:e.cues)?r:[],
278(e,t,i)=>0===t?e.endTime>u:t===i.length-1?e.startTime<=u:e.startTime<=u&&e.endTime>u);if(t){let e=/'^(?:[a-z]+:)?\/\//i.test(t.text)||null==(a=null==h?void 0:h.querySelector('track[label="thumbnails"]'))?void 0:a.src,i=new URL(t.text,e);d=new URLSearchParams(i.hash).get("#xywh").split(",").map(e=>+e),l=i.href}}let c=e.mediaDuration.get(t),f=null==(n=e.mediaChaptersCues.get(t).find((e,t,i)=>t===i.length-1&&c===e.endTime?e.startTime<=u&&e.endTime>=u:e.startTime<=u&&e.endTime>u))?void 0:n.text;return null!=i&&null==f&&(f=""),{mediaPreviewTime:u,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:f}},[s.MediaUIEvents.MEDIA_PAUSE_REQUEST](e,t){e.mediaPaused.set(!0,t)},[s.MediaUIEvents.MEDIA_PLAY_REQUEST](e,t){var i,r,a,n;let l=e.mediaStreamType.get(t)===s.StreamTypes.LIVE,o=!(null==(i=t.options)?void 0:i.noAutoSeekToLive),d=e.mediaTargetLiveWindow.get(t)>0;if(l&&o&&!d){let i=null==(r=e.mediaSeekable.get(t))?void 0:r[1];if(i){let s=null!=(n=null==(a=t.options)?void 0:a.seekToLiveOffset)?n:0;e.mediaCurrentTime.set(i-s,t)}}e.mediaPaused.set(!1,t)},[s.MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST](e,t,{detail:i}){e.mediaPlaybackRate.set(i,t)},[s.MediaUIEvents.MEDIA_MUTE_REQUEST](e,t){e.mediaMuted.set(!0,t)},[s.MediaUIEvents.MEDIA_UNMUTE_REQUEST](e,t){e.mediaVolume.get(t)||e.mediaVolume.set(.25,t),e.mediaMuted.set(!1,t)},[s.MediaUIEvents.MEDIA_LOOP_REQUEST](e,t,{detail:i}){let s=!!i;return e.mediaLoop.set(s,t),{mediaLoop:s}},[s.MediaUIEvents.MEDIA_VOLUME_REQUEST](e,t,{detail:i}){i&&e.mediaMuted.get(t)&&e.mediaMuted.set(!1,t),e.mediaVolume.set(i,t)},[s.MediaUIEvents.MEDIA_SEEK_REQUEST](e,t,{detail:i}){e.mediaCurrentTime.set(i,t)},[s.MediaUIEvents.MEDIA_SEEK_TO_LIVE_REQUEST](e,t){var i,s,r;let a=null==(i=e.mediaSeekable.get(t))?void 0:i[1];if(Number.isNaN(Number(a)))return;let n=null!=(r=null==(s=t.options)?void 0:s.seekToLiveOffset)?r:0;e.mediaCurrentTime.set(a-n,t)},[s.MediaUIEvents.MEDIA_SHOW_SUBTITLES_REQUEST](e,t,{detail:i}){var a;let{options:n}=t,l=d(t),h=(0,o.parseTracks)(i),u=null==(a=h[0])?void 0:a.language;u&&!n.noSubtitlesLangPref&&r.globalThis.localStorage.setItem("media-chrome-pref-subtitles-lang",u),(0,o.updateTracksModeTo)(s.TextTrackModes.SHOWING,l,h)},[s.MediaUIEvents.MEDIA_DISABLE_SUBTITLES_REQUEST](e,t,{detail:i}){let r=d(t);(0,o.updateTracksModeTo)(s.TextTrackModes.DISABLED,r,null!=i?i:[])},[s.MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST](e,t,{detail:i}){u(t,i)},[s.MediaUIEvents.MEDIA_RENDITION_REQUEST](e,t,{detail:i}){e.mediaRenditionSelected.set(i,t)},[s.MediaUIEvents.MEDIA_AUDIO_TRACK_REQUEST](e,t,{detail:i}){e.mediaAudioTrackEnabled.set(i,t)},[s.MediaUIEvents.MEDIA_ENTER_PIP_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsPip.set(!0,t)},[s.MediaUIEvents.MEDIA_EXIT_PIP_REQUEST](e,t){e.mediaIsPip.set(!1,t)},[s.MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST](e,t,i){e.mediaIsPip.get(t)&&e.mediaIsPip.set(!1,t),e.mediaIsFullscreen.set(!0,t,i)},[s.MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST](e,t){e.mediaIsFullscreen.set(!1,t)},[s.MediaUIEvents.MEDIA_ENTER_CAST_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsCasting.set(!0,t)},[s.MediaUIEvents.MEDIA_EXIT_CAST_REQUEST](e,t){e.mediaIsCasting.set(!1,t)},[s.MediaUIEvents.MEDIA_AIRPLAY_REQUEST](e,t){e.mediaIsAirplaying.set(!0,t)}},T=({media:e,fullscreenElement:t,documentElement:i,stateMediator:s=b,requestMap:r=y,options:a={},monitorStateOwnersOnlyWithSubscriptions:n=!0})=>{let l,o=[],d={options:{...a}},h=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=e=>{void 0==e||c(e,h)||(h=Object.freeze({...h,...e}),o.forEach(e=>e(h)))},f=()=>{u(Object.entries(s).reduce((e,[t,{get:i}])=>(e[t]=i(d),e),{}))},m={},g=async(e,t)=>{var i,r,a,h,c,g,p,E,b,y,T,A,S,I,L,k;let R=!!l;if(l={...d,...null!=l?l:{},...e},R)return;await v(...Object.values(e));let M=o.length>0&&0===t&&n,C=d.media!==l.media,_=(null==(i=d.media)?void 0:i.textTracks)!==(null==(r=l.media)?void 0:r.textTracks),w=(null==(a=d.media)?void 0:a.videoRenditions)!==(null==(h=l.media)?void 0:h.videoRenditions),D=(null==(c=d.media)?void 0:c.audioTracks)!==(null==(g=l.media)?void 0:g.audioTracks),x=(null==(p=d.media)?void 0:p.remote)!==(null==(E=l.media)?void 0:E.remote),P=d.documentElement!==l.documentElement,O=!!d.media&&(C||M),U=!!(null==(b=d.media)?void 0:b.textTracks)&&(_||M),N=!!(null==(y=d.media)?void 0:y.videoRenditions)&&(w||M),F=!!(null==(T=d.media)?void 0:T.audioTracks)&&(D||M),B=!!(null==(A=d.media)?void 0:A.remote)&&(x||M),$=!!d.documentElement&&(P||M),H=O||U||N||F||B||$,G=0===o.length&&1===t&&n,V=!!l.media&&(C||G),W=!!(null==(S=l.media)?void 0:S.textTracks)&&(_||G),K=!!(null==(I=l.media)?void 0:I.videoRenditions)&&(w||G),j=!!(null==(L=l.media)?void 0:L.audioTracks)&&(D||G),q=!!(null==(k=l.media)?void 0:k.remote)&&(x||G),Y=!!l.documentElement&&(P||G),Q=V||W||K||j||q||Y;if(!(H||Q)){Object.entries(l).forEach(([e,t])=>{d[e]=t}),f(),l=void 0;return}
278Object.entries(s).forEach(([e,{get:t,mediaEvents:i=[],textTracksEvents:s=[],videoRenditionsEvents:r=[],audioTracksEvents:a=[],remoteEvents:n=[],rootEvents:o=[],stateOwnersUpdateHandlers:h=[]}])=>{let c;m[e]||(m[e]={});let f=i=>{u({[e]:t(d,i)})};c=m[e].mediaEvents,i.forEach(t=>{c&&O&&(d.media.removeEventListener(t,c),m[e].mediaEvents=void 0),V&&(l.media.addEventListener(t,f),m[e].mediaEvents=f)}),c=m[e].textTracksEvents,s.forEach(t=>{var i,s;c&&U&&(null==(i=d.media.textTracks)||i.removeEventListener(t,c),m[e].textTracksEvents=void 0),W&&(null==(s=l.media.textTracks)||s.addEventListener(t,f),m[e].textTracksEvents=f)}),c=m[e].videoRenditionsEvents,r.forEach(t=>{var i,s;c&&N&&(null==(i=d.media.videoRenditions)||i.removeEventListener(t,c),m[e].videoRenditionsEvents=void 0),K&&(null==(s=l.media.videoRenditions)||s.addEventListener(t,f),m[e].videoRenditionsEvents=f)}),c=m[e].audioTracksEvents,a.forEach(t=>{var i,s;c&&F&&(null==(i=d.media.audioTracks)||i.removeEventListener(t,c),m[e].audioTracksEvents=void 0),j&&(null==(s=l.media.audioTracks)||s.addEventListener(t,f),m[e].audioTracksEvents=f)}),c=m[e].remoteEvents,n.forEach(t=>{var i,s;c&&B&&(null==(i=d.media.remote)||i.removeEventListener(t,c),m[e].remoteEvents=void 0),q&&(null==(s=l.media.remote)||s.addEventListener(t,f),m[e].remoteEvents=f)}),c=m[e].rootEvents,o.forEach(t=>{c&&$&&(d.documentElement.removeEventListener(t,c),m[e].rootEvents=void 0),Y&&(l.documentElement.addEventListener(t,f),m[e].rootEvents=f)});let g=m[e].stateOwnersUpdateHandlers;if(g&&H&&(Array.isArray(g)?g:[g]).forEach(e=>{"function"==typeof e&&e()}),Q){let t=h.map(e=>e(f,l)).filter(e=>"function"==typeof e);m[e].stateOwnersUpdateHandlers=1===t.length?t[0]:t}else H&&(m[e].stateOwnersUpdateHandlers=void 0)}),Object.entries(l).forEach(([e,t])=>{d[e]=t}),f(),l=void 0};return g({media:e,fullscreenElement:t,documentElement:i,options:a}),{dispatch(e){let{type:t,detail:i}=e;r[t]&&null==h.mediaErrorCode?u(r[t](s,d,e)):"mediaelementchangerequest"===t?g({media:i}):"fullscreenelementchangerequest"===t?g({fullscreenElement:i}):"documentelementchangerequest"===t?g({documentElement:i}):"optionschangerequest"===t&&(Object.entries(null!=i?i:{}).forEach(([e,t])=>{d.options[e]=t}),f())},getState:()=>h,subscribe:e=>(g({},o.length+1),o.push(e),e(h),()=>{let t=o.indexOf(e);t>=0&&(g({},o.length-1),o.splice(t,1))})}};e.s(["createMediaStore",0,T],285664);let A="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},S=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],I=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});e.s(["emptyTimeRanges",0,I,"formatAsTimePhrase",0,e=>{if(!(0,m.isValidNumber)(e))return"";let t=Math.abs(e),i=t!==e,s=new Date(0,0,0,0,0,t,0),r=[s.getHours(),s.getMinutes(),s.getSeconds()].map((e,t)=>{let i;return e&&(i=1===e?S[t].singular:S[t].plural,`${e} ${i}`)}).filter(e=>e).join(", ");return`${r}${i?" remaining":""}`},"formatTime",0,function(e,t){let i=!1;e<0&&(i=!0,e=0-e);let s=Math.floor((e=e<0?0:e)%60),r=Math.floor(e/60%60),a=Math.floor(e/3600),n=Math.floor(t/60%60),l=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(a=r=s="0"),r=(((a=a>0||l>0?a+":":"")||n>=10)&&r<10?"0"+r:r)+":",(i?"-":"")+a+r+(s=s<10?"0"+s:s)},"serializeTimeRanges",0,function(e=I){return Array.from(e).map((t,i)=>[Number(e.start(i).toFixed(3)),Number(e.end(i).toFixed(3))].join(":")).join(" ")}],417379),e.i(417379);let{REGISTER_MEDIA_STATE_RECEIVER:L,UNREGISTER_MEDIA_STATE_RECEIVER:k,MEDIA_SHOW_TEXT_TRACKS_REQUEST:R,MEDIA_HIDE_TEXT_TRACKS_REQUEST:M,...C}=s.MediaUIEvents,_={...C,MEDIA_ELEMENT_CHANGE_REQUEST:"mediaelementchangerequest",FULLSCREEN_ELEMENT_CHANGE_REQUEST:"fullscreenelementchangerequest"};({...s.MediaUIProps});let w=e=>e,D=(0,i.createContext)(null),x=()=>{var e;let t=(0,i.useContext)(D),s=null!=(e=null==t?void 0:t.dispatch)?e:w;return e=>s(e)},P=(e,t)=>e===t;
278e.s(["MediaActionTypes",0,_,"MediaProvider",0,({children:e,mediaStore:t})=>{let s=(0,i.useMemo)(()=>null!=t?t:T({documentElement:globalThis.document}),[t]);return(0,i.useEffect)(()=>(null==s||s.dispatch({type:"documentelementchangerequest",detail:globalThis.document}),()=>{null==s||s.dispatch({type:"documentelementchangerequest",detail:void 0})}),[]),i.default.createElement(D.Provider,{value:s},e)},"useMediaDispatch",0,x,"useMediaRef",0,()=>{let e=x();return t=>{e({type:_.MEDIA_ELEMENT_CHANGE_REQUEST,detail:t})}},"useMediaSelector",0,(e,t=P)=>{var s,r,a;let n=(0,i.useContext)(D);return function(e,t,s,r,a){let n,l=(0,i.useRef)(null);null===l.current?l.current=n={hasValue:!1,value:null}:n=l.current;let[o,d]=(0,i.useMemo)(()=>{let e,i,l=!1,o=t=>{if(!l){l=!0,e=t;let s=r(t);if(void 0!==a&&n.hasValue){let e=n.value;if(a(e,s))return i=e,e}return i=s,s}let s=i;if(A(e,t))return s;let o=r(t);return void 0!==a&&a(s,o)?s:(e=t,i=o,o)},d=void 0===s?null:s;return[()=>o(t()),null===d?void 0:()=>o(d())]},[t,s,r,a]),h=(0,i.useSyncExternalStore)(e,o,d);return(0,i.useEffect)(()=>{n.hasValue=!0,n.value=h},[h]),(0,i.useDebugValue)(h),h}(null!=(s=null==n?void 0:n.subscribe)?s:w,null!=(r=null==n?void 0:n.getState)?r:w,null!=(a=null==n?void 0:n.getState)?a:w,e,t)}],747426)},838078,e=>{"use strict";var t,i,s,r,a,n,l,o,d,h,u,c,f,m,g,p,v,E,b,y,T,A,S,I,L,k,R,M,C,_,w,D,x,P,O,U,N,F,B,$,H,G,V,W,K,j,q,Y,Q,z,X,Z,J,ee,et,ei,es,er,ea,en,el,eo,ed,eh,eu,ec,ef,em,eg,ep,ev,eE,eb,ey,eT,eA,eS,eI,eL,ek,eR,eM,eC,e_,ew,eD,ex,eP,eO,eU,eN,eF,eB,e$,eH,eG,eV,eW,eK=e.i(699294),ej=e.i(711808),eq=e.i(900001),eY=e.i(30094);function eQ(e){return e.split("-")[0]}var ez=e.i(309869);class eX extends Event{constructor({action:e="auto",relatedTarget:t,...i}){super("invoke",i),this.action=e,this.relatedTarget=t}}class eZ extends Event{constructor({newState:e,oldState:t,...i}){super("toggle",i),this.newState=e,this.oldState=t}}var eJ=e.i(889096),e0=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},e1=(e,t,i)=>(e0(e,t,"read from private field"),i?i.call(e):t.get(e)),e2=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},e3=(e,t,i,s)=>(e0(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),e4=(e,t,i)=>(e0(e,t,"access private method"),i);function e5({type:e,text:t,value:i,checked:s}){let r=eY.document.createElement("media-chrome-menu-item");r.type=null!=e?e:"",r.part.add("menu-item"),e&&r.part.add(e),r.value=i,r.checked=s;let a=eY.document.createElement("span");return a.textContent=t,r.append(a),r}function e8(e,t){let i=e.querySelector(`:scope > [slot="${t}"]`);if((null==i?void 0:i.nodeName)=="SLOT"&&(i=i.assignedElements({flatten:!0})[0]),i)return i.cloneNode(!0);let s=e.shadowRoot.querySelector(`[name="${t}"] > svg`);return s?s.cloneNode(!0):""}let e6="style",e9="hidden",e7="disabled";class te extends eY.globalThis.HTMLElement{constructor(){if(super(),e2(this,o),e2(this,h),e2(this,f),e2(this,g),e2(this,v),e2(this,b),e2(this,S),e2(this,L),e2(this,R),e2(this,C),e2(this,w),e2(this,x),e2(this,O),e2(this,N),e2(this,B),e2(this,H),e2(this,V),e2(this,K),e2(this,t,null),e2(this,i,null),e2(this,s,null),e2(this,r,new Set),e2(this,a,void 0),e2(this,n,!1),e2(this,l,null),e2(this,c,()=>{let e=e1(this,r),t=new Set(this.items);for(let i of e)t.has(i)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:i}));for(let i of t)e.has(i)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:i}));e3(this,r,t)}),e2(this,T,()=>{e4(this,S,I).call(this),e4(this,L,k).call(this,!1)}),e2(this,A,()=>{e4(this,S,I).call(this)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,eJ.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),e3(this,a,new MutationObserver(e1(this,c))),e1(this,a).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[e7,e9,e6,"anchor",eq.MediaStateReceiverAttributes.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":e4(this,o,d).call(this,e);break;case"invoke":e4(this,g,p).call(this,e);break;case"click":e4(this,R,M).call(this,e);break;case"toggle":e4(this,w,D).call(this,e);break;case"focusout":e4(this,O,U).call(this,e);break;case"keydown":e4(this,N,F).call(this,e)}}connectedCallback(){var e,i;e3(this,l,(0,eJ.insertCSSRule)(this.shadowRoot,":host")),e4(this,f,m).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),e3(this,t,(0,eJ.getAttributeMediaController)(this)),null==(i=null==(e=e1(this,t))?void 0:e.associateElement)||i.call(e,this),this.hidden||((0,ez.observeResize)(ti(this),e1(this,T)),(0,ez.observeResize)(this,e1(this,A))),e4(this,h,u).call(this)}disconnectedCallback(){var e,i;(0,ez.unobserveResize)(ti(this),e1(this,T)),(0,ez.unobserveResize)(this,e1(this,A)),this.disable(),null==(i=null==(e=e1(this,t))?void 0:e.unassociateElement)||i.call(e,this),e3(this,t,null)}attributeChangedCallback(e,i,s){var r,a,l,o;e===e9&&s!==i?(e1(this,n)||e3(this,n,!0),this.hidden?e4(this,b,y).call(this):e4(this,v,E).c
278all(this),this.dispatchEvent(new eZ({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===eq.MediaStateReceiverAttributes.MEDIA_CONTROLLER?(i&&(null==(a=null==(r=e1(this,t))?void 0:r.unassociateElement)||a.call(r,this),e3(this,t,null)),s&&this.isConnected&&(e3(this,t,(0,eJ.getAttributeMediaController)(this)),null==(o=null==(l=e1(this,t))?void 0:l.associateElement)||o.call(l,this))):e===e7&&s!==i?null==s?this.enable():this.disable():e===e6&&s!==i&&e4(this,f,m).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?null==(e=(0,eJ.getDocumentOrShadowRoot)(this))?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(tt)}get radioGroupItems(){return this.items.filter(e=>"menuitemradio"===e.role)}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return null!=(t=null==(e=this.checkedItems[0])?void 0:e.value)?t:""}set value(e){let t=this.items.find(t=>t.value===e);t&&e4(this,K,j).call(this,t)}focus(){if(e3(this,i,(0,eJ.getActiveElement)()),this.items.length){e4(this,V,W).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==e||e.focus()}handleSelect(e){var t;let r=e4(this,B,$).call(this,e);r&&(e4(this,K,j).call(this,r,"checkbox"===r.type),e1(this,s)&&!this.hidden&&(null==(t=e1(this,i))||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,i;let{key:s}=e,r=this.items,a=null!=(i=null!=(t=e4(this,B,$).call(this,e))?t:e4(this,H,G).call(this))?i:r[0],n=Math.max(0,r.indexOf(a));"ArrowDown"===s?n++:"ArrowUp"===s?n--:"Home"===e.key?n=0:"End"===e.key&&(n=r.length-1),n<0&&(n=r.length-1),n>r.length-1&&(n=0),e4(this,V,W).call(this,r[n]),r[n].focus()}}function tt(e){return["menuitem","menuitemradio","menuitemcheckbox"].includes(null==e?void 0:e.role)}function ti(e){var t;return null!=(t=e.getAttribute("bounds")?(0,eJ.closestComposedNode)(e,`#${e.getAttribute("bounds")}`):(0,eJ.getMediaController)(e)||e.parentElement)?t:e}t=new WeakMap,i=new WeakMap,s=new WeakMap,r=new WeakMap,a=new WeakMap,n=new WeakMap,l=new WeakMap,o=new WeakSet,d=function(e){let t=e.target;for(let e of t.assignedNodes({flatten:!0}))3===e.nodeType&&""===e.textContent.trim()&&e.remove();["header","title"].includes(t.name)&&e4(this,h,u).call(this),t.name||e1(this,c).call(this)},h=new WeakSet,u=function(){let e=this.shadowRoot.querySelector('slot[name="header"]');e.hidden=0===this.shadowRoot.querySelector('slot[name="title"]').assignedNodes().length&&0===e.assignedNodes().length},c=new WeakMap,f=new WeakSet,m=function(){var e;let t=this.shadowRoot.querySelector("#layout-row"),i=null==(e=getComputedStyle(this).getPropertyValue("--media-menu-layout"))?void 0:e.trim();t.setAttribute("media","row"===i?"":"width:0")},g=new WeakSet,p=function(e){e3(this,s,e.relatedTarget),(0,eJ.containsComposedNode)(this,e.relatedTarget)||(this.hidden=!this.hidden)},v=new WeakSet,E=function(){var e;null==(e=e1(this,s))||e.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),(0,ez.observeResize)(ti(this),e1(this,T)),(0,ez.observeResize)(this,e1(this,A))},b=new WeakSet,y=function(){var e;null==(e=e1(this,s))||e.setAttribute("aria-expanded","false"),(0,ez.unobserveResize)(ti(this),e1(this,T)),(0,ez.unobserveResize)(this,e1(this,A))},T=new WeakMap,A=new WeakMap,S=new WeakSet,I=function(e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:i}=function({anchor:e,floating:t,placement:i}){let{x:s,y:r}=function({anchor:e,floating:t},i){let s,r="x"==(["top","bottom"].includes(eQ(i))?"y":"x")?"y":"x",a="y"===r?"height":"width",n=eQ(i),l=e.x+e.width/2-t.width/2,o=e.y+e.height/2-t.height/2,d=e[a]/2-t[a]/2;switch(n){case"top":s={x:l,y:e.y-t.height};break;case"bottom":s={x:l,y:e.y+e.height};break;case"right":s={x:e.x+e.width,y:o};break;case"left":s={x:e.x-t.width,y:o};break;default:s={x:e.x,y:e.y}}switch(i.split("-")[1]){case"start":s[r]-=d;break;case"end":s[r]+=d}return s}(function({anchor:e,floating:t}){var i,s,r;let a,n;return{anchor:(i=e,s=t.offsetParent,a=i.getBoundingClientRect(),n=null!=(r=null==s?void 0:s.getBoundingClientRect())?r:{x:0,y:0},{x:a.x-n.x,y:a.y-n.y,width:a.width,height:a.height}),floating:{x:0,y:0,width:t.offsetWidth,height:t.offsetHeight}}}({anchor:e,floating:t}),i);return{x:s,y:r}}({anchor:this.anchorElement,floating:this,placement:"top-start"});null!=e||(e=this.offsetWidth);let s=ti(this).getBoundingClientRect(),r=s.width-t-e,a=s.height-i-this.offsetHeight,{style:n}=e1(this,l);n.setProperty("position","absolute"),n.setProperty("right",`${Math.max(0,r)}px`),n.setProperty("--_menu-bottom",`${a}px`);let o=getComputedStyle(this),d=n.getPropertyValue("--_menu-bottom")===o.bottom?a:parseFloat(o.bottom),h=s.height-d-parseFloat(o.marginBottom);this.style.setProperty("--_menu-max-height",`${h}px`)},L=new WeakSet,k=function(e){let t=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),i=null==t?void 0:t.querySelector('[role="menu"]'),{style:s}=e1(this,l);if(e||s.setProperty("--media-menu-transition-in","none"),i){let e=i.offsetHeight,s=Math.max(i.offsetWidth,t.offsetWidth);this.style.setProperty("min-width",`${s}px`),this.style.setProperty("min-height",`${e}px`),e4(this,S,I).call(this,s)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),e4(this,S,I).call(this);s.removeProperty("--media-menu-transition-in")},R=new WeakSet,M=function(e){var t;if(e.stopPropagation(),e.composedPath().includes(e1(this,C,_))){null==(t=e1(this,i))||t.focu
278s(),this.hidden=!0;return}let s=e4(this,B,$).call(this,e);!s||s.hasAttribute("disabled")||(e4(this,V,W).call(this,s),this.handleSelect(e))},C=new WeakSet,_=function(){var e;return null==(e=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))?void 0:e.find(e=>e.matches('button[part~="back"]'))},w=new WeakSet,D=function(e){if(e.target===this)return;e4(this,x,P).call(this);let t=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let i of t)i.invokeTargetElement!=e.target&&("open"!=e.newState||"true"!=i.getAttribute("aria-expanded")||i.invokeTargetElement.hidden||i.invokeTargetElement.dispatchEvent(new eX({relatedTarget:i})));for(let e of t)e.setAttribute("aria-expanded",`${!e.submenuElement.hidden}`);e4(this,L,k).call(this,!0)},x=new WeakSet,P=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)},O=new WeakSet,U=function(e){var t;(0,eJ.containsComposedNode)(this,e.relatedTarget)||(e1(this,n)&&(null==(t=e1(this,i))||t.focus()),e1(this,s)&&e1(this,s)!==e.relatedTarget&&!this.hidden&&(this.hidden=!0))},N=new WeakSet,F=function(e){var t,s,r,a,l;let{key:o,ctrlKey:d,altKey:h,metaKey:u}=e;if(!d&&!h&&!u&&this.keysUsed.includes(o))if(e.preventDefault(),e.stopPropagation(),"Tab"===o){if(e1(this,n)){this.hidden=!0;return}e.shiftKey?null==(s=null==(t=this.previousElementSibling)?void 0:t.focus)||s.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()}else"Escape"===o?(null==(l=e1(this,i))||l.focus(),e1(this,n)&&(this.hidden=!0)):"Enter"===o||" "===o?this.handleSelect(e):this.handleMove(e)},B=new WeakSet,$=function(e){return e.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))},H=new WeakSet,G=function(){return this.items.find(e=>0===e.tabIndex)},V=new WeakSet,W=function(e){for(let t of this.items)t.tabIndex=t===e?0:-1},K=new WeakSet,j=function(e,t){let i=[...this.checkedItems];"radio"===e.type&&this.radioGroupItems.forEach(e=>e.checked=!1),t?e.checked=!e.checked:e.checked=!0,this.checkedItems.some((e,t)=>e!=i[t])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))},te.shadowRootOptions={mode:"open"},te.getTemplateHTML=function(e){return` 279 <style> 280 :host { 281 font: var(--media-font, 282 var(--media-font-weight, normal) 283 var(--media-font-size, 14px) / 284 var(--media-text-content-height, var(--media-control-height, 24px)) 285 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 286 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 287 --_menu-bg: rgb(20 20 30 / .8); 288 background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg)))); 289 border-radius: var(--media-menu-border-radius); 290 border: var(--media-menu-border, none); 291 display: var(--media-menu-display, inline-flex) !important; 292 293 transition: var(--media-menu-transition-in, 294 visibility 0s, 295 opacity .2s ease-out, 296 transform .15s ease-out, 297 left .2s ease-in-out, 298 min-width .2s ease-in-out, 299 min-height .2s ease-in-out 300 ) !important; 301 302 visibility: var(--media-menu-visibility, visible); 303 opacity: var(--media-menu-opacity, 1); 304 max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px)); 305 transform: var(--media-menu-transform-in, translateY(0) scale(1)); 306 flex-direction: column; 307 308 min-height: 0; 309 position: relative; 310 bottom: var(--_menu-bottom); 311 box-sizing: border-box; 312 } 313 314 @-moz-document url-prefix() { 315 :host{ 316 --_menu-bg: rgb(20 20 30); 317 } 318 } 319 320 :host([hidden]) { 321 transition: var(--media-menu-transition-out, 322 visibility .15s ease-in, 323 opacity .15s ease-in, 324 transform .15s ease-in 325 ) !important; 326 visibility: var(--media-menu-hidden-visibility, hidden); 327 opacity: var(--media-menu-hidden-opacity, 0); 328 max-height: var(--media-menu-hidden-max-height, 329 var(--media-menu-max-height, var(--_menu-max-height, 300px))); 330 transform: var(--media-menu-transform-out, translateY(2px) scale(.99)); 331 pointer-events: none; 332 } 333 334 :host([slot="submenu"]) { 335 background: none; 336 width: 100%; 337 min-height: 100%; 338 position: absolute; 339 bottom: 0; 340 right: -100%; 341 } 342 343 #container { 344 display: flex; 345 flex-direction: column; 346 min-height: 0; 347 transition: transform .2s ease-out; 348 transform: translate(0, 0); 349 } 350 351 #container.has-expanded { 352 transition: transform .2s ease-in; 353 transform: translate(-100%, 0); 354 } 355 356 button { 357 background: none; 358 color: inherit; 359 border: none; 360 padding: 0; 361 font: inherit; 362 outline: inherit; 363 display: inline-flex; 364 align-items: center; 365 } 366 367 slot[name="header"][hidden] { 368 display: none; 369 } 370 371 slot[name="header"] > *, 372 slot[name="header"]::slotted(*) { 373 padding: .4em .7em; 374 border-bottom: 1px solid rgb(255 255 255 / .25); 375 cursor: var(--media-cursor, default); 376 } 377 378 slot[name="header"] > button[part~="back"], 379 slot[name="header"]::slotted(button[part~="back"]) { 380 cursor: var(--media-cursor, pointer); 381 } 382 383 svg[part~="back"] { 384 height: var(--media-menu-icon-height, var(--media-control-height, 24px)); 385 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 386 display: block; 387 margin-right: .5ch; 388 } 389 390 slot:not([name]) { 391 gap: var(--media-menu-gap); 392 flex-direction: var(--media-menu-flex-direction, column); 393 overflow: var(--media-menu-overflow, hidden auto); 394 display: flex; 395 min-height: 0; 396 } 397 398 :host([role="menu"]) slot:not([name]) { 399 padding-block: .4em; 400 } 401 402 slot:not([name])::slotted([role="menu"]) { 403 background: none; 404 } 405 406 media-chrome-menu-item > span { 407 margin-right: .5ch; 408 max-width: var(--media-menu-item-max-width); 409 text-overflow: ellipsis; 410 overflow: hidden; 411 } 412 </style> 413 <style id="layout-row" media="width:0"> 414 415 slot[name="header"] > *, 416 slot[name="header"]::slotted(*) { 417 padding: .4em .5em; 418 } 419 420 slot:not([name]) { 421 gap: var(--media-menu-gap, .25em); 422 flex-direction: var(--media-menu-flex-direction, row); 423 padding-inline: .5em; 424 } 425 426 media-chrome-menu-item { 427 padding: .3em .5em; 428 } 429 430 media-chrome-menu-item[aria-checked="true"] { 431 background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2)); 432 } 433 434 435 media-chrome-menu-item::part(checked-indicator) { 436 display: var(--media-menu-item-checked-indicator-display, none); 437 } 438 </style> 439 <div id="container" part="container"> 440 <slot name="header" hidden> 441 <button part="back button" aria-label="Back to previous menu"> 442 <slot name="back-icon"> 443 <svg aria-hidden="true" viewBox="0 0 20 24" part="back indicator"> 444 <path d="m11.88 17.585.742-.669-4.2-4.665 4.2-4.666-.743-.669-4.803 5.335 4.803 5.334Z"/> 445 </svg> 446 </slot> 447 <slot name="title"></slot> 448 </button> 449 </slot> 450 <slot></slot> 451 </div> 452 <slot name="checked-indicator" hidden></slot> 453 `},eY.globalThis.customElements.get("media-chrome-menu")||eY.globalThis.customElements.define("media-chrome-menu",te);var ts=eY,tr=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},ta=(e,t,i)=>(tr(e,t,"read from private field"),i?i.call(e):t.get(e)),tn=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tl=(e,t,i,s)=>(tr(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),to=(e,t,i)=>(tr(e,t,"access private method"),i);let td="type",th="value",tu="checked",tc="disabled";class tf extends ts.globalThis.HTMLElement{constructor(){if(super(),tn(this,Q),tn(this,X),tn(this,J),tn(this,ei),tn(this,er),tn(this,en),tn(this,q,!1),tn(this,Y,void 0),tn(this,et,()=>{var e,t;this.submenuElement.items&&this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let i=this.shadowRoot.querySelector('slot[name="description"]'),s=null==(e=this.submenuElement.checkedItems)?void 0:e[0],r=null!=(t=null==s?void 0:s.dataset.description)?t:null==s?void 0:s.text,a=ts.document.createElement("span");a.textContent=null!=r?r:"",i.replaceChildren(a)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,eJ.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[td,tc,tu,th]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),tm(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","fal
453se"),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":to(this,Q,z).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":to(this,er,ea).call(this,e);break;case"keyup":to(this,ei,es).call(this,e)}}attributeChangedCallback(e,t,i){e===tu&&tm(this)&&!ta(this,q)?this.setAttribute("aria-checked",null!=i?"true":"false"):e===td&&i!==t?this.role="menuitem"+i:e===tc&&i!==t&&(null==i?this.enable():this.disable())}connectedCallback(){this.hasAttribute(tc)||this.enable(),this.role="menuitem"+this.type,tl(this,Y,function e(t,i){if(!t)return null;let{host:s}=t.getRootNode();return!i&&s?e(t,s):(null==i?void 0:i.items)?i:e(i,null==i?void 0:i.parentNode)}(this,this.parentNode)),to(this,en,el).call(this),this.submenuElement&&to(this,X,Z).call(this)}disconnectedCallback(){this.disable(),to(this,en,el).call(this),tl(this,Y,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=(0,eJ.getDocumentOrShadowRoot)(this))?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 null!=(e=this.getAttribute(td))?e:""}set type(e){this.setAttribute(td,`${e}`)}get value(){var e;return null!=(e=this.getAttribute(th))?e:this.text}set value(e){this.setAttribute(th,e)}get text(){var e;return(null!=(e=this.textContent)?e:"").trim()}get checked(){if(tm(this))return"true"===this.getAttribute("aria-checked")}set checked(e){tm(this)&&(tl(this,q,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){!tm(this)&&this.invokeTargetElement&&(0,eJ.containsComposedNode)(this,e.target)&&this.invokeTargetElement.dispatchEvent(new eX({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}}function tm(e){return"radio"===e.type||"checkbox"===e.type}q=new WeakMap,Y=new WeakMap,Q=new WeakSet,z=function(e){let t=e.target;if(!(null==t?void 0:t.name))for(let e of t.assignedNodes({flatten:!0}))e instanceof Text&&""===e.textContent.trim()&&e.remove();"submenu"===t.name&&(this.submenuElement?to(this,X,Z).call(this):to(this,J,ee).call(this))},X=new WeakSet,Z=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",ta(this,et)),this.submenuElement.addEventListener("addmenuitem",ta(this,et)),this.submenuElement.addEventListener("removemenuitem",ta(this,et)),ta(this,et).call(this)},J=new WeakSet,ee=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",ta(this,et)),this.submenuElement.removeEventListener("addmenuitem",ta(this,et)),this.submenuElement.removeEventListener("removemenuitem",ta(this,et)),ta(this,et).call(this)},et=new WeakMap,ei=new WeakSet,es=function(e){let{key:t}=e;this.keysUsed.includes(t)?this.handleClick(e):this.removeEventListener("keyup",to(this,ei,es))},er=new WeakSet,ea=function(e){let{metaKey:t,altKey:i,key:s}=e;t||i||!this.keysUsed.includes(s)?this.removeEventListener("keyup",to(this,ei,es)):this.addEventListener("keyup",to(this,ei,es),{once:!0})},en=new WeakSet,el=function(){var e;let t=null==(e=ta(this,Y))?void 0:e.radioGroupItems;if(!t)return;let i=t.filter(e=>"true"===e.getAttribute("aria-checked")).pop();for(let e of(i||(i=t[0]),t))e.setAttribute("aria-checked","false");null==i||i.setAttribute("aria-checked","true")},tf.shadowRootOptions={mode:"open"},tf.getTemplateHTML=function(e){return` 454 <style> 455 :host { 456 transition: var(--media-menu-item-transition, 457 background .15s linear, 458 opacity .2s ease-in-out 459 ); 460 outline: var(--media-menu-item-outline, 0); 461 outline-offset: var(--media-menu-item-outline-offset, -1px); 462 cursor: var(--media-cursor, pointer); 463 display: flex; 464 align-items: center; 465 align-self: stretch; 466 justify-self: stretch; 467 white-space: nowrap; 468 white-space-collapse: collapse; 469 text-wrap: nowrap; 470 padding: .4em .8em .4em 1em; 471 } 472 473 :host(:focus-visible) { 474 box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 475 outline: var(--media-menu-item-hover-outline, 0); 476 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 477 } 478 479 :host(:hover) { 480 cursor: var(--media-cursor, pointer); 481 background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5)); 482 outline: var(--media-menu-item-hover-outline); 483 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 484 } 485 486 :host([aria-checked="true"]) { 487 background: var(--media-menu-item-checked-background); 488 } 489 490 :host([hidden]) { 491 display: none; 492 } 493 494 :host([disabled]) { 495 pointer-events: none; 496 color: rgba(255, 255, 255, .3); 497 } 498 499 slot:not([name]) { 500 width: 100%; 501 } 502 503 slot:not([name="submenu"]) { 504 display: inline-flex; 505 align-items: center; 506 transition: inherit; 507 opacity: var(--media-menu-item-opacity, 1); 508 } 509 510 slot[name="description"] { 511 justify-content: end; 512 } 513 514 slot[name="description"] > span { 515 display: inline-block; 516 margin-inline: 1em .2em; 517 max-width: var(--media-menu-item-description-max-width, 100px); 518 text-overflow: ellipsis; 519 overflow: hidden; 520 font-size: .8em; 521 font-weight: 400; 522 text-align: right; 523 position: relative; 524 top: .04em; 525 } 526 527 slot[name="checked-indicator"] { 528 display: none; 529 } 530 531 :host(:is([role="menuitemradio"],[role="menuitemcheckbox"])) slot[name="checked-indicator"] { 532 display: var(--media-menu-item-checked-indicator-display, inline-block); 533 } 534 535 536 svg, img, ::slotted(svg), ::slotted(img) { 537 height: var(--media-menu-item-icon-height, var(--media-control-height, 24px)); 538 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 539 display: block; 540 } 541 542 543 [part~="indicator"], 544 ::slotted([part~="indicator"]) { 545 fill: var(--media-menu-item-indicator-fill, 546 var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)))); 547 height: var(--media-menu-item-indicator-height, 1.25em); 548 margin-right: .5ch; 549 } 550 551 [part~="checked-indicator"] { 552 visibility: hidden; 553 } 554 555 :host([aria-checked="true"]) [part~="checked-indicator"] { 556 visibility: visible; 557 } 558 </style> 559 <slot name="checked-indicator"> 560 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 561 <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/> 562 </svg> 563 </slot> 564 <slot name="prefix"></slot> 565 <slot></slot> 566 <slot name="description"></slot> 567 <slot name="suffix">
568 ${this.getSuffixSlotInnerHTML(e)} 569 </slot> 570 <slot name="submenu"></slot> 571 `},tf.getSuffixSlotInnerHTML=function(e){return""},ts.globalThis.customElements.get("media-chrome-menu-item")||ts.globalThis.customElements.define("media-chrome-menu-item",tf);class tg extends te{get anchorElement(){return"auto"!==this.anchor?super.anchorElement:(0,eJ.getMediaController)(this).querySelector("media-settings-menu-button")}}tg.getTemplateHTML=function(e){return` 572 ${te.getTemplateHTML(e)} 573 <style> 574 :host { 575 --_menu-bg: rgb(20 20 30 / .8); 576 background: var(--media-settings-menu-background, 577 var(--media-menu-background, 578 var(--media-control-background, 579 var(--media-secondary-color, var(--_menu-bg))))); 580 min-width: var(--media-settings-menu-min-width, 170px); 581 border-radius: 2px 2px 0 0; 582 overflow: hidden; 583 } 584 585 @-moz-document url-prefix() { 586 :host{ 587 --_menu-bg: rgb(20 20 30); 588 } 589 } 590 591 :host([role="menu"]) { 592 593 justify-content: end; 594 } 595 596 slot:not([name]) { 597 justify-content: var(--media-settings-menu-justify-content); 598 flex-direction: var(--media-settings-menu-flex-direction, column); 599 overflow: visible; 600 } 601 602 #container.has-expanded { 603 --media-settings-menu-item-opacity: 0; 604 } 605 </style> 606 `},eY.globalThis.customElements.get("media-settings-menu")||eY.globalThis.customElements.define("media-settings-menu",tg);class tp extends tf{}tp.shadowRootOptions={mode:"open"},tp.getTemplateHTML=function(e){return` 607 ${tf.getTemplateHTML.call(this,e)} 608 <style> 609 slot:not([name="submenu"]) { 610 opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity)); 611 } 612 613 :host([aria-expanded="true"]:hover) { 614 background: transparent; 615 } 616 </style> 617 `},tp.getSuffixSlotInnerHTML=function(e){return` 618 <svg aria-hidden="true" viewBox="0 0 20 24"> 619 <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"/> 620 </svg> 621 `},eY.globalThis.customElements.get("media-settings-menu-item")||eY.globalThis.customElements.define("media-settings-menu-item",tp);var tv=e.i(911639);class tE extends tv.MediaChromeButton{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?null==(e=(0,eJ.getDocumentOrShadowRoot)(this))?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;null==(e=this.invokeTargetElement)||e.dispatchEvent(new eX({relatedTarget:this}))}}eY.globalThis.customElements.get("media-chrome-menu-button")||eY.globalThis.customElements.define("media-chrome-menu-button",tE);var tb=e.i(12327);class ty extends tE{static get observedAttributes(){return[...super.observedAttributes,"target"]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",(0,tb.t)("settings"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:(0,eJ.getMediaController)(this).querySelector("media-settings-menu")}}ty.getSlotTemplateHTML=function(){return` 622 <style> 623 :host([aria-expanded="true"]) slot[name=tooltip] { 624 display: none; 625 } 626 </style> 627 <slot name="icon"> 628 <svg aria-hidden="true" viewBox="0 0 24 24"> 629 <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"/> 630 </svg> 631 </slot> 632 `},ty.getTooltipContentHTML=function(){return(0,tb.t)("Settings")},eY.globalThis.customElements.get("media-settings-menu-button")||eY.globalThis.customElements.define("media-settings-menu-button",ty);var tT=e.i(966803),tA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tS=(e,t,i)=>(tA(e,t,"read from private field"),i?i.call(e):t.get(e)),tI=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tL=(e,t,i,s)=>(tA(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),tk=(e,t,i)=>(tA(e,t,"access private method"),i);class tR extends te{constructor(){super(...arguments),tI(this,eh),tI(this,ec),tI(this,eo,[]),tI(this,ed,void 0)}static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED&&t!==i?this.value=i:e===eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST&&t!==i&&(tL(this,eo,(0,tT.parseAudioTrackList)(null!=i?i:"")),tk(this,eh,eu).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",tk(this,ec,ef))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",tk(this,ec,ef))}get anchorElement(){var e;return"auto"!==this.anchor?super.anchorElement:null==(e=(0,eJ.getMediaController)(this))?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return tS(this,eo)}set mediaAudioTrackList(e){tL(this,eo,e),tk(this,eh,eu).call(this)}get mediaAudioTrackEnabled(){var e;return null!=(e=(0,eJ.getStringAttr)(this,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){(0,eJ.setStringAttr)(this,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,e)}}eo=new WeakMap,ed=new WeakMap,eh=new WeakSet,eu=function(){if(tS(this,ed)===JSON.stringify(this.mediaAudioTrackList))return;tL(this,ed,JSON.stringify(this.mediaAudioTrackList));let e=this.mediaAudioTrackList;for(let t of(this.defaultSlot.textContent="",e.sort((e,t)=>
632e.id.localeCompare(t.id,void 0,{numeric:!0})),e)){let e=e5({type:"radio",text:this.formatMenuItemText(t.label,t),value:`${t.id}`,checked:t.enabled});e.prepend(e8(this,"checked-indicator")),this.defaultSlot.append(e)}},ec=new WeakSet,ef=function(){if(null==this.value)return;let e=new eY.globalThis.CustomEvent(eq.MediaUIEvents.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},eY.globalThis.customElements.get("media-audio-track-menu")||eY.globalThis.customElements.define("media-audio-track-menu",tR);let tM=`<svg aria-hidden="true" viewBox="0 0 24 24"> 633 <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/> 634 <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"/> 635</svg>`,tC=e=>{let t=(0,tb.t)("Audio");e.setAttribute("aria-label",t)};class t_ extends tE{static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),tC(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_LANG&&tC(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=(0,eJ.getMediaController)(this))?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return null!=(e=(0,eJ.getStringAttr)(this,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){(0,eJ.setStringAttr)(this,eq.MediaUIAttributes.MEDIA_AUDIO_TRACK_ENABLED,e)}}t_.getSlotTemplateHTML=function(){return` 636 <style> 637 :host([aria-expanded="true"]) slot[name=tooltip] { 638 display: none; 639 } 640 </style> 641 <slot name="icon">${tM}</slot> 642 `},t_.getTooltipContentHTML=function(){return(0,tb.t)("Audio")},eY.globalThis.customElements.get("media-audio-track-menu-button")||eY.globalThis.customElements.define("media-audio-track-menu-button",t_);var tw=e.i(436561),tD=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tx=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tP=(e,t,i)=>(tD(e,t,"access private method"),i);let tO=` 643 <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator"> 644 <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"/> 645 </svg>`;class tU extends te{constructor(){super(...arguments),tx(this,eg),tx(this,ev),tx(this,em,void 0)}static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST&&t!==i?tP(this,eg,ep).call(this):e===eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING&&t!==i&&(this.value=i||"",tP(this,eg,ep).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",tP(this,ev,eE))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",tP(this,ev,eE))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:(0,eJ.getMediaController)(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return tN(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){tF(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return tN(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){tF(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING,e)}}em=new WeakMap,eg=new WeakSet,ep=function(){var e,t,i,s;let r=(tD(this,t=em,"read from private field"),t.get(this)!==JSON.stringify(this.mediaSubtitlesList)),a=this.value!==this.getAttribute(eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING);if(!r&&!a)return;i=em,s=JSON.stringify(this.mediaSubtitlesList),tD(this,i,"write to private field"),i.set(this,s),this.defaultSlot.textContent="";let n=!this.value,l=e5({type:"radio",text:this.formatMenuItemText((0,tb.t)("Off")),value:"off",checked:n});for(let t of(l.prepend(e8(this,"checked-indicator")),this.defaultSlot.append(l),this.mediaSubtitlesList)){let i=e5({type:"radio",text:this.formatMenuItemText(t.label,t),value:(0,tw.formatTextTrackObj)(t),checked:this.value==(0,tw.formatTextTrackObj)(t)});i.prepend(e8(this,"checked-indicator")),"captions"===(null!=(e=t.kind)?e:"subs")&&i.append(e8(this,"captions-indicator")),this.defaultSlot.append(i)}},ev=new WeakSet,eE=function(){let e=this.mediaSubtitlesShowing,t=this.getAttribute(eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING),i=this.value!==t;if((null==e?void 0:e.length)&&i&&this.dispatchEvent(new eY.globalThis.CustomEvent(eq.MediaUIEvents.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:e})),!this.value||!i)return;let s=new eY.globalThis.CustomEvent(eq.MediaUIEvents.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(s)},tU.getTemplateHTML=function(e){return` 646 ${te.getTemplateHTML(e)} 647 <slot name="captions-indicator" hidden>${tO}</slot> 648 `};let tN=(e,t)=>{let i=e.getAttribute(t);return i?(0,tw.parseTextTracksStr)(i):[]},tF=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let s=(0,tw.stringifyTextTrackList)(i);e.getAttribute(t)!==s&&e.setAttribute(t,s)};eY.globalThis.customElements.get("media-captions-menu")||eY.globalThis.customElements.define("media-captions-menu",tU);let tB=`<svg aria-hidden="true" viewBox="0 0 26 24"> 649 <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
6490 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"/> 650</svg>`,t$=`<svg aria-hidden="true" viewBox="0 0 26 24"> 651 <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"/> 652</svg>`,tH=e=>{e.setAttribute("data-captions-enabled",(0,tw.areSubsOn)(e).toString())},tG=e=>{e.setAttribute("aria-label",(0,tb.t)("closed captions"))};class tV extends tE{static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING,eq.MediaUIAttributes.MEDIA_LANG]}connectedCallback(){super.connectedCallback(),tG(this),tH(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING?tH(this):e===eq.MediaUIAttributes.MEDIA_LANG&&tG(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=(0,eJ.getMediaController)(this))?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return tW(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){tK(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return tW(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){tK(this,eq.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING,e)}}tV.getSlotTemplateHTML=function(){return` 653 <style> 654 :host([data-captions-enabled="true"]) slot[name=off] { 655 display: none !important; 656 } 657 658 659 :host(:not([data-captions-enabled="true"])) slot[name=on] { 660 display: none !important; 661 } 662 663 :host([aria-expanded="true"]) slot[name=tooltip] { 664 display: none; 665 } 666 </style> 667 668 <slot name="icon"> 669 <slot name="on">${tB}</slot> 670 <slot name="off">${t$}</slot> 671 </slot> 672 `},tV.getTooltipContentHTML=function(){return(0,tb.t)("Captions")};let tW=(e,t)=>{let i=e.getAttribute(t);return i?(0,tw.parseTextTracksStr)(i):[]},tK=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let s=(0,tw.stringifyTextTrackList)(i);e.getAttribute(t)!==s&&e.setAttribute(t,s)};eY.globalThis.customElements.get("media-captions-menu-button")||eY.globalThis.customElements.define("media-captions-menu-button",tV);var tj=e.i(789312),tq=e.i(11339),tY=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tQ=(e,t,i)=>(tY(e,t,"read from private field"),i?i.call(e):t.get(e)),tz=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tX=(e,t,i)=>(tY(e,t,"access private method"),i);let tZ="rates";class tJ extends te{constructor(){super(),tz(this,ey),tz(this,eA),tz(this,eb,new tj.AttributeTokenList(this,tZ,{defaultValue:tq.DEFAULT_RATES})),tX(this,ey,eT).call(this)}static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE,tZ]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE&&t!=i?(this.value=i,tX(this,ey,eT).call(this)):e===tZ&&t!=i&&(tQ(this,eb).value=i,tX(this,ey,eT).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",tX(this,eA,eS))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",tX(this,eA,eS))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:(0,eJ.getMediaController)(this).querySelector("media-playback-rate-menu-button")}get rates(){return tQ(this,eb)}set rates(e){e?Array.isArray(e)?tQ(this,eb).value=e.join(" "):"str
672ing"==typeof e&&(tQ(this,eb).value=e):tQ(this,eb).value="",tX(this,ey,eT).call(this)}get mediaPlaybackRate(){return(0,eJ.getNumericAttr)(this,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE,tq.DEFAULT_RATE)}set mediaPlaybackRate(e){(0,eJ.setNumericAttr)(this,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE,e)}}eb=new WeakMap,ey=new WeakSet,eT=function(){this.defaultSlot.textContent="";let e=this.mediaPlaybackRate,t=new Set(Array.from(tQ(this,eb)).map(e=>Number(e)));for(let i of(e>0&&!t.has(e)&&t.add(e),Array.from(t).sort((e,t)=>e-t))){let t=e5({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i.toString(),checked:e===i});t.prepend(e8(this,"checked-indicator")),this.defaultSlot.append(t)}},eA=new WeakSet,eS=function(){if(!this.value)return;let e=new eY.globalThis.CustomEvent(eq.MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},eY.globalThis.customElements.get("media-playback-rate-menu")||eY.globalThis.customElements.define("media-playback-rate-menu",tJ);class t0 extends tE{static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE]}constructor(){var e;super(),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",(0,tb.t)("Playback rate {playbackRate}",{playbackRate:t}))}}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:(0,eJ.getMediaController)(this).querySelector("media-playback-rate-menu")}get mediaPlaybackRate(){return(0,eJ.getNumericAttr)(this,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){(0,eJ.setNumericAttr)(this,eq.MediaUIAttributes.MEDIA_PLAYBACK_RATE,e)}}t0.getSlotTemplateHTML=function(e){return` 673 <style> 674 :host { 675 min-width: 5ch; 676 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 677 } 678 679 :host([aria-expanded="true"]) slot { 680 display: block; 681 } 682 683 :host([aria-expanded="true"]) slot[name=tooltip] { 684 display: none; 685 } 686 </style> 687 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 688 `},t0.getTooltipContentHTML=function(){return(0,tb.t)("Playback rate")},eY.globalThis.customElements.get("media-playback-rate-menu-button")||eY.globalThis.customElements.define("media-playback-rate-menu-button",t0);var t1=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},t2=(e,t,i)=>(t1(e,t,"read from private field"),i?i.call(e):t.get(e)),t3=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},t4=(e,t,i,s)=>(t1(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),t5=(e,t,i)=>(t1(e,t,"access private method"),i);class t8 extends te{constructor(){super(...arguments),t3(this,ek),t3(this,eM),t3(this,eI,[]),t3(this,eL,{})}static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_RENDITION_LIST,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED,eq.MediaUIAttributes.MEDIA_RENDITION_UNAVAILABLE,eq.MediaUIAttributes.MEDIA_HEIGHT]}static formatMenuItemText(e,t){return super.formatMenuItemText(e,t)}static formatRendition(e,{showBitrate:t=!1}={}){let i=`${Math.min(e.width,e.height)}p`;if(t&&e.bitrate){let t=e.bitrate/1e6,s=`${t.toFixed(+(t<1))} Mbps`;return`${i} (${s})`}return this.formatMenuItemText(i,e)}static compareRendition(e,t){var i,s;return t.height===e.height?(null!=(i=t.bitrate)?i:0)-(null!=(s=e.bitrate)?s:0):t.height-e.height}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED&&t!==i?(this.value=null!=i?i:"auto",t5(this,ek,eR).call(this)):e===eq.MediaUIAttributes.MEDIA_RENDITION_LIST&&t!==i?(t4(this,eI,(0,tT.parseRenditionList)(i)),t5(this,ek,eR).call(this)):e===eq.MediaUIAttributes.MEDIA_HEIGHT&&t!==i&&t5(this,ek,eR).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",t5(this,eM,eC))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",t5(this,eM,eC))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:(0,eJ.getMediaController)(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return t2(this,eI)}set mediaRenditionList(e){t4(this,eI,e),t5(this,ek,eR).call(this)}get mediaRenditionSelected(){return(0,eJ.getStringAttr)(this,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){(0,eJ.setStringAttr)(this,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return(0,eJ.getNumericAttr)(this,eq.MediaUIAttributes.MEDIA_HEIGHT)}set mediaHeight(e){(0,eJ.setNumericAttr)(this,eq.MediaUIAttributes.MEDIA_HEIGHT,e)}compareRendition(e,t){return this.constructor.compareRendition(e,t)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}formatRendition(e,t){return this.constructor.formatRendition(e,t)}showRenditionBitrate(e){return this.mediaRenditionList.some(t=>t!==e&&t.height===e.height&&t.bitrate!==e.bitrate)}}eI=new WeakMap,eL=new WeakMap,ek=new WeakSet,eR=function(){if(t2(this,eL).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&t2(this,eL).mediaHeight===this.mediaHeight)return;t2(this,eL).mediaRenditionList=JSON.stringify(this.mediaRenditionList),t2(this,eL).mediaHeight=this.mediaHeight;let e=this.mediaRenditionList.sort(this.compareRendition.bind(this)),t=e.find(e=>e.id===this.mediaRenditionSelected);for(let i of e)i.selected=i===t;this.defaultSlot.textContent="";let i=!this.mediaRenditionSelected;for(let t of e){let e=e5({type:"radio",text:this.formatRendition(t,{showBitrate:this.showRenditionBitrate(t)}
688),value:`${t.id}`,checked:t.selected&&!i});e.prepend(e8(this,"checked-indicator")),this.defaultSlot.append(e)}let s=t&&this.showRenditionBitrate(t),r=i?t?this.formatMenuItemText(`${(0,tb.t)("Auto")} \u2022 ${this.formatRendition(t,{showBitrate:s})}`,t):this.formatMenuItemText(`${(0,tb.t)("Auto")} (${this.mediaHeight}p)`):this.formatMenuItemText((0,tb.t)("Auto")),a=e5({type:"radio",text:r,value:"auto",checked:i});a.dataset.description=r,a.prepend(e8(this,"checked-indicator")),this.defaultSlot.append(a)},eM=new WeakSet,eC=function(){if(null==this.value)return;let e=new eY.globalThis.CustomEvent(eq.MediaUIEvents.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},eY.globalThis.customElements.get("media-rendition-menu")||eY.globalThis.customElements.define("media-rendition-menu",t8);let t6=`<svg aria-hidden="true" viewBox="0 0 24 24"> 689 <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" /> 690</svg>`;class t9 extends tE{static get observedAttributes(){return[...super.observedAttributes,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED,eq.MediaUIAttributes.MEDIA_RENDITION_UNAVAILABLE,eq.MediaUIAttributes.MEDIA_HEIGHT]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",(0,tb.t)("quality"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:(0,eJ.getMediaController)(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return(0,eJ.getStringAttr)(this,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){(0,eJ.setStringAttr)(this,eq.MediaUIAttributes.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return(0,eJ.getNumericAttr)(this,eq.MediaUIAttributes.MEDIA_HEIGHT)}set mediaHeight(e){(0,eJ.setNumericAttr)(this,eq.MediaUIAttributes.MEDIA_HEIGHT,e)}}t9.getSlotTemplateHTML=function(){return` 691 <style> 692 :host([aria-expanded="true"]) slot[name=tooltip] { 693 display: none; 694 } 695 </style> 696 <slot name="icon">${t6}</slot> 697 `},t9.getTooltipContentHTML=function(){return(0,tb.t)("Quality")},eY.globalThis.customElements.get("media-rendition-menu-button")||eY.globalThis.customElements.define("media-rendition-menu-button",t9);var t7=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},ie=(e,t,i)=>(t7(e,t,"read from private field"),i?i.call(e):t.get(e)),it=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},ii=(e,t,i,s)=>(t7(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),is=(e,t,i)=>(t7(e,t,"access private method"),i);class ir extends te{constructor(){super(),it(this,ew),it(this,ex),it(this,eO),it(this,eN),it(this,e$),it(this,e_,!1),it(this,eB,e=>{let t=e.target,i=(null==t?void 0:t.nodeName)==="VIDEO",s=is(this,eN,eF).call(this,t);(i||s)&&(ie(this,e_)?is(this,ex,eP).call(this):is(this,e$,eH).call(this,e))}),it(this,eG,e=>{let t=e.target,i=this.contains(t),s=2===e.button,r=(null==t?void 0:t.nodeName)==="VIDEO",a=is(this,eN,eF).call(this,t);i||s&&(r||a)||is(this,ex,eP).call(this)}),it(this,eV,e=>{"Escape"===e.key&&is(this,ex,eP).call(this)}),it(this,eW,e=>{var t,i;let s=e.target;if(null==(t=s.matches)?void 0:t.call(s,'button[invoke="copy"]')){let e=null==(i=s.closest("media-context-menu-item"))?void 0:i.querySelector('input[slot="copy"]');e&&navigator.clipboard.writeText(e.value)}is(this,ex,eP).call(this)}),this.setAttribute("noautohide",""),is(this,ew,eD).call(this)}connectedCallback(){super.connectedCallback(),(0,eJ.getMediaController)(this).addEventListener("contextmenu",ie(this,eB)),this.addEventListener("click",ie(this,eW))}disconnectedCallback(){super.disconnectedCallback(),(0,eJ.getMediaController)(this).removeEventListener("contextmenu",ie(this,eB)),this.removeEventListener("click",ie(this,eW)),document.removeEventListener("mousedown",ie(this,eG)),document.removeEventListener("keydown",ie(this,eV))}}e_=new WeakMap,ew=new WeakSet,eD=function(){this.hidden=!ie(this,e_)},ex=new WeakSet,eP=function(){ii(this,e_,!1),is(this,ew,eD).call(this)},eO=new WeakSet,eU=function(){document.querySelectorAll("media-context-menu").forEach(e
697=>{e!==this&&is(e,ex,eP).call(e)})},eN=new WeakSet,eF=function(e){return!!e&&(!!e.hasAttribute("slot")&&"media"===e.getAttribute("slot")||!!(e.nodeName.includes("-")&&e.tagName.includes("-"))&&(e.hasAttribute("src")||e.hasAttribute("poster")||e.hasAttribute("preload")||e.hasAttribute("playsinline")))},eB=new WeakMap,e$=new WeakSet,eH=function(e){e.preventDefault(),is(this,eO,eU).call(this),ii(this,e_,!0),this.style.position="fixed",this.style.left=`${e.clientX}px`,this.style.top=`${e.clientY}px`,is(this,ew,eD).call(this),document.addEventListener("mousedown",ie(this,eG),{once:!0}),document.addEventListener("keydown",ie(this,eV),{once:!0})},eG=new WeakMap,eV=new WeakMap,eW=new WeakMap,ir.getTemplateHTML=function(e){return` 698 ${te.getTemplateHTML(e)} 699 <style> 700 :host { 701 --_menu-bg: rgb(20 20 30 / .8); 702 background: var(--media-settings-menu-background, 703 var(--media-menu-background, 704 var(--media-control-background, 705 var(--media-secondary-color, var(--_menu-bg))))); 706 min-width: var(--media-settings-menu-min-width, 170px); 707 border-radius: 2px; 708 overflow: hidden; 709 } 710 </style> 711 `},eY.globalThis.customElements.get("media-context-menu")||eY.globalThis.customElements.define("media-context-menu",ir);class ia extends tf{}function il(e){return"boolean"==typeof e?e?"":void 0:"function"==typeof e?void 0:Array.isArray(e)&&e.every(e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e)?e.join(" "):"object"!=typeof e||null===e?e:void 0}ia.shadowRootOptions={mode:"open"},ia.getTemplateHTML=function(e){return` 712 ${tf.getTemplateHTML.call(this,e)} 713 <style> 714 ::slotted(*) { 715 color: var(--media-text-color, white); 716 text-decoration: none; 717 border: none; 718 background: none; 719 cursor: pointer; 720 padding: 0; 721 min-height: var(--media-control-height, 24px); 722 } 723 </style> 724 `},eY.globalThis.customElements.get("media-context-menu-item")||eY.globalThis.customElements.define("media-context-menu-item",ia),(0,ej.createComponent)({tagName:"media-chrome-menu",elementClass:te,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-chrome-menu-item",elementClass:tf,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});let io=(0,ej.createComponent)({tagName:"media-settings-menu",elementClass:tg,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),id=(0,ej.createComponent)({tagName:"media-settings-menu-item",elementClass:tp,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});(0,ej.createComponent)({tagName:"media-chrome-menu-button",elementClass:tE,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});let ih=(0,ej.createComponent)({tagName:"media-settings-menu-button",elementClass:ty,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});(0,ej.createComponent)({tagName:"media-audio-track-menu",elementClass:tR,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-audio-track-menu-button",elementClass:t_,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-captions-menu",elementClass:tU,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-captions-menu-button",elementClass:tV,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});let iu=(0,ej.createComponent)({tagName:"media-playback-rate-menu",elementClass:tJ,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});(0,ej.createComponent)({tagName:"media-playback-rate-menu-button",elementClass:t0,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});let ic=(0,ej.createComponent)({tagName:"media-rendition-menu",elementClass:t8,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}});(0,ej.createComponent)({tagName:"media-rendition-menu-button",elementClass:t9,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-context-menu",elementClass:ir,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),(0,ej.createComponent)({tagName:"media-context-menu-item",elementClass:ia,react:eK.default,toAttributeValue:il,defaultProps:{suppressHydrationWarning:!0}}),e.s(["MediaPlaybackRateMenu",0,iu,"MediaRenditionMenu",0,ic,"MediaSettingsMenu",0,io,"MediaSettingsMenuButton",0,ih,"MediaSettingsMenuItem",0,id],838078)},789312,e=>{"use strict";var t,i,s,r,a,n,l=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},o=(e,t,i)=>(l(e,t,"read from private field"),i?i.call(e):t.get(e)),d=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},h=(e,t,i,s)=>(l(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class u{constructor(e,n,{defaultValue:l}={defaultValue:void 0}){d(this,a),d(this,t,void 0),d(this,i,void 0),d(this,s,void 0),d(this,r,new Set),h(this,t,e),h(this,i,n),h(this,s,new Set(l))}[Symbol.iterator](){return o(this,a,n).values()}get length(){return o(this,a,n).size}get value(){var e;return null!=(e=[...o(this,a,n)].join(" "))?e:""}set value(e){var t;e!==this.value&&(h(this,r,new Set),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return[...o(this,a,n)][e]}values(){return o(this,a,n).values()}
724forEach(e,t){o(this,a,n).forEach(e,t)}add(...e){var s,a;e.forEach(e=>o(this,r).add(e)),(""!==this.value||(null==(s=o(this,t))?void 0:s.hasAttribute(`${o(this,i)}`)))&&(null==(a=o(this,t))||a.setAttribute(`${o(this,i)}`,`${this.value}`))}remove(...e){var s;e.forEach(e=>o(this,r).delete(e)),null==(s=o(this,t))||s.setAttribute(`${o(this,i)}`,`${this.value}`)}contains(e){return o(this,a,n).has(e)}toggle(e,t){if(void 0!==t)if(t)return this.add(e),!0;else return this.remove(e),!1;return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}}t=new WeakMap,i=new WeakMap,s=new WeakMap,r=new WeakMap,a=new WeakSet,n=function(){return o(this,r).size?o(this,r):o(this,s)},e.s(["AttributeTokenList",0,u])},436561,e=>{"use strict";var t=e.i(900001);let i=(e="")=>{let[i,s,r]=e.split(":"),a=r?decodeURIComponent(r):void 0;return{kind:"cc"===i?t.TextTrackKinds.CAPTIONS:t.TextTrackKinds.SUBTITLES,language:s,label:a}},s=(e="",t={})=>((e="")=>e.split(/\s+/))(e).map(e=>{let s=i(e);return{...t,...s}}),r=e=>e?Array.isArray(e)?e.map(e=>"string"==typeof e?i(e):e):"string"==typeof e?s(e):[e]:[],a=({kind:e,label:t,language:i}={kind:"subtitles"})=>t?`${"captions"===e?"cc":"sb"}:${i}:${encodeURIComponent(t)}`:i,n=e=>{let t=Object.entries(e).map(([e,t])=>i=>i[e]===t);return e=>t.every(t=>t(e))};e.s(["areSubsOn",0,e=>{var i;return!!(null==(i=e.mediaSubtitlesShowing)?void 0:i.length)||e.hasAttribute(t.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING)},"formatTextTrackObj",0,a,"getTextTracksList",0,(e,t=()=>!0)=>{if(!(null==e?void 0:e.textTracks))return[];let i="function"==typeof t?t:n(t);return Array.from(e.textTracks).filter(i)},"parseTextTracksStr",0,s,"parseTracks",0,r,"stringifyTextTrackList",0,(e=[])=>Array.prototype.map.call(e,a).join(" "),"updateTracksModeTo",0,(e,t=[],i=[])=>{let s=r(i).map(n);Array.from(t).filter(e=>s.some(t=>t(e))).forEach(t=>{t.mode=e})}])},489094,e=>{"use strict";var t=e.i(900001),i=e.i(889096),s=e.i(30094);let r="exitFullscreen"in s.document?"exitFullscreen":"webkitExitFullscreen"in s.document?"webkitExitFullscreen":"webkitCancelFullScreen"in s.document?"webkitCancelFullScreen":void 0,a="fullscreenElement"in s.document?"fullscreenElement":"webkitFullscreenElement"in s.document?"webkitFullscreenElement":void 0,n="fullscreenEnabled"in s.document?"fullscreenEnabled":"webkitFullscreenEnabled"in s.document?"webkitFullscreenEnabled":void 0;e.s(["enterFullscreen",0,e=>{var t;let{media:i,fullscreenElement:s}=e;try{let e=s&&"requestFullscreen"in s?"requestFullscreen":s&&"webkitRequestFullScreen"in s?"webkitRequestFullScreen":void 0;if(e){let i=null==(t=s[e])?void 0:t.call(s);if(i instanceof Promise)return i.catch(()=>{})}else(null==i?void 0:i.webkitEnterFullscreen)?i.webkitEnterFullscreen():(null==i?void 0:i.requestFullscreen)&&i.requestFullscreen()}catch(e){console.error(e)}},"exitFullscreen",0,e=>{var t;let{documentElement:i}=e;if(r){let e=null==(t=null==i?void 0:i[r])?void 0:t.call(i);if(e instanceof Promise)return e.catch(()=>{})}},"isFullscreen",0,e=>{var s;let{media:r,documentElement:n,fullscreenElement:l=r}=e;if(!r||!n)return!1;let o=(e=>{let{documentElement:i,media:s}=e,r=null==i?void 0:i[a];return!r&&"webkitDisplayingFullscreen"in s&&"webkitPresentationMode"in s&&s.webkitDisplayingFullscreen&&s.webkitPresentationMode===t.WebkitPresentationModes.FULLSCREEN?s:r})(e);if(!o)return!1;if(o===l||o===r)return!0;if(o.localName.includes("-")){let e=o.shadowRoot;if(!(a in e))return(0,i.containsComposedNode)(o,l);for(;null==e?void 0:e[a];){if(e[a]===l)return!0;e=null==(s=e[a])?void 0:s.shadowRoot}}return!1},"isFullscreenEnabled",0,e=>{let{documentElement:t,media:i}=e;return!!(null==t?void 0:t[n])||i&&"webkitSupportsFullscreen"in i}])},12327,e=>{"use strict";var t;let i={en:{"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute",Loop:"Loop","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings",Auto:"Auto","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute","chapter: {chapterName}":"chapter: {chapterName}",live:"live",Off:"Off","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","S
724ource Not Supported":"Source Not Supported","Encryption Error":"Encryption Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."}},s=(null==(t=globalThis.navigator)?void 0:t.language)||"en";e.s(["setLanguage",0,e=>{s=e},"t",0,(e,t={})=>(e=>{var t,r,a;let[n]=s.split("-");return(null==(t=i[s])?void 0:t[e])||(null==(r=i[n])?void 0:r[e])||(null==(a=i.en)?void 0:a[e])||e})(e).replace(/\{(\w+)\}/g,(e,i)=>i in t?String(t[i]):`{${i}}`)],12327)},474227,e=>{"use strict";let t;var i=e.i(30094),s=e.i(966803),r=e.i(489094);let a=()=>{var e,s;return t||(t=null==(s=null==(e=i.document)?void 0:e.createElement)?void 0:s.call(e,"video"))},n=async(e=a())=>{if(!e)return!1;let t=e.volume;e.volume=t/2+.1;let i=new AbortController,s=await Promise.race([l(e,i.signal),o(e,t)]);return i.abort(),s},l=(e,t)=>new Promise(i=>{e.addEventListener("volumechange",()=>i(!0),{signal:t})}),o=async(e,t)=>{for(let i=0;i<10;i++){if(e.volume===t)return!1;await (0,s.delay)(10)}return e.volume!==t},d=/.*Version\/.*Safari\/.*/.test(i.globalThis.navigator.userAgent),h=(e=a())=>(!i.globalThis.matchMedia("(display-mode: standalone)").matches||!d)&&"function"==typeof(null==e?void 0:e.requestPictureInPicture),u=(e=a())=>(0,r.isFullscreenEnabled)({documentElement:i.document,media:e}),c=u(),f=h(),m=!!i.globalThis.WebKitPlaybackTargetAvailabilityEvent,g=!!i.globalThis.chrome;e.s(["airplaySupported",0,m,"castSupported",0,g,"fullscreenSupported",0,c,"hasFullscreenSupport",0,u,"hasPipSupport",0,h,"hasVolumeSupportAsync",0,n,"pipSupported",0,f])},309869,e=>{"use strict";var t=e.i(30094);let i=new WeakMap,s=e=>{let t=i.get(e);return t||i.set(e,t=new Set),t},r=new t.globalThis.ResizeObserver(e=>{for(let t of e)for(let e of s(t.target))e(t)});e.s(["observeResize",0,function(e,t){s(e).add(t),r.observe(e)},"unobserveResize",0,function(e,t){let i=s(e);i.delete(t),i.size||r.unobserve(e)}])},966803,e=>{"use strict";function t(e){if(e){let{id:t,width:i,height:s}=e;return[t,i,s].filter(e=>null!=e).join(":")}}function i(e){if(e){let[t,i,s]=e.split(":");return{id:t,width:+i,height:+s}}}function s(e){if(e){let{id:t,kind:i,language:s,label:r}=e;return[t,i,s,r].filter(e=>null!=e).join(":")}}function r(e){if(e){let[t,i,s,r]=e.split(":");return{id:t,kind:i,language:s,label:r}}}e.s(["delay",0,e=>new Promise(t=>setTimeout(t,e)),"isValidNumber",0,function(e){return"number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e)},"parseAudioTrackList",0,function(e){return null==e?void 0:e.split(/\s+/).map(r)},"parseRenditionList",0,function(e){return null==e?void 0:e.split(/\s+/).map(i)},"stringifyAudioTrackList",0,function(e){return null==e?void 0:e.map(s).join(" ")},"stringifyRenditionList",0,function(e){return null==e?void 0:e.map(t).join(" ")}])},396200,e=>{"use strict";var t=e.i(586507),i=e.i(220923),s=e.i(838078),r=e.i(747426),a=e.i(587939),n=e.i(753915),l=e.i(744777),o=e.i(462951);e.s(["Controls",0,({controlsToShow:e,hideWhenPaused:d=!1,className:h})=>{let{play:u=!0,mute:c=!0,time:f=!0,range:m=!0,settings:g=!0,fullscreen:p=!0,captions:v=!1}=e??{},E=(0,o.useHasPlayedOnce)(),b=(0,r.useMediaSelector)(e=>e?.mediaMuted),y=(0,r.useMediaSelector)(e=>e?.mediaPaused),T=(0,n.useIsMobile)();return(0,t.jsxs)(i.MediaControlBar,{className:(0,a.cn)("z-(--z-index-slot-controls) absolute bottom-0 left-0 right-0","pointer-events-none hidden items-center justify-between gap-3 p-3 focus-within:flex",E&&"pointer-events-auto",E&&!(d&&y)&&"flex",T&&"portrait:group-[[mediaisfullscreen]]/mediaplayercontroller:bottom-auto! portrait:group-[[mediaisfullscreen]]/mediaplayercontroller:flex! portrait:group-[[mediaisfullscreen]]/mediaplayercontroller:transform-hidden portrait:group-[[mediaisfullscreen]]/mediaplayercontroller:top-[50%]",h),children:[u&&(0,t.jsx)(i.MediaPlayButton,{}),c&&(0,t.jsx)(i.MediaMuteButton,{children:(0,t.jsxs)("div",{slot:"icon",className:"relative size-6",children:[(0,t.jsx)(l.SoundOnIcon,{}),(0,t.jsx)("div",{className:(0,a.cn)("absolute inset-0 h-full w-full rotate-45","after:absolute after:right-0 after:top-[calc(50%-1px)] after:h-[2px] after:w-0 after:bg-white",b&&"after:left-0 after:right-auto after:w-full")})]})}),f&&(0,t.jsx)(i.MediaTimeDisplay,{showDuration:!0}),m&&(0,t.jsx)(i.MediaTimeRange,{}),v&&(0,t.jsx)(i.MediaCaptionsButton,{}),g&&(0,t.jsx)(s.MediaSettingsMenuButton,{className:"group",children:(0,t.jsx)(l.OptionsIcon,{slot:"icon"})}),p&&(0,t.jsx)(i.MediaFullscreenButton,{children:(0,t.jsx)(l.FullscreenIcon,{slot:"icon"})}),(0,t.jsx)("div",{className:"-z-1 bg-linear-to-t absolute inset-0 -mt-5 from-black/75 via-black/35 to-transparent opacity-75"})]})}])},462951,e=>{"use strict";var t=e.i(699294),i=e.i(747426),s=e.i(724965);let r=()=>{let[e,s]=(0,t.useState)(!1),r=(0,i.useMediaSelector)(e=>e?.mediaHasPlayed);return(0,t.useEffect)(()=>{r&&!e&&s(!0)},[r,e]),e};e.s(["useHasPlayedOnce",0,r,"useOverlay",0,()=>
724{let e=(0,i.useMediaDispatch)(),t=(0,i.useMediaSelector)(e=>!1===e.mediaPaused),{video:a,overlay:n}=(0,s.useMediaPlayerContext)(),l=r(),o=n?.showWhenPaused??!1;return{shouldHide:t||l&&!o,play:()=>{e({type:i.MediaActionTypes.MEDIA_PLAY_REQUEST})},isPlaying:t,hasPlayedOnce:l,title:a?.title,showWhenPaused:o,overlay:n}},"useProgress",0,()=>(0,i.useMediaSelector)(e=>{let t=e.mediaDuration??0;return!Number.isFinite(t)||t<=0?0:Math.min((e.mediaCurrentTime??0)/t,1)})])},744777,e=>{"use strict";var t=e.i(586507),i=e.i(587939);let s=e=>(0,t.jsx)("svg",{viewBox:"0 0 25 25",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,t.jsx)("path",{d:"M6.97168 3.90283L19.4161 11.9028L6.97168 19.9028V3.90283Z",fill:"currentColor"})});e.s(["ChevronIcon",0,e=>(0,t.jsx)("svg",{width:"17",height:"17",viewBox:"0 0 17 17",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.52044 4.0285C6.1885 4.36045 6.1885 4.89864 6.52044 5.23058L9.4194 8.12954L6.52044 11.0285C6.1885 11.3604 6.1885 11.8986 6.52044 12.2306C6.85239 12.5625 7.39058 12.5625 7.72253 12.2306L11.2225 8.73058C11.5545 8.39864 11.5545 7.86045 11.2225 7.5285L7.72253 4.0285C7.39058 3.69655 6.85239 3.69655 6.52044 4.0285Z",fill:"currentColor"})}),"FullscreenIcon",0,e=>(0,t.jsx)("svg",{width:"25",height:"25",viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,t.jsx)("path",{d:"M5.25472 10.9962C5.03087 10.9962 4.84619 10.9258 4.70068 10.7851C4.55517 10.6445 4.48242 10.4725 4.48242 10.2693V5.93185C4.48242 5.53587 4.59995 5.22847 4.83499 5.00964C5.07564 4.7856 5.40862 4.67358 5.83394 4.67358H10.4929C10.7224 4.67358 10.9098 4.74132 11.0553 4.87678C11.2065 5.01225 11.282 5.18418 11.282 5.39259C11.282 5.601 11.2065 5.77294 11.0553 5.9084C10.9042 6.03866 10.7168 6.10378 10.4929 6.10378H9.79617L6.85808 5.94748L9.18337 8.0029L11.7773 10.41C11.85 10.4777 11.906 10.5585 11.9452 10.6523C11.9843 10.7461 12.0039 10.8451 12.0039 10.9493C12.0039 11.1681 11.9256 11.3452 11.7689 11.4807C11.6122 11.611 11.4135 11.6761 11.1729 11.6761C10.9602 11.6761 10.7839 11.6084 10.644 11.4729L8.0585 9.05015L5.85073 6.88531L6.01862 9.61285V10.2693C6.01862 10.4777 5.94587 10.6523 5.80037 10.793C5.66046 10.9284 5.47857 10.9962 5.25472 10.9962ZM14.4635 19.5852C14.2397 19.5852 14.0522 19.5174 13.9011 19.382C13.75 19.2465 13.6744 19.0746 13.6744 18.8662C13.6744 18.6577 13.75 18.4858 13.9011 18.3503C14.0522 18.2201 14.2397 18.155 14.4635 18.155H15.1687L18.1068 18.3113L15.7731 16.2558L13.1876 13.8487C13.1092 13.781 13.0505 13.7002 13.0113 13.6065C12.9721 13.5127 12.9525 13.4137 12.9525 13.3095C12.9525 13.0907 13.0309 12.9161 13.1876 12.7859C13.3499 12.6504 13.5485 12.5827 13.7836 12.5827C14.0018 12.5827 14.1809 12.6504 14.3208 12.7859L16.898 15.2086L19.1141 17.3734L18.9378 14.6459V13.9894C18.9378 13.781 19.0106 13.6091 19.1561 13.4736C19.3016 13.3329 19.4835 13.2626 19.7017 13.2626C19.9256 13.2626 20.1103 13.3329 20.2558 13.4736C20.4069 13.6143 20.4824 13.7862 20.4824 13.9894V18.3269C20.4824 18.7229 20.3621 19.0303 20.1215 19.2491C19.8864 19.4731 19.5534 19.5852 19.1225 19.5852H14.4635Z",fill:"currentColor"})}),"OptionsIcon",0,e=>(0,t.jsx)("svg",{width:"25",height:"25",viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,t.jsx)("path",{d:"M11.7384 20.1294C11.4339 20.1294 11.1687 20.0434 10.9428 19.8713C10.7169 19.6993 10.572 19.4658 10.5082 19.1709L10.2062 17.8658L10.0073 17.7994L8.88021 18.4925C8.62484 18.6547 8.35474 18.7162 8.0699 18.6769C7.78997 18.6425 7.54197 18.5171 7.32588 18.3008L6.29458 17.2759C6.07358 17.0547 5.9459 16.804 5.91152 16.5239C5.87714 16.2437 5.94099 15.9758 6.10305 15.7202L6.81023 14.5921L6.74393 14.4077L5.44006 14.1054C5.15032 14.0366 4.91704 13.8891 4.74025 13.663C4.56836 13.4369 4.48242 13.1739 4.48242 12.8741V11.4216C4.48242 11.1217 4.56836 10.8612 4.74025 10.64C4.91213 10.4139 5.14541 10.264 5.44006 10.1902L6.7292 9.88055L6.80286 9.68147L6.09568 8.55336C5.93853 8.30267 5.87469 8.03723 5.90415 7.75704C5.93853 7.47686 6.06622 7.22617 6.28721 7.00497L7.31852 5.97271C7.5346 5.76135 7.78261 5.636 8.06253 5.59668C8.34246 5.55735 8.61011 5.
72461634 8.86548 5.77363L9.99992 6.47409L10.2062 6.39299L10.5082 5.08792C10.572 4.7979 10.7169 4.56688 10.9428 4.39483C11.1687 4.21787 11.4339 4.12939 11.7384 4.12939H13.2338C13.5383 4.12939 13.801 4.21787 14.022 4.39483C14.243 4.56688 14.3879 4.7979 14.4566 5.08792L14.7587 6.39299L14.9649 6.47409L16.0994 5.77363C16.3547 5.61634 16.6224 5.55735 16.9023 5.59668C17.1822 5.636 17.4302 5.76135 17.6463 5.97271L18.6776 7.00497C18.8986 7.22617 19.0239 7.47686 19.0533 7.75704C19.0877 8.03723 19.0263 8.30267 18.8692 8.55336L18.162 9.68147L18.243 9.88055L19.5248 10.1902C19.8145 10.259 20.0453 10.4065 20.2172 10.6326C20.394 10.8587 20.4824 11.1217 20.4824 11.4216V12.8741C20.4824 13.1739 20.394 13.4369 20.2172 13.663C20.0453 13.8891 19.8145 14.0366 19.5248 14.1054L18.2283 14.4077L18.1546 14.5921L18.8618 15.7202C19.0189 15.9758 19.0803 16.2437 19.046 16.5239C19.0165 16.804 18.8913 17.0547 18.6703 17.2759L17.639 18.3008C17.4229 18.5171 17.1724 18.6425 16.8876 18.6769C16.6077 18.7162 16.34 18.6547 16.0846 18.4925L14.9502 17.7994L14.7587 17.8658L14.4566 19.1709C14.3879 19.4658 14.243 19.6993 14.022 19.8713C13.801 20.0434 13.5383 20.1294 13.2338 20.1294H11.7384ZM11.9226 18.7948H13.0496C13.1675 18.7948 13.2338 18.7383 13.2485 18.6252L13.6905 16.8114C13.9361 16.7574 14.1644 16.6861 14.3756 16.5976C14.5868 16.5042 14.7832 16.401 14.9649 16.2879L16.5487 17.2612C16.6519 17.33 16.7427 17.3202 16.8213 17.2317L17.6021 16.4428C17.6807 16.3739 17.6881 16.2855 17.6242 16.1773L16.6519 14.5994C16.755 14.4225 16.8507 14.2259 16.9391 14.0096C17.0325 13.7933 17.1061 13.5696 17.1601 13.3386L18.9797 12.9036C19.0926 12.8839 19.1491 12.8151 19.1491 12.6971V11.5911C19.1491 11.4781 19.0926 11.4093 18.9797 11.3847L17.1675 10.9497C17.1086 10.7039 17.03 10.4704 16.9318 10.2492C16.8385 10.028 16.7476 9.83876 16.6592 9.68147L17.6316 8.09621C17.7003 7.99299 17.693 7.89959 17.6095 7.81603L16.8286 7.04921C16.7452 6.97056 16.6519 6.95827 16.5487 7.01234L14.9649 7.97824C14.7832 7.87502 14.5843 7.77916 14.3682 7.69068C14.1571 7.59729 13.9312 7.5211 13.6905 7.46211L13.2485 5.63354C13.2338 5.52049 13.1675 5.46396 13.0496 5.46396H11.9226C11.7998 5.46396 11.7286 5.52049 11.7089 5.63354L11.2817 7.44737C11.046 7.50635 10.8127 7.585 10.5819 7.68331C10.356 7.77671 10.1595 7.87256 9.99255 7.97087L8.40876 7.01234C8.31054 6.95827 8.21968 6.9681 8.1362 7.04184L7.34798 7.81603C7.26941 7.89959 7.26204 7.99299 7.32588 8.09621L8.29826 9.68147C8.21477 9.83876 8.12392 10.028 8.0257 10.2492C7.92748 10.4704 7.85136 10.7039 7.79734 10.9497L5.98518 11.3847C5.87223 11.4093 5.81576 11.4781 5.81576 11.5911V12.6971C5.81576 12.8151 5.87223 12.8839 5.98518 12.9036L7.79734 13.3312C7.85627 13.5672 7.93239 13.7933 8.0257 14.0096C8.11901 14.2209 8.21477 14.4176 8.31299 14.5994L7.33325 16.1847C7.27432 16.2879 7.28169 16.3764 7.35535 16.4501L8.14356 17.2317C8.22214 17.3202 8.31054 17.3325 8.40876 17.2686L9.99992 16.2879C10.1816 16.401 10.3805 16.5042 10.5966 16.5976C10.8176 16.6861 11.0435 16.7574 11.2743 16.8114L11.7089 18.6252C11.7286 18.7383 11.7998 18.7948 11.9226 18.7948ZM12.4824 14.9239C11.9668 14.9239 11.4953 14.7985 11.0681 14.5478C10.6457 14.2971 10.3093 13.9604 10.0588 13.5377C9.8133 13.11 9.69053 12.6406 9.69053 12.1294C9.69053 11.6133 9.8133 11.1438 10.0588 10.7211C10.3093 10.2984 10.6457 9.96165 11.0681 9.71096C11.4953 9.46027 11.9668 9.33492 12.4824 9.33492C12.9981 9.33492 13.4671 9.46027 13.8894 9.71096C14.3118 9.96165 14.6482 10.2984 14.8986 10.7211C15.1491 11.1438 15.2743 11.6133 15.2743 12.1294C15.2743 12.6406 15.1491 13.11 14.8986 13.5377C14.6482 13.9604 14.3118 14.2971 13.8894 14.5478C13.4671 14.7985 12.9981 14.9239 12.4824 14.9239ZM12.4824 13.6557C12.7623 13.6557 13.0177 13.5868 13.2485 13.4492C13.4794 13.3116 13.6635 13.1272 13.801 12.8962C13.9385 12.6652 14.0073 12.4096 14.0073 12.1294C14.0073 11.8443 13.9385 11.5887 13.801 11.3626C13.6635 11.1315 13.4794 10.9472 13.2485 10.8096C13.0177 10.6719 12.7623 10.6031 12.4824 10.6031C12.1976 10.6031 11.9398 10.6719 11.7089 10.8096C11.483 10.9472 11.3013 11.1315 11.1638 11.3626C11.0263 11.5887 10.9576 11.8443 10.9576 12.1294C10.9576 12.4096 11.0263 12.6652 11.1638 12.8962C11.3013 13.1272 11.483 13.3116 11.7089 13.4492C11.9398 13.5868 12.1976 13.6557 12.4824 13.6557Z",fill:"currentColor"})}),"PlayButton",0,({className:e,label:r="Play"})=>(0,t.jsx)("div",{className:(0,i.cn)("py-2.25 flex items-center rounded-sm border border-white bg-white/5 px-3.5 shadow-[0_9.841px_82.665px_0_rgba(0,0,0,0.75)] backdrop-blur-[5px] transition-transform group-hover:scale-105",e),children:(0,t.jsxs)("span",{className:"flex items-center text-sm font-medium text-white",children:[(0,t.jsx)(s,{className:"-ml-1 mr-1 w-
7245"})," ",r]})}),"PlayIcon",0,s,"SoundOnIcon",0,e=>(0,t.jsx)("svg",{width:"100%",viewBox:"0 0 25 25",fill:"none",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,t.jsx)("path",{d:"M4.046 15.6908C3.41273 15.6908 2.93489 15.5288 2.6125 15.2048C2.2901 14.8808 2.12891 14.3976 2.12891 13.7551V10.5288C2.12891 9.8752 2.2901 9.38917 2.6125 9.07073C2.93489 8.74671 3.41273 8.5847 4.046 8.5847H6.48987C6.56471 8.5847 6.62804 8.55956 6.67986 8.50928L10.4709 5.24951C10.7184 5.03722 10.9286 4.88079 11.1013 4.78023C11.2797 4.67967 11.4812 4.62939 11.7058 4.62939C12.0339 4.62939 12.3045 4.73833 12.5175 4.95621C12.7305 5.17409 12.837 5.43945 12.837 5.7523V18.5484C12.837 18.8556 12.7305 19.1126 12.5175 19.3193C12.3103 19.526 12.0454 19.6294 11.723 19.6294C11.4985 19.6294 11.2884 19.5819 11.0926 19.4869C10.9027 19.392 10.6954 19.2495 10.4709 19.0596L6.67986 15.7663C6.62804 15.716 6.56471 15.6908 6.48987 15.6908H4.046ZM4.19281 14.2076H6.88711C7.00225 14.2076 7.10588 14.2244 7.19799 14.2579C7.29586 14.2914 7.39373 14.3501 7.4916 14.4339L10.9545 17.4674C11.0005 17.5121 11.0466 17.5344 11.0926 17.5344C11.1675 17.5344 11.2049 17.4925 11.2049 17.4087V6.85006C11.2049 6.76627 11.1675 6.72437 11.0926 6.72437C11.0639 6.72437 11.0379 6.72995 11.0149 6.74113C10.9919 6.7523 10.9689 6.76906 10.9458 6.79141L7.4916 9.84168C7.39373 9.93107 7.29586 9.98973 7.19799 10.0177C7.10588 10.0456 7.00225 10.0596 6.88711 10.0596H4.19281C4.04888 10.0596 3.9395 10.0959 3.86466 10.1685C3.79557 10.2355 3.76103 10.3389 3.76103 10.4786V13.797C3.76103 13.9367 3.79557 14.04 3.86466 14.107C3.9395 14.1741 4.04888 14.2076 4.19281 14.2076ZM15.7731 15.8417C15.5659 15.7076 15.445 15.5288 15.4104 15.3054C15.3816 15.0819 15.4478 14.8501 15.609 14.6098C15.8451 14.2746 16.0293 13.8948 16.1617 13.4702C16.2941 13.04 16.3603 12.5903 16.3603 12.121C16.3603 11.6517 16.2941 11.202 16.1617 10.7719C16.0351 10.3417 15.8508 9.9618 15.609 9.63219C15.4421 9.39755 15.3759 9.1685 15.4104 8.94504C15.445 8.71599 15.5659 8.53442 15.7731 8.40034C15.9573 8.28303 16.156 8.24392 16.369 8.28303C16.582 8.32213 16.7518 8.43107 16.8785 8.60984C17.2297 9.06235 17.5031 9.59587 17.6989 10.2104C17.8946 10.8193 17.9925 11.4562 17.9925 12.121C17.9925 12.7858 17.8946 13.4227 17.6989 14.0316C17.5031 14.6406 17.2297 15.1713 16.8785 15.6238C16.7518 15.8082 16.582 15.9199 16.369 15.959C16.156 15.9925 15.9573 15.9534 15.7731 15.8417ZM19.2187 18.0791C19.0172 17.9562 18.9021 17.7858 18.8733 17.5679C18.8445 17.3445 18.905 17.1238 19.0546 16.9059C19.5094 16.2467 19.8635 15.5065 20.1168 14.6853C20.3701 13.864 20.4968 13.0093 20.4968 12.121C20.4968 11.2327 20.3701 10.378 20.1168 9.55677C19.8693 8.72995 19.5152 7.98973 19.0546 7.3361C18.8992 7.11822 18.8359 6.90034 18.8647 6.68247C18.8992 6.459 19.0172 6.28582 19.2187 6.16291C19.4145 6.04001 19.6188 6.0009 19.8318 6.0456C20.0506 6.0847 20.2262 6.19923 20.3586 6.38917C20.9228 7.15453 21.3575 8.03722 21.6626 9.03722C21.9735 10.0316 22.1289 11.0596 22.1289 12.121C22.1289 13.1825 21.9735 14.2104 21.6626 15.2048C21.3517 16.1936 20.917 17.0763 20.3586 17.8529C20.2262 18.0428 20.0506 18.1573 19.8318 18.1964C19.6188 18.2355 19.4145 18.1964 19.2187 18.0791Z",fill:"currentColor"})})])},651536,e=>{"use strict";var t=e.i(586507),i=e.i(587939),s=e.i(462951),r=e.i(744777);e.s(["Overlay",0,({playLabel:e}={})=>{let{shouldHide:a,play:n,title:l,overlay:o}=(0,s.useOverlay)();return(0,t.jsx)("div",{"aria-hidden":a,className:(0,i.cn)("z-(--z-index-slot-overlay) transition-none! absolute inset-0 h-full w-full",a&&"pointer-events-none opacity-0",o?.className),children:(0,t.jsxs)("button",{onClick:n,className:(0,i.cn)("z-(--z-index-slot-overlay) pointer-events-auto absolute inset-0 flex h-full w-full cursor-pointer items-center justify-center focus-visible:outline-2 focus-visible:outline-offset-2","bg-black/20","group",a&&"pointer-events-none opacity-0"),children:[(0,t.jsx)("div",{className:"absolute inset-0 z-10 w-full bg-black/10"}),(l||o?.children)&&(0,t.jsxs)("div",{className:"absolute inset-0 z-10 flex w-full flex-col items-start gap-2 p-3 lg:p-6 xl:p-8",children:[l&&!o?.hideTitle&&(0,t.jsx)("span",{className:"max-w-[28ch] text-balance text-left text-lg font-medium text-white/85",children:l}),o?.children]}),(0,t.jsx)(r.PlayButton,{label:e,className:(0,i.cn)("absolute left-1/2 top-1/2 z-20 -translate-x-1/2 -translate-y-1/2","transition-scale scale-120 ease-out-quart opacity-0 duration-500","shadow-[0_9.841px_82.665px_0_rgba(0,0,0,0.75)]","group-focus-visible:ring-3 group-focus-visible:ring-border-focus focus-visible:ring-3 focus-visible:ring-border-focus hover:bg-(--media-player-accent) focus-visible:bg-(--media-player-accent) group-focus-visible:bg-(--media-player-accent) pointer-events-auto hover:scale-105 focus-visible:outline-none",a?"pointer-events-none animate-[fade-out-blur_0.66s_var(--ease-out-quart)_both]":"scale-100 animate-[fade-in-blur_0.66s_var(--ease-out-quart)_both] cursor-pointer opacity-100")})]})})}])},879841,e=>{"use strict";var t=e.i(586507),i=e.i(699294),s=e.i(747426),r=e.i(601756),a=e.i(556836),n=e.i(587939),l=e.i(447018),o=e.i(724965),d=e.i(462951);e.s(["PreviewVideo",0,()=>{let e=(0,d.useHasPlayedOnce)(),{video:h,previewVideo:u}=(0,o.useMediaPlayerContext)(),c=(0,s.useMediaSelector)(e=>e?.mediaPaused),f=(0,l.useMediaQuery)("(max-width: 767px)"),m=(0,i.useRef)(null),g=(0,r.useInView)(m,{margin:"200px"});return u?.url?(0,t.jsx)("div",{ref:m,className:(0,n.cn)("z-(--z-index-slot-thumbnail) absolute inset-0 flex h-full w-full items-center justify-center overflow-hidden",e&&"pointer-events-none opacity-0",u?.showWhenPaused&&c&&"pointer-events-auto opacity-100"),children:g&&(0,t.jsx)(a.default,{src:"string"==typeof u.url?u.url:f?u.url.mobile:u.url.desktop,autoplay:!0,muted:!0,loop:!0,playsInl
724ine:!0,className:"absolute inset-0 h-full w-full [--media-object-fit:cover]",poster:h?.poster,defaultMuted:!0,volume:0})}):null}])},724965,220923,e=>{"use strict";var t,i,s,r,a,n,l,o,d,h,u,c,f,m,g,p,v,E,b,y,T,A,S,I,L,k,R,M,C,_,w,D,x,P,O,U,N,F,B,$,H,G,V,W,K,j,q,Y,Q,z,X,Z,J,ee,et,ei,es,er,ea,en,el,eo,ed,eh,eu,ec,ef,em,eg,ep,ev,eE,eb,ey,eT,eA,eS,eI,eL,ek,eR,eM,eC,e_,ew,eD,ex,eP,eO,eU,eN,eF,eB,e$,eH,eG,eV,eW,eK,ej,eq,eY,eQ,ez,eX,eZ,eJ,e0,e1,e2,e3,e4,e5,e8,e6,e9,e7,te,tt,ti,ts,tr,ta,tn,tl,to,td=e.i(586507),th=e.i(699294),tu=e.i(390903),tc=e.i(711808),tf=e.i(900001),tm=e.i(417379),tg=e.i(12327),tp=e.i(30094),tv=e.i(309869),tE=e.i(889096),tb=tp,ty=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tT=(e,t,i)=>(ty(e,t,"read from private field"),i?i.call(e):t.get(e)),tA=(e,t,i,s)=>(ty(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class tS extends tb.globalThis.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,t,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER,tf.MediaUIAttributes.MEDIA_PAUSED]}attributeChangedCallback(e,i,s){var r,a,n,l,o;e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER&&(i&&(null==(a=null==(r=tT(this,t))?void 0:r.unassociateElement)||a.call(r,this),tA(this,t,null)),s&&this.isConnected&&(tA(this,t,null==(n=this.getRootNode())?void 0:n.getElementById(s)),null==(o=null==(l=tT(this,t))?void 0:l.associateElement)||o.call(l,this)))}connectedCallback(){var e,i,s,r,a,n;let l;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),tA(this,t,(a=this,(l=a.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER))?null==(n=a.getRootNode())?void 0:n.getElementById(l):(0,tE.closestComposedNode)(a,"media-controller"))),this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER)&&(null==(i=null==(e=tT(this,t))?void 0:e.associateElement)||i.call(e,this)),null==(s=tT(this,t))||s.addEventListener("pointerdown",this),null==(r=tT(this,t))||r.addEventListener("click",this)}disconnectedCallback(){var e,i,s,r;this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER)&&(null==(i=null==(e=tT(this,t))?void 0:e.unassociateElement)||i.call(e,this)),null==(s=tT(this,t))||s.removeEventListener("pointerdown",this),null==(r=tT(this,t))||r.removeEventListener("click",this),tA(this,t,null)}handleEvent(e){var t;let i=null==(t=e.composedPath())?void 0:t[0];if(["video","media-controller"].includes(null==i?void 0:i.localName)){if("pointerdown"===e.type)this._pointerType=e.pointerType;else if("click"===e.type){let{clientX:t,clientY:i}=e,{left:s,top:r,width:a,height:n}=this.getBoundingClientRect(),l=t-s,o=i-r;if(l<0||o<0||l>a||o>n||0===a&&0===n)return;let d=this._pointerType||"mouse";if(this._pointerType=void 0,d===tf.PointerTypes.TOUCH)return void this.handleTap(e);if(d===tf.PointerTypes.MOUSE||d===tf.PointerTypes.PEN)return void this.handleMouseClick(e)}}}get mediaPaused(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED)}set mediaPaused(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?tf.MediaUIEvents.MEDIA_PLAY_REQUEST:tf.MediaUIEvents.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new tb.globalThis.CustomEvent(t,{composed:!0,bubbles:!0}))}}t=new WeakMap,tS.shadowRootOptions={mode:"open"},tS.getTemplateHTML=function(e){return` 725 <style> 726 :host { 727 display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block)); 728 box-sizing: border-box; 729 } 730 </style> 731 `},tb.globalThis.customElements.get("media-gesture-receiver")||tb.globalThis.customElements.define("media-gesture-receiver",tS);var tI=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tL=(e,t,i)=>(tI(e,t,"read from private field"),i?i.call(e):t.get(e)),tk=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tR=(e,t,i,s)=>(tI(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),tM=(e,t,i)=>(tI(e,t,"access private method"),i);let tC="audio",t_="autohide",tw="breakpoints",tD="gesturesdisabled",tx="keyboardcontrol",tP="noautohide",tO="userinactive",tU="autohideovercontrols",tN=Object.values(tf.MediaUIAttributes);function tF(e,t){var i,s,r;if(!e.isConnected)return;let a=Object.fromEntries((null!=(i=e.getAttribute(tw))?i:"sm:384 md:576 lg:768 xl:960").split(/\s+/).map(e=>e.split(":"))),n=(s=a,r=t,Object.keys(s).filter(e=>r>=parseInt(s[e]))),l=!1;
731if(Object.keys(a).forEach(t=>{if(n.includes(t)){e.hasAttribute(`breakpoint${t}`)||(e.setAttribute(`breakpoint${t}`,""),l=!0);return}e.hasAttribute(`breakpoint${t}`)&&(e.removeAttribute(`breakpoint${t}`),l=!0)}),l){let t=new CustomEvent(tf.MediaStateChangeEvents.BREAKPOINTS_CHANGE,{detail:n});e.dispatchEvent(t)}e.breakpointsComputed||(e.breakpointsComputed=!0,e.dispatchEvent(new CustomEvent(tf.MediaStateChangeEvents.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}class tB extends tp.globalThis.HTMLElement{constructor(){if(super(),tk(this,l),tk(this,u),tk(this,f),tk(this,g),tk(this,v),tk(this,b),tk(this,i,0),tk(this,s,null),tk(this,r,null),tk(this,a,void 0),this.breakpointsComputed=!1,tk(this,n,new MutationObserver(tM(this,l,o).bind(this))),tk(this,d,!1),tk(this,h,e=>{tL(this,d)||(setTimeout(()=>{tF(e.target,e.contentRect.width),tR(this,d,!1)},0),tR(this,d,!0))}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}const e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){tL(this,s)&&this.mediaUnsetCallback(tL(this,s));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[t_,tD].concat(tN).filter(e=>![tf.MediaUIAttributes.MEDIA_RENDITION_LIST,tf.MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST,tf.MediaUIAttributes.MEDIA_CHAPTERS_CUES,tf.MediaUIAttributes.MEDIA_WIDTH,tf.MediaUIAttributes.MEDIA_HEIGHT,tf.MediaUIAttributes.MEDIA_ERROR,tf.MediaUIAttributes.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==t_&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(null==e?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(tR(this,s,e),e.localName.includes("-")&&await tp.globalThis.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;tL(this,n).observe(this,{childList:!0,subtree:!0}),(0,tv.observeResize)(this,tL(this,h));let t=null!=this.getAttribute(tC)?(0,tg.t)("audio player"):(0,tg.t)("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",t),this.handleMediaUpdated(this.media),this.setAttribute(tO,""),tF(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),null==(e=tp.globalThis.window)||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;tL(this,n).disconnect(),(0,tv.unobserveResize)(this,tL(this,h)),this.media&&this.mediaUnsetCallback(this.media),null==(e=tp.globalThis.window)||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){tR(this,s,null)}handleEvent(e){switch(e.type){case"pointerdown":tR(this,i,e.timeStamp);break;case"pointermove":tM(this,u,c).call(this,e);break;case"pointerup":tM(this,f,m).call(this,e);break;case"mouseleave":tM(this,g,p).call(this);break;case"mouseup":this.removeAttribute(tx);break;case"keyup":tM(this,b,y).call(this),this.setAttribute(tx,"")}}set autohide(e){let t=Number(e);tR(this,a,isNaN(t)?0:t)}get autohide(){return(void 0===tL(this,a)?2:tL(this,a)).toString()}get breakpoints(){return(0,tE.getStringAttr)(this,tw)}set breakpoints(e){(0,tE.setStringAttr)(this,tw,e)}get audio(){return(0,tE.getBooleanAttr)(this,tC)}set audio(e){(0,tE.setBooleanAttr)(this,tC,e)}get gesturesDisabled(){return(0,tE.getBooleanAttr)(this,tD)}set gesturesDisabled(e){(0,tE.setBooleanAttr)(this,tD,e)}get keyboardControl(){return(0,tE.getBooleanAttr)(this,tx)}set keyboardControl(e){(0,tE.setBooleanAttr)(this,tx,e)}get noAutohide(){return(0,tE.getBooleanAttr)(this,tP)}set noAutohide(e){(0,tE.setBooleanAttr)(this,tP,e)}get autohideOverControls(){return(0,tE.getBooleanAttr)(this,tU)}set autohideOverControls(e){(0,tE.setBooleanAttr)(this,tU,e)}get userInteractive(){return(0,tE.getBooleanAttr)(this,tO)}set userInteractive(e){(0,tE.setBooleanAttr)(this,tO,e)}}i=new WeakMap,s=new WeakMap,r=new WeakMap,a=new WeakMap,n=new WeakMap,l=new WeakSet,o=function(e){let t=this.media;for(let i of e)if("childList"===i.type){for(let e of i.removedNodes
731){if("media"!=e.slot||i.target!=this)continue;let s=i.previousSibling&&i.previousSibling.previousElementSibling;if(s&&t){let t="media"!==s.slot;for(;null!==(s=s.previousSibling);)"media"==s.slot&&(t=!1);t&&this.mediaUnsetCallback(e)}else this.mediaUnsetCallback(e)}if(t)for(let e of i.addedNodes)e===t&&this.handleMediaUpdated(t)}},d=new WeakMap,h=new WeakMap,u=new WeakSet,c=function(e){if("mouse"!==e.pointerType&&e.timeStamp-tL(this,i)<250)return;tM(this,v,E).call(this),clearTimeout(tL(this,r));let t=this.hasAttribute(tU);([this,this.media].includes(e.target)||t)&&tM(this,b,y).call(this)},f=new WeakSet,m=function(e){if("touch"===e.pointerType){let t=!this.hasAttribute(tO);[this,this.media].includes(e.target)&&t?tM(this,g,p).call(this):tM(this,b,y).call(this)}else e.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(null==e?void 0:e.localName))&&tM(this,b,y).call(this)},g=new WeakSet,p=function(){if(0>tL(this,a)||this.hasAttribute(tO))return;this.setAttribute(tO,"");let e=new tp.globalThis.CustomEvent(tf.MediaStateChangeEvents.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(e)},v=new WeakSet,E=function(){if(!this.hasAttribute(tO))return;this.removeAttribute(tO);let e=new tp.globalThis.CustomEvent(tf.MediaStateChangeEvents.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(e)},b=new WeakSet,y=function(){tM(this,v,E).call(this),clearTimeout(tL(this,r));let e=parseInt(this.autohide);e<0||tR(this,r,setTimeout(()=>{tM(this,g,p).call(this)},1e3*e))},tB.shadowRootOptions={mode:"open"},tB.getTemplateHTML=function(e){return` 732 <style> 733 734 :host([${tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) { 735 outline: none; 736 } 737 738 :host { 739 box-sizing: border-box; 740 position: relative; 741 display: inline-block; 742 line-height: 0; 743 background-color: var(--media-background-color, #000); 744 overflow: hidden; 745 } 746 747 :host(:not([${tC}])) [part~=layer]:not([part~=media-layer]) { 748 position: absolute; 749 top: 0; 750 left: 0; 751 bottom: 0; 752 right: 0; 753 display: flex; 754 flex-flow: column nowrap; 755 align-items: start; 756 pointer-events: none; 757 background: none; 758 } 759 760 slot[name=media] { 761 display: var(--media-slot-display, contents); 762 } 763 764 765 :host([${tC}]) slot[name=media] { 766 display: var(--media-slot-display, none); 767 } 768 769 770 :host([${tC}]) [part~=layer][part~=gesture-layer] { 771 height: 0; 772 display: block; 773 } 774 775 776 :host(:not([${tC}])[${tD}]) ::slotted([slot=gestures-chrome]), 777 :host(:not([${tC}])[${tD}]) media-gesture-receiver[slot=gestures-chrome] { 778 display: none; 779 } 780 781 782 ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) { 783 pointer-events: auto; 784 } 785 786 :host(:not([${tC}])) *[part~=layer][part~=centered-layer] { 787 align-items: center; 788 justify-content: center; 789 } 790 791 :host(:not([${tC}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]), 792 :host(:not([${tC}])) media-gesture-receiver[slot=gestures-chrome] { 793 align-self: stretch; 794 flex-grow: 1; 795 } 796 797 slot[name=middle-chrome] { 798 display: inline; 799 flex-grow: 1; 800 pointer-events: none; 801 background: none; 802 } 803 804 805 ::slotted([slot=media]), 806 ::slotted([slot=poster]) { 807 width: 100%; 808 height: 100%; 809 } 810 811 812 :host(:not([${tC}])) .spacer { 813 flex-grow: 1; 814 } 815 816 817 :host(:-webkit-full-screen) { 818 819 width: 100% !important; 820 height: 100% !important; 821 } 822 823 824 ::slotted(:not([slot=media]):not([slot=poster]):not([${tP}]):not([hidden]):not([role=dialog])) { 825 opacity: 1; 826 transition: var(--media-control-transition-in, opacity 0.25s); 827 } 828 829 830 :host([${tO}]:not([${tf.MediaUIAttributes.MEDIA_PAUSED}]):not([${tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING}
830]):not([${tf.MediaUIAttributes.MEDIA_IS_CASTING}]):not([${tC}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${tP}]):not([role=dialog])) { 831 opacity: 0; 832 transition: var(--media-control-transition-out, opacity 1s); 833 } 834 835 :host([${tO}]:not([${tP}]):not([${tf.MediaUIAttributes.MEDIA_PAUSED}]):not([${tf.MediaUIAttributes.MEDIA_IS_CASTING}]):not([${tC}])) ::slotted([slot=media]) { 836 cursor: none; 837 } 838 839 :host([${tO}][${tU}]:not([${tP}]):not([${tf.MediaUIAttributes.MEDIA_PAUSED}]):not([${tf.MediaUIAttributes.MEDIA_IS_CASTING}]):not([${tC}])) * { 840 --media-cursor: none; 841 cursor: none; 842 } 843 844 845 ::slotted(media-control-bar) { 846 align-self: stretch; 847 } 848 849 850 :host(:not([${tC}])[${tf.MediaUIAttributes.MEDIA_HAS_PLAYED}]) slot[name=poster] { 851 display: none; 852 } 853 854 ::slotted([role=dialog]) { 855 width: 100%; 856 height: 100%; 857 align-self: center; 858 } 859 860 ::slotted([role=menu]) { 861 align-self: end; 862 } 863 </style> 864 865 <slot name="media" part="layer media-layer"></slot> 866 <slot name="poster" part="layer poster-layer"></slot> 867 <slot name="gestures-chrome" part="layer gesture-layer"> 868 <media-gesture-receiver slot="gestures-chrome"> 869 <template shadowrootmode="${tS.shadowRootOptions.mode}"> 870 ${tS.getTemplateHTML({})} 871 </template> 872 </media-gesture-receiver> 873 </slot> 874 <span part="layer vertical-layer"> 875 <slot name="top-chrome" part="top chrome"></slot> 876 <slot name="middle-chrome" part="middle chrome"></slot> 877 <slot name="centered-chrome" part="layer centered-layer center centered chrome"></slot> 878 879 <slot part="bottom chrome"></slot> 880 </span> 881 <slot name="dialog" part="layer dialog-layer"></slot> 882 `},tp.globalThis.customElements.get("media-container")||tp.globalThis.customElements.define("media-container",tB);var t$=e.i(789312),tH=e.i(966803),tG=e.i(436561),tV=e.i(285664),tW=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},tK=(e,t,i)=>(tW(e,t,"read from private field"),i?i.call(e):t.get(e)),tj=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},tq=(e,t,i,s)=>(tW(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),tY=(e,t,i)=>(tW(e,t,"access private method"),i);let tQ=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter"," ","f","m","k","c","l","j",">","<","p"],tz="defaultsubtitles",tX="defaultstreamtype",tZ="defaultduration",tJ="fullscreenelement",t0="hotkeys",t1="keyboardbackwardseekoffset",t2="keyboardforwardseekoffset",t3="keyboarddownvolumestep",t4="keyboardupvolumestep",t5="keysused",t8="lang",t6="loop",t9="liveedgeoffset",t7="noautoseektolive",ie="nodefaultstore",it="nohotkeys",ii="nomutedpref",is="nosubtitleslangpref",ir="novolumepref",ia="seektoliveoffset";class il extends tB{constructor(){super(),tj(this,C),tj(this,w),tj(this,x),tj(this,O),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,tj(this,T,new t$.AttributeTokenList(this,t0)),tj(this,A,void 0),tj(this,S,void 0),tj(this,I,null),tj(this,L,void 0),tj(this,k,void 0),tj(this,R,e=>{var t;null==(t=tK(this,S))||t.dispatch(e)}),tj(this,M,void 0),this.associateElement(this);let e={};tq(this,L,t=>{Object.entries(t).forEach(([t,i])=>{if(t in e&&e[t]===i)return;this.propagateMediaState(t,i);let s=t.toLowerCase(),r=new tp.globalThis.CustomEvent(tf.AttributeToStateChangeEventMap[s],{composed:!0,detail:i});this.dispatchEvent(r)}),e=t}),this.hasAttribute(it)?this.disableHotkeys():this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(it,t0,tX,tz,tZ,ii,ir,t8,t6)}get mediaStore(){return tK(this,S)}set mediaStore(e){var t,i;(tK(this,S)&&(null==(t=tK(this,k))||t.call(this),tq(this,k,void 0)),tq(this,S,e),tK(this,S)||this.hasAttribute(ie))?tq(this,k,null==(i=tK(this,S))?void 0:i.subscribe(tK(this,L))):tY(this,C,_).call(this)}get fullscreenElement(){var e;return null!=(e=tK(this,A))?e:this}set fullscreenElement(e){var t;this.hasAttribute(tJ)&&this.removeAttribute(tJ),tq(this,A,e),null==(t=tK(this,S))||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return(0,tE.getBooleanAttr)(this,tz)}set defaultSubtitles(e){(0,tE.setBooleanAttr)(this,tz,e)}get defaultStreamType(){return(0,tE.getStringAttr)(this,tX)}set defaultStreamType(e){(0,tE.setStringAttr)(this,tX,e)}get defaultDuration(){return(0,tE.getNumericAttr)(this,tZ)}set defaultDuration(e){(0,tE.setNumericAttr)(this,tZ,e)}get noHotkeys(){return(0,tE.getBooleanAttr)(this,it)}set noHotkeys(e){(0,tE.setBooleanAttr)(this,it,e)}get keysUsed(){return(0,tE.getStringAttr)(this,t5)}set keysUsed(e){(0,tE.setStringAttr)(this,t5,e)}get liveEdgeOffset(){return(0,tE.getNumericAttr)(this,t9)}set liveEdgeOffset(e){(0,tE.setNumericAttr)(this,t9,e)}get noAutoSeekToLive(){return(0,tE.getBooleanAttr)(this,t7)}set noAutoSeekToLive(e){(0,tE.setBooleanAttr)(this,t7,e)}get noVolumePref(){return(0,tE.getBooleanAttr)(this,ir)}set noVolumePref(e){(0,tE.setBooleanAttr)(this,ir,e)}get noMutedPref(){return(0,tE.getBooleanAttr)(this,ii)}set noMutedPref(e){(0,tE.setBooleanAttr)(this,ii,e)}get noSubtitlesLangPref(){return(0,tE.getBooleanAttr)(this,is)}set noSubtitlesLangPref(e){(0,tE.setBooleanAttr)(this,is,e)}get noDefaultStore(){return(0,tE.getBooleanAttr)(this,ie)}set noDefaultStore(e){(0,tE.setBooleanAttr)(this,ie,e)}attributeChangedCallback(e,t,i){var s,r,a,n,l,o,d,h,u,c,f,m;if(super.attributeChangedCallback(e,t,i),e===it)i!==t&&""===i?(this.hasAttribute(t0)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&null===i&&this.enableHotkeys();else if(e===t0)tK(this,T).value=i;else if(e===tz&&i!==t)null==(s=tK(this,S))||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(tz)}});else if(e===tX)null==(a=tK(this,S))||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:null!=(r=this.getAttribute(tX))?r:void 0}});else if(e===t9)null==(n=tK(this,S))||n.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(t9)?+this.getAttribute(t9):void 0,seekToLiveOffset:this.hasAttribute(ia)?void 0:+this.getAttribute(t9)}});else if(e===ia)null==(l=tK(this,S))||l.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(ia)?+this.getAttribute(ia):void 0}});else if(e===t7)null==(o=tK(this,S))||o.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(t7)}});else if(e===tJ){let e=i?null==(d=this.getRootNode())?void 0:d.getElementById(i):void 0;tq(this,A,e),null==(h=tK(this,S))||h.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===t8&&i!==t?((0,tg.setLanguage)(i),null==(u=tK(this,S))||u.dispatch({type:"optionschangerequest",detail:{mediaLang:i}}
882)):e===t6&&i!==t?null==(c=tK(this,S))||c.dispatch({type:tf.MediaUIEvents.MEDIA_LOOP_REQUEST,detail:null!=i}):e===ir&&i!==t?null==(f=tK(this,S))||f.dispatch({type:"optionschangerequest",detail:{noVolumePref:this.hasAttribute(ir)}}):e===ii&&i!==t&&(null==(m=tK(this,S))||m.dispatch({type:"optionschangerequest",detail:{noMutedPref:this.hasAttribute(ii)}}))}connectedCallback(){var e,t;tK(this,S)||this.hasAttribute(ie)||tY(this,C,_).call(this),null==(e=tK(this,S))||e.dispatch({type:"documentelementchangerequest",detail:tp.document}),super.connectedCallback(),tK(this,S)&&!tK(this,k)&&tq(this,k,null==(t=tK(this,S))?void 0:t.subscribe(tK(this,L))),void 0!==tK(this,M)&&tK(this,S)&&this.media&&setTimeout(()=>{var e,t,i;(null==(t=null==(e=this.media)?void 0:e.textTracks)?void 0:t.length)&&(null==(i=tK(this,S))||i.dispatch({type:tf.MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:tK(this,M)}))},0),this.hasAttribute(it)?this.disableHotkeys():this.enableHotkeys()}disconnectedCallback(){var e,t,i,s,r;if(null==(e=super.disconnectedCallback)||e.call(this),tK(this,S)){let e=tK(this,S).getState();tq(this,M,!!(null==(t=e.mediaSubtitlesShowing)?void 0:t.length)),null==(i=tK(this,S))||i.dispatch({type:"documentelementchangerequest",detail:void 0}),null==(s=tK(this,S))||s.dispatch({type:tf.MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})}tK(this,k)&&(null==(r=tK(this,k))||r.call(this),tq(this,k,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),null==(t=tK(this,S))||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),null==(t=tK(this,S))||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){iv(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=iE(e,this.registerMediaStateReceiver.bind(this),this.unregisterMediaStateReceiver.bind(this));Object.values(tf.MediaUIEvents).forEach(t=>{e.addEventListener(t,tK(this,R))}),t.set(e,i)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;t.has(e)&&(t.get(e)(),t.delete(e),Object.values(tf.MediaUIEvents).forEach(t=>{e.removeEventListener(t,tK(this,R))}))}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;!(t.indexOf(e)>-1)&&(t.push(e),tK(this,S)&&Object.entries(tK(this,S).getState()).forEach(([t,i])=>{iv([e],t,i)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",tY(this,x,P))}disableHotkeys(){this.removeEventListener("keydown",tY(this,x,P)),this.removeEventListener("keyup",tY(this,w,D))}get hotkeys(){return(0,tE.getStringAttr)(this,t0)}set hotkeys(e){(0,tE.setStringAttr)(this,t0,e)}keyboardShortcutHandler(e){var t,i,s,r,a,n,l,o,d;let h,u,c,f=e.target;if(!((null!=(s=null!=(i=null==(t=f.getAttribute(t5))?void 0:t.split(" "))?i:null==f?void 0:f.keysUsed)?s:[]).map(e=>
882"Space"===e?" ":e).filter(Boolean).includes(e.key)||tK(this,T).contains(`no${e.key.toLowerCase()}`)||" "===e.key&&tK(this,T).contains("nospace"))&&!(e.shiftKey&&("/"===e.key||"?"===e.key)&&tK(this,T).contains("noshift+/")))switch(e.key){case" ":case"k":h=tK(this,S).getState().mediaPaused?tf.MediaUIEvents.MEDIA_PLAY_REQUEST:tf.MediaUIEvents.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new tp.globalThis.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"m":h="off"===this.mediaStore.getState().mediaVolumeLevel?tf.MediaUIEvents.MEDIA_UNMUTE_REQUEST:tf.MediaUIEvents.MEDIA_MUTE_REQUEST,this.dispatchEvent(new tp.globalThis.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"f":h=this.mediaStore.getState().mediaIsFullscreen?tf.MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST:tf.MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new tp.globalThis.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":case"j":{let e=this.hasAttribute(t1)?+this.getAttribute(t1):10;u=Math.max((null!=(r=this.mediaStore.getState().mediaCurrentTime)?r:0)-e,0),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":case"l":{let e=this.hasAttribute(t2)?+this.getAttribute(t2):10;u=Math.max((null!=(a=this.mediaStore.getState().mediaCurrentTime)?a:0)+e,0),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowUp":{let e=this.hasAttribute(t4)?+this.getAttribute(t4):.025;u=Math.min((null!=(n=this.mediaStore.getState().mediaVolume)?n:1)+e,1),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowDown":{let e=this.hasAttribute(t3)?+this.getAttribute(t3):.025;u=Math.max((null!=(l=this.mediaStore.getState().mediaVolume)?l:1)-e,0),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"<":u=Math.max((null!=(o=this.mediaStore.getState().mediaPlaybackRate)?o:1)-.25,.25).toFixed(2),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break;case">":u=Math.min((null!=(d=this.mediaStore.getState().mediaPlaybackRate)?d:1)+.25,2).toFixed(2),c=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break;case"/":case"?":e.shiftKey&&tY(this,O,U).call(this);break;case"p":h=this.mediaStore.getState().mediaIsPip?tf.MediaUIEvents.MEDIA_EXIT_PIP_REQUEST:tf.MediaUIEvents.MEDIA_ENTER_PIP_REQUEST,c=new tp.globalThis.CustomEvent(h,{composed:!0,bubbles:!0}),this.dispatchEvent(c)}}}T=new WeakMap,A=new WeakMap,S=new WeakMap,I=new WeakMap,L=new WeakMap,k=new WeakMap,R=new WeakMap,M=new WeakMap,C=new WeakSet,_=function(){var e;this.mediaStore=(0,tV.createMediaStore)({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(tz),defaultDuration:this.hasAttribute(tZ)?+this.getAttribute(tZ):void 0,defaultStreamType:null!=(e=this.getAttribute(tX))?e:void 0,liveEdgeOffset:this.hasAttribute(t9)?+this.getAttribute(t9):void 0,seekToLiveOffset:this.hasAttribute(ia)?+this.getAttribute(ia):this.hasAttribute(t9)?+this.getAttribute(t9):void 0,noAutoSeekToLive:this.hasAttribute(t7),noVolumePref:this.hasAttribute(ir),noMutedPref:this.hasAttribute(ii),noSubtitlesLangPref:this.hasAttribute(is)}})},w=new WeakSet,D=function(e){let{key:t,shiftKey:i}=e;i&&("/"===t||"?"===t)||tQ.includes(t)?this.keyboardShortcutHandler(e):this.removeEventListener("keyup",tY(this,w,D))},x=new WeakSet,P=function(e){var t;let{metaKey:i,altKey:s,key:r,shiftKey:a}=e,n=a&&("/"===r||"?"===r);if(n&&(null==(t=tK(this,I))?void 0:t.open)||i||s||!n&&!tQ.includes(r))return void this.removeEventListener("keyup",tY(this,w,D));let l=e.target,o=l instanceof HTMLElement&&("media-volume-range"===l.tagName.toLowerCase()||"media-time-range"===l.tagName.toLowerCase());![" ","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(r)||tK(this,T).contains(`no${r.toLowerCase()}
882`)||" "===r&&tK(this,T).contains("nospace")||o||e.preventDefault(),this.addEventListener("keyup",tY(this,w,D),{once:!0})},O=new WeakSet,U=function(){tK(this,I)||(tq(this,I,tp.document.createElement("media-keyboard-shortcuts-dialog")),this.appendChild(tK(this,I))),tK(this,I).open=!0};let io=Object.values(tf.MediaUIAttributes),id=Object.values(tf.MediaUIProps),ih=e=>{var t,i,s,r;let{observedAttributes:a}=e.constructor;!a&&(null==(t=e.nodeName)?void 0:t.includes("-"))&&(tp.globalThis.customElements.upgrade(e),{observedAttributes:a}=e.constructor);let n=null==(r=null==(s=null==(i=null==e?void 0:e.getAttribute)?void 0:i.call(e,tf.MediaStateReceiverAttributes.MEDIA_CHROME_ATTRIBUTES))?void 0:s.split)?void 0:r.call(s,/\s+/);return Array.isArray(a||n)?(a||n).filter(e=>io.includes(e)):[]},iu=e=>{var t,i;return(null==(t=e.nodeName)?void 0:t.includes("-"))&&tp.globalThis.customElements.get(null==(i=e.nodeName)?void 0:i.toLowerCase())&&!(e instanceof tp.globalThis.customElements.get(e.nodeName.toLowerCase()))&&tp.globalThis.customElements.upgrade(e),id.some(t=>t in e)||!!ih(e).length},ic=e=>{var t;return null==(t=null==e?void 0:e.join)?void 0:t.call(e,":")},im={[tf.MediaUIAttributes.MEDIA_SUBTITLES_LIST]:tG.stringifyTextTrackList,[tf.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING]:tG.stringifyTextTrackList,[tf.MediaUIAttributes.MEDIA_SEEKABLE]:ic,[tf.MediaUIAttributes.MEDIA_BUFFERED]:e=>null==e?void 0:e.map(ic).join(" "),[tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS]:e=>null==e?void 0:e.join(" "),[tf.MediaUIAttributes.MEDIA_RENDITION_LIST]:tH.stringifyRenditionList,[tf.MediaUIAttributes.MEDIA_AUDIO_TRACK_LIST]:tH.stringifyAudioTrackList},ig=async(e,t,i)=>{var s,r;if(e.isConnected||await (0,tH.delay)(0),"boolean"==typeof i||null==i)return(0,tE.setBooleanAttr)(e,t,i);if("number"==typeof i)return(0,tE.setNumericAttr)(e,t,i);if("string"==typeof i)return(0,tE.setStringAttr)(e,t,i);if(Array.isArray(i)&&!i.length)return e.removeAttribute(t);let a=null!=(r=null==(s=im[t])?void 0:s.call(im,i))?r:i;return e.setAttribute(t,a)},ip=(e,t)=>{var i;if(null==(i=e.closest)?void 0:i.call(e,'*[slot="media"]'))return;let s=(e,t)=>{var i,s;iu(e)&&t(e);let{children:r=[]}=null!=e?e:{};[...r,...null!=(s=null==(i=null==e?void 0:e.shadowRoot)?void 0:i.children)?s:[]].forEach(e=>ip(e,t))},r=null==e?void 0:e.nodeName.toLowerCase();r.includes("-")&&!iu(e)?tp.globalThis.customElements.whenDefined(r).then(()=>{s(e,t)}):s(e,t)},iv=(e,t,i)=>{e.forEach(e=>{if(t in e){e[t]=i;return}let s=ih(e),r=t.toLowerCase();s.includes(r)&&ig(e,r,i)})},iE=(e,t,i)=>{ip(e,t);let s=e=>{var i;t(null!=(i=null==e?void 0:e.composedPath()[0])?i:e.target)},r=e=>{var t;i(null!=(t=null==e?void 0:e.composedPath()[0])?t:e.target)};e.addEventListener(tf.MediaUIEvents.REGISTER_MEDIA_STATE_RECEIVER,s),e.addEventListener(tf.MediaUIEvents.UNREGISTER_MEDIA_STATE_RECEIVER,r);let a=[],n=e=>{let s=e.target;"media"!==s.name&&(a.forEach(e=>ip(e,i)),(a=[...s.assignedElements({flatten:!0})]).forEach(e=>ip(e,t)))};e.addEventListener("slotchange",n);let l=new MutationObserver(e=>{e.forEach(e=>{let{addedNodes:s=[],removedNodes:r=[],type:a,target:n,attributeName:l}=e;"childList"===a?(Array.prototype.forEach.call(s,e=>ip(e,t)),Array.prototype.forEach.call(r,e=>ip(e,i))):"attributes"===a&&l===tf.MediaStateReceiverAttributes.MEDIA_CHROME_ATTRIBUTES&&(iu(n)?t(n):i(n))})});return l.observe(e,{childList:!0,attributes:!0,subtree:!0}),()=>{ip(e,i),e.removeEventListener("slotchange",n),l.disconnect(),e.removeEventListener(tf.MediaUIEvents.REGISTER_MEDIA_STATE_RECEIVER,s),e.removeEventListener(tf.MediaUIEvents.UNREGISTER_MEDIA_STATE_RECEIVER,r)}};tp.globalThis.customElements.get("media-controller")||tp.globalThis.customElements.define("media-controller",il);var ib=e.i(911639);let iy=`<svg aria-hidden="true" viewBox="0 0 26 24"> 883 <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"/> 884</svg> 885`,iT=e=>{let t=e.mediaIsAirplaying?(0,tg.t)("stop airplay"):(0,tg.t)("start airplay");e.setAttribute("aria-label",t)};class iA extends ib.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING,tf.MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),iT(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING&&iT(this)}get mediaIsAirplaying(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}}iA.getSlotTemplateHTML=function(e){return` 886 <style> 887 :host([${tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) { 888 display: none !important; 889 } 890 891 892 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) { 893 display: none !important; 894 } 895 896 :host([${tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter], 897 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] { 898 display: none; 899 } 900 </style> 901 902 <slot name="icon"> 903 <slot name="enter">${iy}</slot> 904 <slot name="exit">${iy}</slot> 905 </slot> 906 `},iA.getTooltipContentHTML=function(){return` 907 <slot name="tooltip-enter">${(0,tg.t)("start airplay")}</slot> 908 <slot name="tooltip-exit">${(0,tg.t)("stop airplay")}</slot> 909 `},tp.globalThis.customElements.get("media-airplay-button")||tp.globalThis.customElements.define("media-airplay-button",iA);var iS=ib;let iI=`<svg aria-hidden="true" viewBox="0 0 26 24"> 910 <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
9100 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"/> 911</svg>`,iL=`<svg aria-hidden="true" viewBox="0 0 26 24"> 912 <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"/> 913</svg>`,ik=e=>{e.setAttribute("aria-checked",(0,tG.areSubsOn)(e).toString())};class iR extends iS.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_SUBTITLES_LIST,tf.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",(0,tg.t)("closed captions")),ik(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING&&ik(this)}get mediaSubtitlesList(){return iM(this,tf.MediaUIAttributes.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){iC(this,tf.MediaUIAttributes.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return iM(this,tf.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){iC(this,tf.MediaUIAttributes.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}}iR.getSlotTemplateHTML=function(e){return` 914 <style> 915 :host([aria-checked="true"]) slot[name=off] { 916 display: none !important; 917 } 918 919 920 :host(:not([aria-checked="true"])) slot[name=on] { 921 display: none !important; 922 } 923 924 :host([aria-checked="true"]) slot[name=tooltip-enable], 925 :host(:not([aria-checked="true"])) slot[name=tooltip-disable] { 926 display: none; 927 } 928 </style> 929 930 <slot name="icon"> 931 <slot name="on">${iI}</slot> 932 <slot name="off">${iL}</slot> 933 </slot> 934 `},iR.getTooltipContentHTML=function(){return` 935 <slot name="tooltip-enable">${(0,tg.t)("Enable captions")}</slot> 936 <slot name="tooltip-disable">${(0,tg.t)("Disable captions")}</slot> 937 `};let iM=(e,t)=>{let i=e.getAttribute(t);return i?(0,tG.parseTextTracksStr)(i):[]},iC=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let s=(0,tG.stringifyTextTrackList)(i);e.getAttribute(t)!==s&&e.setAttribute(t,s)};tp.globalThis.customElements.get("media-captions-button")||tp.globalThis.customElements.define("media-captions-button",iR);var i_=ib;let iw=e=>{let t=e.mediaIsCasting?(0,tg.t)("stop casting"):(0,tg.t)("start casting");e.setAttribute("aria-label",t)};class iD extends i_.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_IS_CASTING,tf.MediaUIAttributes.MEDIA_CAST_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),iw(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_IS_CASTING&&iw(this)}get mediaIsCasting(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_CASTING)}set mediaIsCasting(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?tf.MediaUIEvents.MEDIA_EXIT_CAST_REQUEST:tf.MediaUIEvents.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new tp.globalThis.CustomEvent(e,{composed:!0,bubbles:!0}))}}iD.getSlotTemplateHTML=function(e){return` 938 <style> 939 :host([${tf.MediaUIAttributes.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) { 940 display: none !important; 941 } 942 943 944 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) { 945 display: none !important; 946 } 947 948 :host([${tf.MediaUIAttributes.MEDIA_IS_CASTING}]) slot[name=tooltip-enter], 949 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] { 950 display: none; 951 } 952 </style> 953 954 <slot name="icon"> 955 <slot name="enter"><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></slot> 956 <slot name="exit"><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></slot> 957 </slot> 958 `},iD.getTooltipContentHTML=function(){return` 959 <slot name="tooltip-enter">${(0,tg.t)("Start casting")}</slot> 960 <slot name="tooltip-exit">${(0,tg.t)("Stop casting")}</slot> 961 `},tp.globalThis.customElements.get("media-cast-button")||tp.globalThis.customElements.define("media-cast-button",iD);var ix=tp,iP=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},iO=(e,t,i)=>(iP(e,t,"read from private field"),i?i.call(e):t.get(e)),iU=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},iN=(e,t,i,s)=>(iP(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),iF=(e,t,i)=>(iP(e,t,"access private method"),i);let iB="open";class i$ extends ix.globalThis.HTMLElement{constructor(){super(),iU(this,$),iU(this,G),iU(this,W),iU(this,j),iU(this,Y),iU(this,z),iU(this,N,!1),iU(this,F,null),iU(this,B,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[iB,"anchor"]}get open(){return(0,tE.getBooleanAttr)(this,iB)}set open(e){(0,tE.setBooleanAttr)(this,iB,e)}handleEvent(e){switch(e.type){case"invoke":iF(this,j,q).call(this,e);break;case"focusout":iF(this,Y,Q).call(this,e);break;case"keydown":iF(this,z,X).call(this,e)}}connectedCallback(){iF(this,$,H).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,i){iF(this,$,H).call(this),e===iB&&i!==t&&(this.open?iF(this,G,V).call(this):iF(this,W,K).call(this))}focus(){iN(this,F,(0,tE.getActiveElement)());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;
961let i=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==i||i.focus()}get keysUsed(){return["Escape","Tab"]}}N=new WeakMap,F=new WeakMap,B=new WeakMap,$=new WeakSet,H=function(){if(!iO(this,N)&&(iN(this,N,!0),!this.shadowRoot)){this.attachShadow(this.constructor.shadowRootOptions);let e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e),queueMicrotask(()=>{let{style:e}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}},G=new WeakSet,V=function(){var e;null==(e=iO(this,B))||e.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})},W=new WeakSet,K=function(){var e;null==(e=iO(this,B))||e.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))},j=new WeakSet,q=function(e){iN(this,B,e.relatedTarget),(0,tE.containsComposedNode)(this,e.relatedTarget)||(this.open=!this.open)},Y=new WeakSet,Q=function(e){var t;!(0,tE.containsComposedNode)(this,e.relatedTarget)&&(null==(t=iO(this,F))||t.focus(),iO(this,B)&&iO(this,B)!==e.relatedTarget&&this.open&&(this.open=!1))},z=new WeakSet,X=function(e){var t,i,s,r,a;let{key:n,ctrlKey:l,altKey:o,metaKey:d}=e;l||o||d||this.keysUsed.includes(n)&&(e.preventDefault(),e.stopPropagation(),"Tab"===n?(e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(r=null==(s=this.nextElementSibling)?void 0:s.focus)||r.call(s),this.blur()):"Escape"===n&&(null==(a=iO(this,F))||a.focus(),this.open=!1))},i$.shadowRootOptions={mode:"open"},i$.getTemplateHTML=function(e){return` 962 <style> 963 :host { 964 font: var(--media-font, 965 var(--media-font-weight, normal) 966 var(--media-font-size, 14px) / 967 var(--media-text-content-height, var(--media-control-height, 24px)) 968 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 969 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 970 display: var(--media-dialog-display, inline-flex); 971 justify-content: center; 972 align-items: center; 973 974 transition-behavior: allow-discrete; 975 visibility: hidden; 976 opacity: 0; 977 transform: translateY(2px) scale(.99); 978 pointer-events: none; 979 } 980 981 :host([open]) { 982 transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out; 983 visibility: visible; 984 opacity: 1; 985 transform: translateY(0) scale(1); 986 pointer-events: auto; 987 } 988 989 #content { 990 display: flex; 991 position: relative; 992 box-sizing: border-box; 993 width: min(320px, 100%); 994 word-wrap: break-word; 995 max-height: 100%; 996 overflow: auto; 997 text-align: center; 998 line-height: 1.4; 999 } 1000 </style> 1001 ${this.getSlotTemplateHTML(e)} 1002 `},i$.getSlotTemplateHTML=function(e){return` 1003 <slot id="content"></slot> 1004 `},ix.globalThis.customElements.get("media-chrome-dialog")||ix.globalThis.customElements.define("media-chrome-dialog",i$);var iH=tp,iG=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},iV=(e,t,i)=>(iG(e,t,"read from private field"),i?i.call(e):t.get(e)),iW=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},iK=(e,t,i,s)=>(iG(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),ij=(e,t,i)=>(iG(e,t,"access private method"),i);class iq extends iH.globalThis.HTMLElement{constructor(){if(super(),iW(this,el),iW(this,ed),iW(this,eu),iW(this,ef),iW(this,eg),iW(this,ev),iW(this,eb),iW(this,eT),iW(this,Z,void 0),iW(this,J,void 0),iW(this,ee,void 0),iW(this,et,void 0),iW(this,ei,{}),iW(this,es,[]),iW(this,er,()=>{if(this.range.matches(":focus-visible")){let{style:e}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-sha
1004dow)")}}),iW(this,ea,()=>{let{style:e}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),iW(this,en,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.container=this.shadowRoot.querySelector("#container"),iK(this,ee,this.shadowRoot.querySelector("#startpoint")),iK(this,et,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,r,a,n,l;e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER?(t&&(null==(r=null==(s=iV(this,Z))?void 0:s.unassociateElement)||r.call(s,this),iK(this,Z,null)),i&&this.isConnected&&(iK(this,Z,null==(a=this.getRootNode())?void 0:a.getElementById(i)),null==(l=null==(n=iV(this,Z))?void 0:n.associateElement)||l.call(n,this))):("disabled"===e||"aria-disabled"===e&&t!==i)&&(null==i?(this.range.removeAttribute(e),ij(this,ed,eh).call(this)):(this.range.setAttribute(e,i),ij(this,eu,ec).call(this)))}connectedCallback(){var e,t,i;let{style:s}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),iV(this,ei).pointer=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#pointer"),iV(this,ei).progress=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#progress"),iV(this,ei).thumb=(0,tE.getOrInsertCSSRule)(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),iV(this,ei).activeSegment=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let r=this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER);r&&(iK(this,Z,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=iV(this,Z))?void 0:t.associateElement)||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",iV(this,er)),this.shadowRoot.addEventListener("focusout",iV(this,ea)),ij(this,ed,eh).call(this),(0,tv.observeResize)(this.container,iV(this,en))}disconnectedCallback(){var e,t;ij(this,eu,ec).call(this),null==(t=null==(e=iV(this,Z))?void 0:e.unassociateElement)||t.call(e,this),iK(this,Z,null),this.shadowRoot.removeEventListener("focusin",iV(this,er)),this.shadowRoot.removeEventListener("focusout",iV(this,ea)),(0,tv.unobserveResize)(this.container,iV(this,en))}updatePointerBar(e){var t;null==(t=iV(this,ei).pointer)||t.style.setProperty("width",`${100*this.getPointerRatio(e)}%`)}updateBar(){var e,t;let i=100*this.range.valueAsNumber;null==(e=iV(this,ei).progress)||e.style.setProperty("width",`${i}%`),null==(t=iV(this,ei).thumb)||t.style.setProperty("left",`${i}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(null==e?void 0:e.length)),!(null==e?void 0:e.length))return;let i=[...new Set([+this.range.min,...e.flatMap(e=>[e.start,e.end]),+this.range.max])];iK(this,es,[...i]);let s=i.pop();for(let[e,r]of i.entries()){let[a,n]=[0===e,e===i.length-1],l=a?"calc(var(--segments-gap) / -1)":`${100*r}%`,o=n?s:i[e+1],d=`calc(${(o-r)*100}%${a||n?"":" - var(--segments-gap)"})`,h=iH.document.createElementNS("http://www.w3.org/2000/svg","rect"),u=(0,tE.insertCSSRule)(this.shadowRoot,`#segments-clipping rect:nth-child(${e+1})`);u.style.setProperty("x",l),u.style.setProperty("width",d),t.append(h)}}getPointerRatio(e){return(0,tE.getPointProgressOnLine)(e.clientX,e.clientY,iV(this,ee).getBoundingClientRect(),iV(this,et).getBoundingClientRect())}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":ij(this,eT,eA).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":ij(this,eg,ep).call(this,e);break;case"pointerdown":ij(this,ef,em).call(this,e);break;case"pointerup":ij(this,ev,eE).call(this);break;case"pointerleave":ij(this,eb,ey).call(this)}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}}Z=new WeakMap,J=new WeakMap,ee=new WeakMap,et=new WeakMap,ei=new WeakMap,es=new WeakMap,er=new WeakMap,ea=new WeakMap,en=new WeakMap,el=new WeakSet,eo=function(e){let t=iV(this,ei).activeSegment;if(!t)return;let i=this.getPointerRatio(e),s=iV(this,es).findIndex((e,t,s)=>{let r=s[t+1];return null!=r&&i>=e&&i<=r}),r=`#segments-clipping rect:nth-child(${s+1})`;t.selectorText==r&&t.style.transform||(t.selectorText=r,t.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))},ed=new WeakSet,eh=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))},eu=new WeakSet,ec=function(){var e,t;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),null==(e=iH.globalThis.window)||e.removeEventListener("pointerup",this),null==(t=iH.globalThis.window)||t.removeEventListener("pointermove",this)},ef=new WeakSet,em=function(e){var t;iK(this,J,e.composedPath().includes(this.range)),null==(t=iH.globalThis.window)||t.addEventListener("pointerup",this)},eg=new WeakSet,ep=function(e){var t;"mouse"!==e.pointerType&&ij(this,ef,em).call(this,e),this.addEventListener("pointerleave",this),null==(t=iH.globalThis.window)||t.addEventListener("pointermove",this)},ev=new WeakSet,eE=function(){var e;null==(e=iH.globalThis.window)||e.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")},eb=new WeakSet,ey=function(){var e,t;this.removeEventListener("pointerleave",this),null==(e=iH.globalThis.window)||e.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),null==(t=iV(this,ei).activeSegment)||t.style.removeProperty("transform")},eT=new WeakSet,eA=function(e){("pen"!==e.pointerType||0!==e.buttons)&&(this.toggleAttribute("dragging",1===e.buttons||"mouse"!==e.pointerType),this.updatePointerBar(e),ij(this,el,eo).call(this,e),this.dragging&&("mouse"!==e.pointerType||!iV(this,J))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(e),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))))},iq.shadowRootOptions={mode:"open"},iq.getTemplateHTML=function(e){return` 1005 <style> 1006 :host {
1007 --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 1008 --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px)); 1009 1010 box-shadow: var(--_focus-visible-box-shadow, none); 1011 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 1012 height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding)); 1013 display: inline-flex; 1014 align-items: center; 1015 1016 vertical-align: middle; 1017 box-sizing: border-box; 1018 position: relative; 1019 width: 100px; 1020 transition: background .15s linear; 1021 cursor: var(--media-cursor, pointer); 1022 pointer-events: auto; 1023 touch-action: none; 1024 } 1025 1026 1027 input[type=range]:focus { 1028 outline: 0; 1029 } 1030 input[type=range]:focus::-webkit-slider-runnable-track { 1031 outline: 0; 1032 } 1033 1034 :host(:hover) { 1035 background: var(--media-control-hover-background, rgb(50 50 70 / .7)); 1036 } 1037 1038 #leftgap { 1039 padding-left: var(--media-range-padding-left, var(--_media-range-padding)); 1040 } 1041 1042 #rightgap { 1043 padding-right: var(--media-range-padding-right, var(--_media-range-padding)); 1044 } 1045 1046 #startpoint, 1047 #endpoint { 1048 position: absolute; 1049 } 1050 1051 #endpoint { 1052 right: 0; 1053 } 1054 1055 #container { 1056 1057 width: var(--media-range-track-width, 100%); 1058 transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px)); 1059 position: relative; 1060 height: 100%; 1061 display: flex; 1062 align-items: center; 1063 min-width: 40px; 1064 } 1065 1066 #range { 1067 1068 display: var(--media-time-range-hover-display, block); 1069 bottom: var(--media-time-range-hover-bottom, -7px); 1070 height: var(--media-time-range-hover-height, max(100% + 7px, 25px)); 1071 width: 100%; 1072 position: absolute; 1073 cursor: var(--media-cursor, pointer); 1074 1075 -webkit-appearance: none; 1076 -webkit-tap-highlight-color: transparent; 1077 background: transparent; 1078 margin: 0; 1079 z-index: 1; 1080 } 1081 1082 @media (hover: hover) { 1083 #range { 1084 bottom: var(--media-time-range-hover-bottom, -5px); 1085 height: var(--media-time-range-hover-height, max(100% + 5px, 20px)); 1086 } 1087 } 1088 1089 1090 1091 #range::-webkit-slider-thumb { 1092 -webkit-appearance: none; 1093 background: transparent; 1094 width: .1px; 1095 height: .1px; 1096 } 1097 1098 1099 #range::-moz-range-thumb { 1100 background: transparent; 1101 border: transparent; 1102 width: .1px; 1103 height: .1px; 1104 } 1105 1106 #appearance { 1107 height: var(--media-range-track-height, 4px); 1108 display: flex; 1109 flex-direction: column; 1110 justify-content: center; 1111 width: 100%; 1112 position: absolute; 1113 1114 will-change: transform; 1115 } 1116 1117 #track { 1118 background: var(--media-range-track-background, rgb(255 255 255 / .2)); 1119 border-radius: var(--media-range-track-border-radius, 1px); 1120 border: var(--media-range-track-border, none); 1121 outline: var(--media-range-track-outline); 1122 outline-offset: var(--media-range-track-outline-offset); 1123 backdrop-filter: var(--media-range-track-backdrop-filter); 1124 -webkit-backdrop-filter: var(--media-range-track-backdrop-filter);
1125 box-shadow: var(--media-range-track-box-shadow, none); 1126 position: absolute; 1127 width: 100%; 1128 height: 100%; 1129 overflow: hidden; 1130 } 1131 1132 #progress, 1133 #pointer { 1134 position: absolute; 1135 height: 100%; 1136 will-change: width; 1137 } 1138 1139 #progress { 1140 background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238))); 1141 transition: var(--media-range-track-transition); 1142 } 1143 1144 #pointer { 1145 background: var(--media-range-track-pointer-background); 1146 border-right: var(--media-range-track-pointer-border-right); 1147 transition: visibility .25s, opacity .25s; 1148 visibility: hidden; 1149 opacity: 0; 1150 } 1151 1152 @media (hover: hover) { 1153 :host(:hover) #pointer { 1154 transition: visibility .5s, opacity .5s; 1155 visibility: visible; 1156 opacity: 1; 1157 } 1158 } 1159 1160 #thumb, 1161 ::slotted([slot=thumb]) { 1162 width: var(--media-range-thumb-width, 10px); 1163 height: var(--media-range-thumb-height, 10px); 1164 transition: var(--media-range-thumb-transition); 1165 transform: var(--media-range-thumb-transform, none); 1166 opacity: var(--media-range-thumb-opacity, 1); 1167 translate: -50%; 1168 position: absolute; 1169 left: 0; 1170 cursor: var(--media-cursor, pointer); 1171 } 1172 1173 #thumb { 1174 border-radius: var(--media-range-thumb-border-radius, 10px); 1175 background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238))); 1176 box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent); 1177 border: var(--media-range-thumb-border, none); 1178 } 1179 1180 :host([disabled]) #thumb { 1181 background-color: #777; 1182 } 1183 1184 .segments #appearance { 1185 height: var(--media-range-segment-hover-height, 7px); 1186 } 1187 1188 #track { 1189 clip-path: url(#segments-clipping); 1190 } 1191 1192 #segments { 1193 --segments-gap: var(--media-range-segments-gap, 2px); 1194 position: absolute; 1195 width: 100%; 1196 height: 100%; 1197 } 1198 1199 #segments-clipping { 1200 transform: translateX(calc(var(--segments-gap) / 2)); 1201 } 1202 1203 #segments-clipping:empty { 1204 display: none; 1205 } 1206 1207 #segments-clipping rect { 1208 height: var(--media-range-track-height, 4px); 1209 y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2); 1210 transition: var(--media-range-segment-transition, transform .1s ease-in-out); 1211 transform: var(--media-range-segment-transform, scaleY(1)); 1212 transform-origin: center; 1213 } 1214 </style> 1215 <div id="leftgap"></div> 1216 <div id="container"> 1217 <div id="startpoint"></div> 1218 <div id="endpoint"></div> 1219 <div id="appearance"> 1220 <div id="track" part="track"> 1221 <div id="pointer"></div> 1222 <div id="progress" part="progress"></div> 1223 </div> 1224 <slot name="thumb"> 1225 <div id="thumb" part="thumb"></div> 1226 </slot> 1227 <svg id="segments"><clipPath id="segments-clipping"></clipPath></svg> 1228 </div>
1229 <input id="range" type="range" min="0" max="1" step="any" value="0"> 1230 1231 ${this.getContainerTemplateHTML(e)} 1232 </div> 1233 <div id="rightgap"></div> 1234 `},iq.getContainerTemplateHTML=function(e){return""},iH.globalThis.customElements.get("media-chrome-range")||iH.globalThis.customElements.define("media-chrome-range",iq);var iY=tp,iQ=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},iz=(e,t,i)=>(iQ(e,t,"read from private field"),i?i.call(e):t.get(e)),iX=(e,t,i,s)=>(iQ(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class iZ extends iY.globalThis.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eS,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,r,a,n,l;e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER&&(t&&(null==(r=null==(s=iz(this,eS))?void 0:s.unassociateElement)||r.call(s,this),iX(this,eS,null)),i&&this.isConnected&&(iX(this,eS,null==(a=this.getRootNode())?void 0:a.getElementById(i)),null==(l=null==(n=iz(this,eS))?void 0:n.associateElement)||l.call(n,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER);s&&(iX(this,eS,null==(e=this.getRootNode())?void 0:e.getElementById(s)),null==(i=null==(t=iz(this,eS))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=iz(this,eS))?void 0:e.unassociateElement)||t.call(e,this),iX(this,eS,null)}}eS=new WeakMap,iZ.shadowRootOptions={mode:"open"},iZ.getTemplateHTML=function(e){return` 1235 <style> 1236 :host { 1237 1238 box-sizing: border-box; 1239 display: var(--media-control-display, var(--media-control-bar-display, inline-flex)); 1240 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 1241 --media-loading-indicator-icon-height: 44px; 1242 } 1243 1244 ::slotted(media-time-range), 1245 ::slotted(media-volume-range) { 1246 min-height: 100%; 1247 } 1248 1249 ::slotted(media-time-range), 1250 ::slotted(media-clip-selector) { 1251 flex-grow: 1; 1252 } 1253 1254 ::slotted([role="menu"]) { 1255 position: absolute; 1256 } 1257 </style> 1258 1259 <slot></slot> 1260 `},iY.globalThis.customElements.get("media-control-bar")||iY.globalThis.customElements.define("media-control-bar",iZ);var iJ=tp,i0=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},i1=(e,t,i)=>(i0(e,t,"read from private field"),i?i.call(e):t.get(e)),i2=(e,t,i,s)=>(i0(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class i3 extends iJ.globalThis.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eI,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,r,a,n,l;e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER&&(t&&(null==(r=null==(s=i1(this,eI))?void 0:s.unassociateElement)||r.call(s,this),i2(this,eI,null)),i&&this.isConnected&&(i2(this,eI,null==(a=this.getRootNode())?void 0:a.getElementById(i)),null==(l=null==(n=i1(this,eI))?void 0:n.associateElement)||l.call(n,this)))}connectedCallback(){var e,t,i;let{style:s}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let r=this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER);r&&(i2(this,eI,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=i1(this,eI))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=i1(this,eI))?void 0:e.unassociateElement)||t.call(e,this),i2(this,eI,null)}}eI=new WeakMap,i3.shadowRootOptions={mode:"open"},i3.getTemplateHTML=function(e,t={}){return` 1261 <style> 1262 :host { 1263 font: var(--media-font, 1264 var(--media-font-weight, normal) 1265 var(--media-font-size, 14px) / 1266 var(--media-text-content-height, var(--media-control-height, 24px)) 1267 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 1268 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 1269 background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)))); 1270 padding: var(--media-control-padding, 10px); 1271 display: inline-flex; 1272 justify-content: center; 1273 align-items: center; 1274 vertical-align: middle; 1275 box-sizing: border-box; 1276 text-align: center; 1277 pointer-events: auto; 1278 } 1279 1280 1281 :host(:focus-visible) { 1282 box-shadow: inset 0 0 0 2px rgb(27 127 204 / .9); 1283 outline: 0; 1284 } 1285 1286 1287 :host(:where(:focus)) { 1288 box-shadow: none; 1289 outline: 0; 1290 } 1291 </style> 1292
1293 ${this.getSlotTemplateHTML(e,t)} 1294 `},i3.getSlotTemplateHTML=function(e,t){return` 1295 <slot></slot> 1296 `},iJ.globalThis.customElements.get("media-text-display")||iJ.globalThis.customElements.define("media-text-display",i3);var i4=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},i5=(e,t,i)=>(i4(e,t,"read from private field"),i?i.call(e):t.get(e));class i8 extends i3{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eL,void 0),((e,t,i)=>(i4(e,t,"write to private field"),t.set(e,i)))(this,eL,this.shadowRoot.querySelector("slot")),i5(this,eL).textContent=(0,tm.formatTime)(null!=(e=this.mediaDuration)?e:0)}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===tf.MediaUIAttributes.MEDIA_DURATION&&(i5(this,eL).textContent=(0,tm.formatTime)(+i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION)}set mediaDuration(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION,e)}}eL=new WeakMap,i8.getSlotTemplateHTML=function(e,t){return` 1297 <slot>${(0,tm.formatTime)(t.mediaDuration)}</slot> 1298 `},tp.globalThis.customElements.get("media-duration-display")||tp.globalThis.customElements.define("media-duration-display",i8);let i6={2:(0,tg.t)("Network Error"),3:(0,tg.t)("Decode Error"),4:(0,tg.t)("Source Not Supported"),5:(0,tg.t)("Encryption
1298Error")},i9={2:(0,tg.t)("A network error caused the media download to fail."),3:(0,tg.t)("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:(0,tg.t)("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:(0,tg.t)("The media is encrypted and there are no keys to decrypt it.")},i7=e=>{var t,i;return 1===e.code?null:{title:null!=(t=i6[e.code])?t:`Error ${e.code}`,message:null!=(i=i9[e.code])?i:e.message}};var se=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};function st(e){var t;let{title:i,message:s}=null!=(t=i7(e))?t:{},r="";return i&&(r+=`<slot name="error-${e.code}-title"><h3>${i}</h3></slot>`),s&&(r+=`<slot name="error-${e.code}-message"><p>${s}</p></slot>`),r}let si=[tf.MediaUIAttributes.MEDIA_ERROR_CODE,tf.MediaUIAttributes.MEDIA_ERROR_MESSAGE];class ss extends i${constructor(){super(...arguments),((e,t)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,null)})(this,ek)}static get observedAttributes(){return[...super.observedAttributes,...si]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,i){var s;if(super.attributeChangedCallback(e,t,i),!si.includes(e))return;let r=null!=(s=this.mediaError)?s:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=r.code&&null!==i7(r),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(r))}get mediaError(){var e;return se(this,e=ek,"read from private field"),e.get(this)}set mediaError(e){var t;se(this,t=ek,"write to private field"),t.set(this,e)}get mediaErrorCode(){return(0,tE.getNumericAttr)(this,"mediaerrorcode")}set mediaErrorCode(e){(0,tE.setNumericAttr)(this,"mediaerrorcode",e)}get mediaErrorMessage(){return(0,tE.getStringAttr)(this,"mediaerrormessage")}set mediaErrorMessage(e){(0,tE.setStringAttr)(this,"mediaerrormessage",e)}}ek=new WeakMap,ss.getSlotTemplateHTML=function(e){return` 1299 <style> 1300 :host { 1301 background: rgb(20 20 30 / .8); 1302 } 1303 1304 #content { 1305 display: block; 1306 padding: 1.2em 1.5em; 1307 } 1308 1309 h3, 1310 p { 1311 margin-block: 0 .3em; 1312 } 1313 </style> 1314 <slot name="error-${e.mediaerrorcode}" id="content"> 1315 ${st({code:+e.mediaerrorcode,message:e.mediaerrormessage})} 1316 </slot> 1317 `},ss.formatErrorMessage=st,tp.globalThis.customElements.get("media-error-dialog")||tp.globalThis.customElements.define("media-error-dialog",ss);var sr=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)},sa=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)};class sn extends i${constructor(){super(...arguments),sa(this,eR,e=>{var t;if(!this.open)return;let i=null==(t=this.shadowRoot)?void 0:t.querySelector("#content");if(!i)return;let s=e.composedPath(),r=s[0]===this||s.includes(this),a=s.includes(i);r&&!a&&(this.open=!1)}),sa(this,eM,e=>{if(!this.open)return;let t=e.shiftKey&&("/"===e.key||"?"===e.key);"Escape"!==e.key&&!t||e.ctrlKey||e.altKey||e.metaKey||(this.open=!1,e.preventDefault(),e.stopPropagation())})}connectedCallback(){super.connectedCallback(),this.open&&(this.addEventListener("click",sr(this,eR)),document.addEventListener("keydown",sr(this,eM)))}disconnectedCallback(){this.removeEventListener("click",sr(this,eR)),document.removeEventListener("keydown",sr(this,eM))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"open"===e&&(this.open?(this.addEventListener("click",sr(this,eR)),document.addEventListener("keydown",sr(this,eM))):(this.removeEventListener("click",sr(this,eR)),document.removeEventListener("keydown",sr(this,eM))))}}eR=new WeakMap,eM=new WeakMap,sn.getSlotTemplateHTML=function(e){let t;return` 1318 <style> 1319 :host { 1320 position: fixed; 1321 top: 0; 1322 left: 0; 1323 z-index: 9999; 1324 background: rgb(20 20 30 / .8); 1325 backdrop-filter: blur(10px); 1326 } 1327 1328 #content { 1329 display: block; 1330 width: clamp(400px, 40vw, 700px); 1331 max-width: 90vw; 1332 text-align: left; 1333 } 1334 1335 h2 { 1336 margin: 0 0 1.5rem 0; 1337 font-size: 1.5rem; 1338 font-weight: 500; 1339 text-align: center; 1340 } 1341 1342 .shortcuts-table { 1343 width: 100%; 1344 border-collapse: collapse; 1345 } 1346 1347 .shortcuts-table tr { 1348 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 1349 } 1350 1351 .shortcuts-table tr:last-child { 1352 border-bottom: none; 1353 } 1354 1355 .shortcuts-table td { 1356 padding: 0.75rem 0.5rem; 1357 } 1358 1359 .shortcuts-table td:first-child { 1360 text-align: right; 1361 padding-right: 1rem; 1362 width: 40%; 1363 min-width: 120px; 1364 } 1365 1366 .shortcuts-table td:last-child { 1367 padding-left: 1rem; 1368 } 1369 1370 .key { 1371 display: inline-block; 1372 background: rgba(255, 255, 255, 0.15); 1373 border: 1px solid rgba(255, 255, 255, 0.2); 1374 border-radius: 4px; 1375 padding: 0.25rem 0.5rem; 1376 font-family: 'Courier New', monospace; 1377 font-size: 0.9rem; 1378 font-weight: 500; 1379 min-width: 1.5rem; 1380 text-align: center; 1381 margin: 0 0.2rem; 1382 } 1383 1384 .description { 1385 color: rgba(255, 255, 255, 0.9); 1386 font-size: 0.95rem; 1387 } 1388 1389 .key-combo { 1390 display: flex; 1391 align-items: center; 1392 justify-content: flex-end; 1393 gap: 0.3rem; 1394 } 1395 1396 .key-separator { 1397 color: rgba(255, 255, 255, 0.5); 1398 font-size: 0.9rem; 1399 } 1400 </style> 1401 <slot id="content"> 1402 ${t=[{keys:["Space","k"],description:"Toggle Playback"},{keys:["m"],description:"Toggle mute"},{keys:["f"],description:"Toggle fullscreen"},{keys:["c"],description:"Toggle captions or subtitles, if available"},{keys:["p"],description:"Toggle Picture in Picture"},{keys:["â","j"],description:"Seek back 10s"},{keys:["â","l"],description:"Seek forward 10s"},{keys:["â"],description:"Turn volume up"},{keys:["â"],description:"Turn volume down"},{keys:["< (SHIFT+,)"],description:"Decrease playback rate"},{keys:["> (SHIFT+.)"],description:"Increase playback rate"}].map(({keys:e,description:t})=>{let i=e.map((e,t)=>t>0?`<span class="key-separator">or</span><span class="key">${e}</span>`:`<span class="key">${e}</span>`).join("");return` 1403 <tr> 1404 <td> 1405 <div class="key-combo">${i}</div> 1406 </td> 1407 <td class="description">${t}</td> 1408 </tr> 1409 `}).join(""),` 1410 <h2>Keyboard Shortcuts</h2> 1411 <table class="shortcuts-table">${t}</table> 1412 `} 1413 </slot> 1414 `},tp.globalThis.customElements.get("media-keyboard-shortcuts-dialog")||tp.globalThis.customElements.define("media-keyboard-shortcuts-dialog",sn);var sl=ib,so=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};let sd=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1415 <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/> 1416</svg>`,sh=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1417 <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/> 1418</svg>`,su=e=>{let t=e.mediaIsFullscreen?(0,tg.t)("exit fullscreen mode"):(0,tg.t)("enter fullscreen mode");e.setAttribute("aria-label",t)};class sc extends sl.MediaChromeButton{constructor(){super(...arguments),((e,t)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,null)})(this,eC)}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN,tf.MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),su(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN&&su(this)}get mediaFullscreenUnavailable(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN,e)}handleClick(e){var t,i;so(this,t=eC,"write to private field"),t.set(this,e);let s=(so(this,i=eC,"read from private field"),i.get(this)instanceof PointerEvent),r=this.mediaIsFullscreen?new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0}):new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(r)}}eC=new WeakMap,sc.getSlotTemplateHTML=function(e){return` 1419 <style> 1420 :host([${tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) { 1421 display: none !important; 1422 } 1423 1424 1425 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) { 1426 display: none !important; 1427 } 1428 1429 :host([${tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter], 1430 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] { 1431 display: none; 1432 } 1433 </style> 1434 1435 <slot name="icon"> 1436 <slot name="enter">${sd}</slot> 1437 <slot name="exit">${sh}</slot> 1438 </slot> 1439 `},sc.getTooltipContentHTML=function(){return` 1440 <slot name="tooltip-enter">${(0,tg.t)("Enter fullscreen mode")}</slot> 1441 <slot name="tooltip-exit">${(0,tg.t)("Exit fullscreen mode")}</slot> 1442 `},tp.globalThis.customElements.get("media-fullscreen-button")||tp.globalThis.customElements.define("media-fullscreen-button",sc);var sf=ib;let{MEDIA_TIME_IS_LIVE:sm,MEDIA_PAUSED:sg}=tf.MediaUIAttributes,{MEDIA_SEEK_TO_LIVE_REQUEST:sp,MEDIA_PLAY_REQUEST:sv}=tf.MediaUIEvents,sE=e=>{var t;let i=e.mediaPaused||!e.mediaTimeIsLive,s=i?(0,tg.t)("seek to live"):(0,tg.t)("playing live");e.setAttribute("aria-label",s);let r=null==(t=e.shadowRoot)?void 0:t.querySelector('slot[name="text"]');r&&(r.textContent=(0,tg.t)("live")),i?e.removeAttribute("aria-disabled"):e.setAttribute("aria-disabled","true")};class sb extends sf.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,sm,sg]}connectedCallback(){super.connectedCallback(),sE(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),sE(this)}get mediaPaused(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED)}set mediaPaused(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_TIME_IS_LIVE,e)}handleClick(){(this.mediaPaused||!this.mediaTimeIsLive)&&(this.dispatchEvent(new tp.globalThis.CustomEvent(sp,{composed:!0,bubbles:!0})),this.hasAttribute(sg)&&this.dispatchEvent(new tp.globalThis.CustomEvent(sv,{composed:!0,bubbles:!0})))}}sb.getSlotTemplateHTML=function(e){return` 1443 <style> 1444 :host { --media-tooltip-display: none; } 1445 1446 slot[name=indicator] > *, 1447 :host ::slotted([slot=indicator]) { 1448 1449 min-width: auto; 1450 fill: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1451 color: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1452 } 1453 1454 :host([${sm}]:not([${sg}])) slot[name=indicator] > *, 1455 :host([${sm}]:not([${sg}])) ::slotted([slot=indicator]) { 1456 fill: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1457 color: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1458 } 1459 1460 :host([${sm}]:not([${sg}])) { 1461 cursor: var(--media-cursor, not-allowed); 1462 } 1463 1464 slot[name=text]{ 1465 text-transform: uppercase; 1466 } 1467 1468 </style> 1469 1470 <slot name="indicator"><svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg></slot> 1471 1472 <slot name="spacer"> </slot><slot name="text">${(0,tg.t)("live")}</slot> 1473 `},tp.globalThis.customElements.get("media-live-button")||tp.globalThis.customElements.define("media-live-button",sb);var sy=tp,sT=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},sA=(e,t,i)=>(sT(e,t,"read from private field"),i?i.call(e):t.get(e)),sS=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},sI=(e,t,i,s)=>(sT(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);let sL="loadingdelay",sk="noautohide",sR=` 1474<svg aria-hidden="true" viewBox="0 0 100 100"> 1475 <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"> 1476 <animateTransform 1477 attributeName="transform" 1478 attributeType="XML" 1479 type="rotate" 1480 dur="1s" 1481 from="0 50 50" 1482 to="360 50 50"
1483 repeatCount="indefinite" /> 1484 </path> 1485</svg> 1486`;class sM extends sy.globalThis.HTMLElement{constructor(){if(super(),sS(this,e_,void 0),sS(this,ew,500),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER,tf.MediaUIAttributes.MEDIA_PAUSED,tf.MediaUIAttributes.MEDIA_LOADING,sL]}attributeChangedCallback(e,t,i){var s,r,a,n,l;e===sL&&t!==i?this.loadingDelay=Number(i):e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER&&(t&&(null==(r=null==(s=sA(this,e_))?void 0:s.unassociateElement)||r.call(s,this),sI(this,e_,null)),i&&this.isConnected&&(sI(this,e_,null==(a=this.getRootNode())?void 0:a.getElementById(i)),null==(l=null==(n=sA(this,e_))?void 0:n.associateElement)||l.call(n,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER);s&&(sI(this,e_,null==(e=this.getRootNode())?void 0:e.getElementById(s)),null==(i=null==(t=sA(this,e_))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=sA(this,e_))?void 0:e.unassociateElement)||t.call(e,this),sI(this,e_,null)}get loadingDelay(){return sA(this,ew)}set loadingDelay(e){sI(this,ew,e);let{style:t}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED)}set mediaPaused(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED,e)}get mediaLoading(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOADING)}set mediaLoading(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOADING,e)}get mediaController(){return(0,tE.getStringAttr)(this,tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER)}set mediaController(e){(0,tE.setStringAttr)(this,tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER,e)}get noAutohide(){return(0,tE.getBooleanAttr)(this,sk)}set noAutohide(e){(0,tE.setBooleanAttr)(this,sk,e)}}e_=new WeakMap,ew=new WeakMap,sM.shadowRootOptions={mode:"open"},sM.getTemplateHTML=function(e){return` 1487 <style> 1488 :host { 1489 display: var(--media-control-display, var(--media-loading-indicator-display, inline-block)); 1490 vertical-align: middle; 1491 box-sizing: border-box; 1492 --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, 500ms); 1493 } 1494 1495 #status { 1496 color: rgba(0,0,0,0); 1497 width: 0px; 1498 height: 0px; 1499 } 1500 1501 :host slot[name=icon] > *, 1502 :host ::slotted([slot=icon]) { 1503 opacity: var(--media-loading-indicator-opacity, 0); 1504 transition: opacity 0.15s; 1505 } 1506 1507 :host([${tf.MediaUIAttributes.MEDIA_LOADING}]:not([${tf.MediaUIAttributes.MEDIA_PAUSED}])) slot[name=icon] > *, 1508 :host([${tf.MediaUIAttributes.MEDIA_LOADING}]:not([${tf.MediaUIAttributes.MEDIA_PAUSED}])) ::slotted([slot=icon]) { 1509 opacity: var(--media-loading-indicator-opacity, 1); 1510 transition: opacity 0.15s var(--_loading-indicator-delay); 1511 } 1512 1513 :host #status { 1514 visibility: var(--media-loading-indicator-opacity, hidden); 1515 transition: visibility 0.15s; 1516 } 1517 1518 :host([${tf.MediaUIAttributes.MEDIA_LOADING}]:not([${tf.MediaUIAttributes.MEDIA_PAUSED}])) #status { 1519 visibility: var(--media-loading-indicator-opacity, visible); 1520 transition: visibility 0.15s var(--_loading-indicator-delay); 1521 } 1522 1523 svg, img, ::slotted(svg), ::slotted(img) { 1524 width: var(--media-loading-indicator-icon-width); 1525 height: var(--media-loading-indicator-icon-height, 100px); 1526 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1527 vertical-align: middle; 1528 } 1529 </style> 1530 1531 <slot name="icon">${sR}</slot> 1532 <div id="status" role="status" aria-live="polite">${(0,tg.t)("media loading")}</div> 1533 `},sy.globalThis.customElements.get("media-loading-indicator")||sy.globalThis.customElements.define("media-loading-indicator",sM);var sC=ib;let s_=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1534 <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"/> 1535</svg>`,sw=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1536 <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"/> 1537</svg>`,sD=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1538 <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"/> 1539</svg>`,sx=e=>{let t="off"===e.mediaVolumeLevel?(0,tg.t)("unmute"):(0,tg.t)("mute");e.setAttribute("aria-label",t)};class sP extends sC.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL]}connectedCallback(){super.connectedCallback(),sx(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL&&sx(this)}get mediaVolumeLevel(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e="off"===this.mediaVolumeLevel?tf.MediaUIEvents.MEDIA_UNMUTE_REQUEST:tf.MediaUIEvents.MEDIA_MUTE_REQUEST;this.dispatchEvent(new tp.globalThis.CustomEvent(e,{composed:!0,bubbles:!0}))}}sP.getSlotTemplateHTML=function(e){return` 1540 <style> 1541 :host(:not([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]), 1542 :host([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) { 1543 display: none !important; 1544 } 1545 1546 :host([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) { 1547 display: none !important; 1548 } 1549 1550 :host([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) { 1551 display: none !important; 1552 } 1553 1554 :host([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) { 1555 display: none !important; 1556 } 1557 1558 :host(:not([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute], 1559 :host([${tf.MediaUIAttributes.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] { 1560 display: none; 1561 } 1562 </style> 1563 1564 <slot name="icon"> 1565 <slot name="off">${s_}</slot> 1566 <slot name="low">${sw}</slot> 1567 <slot name="medium">${sw}</slot> 1568 <slot name="high">${sD}</slot> 1569 </slot> 1570 `},sP.getTooltipContentHTML=function(){return` 1571 <slot name="tooltip-mute">${(0,tg.t)("Mute")}</slot> 1572 <slot name="tooltip-unmute">${(0,tg.t)("Unmute")}</slot> 1573 `},tp.globalThis.customElements.get("media-mute-button")||tp.globalThis.customElements.define("media-mute-button",sP);var sO=ib;let sU=`<svg aria-hidden="true" viewBox="0 0 28 24"> 1574 <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"/> 1575</svg>`,sN=e=>{let t=e.mediaIsPip?(0,tg.t)("exit picture in picture mode"):(0,tg.t)("enter picture in picture mode");e.setAttribute("aria-label",t)};class sF extends sO.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_IS_PIP,tf.MediaUIAttributes.MEDIA_PIP_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),sN(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_IS_PIP&&sN(this)}get mediaPipUnavailable(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_PIP)}set mediaIsPip(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?tf.MediaUIEvents.MEDIA_EXIT_PIP_REQUEST:tf.MediaUIEvents.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new tp.globalThis.CustomEvent(e,{composed:!0,bubbles:!0}))}}sF.getSlotTemplateHTML=function(e){return` 1576 <style> 1577 :host([${tf.MediaUIAttributes.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) { 1578 display: none !important; 1579 } 1580 1581 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) { 1582 display: none !important; 1583 } 1584 1585 :host([${tf.MediaUIAttributes.MEDIA_IS_PIP}]) slot[name=tooltip-enter], 1586 :host(:not([${tf.MediaUIAttributes.MEDIA_IS_PIP}])) slot[name=tooltip-exit] { 1587 display: none; 1588 } 1589 </style> 1590 1591 <slot name="icon"> 1592 <slot name="enter">${sU}</slot> 1593 <slot name="exit">${sU}
1593</slot> 1594 </slot> 1595 `},sF.getTooltipContentHTML=function(){return` 1596 <slot name="tooltip-enter">${(0,tg.t)("Enter picture in picture mode")}</slot> 1597 <slot name="tooltip-exit">${(0,tg.t)("Exit picture in picture mode")}</slot> 1598 `},tp.globalThis.customElements.get("media-pip-button")||tp.globalThis.customElements.define("media-pip-button",sF);var sB=e.i(11339),s$=ib;let sH=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1599 <path d="m6 21 15-9L6 3v18Z"/> 1600</svg>`,sG=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1601 <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/> 1602</svg>`,sV=e=>{let t=e.mediaPaused?(0,tg.t)("play"):(0,tg.t)("pause");e.setAttribute("aria-label",t)};class sW extends s$.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_PAUSED,tf.MediaUIAttributes.MEDIA_ENDED]}connectedCallback(){super.connectedCallback(),sV(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),(e===tf.MediaUIAttributes.MEDIA_PAUSED||e===tf.MediaUIAttributes.MEDIA_LANG)&&sV(this)}get mediaPaused(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED)}set mediaPaused(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?tf.MediaUIEvents.MEDIA_PLAY_REQUEST:tf.MediaUIEvents.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new tp.globalThis.CustomEvent(e,{composed:!0,bubbles:!0}))}}sW.getSlotTemplateHTML=function(e){return` 1603 <style> 1604 :host([${tf.MediaUIAttributes.MEDIA_PAUSED}]) slot[name=pause], 1605 :host(:not([${tf.MediaUIAttributes.MEDIA_PAUSED}])) slot[name=play] { 1606 display: none !important; 1607 } 1608 1609 :host([${tf.MediaUIAttributes.MEDIA_PAUSED}]) slot[name=tooltip-pause], 1610 :host(:not([${tf.MediaUIAttributes.MEDIA_PAUSED}])) slot[name=tooltip-play] { 1611 display: none; 1612 } 1613 </style> 1614 1615 <slot name="icon"> 1616 <slot name="play">${sH}</slot> 1617 <slot name="pause">${sG}</slot> 1618 </slot> 1619 `},sW.getTooltipContentHTML=function(){return` 1620 <slot name="tooltip-play">${(0,tg.t)("Play")}</slot> 1621 <slot name="tooltip-pause">${(0,tg.t)("Pause")}</slot> 1622 `},tp.globalThis.customElements.get("media-play-button")||tp.globalThis.customElements.define("media-play-button",sW);var sK=tp;let sj="placeholdersrc";class sq extends sK.globalThis.HTMLElement{static get observedAttributes(){return[sj,"src"]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){if("src"===e&&(null==i?this.image.removeAttribute("src"):this.image.setAttribute("src",i)),e===sj)if(null==i)this.image.style.removeProperty("background-image");else{var s;s=this.image,s.style["background-image"]=`url('${i}')`}}get placeholderSrc(){return(0,tE.getStringAttr)(this,sj)}set placeholderSrc(e){(0,tE.setStringAttr)(this,"src",e)}get src(){return(0,tE.getStringAttr)(this,"src")}set src(e){(0,tE.setStringAttr)(this,"src",e)}}sq.shadowRootOptions={mode:"open"},sq.getTemplateHTML=function(e){return` 1623 <style> 1624 :host { 1625 pointer-events: none; 1626 display: var(--media-poster-image-display, inline-block); 1627 box-sizing: border-box; 1628 } 1629 1630 img { 1631 max-width: 100%; 1632 max-height: 100%; 1633 min-width: 100%; 1634 min-height: 100%; 1635 background-repeat: no-repeat; 1636 background-position: var(--media-poster-image-background-position, var(--media-object-position, center)); 1637 background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain)); 1638 object-fit: var(--media-object-fit, contain); 1639 object-position: var(--media-object-position, center); 1640 } 1641 </style> 1642 1643 <img part="poster img" aria-hidden="true" id="image"/> 1644 `},sK.globalThis.customElements.get("media-poster-image")||sK.globalThis.customElements.define("media-poster-image",sq);var sY=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};class sQ extends i3{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eD,void 0),((e,t,i)=>(sY(e,t,"write to private field"),t.set(e,i)))(this,eD,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER,tf.MediaUIAttributes.MEDIA_LA
1644NG]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),(e===tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER||e===tf.MediaUIAttributes.MEDIA_LANG)&&i!==t&&null!=i){var s;if((sY(this,s=eD,"read from private field"),s.get(this)).textContent=i,""!==i){let e=(0,tg.t)("chapter: {chapterName}",{chapterName:i});this.setAttribute("aria-valuetext",e)}else this.removeAttribute("aria-valuetext")}}get mediaPreviewChapter(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER,e)}}eD=new WeakMap,tp.globalThis.customElements.get("media-preview-chapter-display")||tp.globalThis.customElements.define("media-preview-chapter-display",sQ);var sz=tp,sX=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},sZ=(e,t,i)=>(sX(e,t,"read from private field"),i?i.call(e):t.get(e)),sJ=(e,t,i,s)=>(sX(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class s0 extends sz.globalThis.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,ex,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=(0,tE.namedNodeMapToObject)(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE,tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let s=this.getAttribute(tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER);s&&(sJ(this,ex,null==(e=this.getRootNode())?void 0:e.getElementById(s)),null==(i=null==(t=sZ(this,ex))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=sZ(this,ex))?void 0:e.unassociateElement)||t.call(e,this),sJ(this,ex,null)}attributeChangedCallback(e,t,i){var s,r,a,n,l;[tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE,tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===tf.MediaStateReceiverAttributes.MEDIA_CONTROLLER&&(t&&(null==(r=null==(s=sZ(this,ex))?void 0:s.unassociateElement)||r.call(s,this),sJ(this,ex,null)),i&&this.isConnected&&(sJ(this,ex,null==(a=this.getRootNode())?void 0:a.getElementById(i)),null==(l=null==(n=sZ(this,ex))?void 0:n.associateElement)||l.call(n,this)))}get mediaPreviewImage(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(e=>+e)}set mediaPreviewCoords(e){e?this.setAttribute(tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS,e.join(" ")):this.removeAttribute(tf.MediaUIAttributes.MEDIA_PREVIEW_COORDS)}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[i,s,r,a]=e,n=t.split("#")[0],{maxWidth:l,maxHeight:o,minWidth:d,minHeight:h}=getComputedStyle(this),u=Math.min(parseInt(l)/r,parseInt(o)/a),c=Math.max(parseInt(d)/r,parseInt(h)/a),f=u<1,m=f?u:c>1?c:1,{style:g}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host"),p=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"img").style,v=this.shadowRoot.querySelector("img"),E=f?"min":"max";g.setProperty(`${E}-width`,"initial","important"),g.setProperty(`${E}-height`,"initial","important"),g.width=`${r*m}px`,g.height=`${a*m}px`;let b=()=>{p.width=`${this.imgWidth*m}px`,p.height=`${this.imgHeight*m}px`,p.display="block"};v.src!==n&&(v.onload=()=>{this.imgWidth=v.naturalWidth,this.imgHeight=v.naturalHeight,b()},v.src=n,b()),b(),p.transform=`translate(-${i*m}px, -${s*m}px)`}}ex=new WeakMap,s0.shadowRootOptions={mode:"open"},s0.getTemplateHTML=function(e){return` 1645 <style> 1646 :host { 1647 box-sizing: border-box; 1648 display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block)); 1649 overflow: hidden; 1650 } 1651 1652 img { 1653 display: none; 1654 position: relative; 1655 } 1656 </style> 1657 <img crossorigin loading="eager" decoding="async"> 1658 `}
1658,sz.globalThis.customElements.get("media-preview-thumbnail")||sz.globalThis.customElements.define("media-preview-thumbnail",s0);var s1=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},s2=(e,t,i)=>(s1(e,t,"read from private field"),i?i.call(e):t.get(e));class s3 extends i3{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eP,void 0),((e,t,i)=>(s1(e,t,"write to private field"),t.set(e,i)))(this,eP,this.shadowRoot.querySelector("slot")),s2(this,eP).textContent=(0,tm.formatTime)(0)}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_PREVIEW_TIME&&null!=i&&(s2(this,eP).textContent=(0,tm.formatTime)(parseFloat(i)))}get mediaPreviewTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME,e)}}eP=new WeakMap,tp.globalThis.customElements.get("media-preview-time-display")||tp.globalThis.customElements.define("media-preview-time-display",s3);var s4=ib;let s5="seekoffset";class s8 extends s4.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,s5]}connectedCallback(){super.connectedCallback(),this.seekOffset=(0,tE.getNumericAttr)(this,s5,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===s5&&(this.seekOffset=(0,tE.getNumericAttr)(this,s5,30))}get seekOffset(){return(0,tE.getNumericAttr)(this,s5,30)}set seekOffset(e){(0,tE.setNumericAttr)(this,s5,e),this.setAttribute("aria-label",(0,tg.t)("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),(0,tE.updateIconText)((0,tE.getSlotted)(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}s8.getSlotTemplateHTML=function(e,t){let i;return` 1659 <slot name="icon">${i=t.seekOffset,` 1660 <svg aria-hidden="true" viewBox="0 0 20 24"> 1661 <defs> 1662 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1663 </defs> 1664 <text class="text value" transform="translate(2.18 19.87)">${i}</text> 1665 <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"/> 1666 </svg>`}</slot> 1667 `},s8.getTooltipContentHTML=function(){return(0,tg.t)("Seek backward")},tp.globalThis.customElements.get("media-seek-backward-button")||tp.globalThis.customElements.define("media-seek-backward-button",s8);var s6=ib;let s9="seekoffset";class s7 extends s6.MediaChromeButton{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,s9]}connectedCallback(){super.connectedCallback(),this.seekOffset=(0,tE.getNumericAttr)(this,s9,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===s9&&(this.seekOffset=(0,tE.getNumericAttr)(this,s9,30))}get seekOffset(){return(0,tE.getNumericAttr)(this,s9,30)}set seekOffset(e){(0,tE.setNumericAttr)(this,s9,e),this.setAttribute("aria-label",(0,tg.t)("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),(0,tE.updateIconText)((0,tE.getSlotted)(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}s7.getSlotTemplateHTML=function(e,t){let i;return` 1668 <slot name="icon">${i=t.seekOffset,` 1669 <svg aria-hidden="true" viewBox="0 0 20 24"> 1670 <defs> 1671 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1672 </defs> 1673 <text class="text value" transform="translate(8.9 19.87)">${i}</text> 1674 <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"/> 1675 </svg>`}</slot> 1676 `},s7.getTooltipContentHTML=function(){return(0,tg.t)("Seek forward")},tp.globalThis.customElements.get("media-seek-forward-button")||tp.globalThis.customElements.define("media-seek-forward-button",s7);var re=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},rt=(e,t,i)=>(re(e,t,"read from private field"),i?i.call(e):t.get(e));let ri={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},rs=[...Object.values(ri),tf.MediaUIAttributes.MEDIA_CURRENT_TIME,tf.MediaUIAttributes.MEDIA_DURATION,tf.MediaUIAttributes.MEDIA_SEEKABLE],rr=["Enter"," "],ra=" / ",rn=(e,{timesSep:t=ra}={})=>{var i,s;let r=null!=(i=e.mediaCurrentTime)?i:0,[,a]=null!=(s=e.mediaSeekable)?s:[],n=0;Number.isFinite(e.mediaDuration)?n=e.mediaDuration:Number.isFinite(a)&&(n=a);let l=e.remaining?(0,tm.formatTime)(0-(n-r)):(0,tm.formatTime)(r);return e.showDuration?`${l}${t}${(0,tm.formatTime)(n)}`:l};class rl extends i3{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,eO,void 0),((e,t,i)=>(re(e,t,"write to private field"),t.set(e,i)))(this,eO,this.shadowRoot.querySelector("slot")),rt(this,eO).innerHTML=`${rn(this)}`}static get observedAttributes(){return[...super.observedAttributes,...rs,"disabled"]}connectedCallback(){let{style:e}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-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",(0,tg.t)("playback time"));let t=e=>{let{key:i}=e;rr.includes(i)?this.toggleTimeDisplay():this.removeEventListener("keyup",t)};this.addEventListener("keydown",e=>{let{metaKey:i,altKey:s,key:r}=e;i||s||!rr.includes(r)?this.removeEventListener("keyup",t):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,i){rs.includes(e)?this.update():"disabled"===e&&i!==t&&(null==i?this.enable():this.disable()),super.attributeChangedCallback(e,t,i)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return(0,tE.getBooleanAttr)(this,ri.REMAINING)}set remaining(e){(0,tE.setBooleanAttr)(this,ri.REMAINING,e)}get showDuration(){return(0,tE.getBooleanAttr)(this,ri.SHOW_DURATION)}set showDuration(e){(0,tE.setBooleanAttr)(this,ri.SHOW_DURATION,e)}get noToggle(){return(0,tE.getBooleanAttr)(this,ri.NO_TOGGLE)}set noToggle(e){(0,tE.setBooleanAttr)(this,ri.NO_TOGGLE,e)}get mediaDuration(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION)}set mediaDuration(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION,e)}get mediaCurrentTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE):this.setAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE,e.join(":"))}update(){let e=rn(this);(e=>{var t;let i=e.mediaCurrentTime,[,s]=null!=(t=e.mediaSeekable)?t:[],r=null;if(Number.isFinite(e.mediaDuration)?r=e.mediaDuration:Number.isFinite(s)&&(r=s),null==i||null===r)return e.setAttribute("aria-valuetext","video not loaded, unknown time.");let a=e.remaining?(0,tm.formatAsTimePhrase)(0-(r-i)):(0,tm.formatAsTimePhrase)(i);if(!e.showDuration)return e.setAttribute("aria-valuetext",a);let n=(0,tm.formatAsTimePhrase)(r),l=`${a} of ${n}`;e.setAttribute("aria-valuetext",l)})(this),e!==rt(this,eO).innerHTML&&(rt(this,eO).innerHTML=e)}}eO=new WeakMap,rl.getSlotTemplateHTML=function(e,t){return` 1677 <slot>${rn(t)}</slot> 1678 `},tp.globalThis.customElements.get("media-time-display")||tp.globalThis.customElements.define("media-time-display",rl);var ro=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},rd=(e,t,i)=>(ro(e,t,"read from private field"),i?i.call(e):t.get(e)),rh=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},ru=(e,t,i,s)=>(ro(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i);class rc{constructor(e,t,i){rh(this,eU,void 0),rh(this,eN,void 0),rh(this,eF,void 0),rh(this,eB,void 0),rh(this,e$,void 0),rh(this,eH,void 0),rh(this,eG,void 0),rh(this,eV,void 0),rh(this,eW,0),rh(this,eK,(e=performance.now())=>{ru(this,eW,requestAnimationFrame(rd(this,eK))),ru(this,eB,performance.now()-rd(this,eF));let t=1e3/this.fps;if(rd(this,eB)>t){let i,s;ru(this,eF,e-rd(this,eB)%t);let r=1e3/((e-rd(this,eN))/++(i=this,s=e$,{set _(value){ru(i,s,value,void 0)},get _(){return rd(i,s,void 0)}})._),a=(e-rd(this,eH))/1e3/this.duration,n=rd(this,eG)+a*this.playbackRate;n-rd(this,eU).valueAsNumber>0?ru(this,eV,this.playbackRate/this.duration/r):(ru(this,eV,.995*rd(this,eV)),n=rd(this,eU).valueAsNumber+rd(this,eV)),this.callback(n)}}),ru(this,eU,e),this.callback=t,this.fps=i}start(){0===rd(this,eW)&&(ru(this,eF,performance.now()),ru(this,eN,rd(this,eF)),ru(this,e$,0),rd(this,eK).call(this))}stop(){0!==rd(this,eW)&&(cancelAnimationFrame(rd(this,eW)),ru(this,eW,0))}update({start:e,duration:t,playbackRate:i}){let s=e-rd(this,eU).valueAsNumber,r=Math.abs(t-this.duration);(s>0||s<-.03||r>=.5)&&this.callback(e),ru(this,eG,e),ru(this,eH,performance.now()),this.duration=t,this.playbackRate=i}}eU=new WeakMap,eN=new WeakMap,eF=new WeakMap,eB=new WeakMap,e$=new WeakMap,eH=new WeakMap,eG=new WeakMap,eV=new WeakMap,eW=new WeakMap,eK=new WeakMap;var rf=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},rm=(e,t,i)=>(rf(e,t,"read from private field"),i?i.call(e):t.get(e)),rg=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},rp=(e,t,i,s)=>(rf(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),rv=(e,t,i)=>(rf(e,t,"access private method"),i);let rE=(e,t=e.mediaCurrentTime)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,s=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(s)?0:Math.max(0,Math.min((t-i)/(s-i),1))},rb=(e,t=e.range.valueAsNumber)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,s=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(s)?0:t*(s-i)+i};class ry extends iq{constructor(){super(),rg(this,e2),rg(this,e4),rg(this,e6),rg(this,e7),rg(this,tt),rg(this,ts),rg(this,ta),rg(this,tl),rg(this,ej,void 0),rg(this,eq,void 0),rg(this,eY,void 0),rg(this,eQ,void 0),rg(this,ez,void 0),rg(this,eX,void 0),rg(this,eZ,void 0),rg(this,eJ,void 0),rg(this,e0,void 0),rg(this,e1,void 0),rg(this,e8,e=>{!this.dragging&&((0,tH.isValidNumber)(e)&&(this.range.valueAsNumber=e),rm(this,e1)||this.updateBar())}),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),rp(this,eY,this.shadowRoot.querySelectorAll('[part~="box"]')),rp(this,ez,this.shadowRoot.querySelector('[part~="preview-box"]')),rp(this,eX,this.shadowRoot.querySelector('[part~="current-box"]'));const e=getComputedStyle(this);rp(this,eZ,parseInt(e.getPropertyValue("--media-box-padding-left"))),rp(this,eJ,parseInt(e.getPropertyValue("--media-box-padding-right"))),rp(this,eq,new rc(this.range,rm(this,e8),60))}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_PAUSED,tf.MediaUIAttributes.MEDIA_DURATION,tf.MediaUIAttributes.MEDIA_SEEKABLE,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME,tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER,tf.MediaUIAttributes.MEDIA_BUFFERED,tf.MediaUIAttributes.MEDIA_PLAYBACK_RATE,tf.MediaUIAttributes.MEDIA_LOADING,tf.MediaUIAttributes.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",(0,tg.t)("seek")),rv(this,e2,e3).call(this),rp(this,ej,this.getRootNode()),null==(e=rm(this,ej))||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),rv(this,e2,e3).call(this),null==(e=rm(this,ej))||e.removeEventListener("transitionstart",this),rp(this,ej,null)}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),t!=i){if(e===tf.MediaUIAttributes.MEDIA_CURRENT_TIME||e===tf.MediaUIAttributes.MEDIA_PAUSED||e===tf.MediaUIAttributes.MEDIA_ENDED||e===tf.MediaUIAttributes.MEDIA_LOADING||e===tf.MediaUIAttributes.MEDIA_DURATION||e===tf.MediaUIAttributes.MEDIA_SEEKABLE){let e,t,i,s;rm(this,eq).update({start:rE(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),rv(this,e2,e3).call(this),e=this.range,t=(0,tm.formatAsTimePhrase)(+rb(this)),i=(0,tm.formatAsTimePhrase)(+this.mediaSeekableEnd),s=t&&i?`${t} of ${i}`:"video not loaded, unknown time.",e.setAttribute("aria-valuetext",s)}else e===tf.MediaUIAttributes.MEDIA_BUFFERED&&this.updateBufferedBar();(e===tf.MediaUIAttributes.MEDIA_DURATION||e===tf.MediaUIAttributes.MEDIA_SEEKABLE)&&(this.mediaChapter
1678sCues=rm(this,e0),this.updateBar())}}get mediaChaptersCues(){return rm(this,e0)}set mediaChaptersCues(e){var t;rp(this,e0,e),this.updateSegments(null==(t=rm(this,e0))?void 0:t.map(e=>({start:rE(this,e.startTime),end:rE(this,e.endTime)})))}get mediaPaused(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED)}set mediaPaused(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_PAUSED,e)}get mediaLoading(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOADING)}set mediaLoading(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOADING,e)}get mediaDuration(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION)}set mediaDuration(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_DURATION,e)}get mediaCurrentTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(tf.MediaUIAttributes.MEDIA_BUFFERED);return e?e.split(" ").map(e=>e.split(":").map(e=>+e)):[]}set mediaBuffered(e){if(!e)return void this.removeAttribute(tf.MediaUIAttributes.MEDIA_BUFFERED);let t=e.map(e=>e.join(":")).join(" ");this.setAttribute(tf.MediaUIAttributes.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE):this.setAttribute(tf.MediaUIAttributes.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaPreviewImage(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_ENDED)}set mediaEnded(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t,i=this.mediaBuffered;if(!i.length)return;if(this.mediaEnded)t=1;else{let s=this.mediaCurrentTime,[,r=this.mediaSeekableStart]=null!=(e=i.find(([e,t])=>e<=s&&s<=t))?e:[];t=rE(this,r)}let{style:s}=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#buffered");s.setProperty("width",`${100*t}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let e=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#current-rail"),t=(0,tE.getOrInsertCSSRule)(this.shadowRoot,'[part~="current-box"]'),i=rv(this,e6,e9).call(this,rm(this,eX)),s=rv(this,e7,te).call(this,i,this.range.valueAsNumber),r=rv(this,tt,ti).call(this,i,this.range.valueAsNumber);e.style.transform=`translateX(${s})`,e.style.setProperty("--_range-width",`${i.range.width}`),t.style.setProperty("--_box-shift",`${r}`),t.style.setProperty("--_box-width",`${i.box.width}px`),t.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":rv(this,tl,to).call(this);break;case"pointermove":rv(this,ts,tr).call(this,e);break;case"pointerup":rm(this,e1)&&rp(this,e1,!1);break;case"pointerdown":rp(this,e1,!0);break;case"pointerleave":rv(this,ta,tn).call(this,null);break;case"transitionstart":(0,tE.containsComposedNode)(e.target,this)&&setTimeout(()=>rv(this,e2,e3).call(this),0)}}}ej=new WeakMap,eq=new WeakMap,eY=new WeakMap,eQ=new WeakMap,ez=new WeakMap,eX=new WeakMap,eZ=new WeakMap,eJ=new WeakMap,e0=new WeakMap,e1=new WeakMap,e2=new WeakSet,e3=function(){rv(this,e4,e5).call(this)?rm(this,eq).start():rm(this,eq).stop()},e4=new WeakSet,e5=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&(0,tE.isElementVisible)(this)},e8=new WeakMap,e6=new WeakSet,e9=function(e){var t;let i=(null!=(t=this.getAttribute("bounds")?(0,tE.closestComposedNode)(this,`#${this.getAttribute("bounds")}`):this.parentElement)?t:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),r=e.offsetWidth,a=-(s.left-i.left-r/2),n=i.right-s.left-r/2;return{box:{width:r,min:a,max:n},bounds:i,range:s}},e7=new WeakSet,te=function(e,t){let i=`${100*t}%`,{width:s,min:r,max:a}=e.box;if(!s)return i;if(!Number.isNaN(r)){let e=`calc(1 / var(--_range-width) * 100 * ${r}% + var(--media-box-padding-left))`;i=`max(${e}, ${i})`}if(!Number.isNaN(a)){let e=`calc(1 / var(--_range-width) * 100 * ${a}% - var(--media-box-padding-right))`;i=`min(${i}, ${e})`}return i},tt=new WeakSet,ti=function(e,t){let{width:i,min:s,max:r}
1678=e.box,a=t*e.range.width;if(a<s+rm(this,eZ)){let t=e.range.left-e.bounds.left-rm(this,eZ);return`${a-i/2+t}px`}if(a>r-rm(this,eJ)){let t=e.bounds.right-e.range.right-rm(this,eJ);return`${a+i/2-t-e.range.width}px`}return 0},ts=new WeakSet,tr=function(e){let t=[...rm(this,eY)].some(t=>e.composedPath().includes(t));if(!this.dragging&&(t||!e.composedPath().includes(this)))return void rv(this,ta,tn).call(this,null);let i=this.mediaSeekableEnd;if(!i)return;let s=(0,tE.getOrInsertCSSRule)(this.shadowRoot,"#preview-rail"),r=(0,tE.getOrInsertCSSRule)(this.shadowRoot,'[part~="preview-box"]'),a=rv(this,e6,e9).call(this,rm(this,ez)),n=(e.clientX-a.range.left)/a.range.width;n=Math.max(0,Math.min(1,n));let l=rv(this,e7,te).call(this,a,n),o=rv(this,tt,ti).call(this,a,n);s.style.transform=`translateX(${l})`,s.style.setProperty("--_range-width",`${a.range.width}`),r.style.setProperty("--_box-shift",`${o}`),r.style.setProperty("--_box-width",`${a.box.width}px`),1>Math.abs(Math.round(rm(this,eQ))-Math.round(n*i))&&n>.01&&n<.99||(rp(this,eQ,n*i),rv(this,ta,tn).call(this,rm(this,eQ)))},ta=new WeakSet,tn=function(e){this.dispatchEvent(new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:e}))},tl=new WeakSet,to=function(){rm(this,eq).stop();let e=rb(this);this.dispatchEvent(new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e}))},ry.shadowRootOptions={mode:"open"},ry.getContainerTemplateHTML=function(e){return` 1679 <style> 1680 :host { 1681 --media-box-border-radius: 4px; 1682 --media-box-padding-left: 10px; 1683 --media-box-padding-right: 10px; 1684 --media-preview-border-radius: var(--media-box-border-radius); 1685 --media-box-arrow-offset: var(--media-box-border-radius); 1686 --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 1687 --_preview-background: var(--media-preview-background, var(--_control-background)); 1688 1689 1690 contain: layout; 1691 } 1692 1693 #buffered { 1694 background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4)); 1695 position: absolute; 1696 height: 100%; 1697 will-change: width; 1698 } 1699 1700 #preview-rail, 1701 #current-rail { 1702 width: 100%; 1703 position: absolute; 1704 left: 0; 1705 bottom: 100%; 1706 pointer-events: none; 1707 will-change: transform; 1708 } 1709 1710 [part~="box"] { 1711 width: min-content; 1712 1713 position: absolute; 1714 bottom: 100%; 1715 flex-direction: column; 1716 align-items: center; 1717 transform: translateX(-50%); 1718 } 1719 1720 [part~="current-box"] { 1721 display: var(--media-current-box-display, var(--media-box-display, flex)); 1722 margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px)); 1723 visibility: hidden; 1724 } 1725 1726 [part~="preview-box"] { 1727 display: var(--media-preview-box-display, var(--media-box-display, flex)); 1728 margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px)); 1729 transition-property: var(--media-preview-transition-property, visibility, opacity); 1730 transition-duration: var(--media-preview-transition-duration-out, .25s); 1731 transition-delay: var(--media-preview-transition-delay-out, 0s); 1732 visibility: hidden; 1733 opacity: 0; 1734 } 1735 1736 :host(:is([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}], [${tf.MediaUIAttributes.MEDIA_PREVIEW_TIME}])[dragging]) [part~="preview-box"] { 1737 transition-duration: var(--media-preview-transition-duration-in, .5s); 1738 transition-delay: var(--media-preview-transition-delay-in, .25s); 1739 visibility: visible; 1740 opacity: 1; 1741 } 1742 1743 @media (hover: hover) { 1744 :host(:is([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}], [${tf.MediaUIAttributes.MEDIA_PREVIEW_TIME}]):hover) [part~="preview-box"] { 1745 transition-duration: var(--media-preview-transition-duration-in, .5s); 1746 transition-delay: var(--media-preview-transition-delay-in, .25s); 1747 visibility: visible; 1748 opacity: 1; 1749 } 1750 } 1751
1752 media-preview-thumbnail, 1753 ::slotted(media-preview-thumbnail) { 1754 visibility: hidden; 1755 1756 transition: visibility 0s .25s; 1757 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1758 background: var(--media-preview-thumbnail-background, var(--_preview-background)); 1759 box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2)); 1760 max-width: var(--media-preview-thumbnail-max-width, 180px); 1761 max-height: var(--media-preview-thumbnail-max-height, 160px); 1762 min-width: var(--media-preview-thumbnail-min-width, 120px); 1763 min-height: var(--media-preview-thumbnail-min-height, 80px); 1764 border: var(--media-preview-thumbnail-border); 1765 border-radius: var(--media-preview-thumbnail-border-radius, 1766 var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0); 1767 } 1768 1769 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail, 1770 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) { 1771 transition-delay: var(--media-preview-transition-delay-in, .25s); 1772 visibility: visible; 1773 } 1774 1775 @media (hover: hover) { 1776 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail, 1777 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) { 1778 transition-delay: var(--media-preview-transition-delay-in, .25s); 1779 visibility: visible; 1780 } 1781 1782 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_TIME}]:hover) { 1783 --media-time-range-hover-display: block; 1784 } 1785 } 1786 1787 media-preview-chapter-display, 1788 ::slotted(media-preview-chapter-display) { 1789 font-size: var(--media-font-size, 13px); 1790 line-height: 17px; 1791 min-width: 0; 1792 visibility: hidden; 1793 1794 transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s; 1795 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1796 background: var(--media-preview-chapter-background, var(--_preview-background)); 1797 border-radius: var(--media-preview-chapter-border-radius, 1798 var(--media-preview-border-radius) var(--media-preview-border-radius) 1799 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1800 padding: var(--media-preview-chapter-padding, 3.5px 9px); 1801 margin: var(--media-preview-chapter-margin, 0 0 5px); 1802 text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1803 } 1804 1805 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display, 1806 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) { 1807 transition-delay: var(--media-preview-transition-delay-in, .25s); 1808 border-radius: var(--media-preview-chapter-border-radius, 0); 1809 padding: var(--media-preview-chapter-padding, 3.5px 9px 0); 1810 margin: var(--media-preview-chapter-margin, 0); 1811 min-width: 100%; 1812 } 1813 1814 media-preview-chapter-display[${tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER}], 1815 ::slotted(media-preview-chapter-display[${tf.MediaUIAttributes.MEDIA_PREVIEW_CHAPTER}]) { 1816 visibility: visible; 1817 } 1818 1819 media-preview-chapter-display:not([aria-valuetext]), 1820 ::slotted(media-preview-chapter-display:not([aria-valuetext])) { 1821 display: none; 1822 } 1823 1824 media-preview-time-display, 1825 ::slotted(media-preview-time-display), 1826 media-time-display, 1827 ::slotted(media-time-display) { 1828 font-size: var(--media-font-size, 13px); 1829 line-height: 17px; 1830 min-width: 0; 1831 1832 transition: min-width 0s, border-radius 0s; 1833 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1834 background: var(--media-preview-time-background, var(--_preview-background)); 1835 border-radius: var(--media-preview-time-border-radius, 1836 var(--media-preview-border-radius) var(--media-preview-border-radius) 1837 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1838 padding: var(--media-preview-time-padding, 3.5px 9px); 1839 margin: var(--media-preview-time-margin, 0); 1840 text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1841 transform: translateX(min( 1842 max(calc(50% - var(--_box-width) / 2), 1843 calc(var(--_box-shift, 0))), 1844 calc(var(--_box-width) / 2 - 50%) 1845 )); 1846 } 1847 1848 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display, 1849 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) { 1850 transition-delay: var(--media-preview-transition-delay-in, .25s); 1851 border-radius: var(--media-preview-time-border-radius, 1852 0 0 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1853 min-width: 100%; 1854 } 1855 1856 :host([${tf.MediaUIAttributes.MEDIA_PREVIEW_TIME}]:hover) { 1857 --media-time-range-hover-display: block; 1858 } 1859 1860 [part~="arrow"], 1861 ::slotted([part~="arrow"]) { 1862 display: var(--media-box-arrow-display, inline-block); 1863 transform: translateX(min( 1864 max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)), 1865 calc(var(--_box-shift, 0))), 1866 calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset)) 1867 )); 1868 1869 border-color: transparent; 1870 border-top-color: var(--media-box-arrow-background, var(--_control-background)); 1871 border-width: var(--media-box-arrow-border-width, 1872 var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0); 1873 border-style: solid; 1874 justify-content: center; 1875 height: 0; 1876 } 1877 </style> 1878 <div id="preview-rail"> 1879 <slot name="preview" part="box preview-box">
1880 <media-preview-thumbnail> 1881 <template shadowrootmode="${s0.shadowRootOptions.mode}"> 1882 ${s0.getTemplateHTML({})} 1883 </template> 1884 </media-preview-thumbnail> 1885 <media-preview-chapter-display></media-preview-chapter-display> 1886 <media-preview-time-display></media-preview-time-display> 1887 <slot name="preview-arrow"><div part="arrow"></div></slot> 1888 </slot> 1889 </div> 1890 <div id="current-rail"> 1891 <slot name="current" part="box current-box"> 1892 1893 </slot> 1894 </div> 1895 `},tp.globalThis.customElements.get("media-time-range")||tp.globalThis.customElements.define("media-time-range",ry);var rT=e.i(244899);class rA extends iq{static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_VOLUME,tf.MediaUIAttributes.MEDIA_MUTED,tf.MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",(0,tg.t)("volume"))}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_VOLUME||e===tf.MediaUIAttributes.MEDIA_MUTED){let e;this.range.valueAsNumber=this.mediaMuted?0:this.mediaVolume,this.range.setAttribute("aria-valuetext",(e=this.range.valueAsNumber,`${Math.round(100*e)}%`)),this.updateBar()}}get mediaVolume(){return(0,tE.getNumericAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME,
18951)}set mediaVolume(e){(0,tE.setNumericAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME,e)}get mediaMuted(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_MUTED)}set mediaMuted(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return(0,tE.getStringAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){(0,tE.setStringAttr)(this,tf.MediaUIAttributes.MEDIA_VOLUME_UNAVAILABLE,e)}}tp.globalThis.customElements.get("media-volume-range")||tp.globalThis.customElements.define("media-volume-range",rA);var rS=ib;class rI extends rS.MediaChromeButton{constructor(){super(...arguments),this.container=null}static get observedAttributes(){return[...super.observedAttributes,tf.MediaUIAttributes.MEDIA_LOOP]}connectedCallback(){var e;super.connectedCallback(),this.container=(null==(e=this.shadowRoot)?void 0:e.querySelector("#icon"))||null,this.container&&(this.container.textContent=(0,tg.t)("Loop"))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===tf.MediaUIAttributes.MEDIA_LOOP&&this.container&&this.setAttribute("aria-checked",this.mediaLoop?"true":"false")}get mediaLoop(){return(0,tE.getBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOOP)}set mediaLoop(e){(0,tE.setBooleanAttr)(this,tf.MediaUIAttributes.MEDIA_LOOP,e)}handleClick(){let e=!this.mediaLoop,t=new tp.globalThis.CustomEvent(tf.MediaUIEvents.MEDIA_LOOP_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}rI.getSlotTemplateHTML=function(e){return` 1896 <style> 1897 :host { 1898 min-width: 4ch; 1899 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1900 width: 100%; 1901 display: grid; 1902 grid-template-columns: 1fr auto; 1903 gap: 1rem; 1904 font-weight: var(--media-button-font-weight, normal); 1905 } 1906 1907 #checked-indicator { 1908 display: none; 1909 } 1910 1911 :host([${tf.MediaUIAttributes.MEDIA_LOOP}]) #checked-indicator { 1912 display: block; 1913 } 1914 </style> 1915 1916 <span id="icon"> 1917 </span> 1918 1919 <div id="checked-indicator"> 1920 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 1921 <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/> 1922 </svg> 1923 </div> 1924 `},rI.getTooltipContentHTML=function(){return(0,tg.t)("Loop")},tp.globalThis.customElements.get("media-loop-button")||tp.globalThis.customElements.define("media-loop-button",rI);function rL(e){return"boolean"==typeof e?e?"":void 0:"function"==typeof e?void 0:Array.isArray(e)&&e.every(e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e)?e.join(" "):"object"!=typeof e||null===e?e:void 0}(0,tc.createComponent)({tagName:"media-gesture-receiver",elementClass:tS,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-container",elementClass:tB,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rk=(0,tc.createComponent)({tagName:"media-controller",elementClass:il,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-tooltip",elementClass:rT.default,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-chrome-button",elementClass:ib.default,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-airplay-button",elementClass:iA,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rR=(0,tc.createComponent)({tagName:"media-captions-button",elementClass:iR,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-cast-button",elementClass:iD,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-chrome-dialog",elementClass:i$,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-chrome-range",elementClass:iq,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rM=(0,tc.createComponent)({tagName:"media-control-bar",elementClass:iZ,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-text-display",elementClass:i3,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-duration-display",elementClass:i8,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-error-dialog",elementClass:ss,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-keyboard-shortcuts-dialog",elementClass:sn,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rC=(0,tc.createComponent)({tagName:"media-fullscreen-button",elementClass:sc,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-live-button",elementClass:sb,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let r_=(0,tc.createComponent)({tagName:"media-loading-indicator",elementClass:sM,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),rw=(0,tc.createComponent)({tagName:"media-mute-button",elementClass:sP,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-pip-button",elementClass:sF,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-playback-rate-button",elementClass:sB.default,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rD=(0,tc.createComponent)({tagName:"media-play-button",elementClass:sW,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-poster-image",elementClass:sq,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-preview-chapter-display",elementClass:sQ,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}
1924),(0,tc.createComponent)({tagName:"media-preview-thumbnail",elementClass:s0,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-preview-time-display",elementClass:s3,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-seek-backward-button",elementClass:s8,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-seek-forward-button",elementClass:s7,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});let rx=(0,tc.createComponent)({tagName:"media-time-display",elementClass:rl,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),rP=(0,tc.createComponent)({tagName:"media-time-range",elementClass:ry,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}});(0,tc.createComponent)({tagName:"media-volume-range",elementClass:rA,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),(0,tc.createComponent)({tagName:"media-loop-button",elementClass:rI,react:th.default,toAttributeValue:rL,defaultProps:{suppressHydrationWarning:!0}}),e.s(["MediaCaptionsButton",0,rR,"MediaControlBar",0,rM,"MediaController",0,rk,"MediaFullscreenButton",0,rC,"MediaLoadingIndicator",0,r_,"MediaMuteButton",0,rw,"MediaPlayButton",0,rD,"MediaTimeDisplay",0,rx,"MediaTimeRange",0,rP],220923);var rO=e.i(747426),rU=e.i(587939);let rN=(0,th.createContext)({video:{url:"",id:"",title:""},overlay:{showWhenPaused:!1}}),rF="(max-width: 768px) 100vw, 800px",rB=({src:e,alt:t,sizes:i=rF,priority:s=!1})=>s?(0,td.jsx)("img",{src:e,alt:t,crossOrigin:"anonymous",fetchPriority:"high",decoding:"async",className:"z-1 absolute inset-0 h-full w-full bg-black/20 object-cover"}):(0,td.jsx)(tu.default,{src:e,alt:t,fill:!0,sizes:i,className:"z-1 bg-black/20 object-cover"});e.s(["MediaPlayerContextProvider",0,({children:e,video:t,overlay:i,previewVideo:s})=>(0,td.jsx)(rN.Provider,{value:{video:t,overlay:i,previewVideo:s},children:(0,td.jsx)(rO.MediaProvider,{children:e})}),"MediaPlayerRoot",0,({className:e,children:t,priority:i=!1})=>{let{video:s}=(0,th.useContext)(rN),[r,a]=(0,th.useState)(!1);return(0,th.useEffect)(()=>{a(!0)},[]),(0,td.jsxs)(td.Fragment,{children:[s?.poster&&(0,td.jsx)(rB,{src:s.poster,alt:`${s?.title} poster`,sizes:s?.posterSizes,priority:i}),r&&(0,td.jsx)(rk,{id:`mediacontroller-${s?.id}`,"data-media-player":!0,className:(0,rU.cn)(e,"group/mediaplayercontroller z-2 absolute inset-0 isolate overflow-hidden"),children:t})]})},"useMediaPlayerContext",0,()=>(0,th.useContext)(rN)],724965)},969797,e=>{"use strict";var t=e.i(586507),i=e.i(699294),s=e.i(838078),r=e.i(747426),a=e.i(744777);e.s(["SettingsMenu",0,({labels:e}={})=>{let n=(0,i.useRef)(null),l=(0,r.useMediaSelector)(e=>e?.mediaPlaybackRate),o=(0,r.useMediaSelector)(e=>e?.mediaRenditionSelected),d=(0,r.useMediaSelector)(e=>e?.mediaRenditionList),h=e?.speed??"Speed",u=e?.quality??"Quality",c=e?.auto??"Auto";return(0,i.useLayoutEffect)(()=>{let e=n.current;e&&(e.formatMenuItemText=e=>"Auto"!==c?e.replace(/^Auto/,c):e)},[c]),(0,t.jsxs)(s.MediaSettingsMenu,{anchor:"auto",hidden:!0,children:[(0,t.jsxs)(s.MediaSettingsMenuItem,{children:[h,(0,t.jsxs)("span",{slot:"description",children:[l,"x"]}),(0,t.jsx)(a.ChevronIcon,{slot:"suffix"}),(0,t.jsxs)(s.MediaPlaybackRateMenu,{slot:"submenu",hidden:!0,children:[(0,t.jsx)("span",{slot:"title",children:h}),(0,t.jsx)(a.ChevronIcon,{slot:"back-icon"})]})]}),(0,t.jsxs)(s.MediaSettingsMenuItem,{children:[u,(0,t.jsx)("span",{slot:"description",children:d&&null!=o?`${d[Number(o)]?.height}p`:c}),(0,t.jsx)(a.ChevronIcon,{slot:"suffix"}),(0,t.jsxs)(s.MediaRenditionMenu,{ref:n,slot:"submenu",hidden:!0,children:[(0,t.jsx)("span",{slot:"title",children:u}),(0,t.jsx)(a.ChevronIcon,{slot:"back-icon"})]})]})]})}])},525548,e=>{"use strict";var t=e.i(586507),i=e.i(699294),s=e.i(601756),r=e.i(747426),a=e.i(220923),n=e.i(556836),l=e.i(587939),o=e.i(71717),d=e.i(396645),h=e.i(724965);let u=()=>"u">typeof navigator&&/Android/i.test(navigator.userAgent);e.s(["Video",0,({analyticsId:e,muted:c,loop:f,autoplay:m,playsInl
1924ine:g,onPlay:p,onPause:v,onEnded:E,className:b})=>{let y=(0,r.useMediaRef)(),T=(0,r.useMediaDispatch)(),[A,S]=(0,i.useState)(!1),I=(0,i.useRef)(null),{video:L}=(0,h.useMediaPlayerContext)(),k=(0,s.useInView)(I,{once:!1,amount:.75}),R=(0,s.useInView)(I,{margin:"200px",once:!0}),M=(0,r.useMediaSelector)(e=>+(e.mediaCurrentTime??0)?.toFixed(0));return(0,i.useEffect)(()=>{let e="u">typeof navigator&&/iPhone|iPod|iPad/.test(navigator.userAgent);k||!A||e||(S(!1),T({type:r.MediaActionTypes.MEDIA_PAUSE_REQUEST}))},[k,A,T]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.default,{slot:"media",ref:e=>{y(e),e&&(I.current=e)},src:R?L?.url:void 0,poster:R?L?.poster:void 0,crossOrigin:"",className:(0,l.cn)("@container z-(--z-index-slot-video) h-full w-full overflow-hidden bg-transparent",b),controls:!1,playsInline:g??u(),autoplay:m,defaultMuted:c,loop:f,onPlay:t=>{S(!0),T({type:r.MediaActionTypes.MEDIA_PLAY_REQUEST}),p?.(t),(0,o.triggerAnalyticsEvent)({action:d.TrackingAction.Play,type:d.TrackingType.Video,text:`Played from ${M}s`,analyticsId:`${e}_play`,location:L.id})},onPause:t=>{S(!1),T({type:r.MediaActionTypes.MEDIA_PAUSE_REQUEST}),u()&&T({type:r.MediaActionTypes.MEDIA_EXIT_FULLSCREEN_REQUEST}),v?.(t),(0,o.triggerAnalyticsEvent)({action:d.TrackingAction.Pause,type:d.TrackingType.Video,text:`Paused at ${M}s`,analyticsId:`${e}_pause`,location:L.id})},onEnded:t=>{S(!1),T({type:r.MediaActionTypes.MEDIA_PAUSE_REQUEST}),E?.(t),(0,o.triggerAnalyticsEvent)({action:d.TrackingAction.End,type:d.TrackingType.Video,text:"Video ended",analyticsId:`${e}_ended`,location:L.id})},children:[L?.storyboard&&(0,t.jsx)("track",{label:"thumbnails",default:!0,kind:"metadata",src:L.storyboard}),L?.captions&&(0,t.jsx)("track",{default:L.captionsDefault,label:"captions",kind:"captions",src:L.captions})]}),(0,t.jsx)(a.MediaLoadingIndicator,{slot:"centered-chrome",noAutohide:!0})]})}])}]); 1925 1926//# debugId=dab90179-d71b-72e3-c906-b4479c64251c 1927//# sourceMappingURL=31eoo_iaioco1.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.