PageSourceSearch

https://swissblock.net/_next/static/chunks/6d0c9fb5-ab02efa6f831596d.js

js swissblock.net collected 2026-10-03 23:45:02 UTC 141,282 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6122],{2604:function(e,t,i){i.d(t,{$I:function(){return ej},Be:function(){return t9},Cv:function(){return tF},Er:function(){return tD},F$:function(){return t1},Fl:function(){return tV},Id:function(){return t5},Je:function(){return tL},K3:function(){return tT},LD:function(){return tZ},QF:function(){return tO},Rt:function(){return tQ},UP:function(){return tM},Vi:function(){return tB},WV:function(){return ii},Xm:function(){return tX},ZJ:function(){return t0},Zf:function(){return tY},_1:function(){return tI},_S:function(){return p},a2:function(){return D},bj:function(){return tU},cA:function(){return tH},dc:function(){return tG},e0:function(){return t4},eV:function(){return tj},gV:function(){return t6},hA:function(){return t3},ib:function(){return tJ},j9:function(){return ir},jh:function(){return t2},kH:function(){return m},nA:function(){return o},nq:function(){return tu},ns:function(){return t_},u9:function(){return tz},v$:function(){return tW},w_:function(){return g},zY:function(){return tK},zh:function(){return tN}});var s=i(323),a=i(9904),r=i(8573),n=i(7294);function h(e){return!(0,s.isString)(e)&&"width"in e&&"height"in e&&(0,s.isNumber)(e.width)&&(0,s.isNumber)(e.height)}let o=new s.State({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new a.TimeRange,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:(0,a.canOrientScreen)(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,get iOSControl
1s(){return a.IS_IPHONE&&"video"===this.mediaType&&(!this.playsInline||!s.fscreen.fullscreenEnabled&&this.fullscreen)},get nativeControls(){return this.controls||this.iOSControls},controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new a.TimeRange,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new a.TimeRange,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(a.isTrackCaptionKind).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.ended?this.duration:this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get duration(){return this.seekableWindow},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return"unknown"!==this.providedViewType?this.providedViewType:this.inferredViewType},get streamType(){return"unknown"!==this.providedStreamType?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){let e=(0,a.getTimeRangesStart)(this.buffered)??0;return Math.max(e,this.clipStartTime)},get bufferedEnd(){let e=(0,a.getTimeRangesEnd)(this.buffered)??0;return Math.min(this.seekableEnd,Math.max(0,e-this.clipStartTime))},get bufferedWindow(){return Math.max(0,this.bufferedEnd-this.bufferedStart)}
1,get seekableStart(){if(this.isLiveDVR&&this.liveDVRWindow>0)return Math.max(0,this.seekableEnd-this.liveDVRWindow);let e=(0,a.getTimeRangesStart)(this.seekable)??0;return Math.max(e,this.clipStartTime)},get seekableEnd(){if(this.providedDuration>0)return this.providedDuration;let e=this.liveSyncPosition>0?this.liveSyncPosition:this.canPlay?(0,a.getTimeRangesEnd)(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,e):e},get seekableWindow(){let e=this.seekableEnd-this.seekableStart;return isNaN(e)?1/0:Math.max(0,e)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return"airplay"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},get isGoogleCastConnected(){return"google-cast"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.duration)&&(!this.isLiveDVR||this.duration>=this.liveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.duration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,this.seekableEnd-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},get isLiveDVR(){return/:dvr/.test(this.streamType)},get liveDVRWindow(){return Math.max(this.inferredLiveDVRWindow,this.minLiveDVRWindow)},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,inferredLiveDVRWindow:0,savedState:null}),l=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),d=new Set([...l,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","inferredLiveDVRWindow","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function u(e,t=!1){let i=t?l:d;o.reset(e,e=>i.has(e)),(0,s.tick)()}function c(e,t){let i=e+t.clipStartTime(),s=i<=t.seekableStart(),a=i>=t.seekableEnd();return s?t.seekableStart():a?t.seekableEnd():t.isLiveDVR()&&t.liveDVRWindow()>0&&i<t.seekableEnd()-t.liveDVRWindow()?t.bufferedStart():Math.min(Math.max(t.seekableStart()+.1,i),t.seekableEnd()-.1)}let p=(0,s.createContext)();function m(){return(0,s.useContext)(p)}Symbol(0);var g=class{#e=null;#t=null;#i=-1;#s;constructor(e){this.#s=e}setTarget(e){this.#e=e}getPlayer(e){return this.#t||(e??this.#e)?.dispatchEvent(new s.DOMEvent("find-media-player",{detail:e=>void(this.#t=e),bubbles:!0,composed:!0})),this.#t}setPlayer(e){this.#t=e}startLoading(e){this.#a("media-start-loading",e)}startLoadingPoster(e){this.#a("media-poster-start-loading",e)}requestAirPlay(e){this.#a("media-airplay-request",e)}requestGoogleCast(e){this.#a("media-google-cast-request",e)}play(e){this.#a("media-play-request",e)}pause(e){this.#a("media-pause-request",e)}mute(e){this.#a("media-mute-request",e)}unmute(e){this.#a("media-unmute-request",e)}enterFullscreen(e,t){this.#a("media-enter-fullscreen-request",t,e)}exitFullscreen(e,t){this.#a("media-exit-fullscreen-request",t,e)}lockScreenOrientation(e,t){this.#a("media-orientation-lock-request",t,e)}unlockScreenOrientation(e){this.#a("media-orientation-unlock-request",e)}enterPictureInPicture(e){this.#a("media-enter-pip-request",e)}exitPictureInPicture(e){this.#a("media-exit-pip-request",e)}seeking(e,t){this.#a("media-seeking-request",t,e)}seek(e,t){this.#a("media-seek-request",t,e)}seekToLiveEdge(e){this.#a("media-live-edge-request",e)}changeDuration(e,t){this.#a("media-duration-change-request",t,e)}changeClipStart(e,t){this.#a("media-clip-start-change-request",t,e)}changeClipEnd(e,t){this.#a("media-clip-end-change-request",t,e)}changeVolume(e,t){this.#a("media-volume-change-request",t,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,t){this.#a("media-audio-track-change-request",t,e)}changeQuality(e,t){this.#a("media-quality-change-request",t,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,t,i){this.#a("media-text-track-change-request",i,{index:e,mode:t})}changePlaybackRate(e,t){this.#a("media-rate-change-request",t,e)}changeAudioGain(e,t){this.#a("media-audio-gain-change-request",t,e)}
1resumeControls(e){this.#a("media-resume-controls-request",e)}pauseControls(e){this.#a("media-pause-controls-request",e)}togglePaused(e){let t=this.getPlayer(e?.target);t&&(t.state.paused?this.play(e):this.pause(e))}toggleControls(e){let t=this.getPlayer(e?.target);t&&(t.controls.showing?t.controls.hide(0,e):t.controls.show(0,e))}toggleMuted(e){let t=this.getPlayer(e?.target);t&&(t.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,t){let i=this.getPlayer(t?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,t):this.enterFullscreen(e,t))}togglePictureInPicture(e){let t=this.getPlayer(e?.target);t&&(t.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}showCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=this.#i;i[s]&&(0,a.isTrackCaptionKind)(i[s])||(s=-1),-1===s&&(s=i.findIndex(e=>(0,a.isTrackCaptionKind)(e)&&e.default)),-1===s&&(s=i.findIndex(e=>(0,a.isTrackCaptionKind)(e))),s>=0&&this.changeTextTrackMode(s,"showing",e),this.#i=-1}disableCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=t.state.textTrack;if(s){let t=i.indexOf(s);this.changeTextTrackMode(t,"disabled",e),this.#i=t}}toggleCaptions(e){let t=this.getPlayer(e?.target);t&&(t.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(e,t){this.#a("media-user-loop-change-request",t,e)}#a(e,t,i){let a=new s.DOMEvent(e,{bubbles:!0,composed:!0,cancelable:!0,detail:i,trigger:t}),r=t?.target||null;r&&r instanceof s.Component&&(r=r.el),r=!r||r===document||r===window||r===document.body||this.#t?.el&&r instanceof Node&&!this.#t.el.contains(r)?this.#e??this.getPlayer()?.el:r??this.#e,this.#t&&("media-play-request"!==e||this.#t.state.canLoad)?this.#t.canPlayQueue.enqueue(e,()=>r?.dispatchEvent(a)):r?.dispatchEvent(a)}#r(r){}},f=class{playerId="vds-player";mediaId=null;#n={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null};async getVolume(){return this.#n.volume}async setVolume(e){this.#n.volume=e,this.save()}async getMuted(){return this.#n.muted}async setMuted(e){this.#n.muted=e,this.save()}async getTime(){return this.#n.time}async setTime(e,t){let i=e<0;this.#n.time=i?null:e,i||t?this.saveTime():this.saveTimeThrottled()}async getLang(){return this.#n.lang}async setLang(e){this.#n.lang=e,this.save()}async getCaptions(){return this.#n.captions}async setCaptions(e){this.#n.captions=e,this.save()}async getPlaybackRate(){return this.#n.rate}async setPlaybackRate(e){this.#n.rate=e,this.save()}async getAudioGain(){return this.#n.audioGain}async setAudioGain(e){this.#n.audioGain=e,this.save()}async getVideoQuality(){return this.#n.quality}async setVideoQuality(e){this.#n.quality=e,this.save()}onChange(e,t,i="vds-player"){let s=i?localStorage.getItem(i):null,a=t?localStorage.getItem(t):null;this.playerId=i,this.mediaId=t,this.#n={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...s?JSON.parse(s):{},time:a?+a:null}}save(){if(a.IS_SERVER||!this.playerId)return;let e=JSON.stringify({...this.#n,time:void 0});localStorage.setItem(this.playerId,e)}saveTimeThrottled=(0,s.functionThrottle)(this.saveTime.bind(this),1e3);saveTime(){if(a.IS_SERVER||!this.mediaId)return;let e=(this.#n.time??0).toString();localStorage.setItem(this.mediaId,e)}},y=class extends s.EventsTarget{items=[];[a.ListSymbol.readonly]=!1;get length(){return this.items.length}get readonly(){return this[a.ListSymbol.readonly]}indexOf(e){return this.items.indexOf(e)}getById(e){return""===e?null:this.items.find(t=>t.id===e)??null}toArray(){return[...this.items]}[Symbol.iterator](){return this.items.values()}[a.ListSymbol.add](e,t){let i=this.items.length;""+i in this||Object.defineProperty(this,i,{get(){return this.items[i]}}),this.items.includes(e)||(this.items.push(e),this.dispatchEvent(new s.DOMEvent("add",{detail:e,trigger:t})))}[a.ListSymbol.remove](e,t){let i=this.items.indexOf(e);i>=0&&(this[a.ListSymbol.onRemove]?.(e,t),this.items.splice(i,1),this.dispatchEvent(new s.DOMEvent("remove",{detail:e,trigger:t})))}[a.ListSymbol.reset](e){for(let t of[...this.items])this[a.ListSymbol.remove](t,e);this.items=[],this[a.ListSymbol.setReadonly](!1,e),this[a.ListSymbol.onReset]?.()}[a.ListSymbol.setReadonly](e,t){this[a.ListSymbol.readonly]!==e&&(this[a.ListSymbol.readonly]=e,this.dispatchEvent(new s.DOMEvent("readonly-change",{detail:e,trigger:t})))}};let b=Symbol(0);var v=class extends y{get selected(){return this.items.find(e=>e.selected)??null}get selectedIndex(){return this.items.findIndex(e=>e.selected)}[a.ListSymbol.onRemove](e,t){this[a.ListSymbol.select](e,!1,t)}[a.ListSymbol.add](e,t){e[b]=!1,Object.defineProperty(e,"selected",{get(){return this[b]},set:t=>
1{this.readonly||(this[a.ListSymbol.onUserSelect]?.(),this[a.ListSymbol.select](e,t))}}),super[a.ListSymbol.add](e,t)}[a.ListSymbol.select](e,t,i){if(t===e?.[b])return;let a=this.selected;e&&(e[b]=t),(t?a!==e:a===e)&&(a&&(a[b]=!1),this.dispatchEvent(new s.DOMEvent("change",{detail:{prev:a,current:this.selected},trigger:i})))}},k=class extends v{};function w(e,t){let i=t.composedPath()[0];return(0,s.isDOMNode)(i)&&e.contains(i)}let S=new Set;function $(e,t,i){e.hasAttribute(t)||e.setAttribute(t,i)}function T(e,t){if(!(e.hasAttribute("aria-label")||e.hasAttribute("data-no-label"))){if(!(0,s.isFunction)(t)){(0,s.setAttribute)(e,"aria-label",t);return}a.IS_SERVER?i():(0,s.effect)(i)}function i(){(0,s.setAttribute)(e,"aria-label",t())}}function P(e){let t=getComputedStyle(e);return"none"!==t.display&&parseInt(t.opacity)>0}function x(e,t){var i;return i=()=>t(!!e&&("checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):P(e))),S.add(i),()=>S.delete(i)}function E(e,t,i){for(;t;)if(t===e)return!0;else if(i?.(t))break;else t=t.parentElement;return!1}function C(e,t){return new s.EventsController(e).add("pointerup",e=>{0!==e.button||e.defaultPrevented||t(e)}).add("keydown",e=>{(0,s.isKeyboardClick)(e)&&t(e)})}function q(e){return(0,s.isTouchEvent)(e)&&(e.touches.length>1||e.changedTouches.length>1)}function A(e){return e instanceof HTMLElement}a.IS_SERVER||function e(){for(let e of S)try{e()}catch(e){}window.requestAnimationFrame(e)}();var R=class{priority=0;#h=!0;#o=null;#l=null;#d=new Set;canRender(e,t){return!!t}attach(e){this.#o=e,e&&(e.textTracks.onchange=this.#u.bind(this))}addTrack(e){this.#d.add(e),this.#c(e)}removeTrack(e){e[a.TextTrackSymbol.native]?.remove?.(),e[a.TextTrackSymbol.native]=null,this.#d.delete(e)}changeTrack(e){let t=e?.[a.TextTrackSymbol.native];t&&"showing"!==t.track.mode&&(t.track.mode="showing"),this.#l=e}setDisplay(e){this.#h=e,this.#u()}detach(){for(let e of(this.#o&&(this.#o.textTracks.onchange=null),this.#d))this.removeTrack(e);this.#d.clear(),this.#o=null,this.#l=null}#c(e){if(!this.#o)return;let t=e[a.TextTrackSymbol.native]??=this.#p(e);A(t)&&(this.#o.append(t),t.track.mode=t.default?"showing":"disabled")}#p(t){let e=document.createElement("track"),i=t.default||"showing"===t.mode,s=t.src&&"vtt"===t.type;return e.id=t.id,e.src=s?t.src:"",e.label=t.label,e.kind=t.kind,e.default=i,t.language&&(e.srclang=t.language),i&&!s&&this.#m(t,e.track),e}
1#m(i,s){if(!(i.src&&"vtt"===i.type||s.cues?.length))for(let e of i.cues)s.addCue(e)}#u(r){for(let e of this.#d){let t=e[a.TextTrackSymbol.native];if(!t)continue;if(!this.#h){t.track.mode=t.managed?"hidden":"disabled";continue}let i="showing"===t.track.mode;i&&this.#m(e,t.track),e.setMode(i?"showing":"disabled",r)}}},I=class{#o=null;#g;#f=[];#y;#b=!1;#v=null;#k=null;constructor(e){this.#y=e;let t=e.textTracks;this.#g=t,(0,s.effect)(this.#w.bind(this)),(0,s.onDispose)(this.#S.bind(this)),new s.EventsController(t).add("add",this.#$.bind(this)).add("remove",this.#T.bind(this)).add("mode-change",this.#P.bind(this))}#w(){let{nativeControls:e}=this.#y.$state;this.#b=e(),this.#P()}add(e){this.#f.push(e),(0,s.untrack)(this.#P.bind(this))}remove(e){e.detach(),this.#f.splice(this.#f.indexOf(e),1),(0,s.untrack)(this.#P.bind(this))}attachVideo(e){requestAnimationFrame(()=>{if(this.#o=e,e)for(let t of(this.#v=new R,this.#v.attach(e),this.#g))this.#x(t);this.#P()})}#x(e){(0,a.isTrackCaptionKind)(e)&&this.#v?.addTrack(e)}#E(t){(0,a.isTrackCaptionKind)(t)&&this.#v?.removeTrack(t)}#$(i){this.#x(i.detail)}#T(r){this.#E(r.detail)}#P(){let e=this.#g.selected;if(this.#o&&(this.#b||e?.[a.TextTrackSymbol.nativeHLS])){this.#k?.changeTrack(null),this.#v?.setDisplay(!0),this.#v?.changeTrack(e);return}if(this.#v?.setDisplay(!1),this.#v?.changeTrack(null),!e){this.#k?.changeTrack(null);return}let t=this.#f.sort((e,t)=>e.priority-t.priority).find(t=>t.canRender(e,this.#o));this.#k!==t&&(this.#k?.detach(),t?.attach(this.#o),this.#k=t??null),t?.changeTrack(e)}#S(){this.#v?.detach(),this.#v=null,this.#k?.detach(),this.#k=null}},M=class extends y{#C=!1;#q={};#A=null;#R=null;[a.TextTrackSymbol.crossOrigin];constructor(){super()}get selected(){return this.items.find(e=>"showing"===e.mode&&(0,a.isTrackCaptionKind)(e))??null}get selectedIndex(){let e=this.selected;return e?this.indexOf(e):-1}get preferredLang(){return this.#R}set preferredLang(e){this.#R=e,this.#I(e)}add(e,t){let i=e instanceof a.TextTrack?e:new a.TextTrack(e),s="captions"===e.kind||"subtitles"===e.kind?"captions":e.kind;return this.#q[s]&&e.default&&delete e.default,i.addEventListener("mode-change",this.#M),this[a.ListSymbol.add](i,t),i[a.TextTrackSymbol.crossOrigin]=this[a.TextTrackSymbol.crossOrigin],this.#C&&i[a.TextTrackSymbol.canLoad](),e.default&&(this.#q[s]=i),this.#V(),this}remove(e,t){if(this.#D=e,this.items.includes(e))return e===this.#q[e.kind]&&delete this.#q[e.kind],e.mode="disabled",e[a.TextTrackSymbol.onModeChange]=null,e.removeEventListener("mode-change",this.#M),this[a.ListSymbol.remove](e,t),this.#D=null,this}clear(e){for(let t of[...this.items])this.remove(t,e);return this}getByKind(e){let t=Array.isArray(e)?e:[e];return this.items.filter(e=>t.includes(e.kind))}[a.TextTrackSymbol.canLoad](){if(!this.#C){for(let e of this.items)e[a.TextTrackSymbol.canLoad]();this.#C=!0,this.#V()}}#V=(0,s.functionDebounce)(async()=>{if(!this.#C)return;!this.#R&&this.#A&&(this.#R=await this.#A.getLang());let e=await this.#A?.getCaptions();for(let t of[["captions","subtitles"],"chapters","descriptions","metadata"]){let i=this.getByKind(t);if(i.find(e=>"showing"===e.mode))continue;let r=this.#R?i.find(e=>e.language===this.#R):null,n=(0,s.isArray)(t)?this.#q[t.find(e=>this.#q[e])||""]:this.#q[t],h=r??n,o=h&&(0,a.isTrackCaptionKind)(h);h&&(!o||!1!==e)&&(h.mode="showing",o&&this.#L(h))}},300);#D=null;#M=this.#O.bind(this);#O(e){let t=e.detail;if(this.#A&&(0,a.isTrackCaptionKind)(t)&&t!==this.#D&&this.#L(t),"showing"===t.mode){let e=(0,a.isTrackCaptionKind)(t)?["captions","subtitles"]:[t.kind];for(let i of this.items)"showing"===i.mode&&i!=t&&e.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new s.DOMEvent("mode-change",{detail:e.detail,trigger:e}))}#L(t){"disabled"!==t.mode&&this.#I(t.language),this.#A?.setCaptions?.("showing"===t.mode)}#I(i){this.#A?.setLang?.(this.#R=i)}setStorage(e){this.#A=e}},V=class extends v{#F=!1;switch="current";get auto(){return this.#F||this.readonly}[a.QualitySymbol.enableAuto];[a.ListSymbol.onUserSelect](){this[a.QualitySymbol.setAuto](!1)}[a.ListSymbol.onReset](e){this[a.QualitySymbol.enableAuto]=void 0,this[a.QualitySymbol.setAuto](!1,e)}autoSelect(e){this.readonly||this.#F||!this[a.QualitySymbol.enableAuto]||(this[a.QualitySymbol.enableAuto]?.(e),this[a.QualitySymbol.setAuto](!0,e))}getBySrc(e){return this.items.find(t=>t.src===e)}[a.QualitySymbol.setAuto](e,t){this.#F!==e&&(this.#F=e,this.dispatchEvent(new s.DOMEvent("auto-change",{detail:e,trigger:t})))}};function D(e,t){return[...e].sort(t?O:L)}function L(e,t){return e.height===t.height?(e.bitrate??0)-(t.bitrate??0):e.height-t.height}function O(e,t){return t.height===e.height?(t.bitrate??0)-(e.bitrate??0):t.height-e.height}var F=class extends s.ViewController{};let N=new Set(["Shift","Alt","Meta","Ctrl"]),K='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';var Q=class extends F{#y;constructor(e){super(),this.#y=e}onConnect(){(0,s.effect)(this.#N.bind(this))}#N(){let{keyDisabled:e,keyTarget:t}=this.$props;if(e())return;let i="player"===t()?this.el:document,a=(0,s.signal)(!1);i===this.el?new s.EventsController(this.el).add("focusin",()=>a.set(!0)).add("focusout",e=>{this.el.contains(e.target)||a.set(!1)}):((0,s.peek)(a)||a.set(document.querySelector("[data-media-player]")===this.el),(0,s.listenEvent)(document,"focusin",e=>{let t=e.composedPath().find(e=>e instanceof Element&&"media-player"===e.localName);void 0!==t&&a.set(this.el===t)})),(0,s.effect)(()=>{a()&&new s.EventsController(i).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)).add("keydown",this.#_.bind(this),{capture:!0})})}#K(e){let t=document.activeElement;
1if(!e.key||!this.$state.canSeek()||t?.matches(K))return;let{method:i,value:a}=this.#H(e);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)){a?.onKeyUp?.({event:e,player:this.#y.player,remote:this.#y.remote}),a?.callback?.(e,this.#y.remote);return}i?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this.#U?(this.#W(e,"seekForward"===i),this.#U=null):(this.#y.remote.seek(this.#B,e),this.#B=void 0)),i?.startsWith("volume")&&this.el.querySelector("[data-media-volume-slider]")?.dispatchEvent(new KeyboardEvent("keyup",{key:"volumeUp"===i?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}#Q(t){if(!t.key||N.has(t.key))return;let e=document.activeElement;if(e?.matches(K)||(0,s.isKeyboardClick)(t)&&e?.matches('button, [role="button"]'))return;let{method:i,value:a}=this.#H(t),r=!t.metaKey&&/^[0-9]$/.test(t.key);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)&&!r){a?.onKeyDown?.({event:t,player:this.#y.player,remote:this.#y.remote}),a?.callback?.(t,this.#y.remote);return}if(!i&&r&&!function(e){for(let t of N)if(e[t.toLowerCase()+"Key"])return!0;return!1}(t)){t.preventDefault(),t.stopPropagation(),this.#y.remote.seek(this.$state.duration()/10*Number(t.key),t);return}if(i){switch(t.preventDefault(),t.stopPropagation(),i){case"seekForward":case"seekBackward":this.#G(t,i,"seekForward"===i);break;case"volumeUp":case"volumeDown":let e=this.el.querySelector("[data-media-volume-slider]");if(e)e.dispatchEvent(new KeyboardEvent("keydown",{key:"volumeUp"===i?"Up":"Down",shiftKey:t.shiftKey,trigger:t}));else{let e=t.shiftKey?.1:.05;this.#y.remote.changeVolume(this.$state.volume()+("volumeUp"===i?+e:-e),t)}break;case"toggleFullscreen":this.#y.remote.toggleFullscreen("prefer-media",t);break;case"speedUp":case"slowDown":let s=this.$state.playbackRate();this.#y.remote.changePlaybackRate(Math.max(.25,Math.min(2,s+("speedUp"===i?.25:-.25))),t);break;default:this.#y.remote[i]?.(t)}this.$state.lastKeyboardAction.set({action:i,event:t})}}#_(i){var r,n;n=r=i.target,(!a.IS_SERVER&&n instanceof HTMLAudioElement||!a.IS_SERVER&&r instanceof HTMLVideoElement)&&this.#H(i).method&&i.preventDefault()}#H(h){let e={...this.$props.keyShortcuts(),...this.#y.ariaKeys},t=Object.keys(e).find(t=>{let i=e[t],a=(0,s.isArray)(i)?i.join(" "):(0,s.isString)(i)?i:i?.keys;return(s.isArray(a)?a:a?.split(" "))?.map(e=>e.replace(/Shift\+(\d)/g,(e,t)=>_[t-1]).replace(/Control/g,"Ctrl").split("+"))?.some(e=>{let t=new Set(e.filter(e=>N.has(e)));for(let e of("<>".includes(h.key)&&t.add("Shift"),N)){let i=e.toLowerCase()+"Key";if(!t.has(e)&&h[i])return!1}return e.every(e=>N.has(e)?h[e.toLowerCase()+"Key"]:h.key===e.replace("Space"," "))})});return{method:t,value:t?e[t]:null}}#B;#z(o,l){let e=o.shiftKey?10:5;return this.#B=Math.max(0,Math.min((this.#B??this.$state.currentTime())+("seekForward"===l?+e:-e),this.$state.duration()))}#U=null;#W(d,u){this.#U?.dispatchEvent(new KeyboardEvent(d.type,{key:u?"Right":"Left",shiftKey:d.shiftKey,trigger:d}))}#G(c,p,m){this.$state.canSeek()&&(this.#U||(this.#U=this.el.querySelector("[data-media-time-slider]")),this.#U?this.#W(c,m):this.#y.remote.seeking(this.#z(c,p),c))}};let _=["!","@","#","$","%","^","&","*","(",")"];var H=class extends s.ViewController{#j;constructor(e){super(),this.#j=e}onAttach(e){let{$props:t,ariaKeys:i}=m(),r=e.getAttribute("aria-keyshortcuts");if(r){i[this.#j]=r,a.IS_SERVER||(0,s.onDispose)(()=>{delete i[this.#j]});return}let n=t.keyShortcuts()[this.#j];if(n){let t=(0,s.isArray)(n)?n.join(" "):(0,s.isString)(n)?n:n?.keys;e.setAttribute("aria-keyshortcuts",(0,s.isArray)(t)?t.join(" "):t)}}},U=class extends F{#X=-2;#Y=!1;#J=(0,s.signal)(!1);#Z=(0,s.signal)(!1);#ee=null;#et=(0,s.signal)(!0);defaultDelay=2e3;get canIdle(){return this.#et()}set canIdle(e){this.#et.set(e)}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this.#J()||e()}set hideOnMouseLeave(e){this.#J.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,t){this.#ei(),this.#Y||this.#es(!0,e,t)}hide(e=this.defaultDelay,t){this.#ei(),this.#Y||this.#es(!1,e,t)}pause(e){this.#Y=!0,this.#ei(),this.#es(!0,0,e)}resume(e){this.#Y=!1,this.$state.paused()||this.#es(!1,this.defaultDelay,e)}onConnect(){(0,s.effect)(this.#ea.bind(this))}#ea(){let{viewType:e}=this.$state;if(!this.el||!this.#et())return;
1if("audio"===e()){this.show();return}(0,s.effect)(this.#er.bind(this)),(0,s.effect)(this.#en.bind(this));let t=this.#eh.bind(this),i=this.#eo.bind(this),a=this.#el.bind(this);new s.EventsController(this.el).add("can-play",e=>this.show(0,e)).add("play",t).add("pause",i).add("end",a).add("auto-play-fail",i)}#er(){if(!this.el)return;let{started:e,pointer:t,paused:i}=this.$state;if(!e()||"fine"!==t())return;let a=new s.EventsController(this.el),r=this.hideOnMouseLeave;r&&this.#Z()||(0,s.effect)(()=>{i()||a.add("pointermove",this.#ed.bind(this))}),r&&a.add("mouseenter",this.#eu.bind(this)).add("mouseleave",this.#ec.bind(this))}#en(){let{paused:e,started:t,autoPlayError:i}=this.$state;if(e()||i()&&!t())return;let a=this.#ed.bind(this);(0,s.effect)(()=>{if(!this.el)return;let e="coarse"===this.$state.pointer(),t=new s.EventsController(this.el);for(let i of[e?"touchend":"pointerup","keydown"])t.add(i,a,{passive:!1})})}#eh(e){e.triggers.hasType("ended")||(this.show(0,e),this.hide(void 0,e))}#eo(t){this.show(0,t)}#el(i){let{loop:e}=this.$state;e()&&this.hide(0,i)}#eu(a){this.#Z.set(!1),this.show(0,a),this.hide(void 0,a)}#ec(r){this.#Z.set(!0),this.hide(0,r)}#ei(){window.clearTimeout(this.#X),this.#X=-1}#ed(n){n.MEDIA_GESTURE||this.#Y||q(n)||((0,s.isKeyboardEvent)(n)&&("Escape"===n.key?(this.el?.focus(),this.#ee=null):this.#ee&&(n.preventDefault(),requestAnimationFrame(()=>{this.#ee?.focus(),this.#ee=null}))),this.show(0,n),this.hide(this.defaultDelay,n))}#es(h,o,l){if(0===o){this.#u(h,l);return}this.#X=window.setTimeout(()=>{this.scope&&this.#u(h&&!this.#Y,l)},o)}#u(d,u){this.$state.controlsVisible()!==d&&(this.$state.controlsVisible.set(d),!d&&document.activeElement&&this.el?.contains(document.activeElement)&&(this.#ee=document.activeElement,requestAnimationFrame(()=>{this.el?.focus({preventScroll:!0})}
1)),this.dispatch("controls-change",{detail:d,trigger:u}))}};let W=s.fscreen.fullscreenEnabled;var B=class extends s.ViewController{#ep=!1;#em=!1;get active(){return this.#em}get supported(){return W}onConnect(){new s.EventsController(s.fscreen).add("fullscreenchange",this.#u.bind(this)).add("fullscreenerror",this.#eg.bind(this)),(0,s.onDispose)(this.#ef.bind(this))}#ef(){W&&this.exit().catch(s.noop)}#u(e){let t=G(this.el);t!==this.#em&&(t||(this.#ep=!1),this.#em=t,this.dispatch("fullscreen-change",{detail:t,trigger:e}))}#eg(t){this.#ep&&(this.dispatch("fullscreen-error",{detail:null,trigger:t}),this.#ep=!1)}async enter(){try{if(this.#ep=!0,!this.el||G(this.el))return;return z(),s.fscreen.requestFullscreen(this.el)}catch(e){throw this.#ep=!1,e}}async exit(){if(this.el&&G(this.el))return z(),s.fscreen.exitFullscreen()}};function G(e){if(s.fscreen.fullscreenElement===e)return!0;try{return e.matches(s.fscreen.fullscreenPseudoClass)}catch(e){return!1}}function z(){if(!W)throw Error("[vidstack] no fullscreen API")}var j=class e extends s.ViewController{#ey=(0,s.signal)(this.#eb());#ev=(0,s.signal)(!1);#ek;get type(){return this.#ey()}get locked(){return this.#ev()}get portrait(){return this.#ey().startsWith("portrait")}get landscape(){return this.#ey().startsWith("landscape")}static supported=(0,a.canOrientScreen)();get supported(){return e.supported}onConnect(){if(this.supported)(0,s.listenEvent)(screen.orientation,"change",this.#ew.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this.#ew.bind(this),(0,s.onDispose)(()=>e.onchange=null)}(0,s.onDispose)(this.#ef.bind(this))}async #ef(){this.supported&&this.#ev()&&await this.unlock()}#ew(t){this.#ey.set(this.#eb()),this.dispatch("orientation-change",{detail:{orientation:(0,s.peek)(this.#ey),lock:this.#ek},trigger:t})}async lock(e){(0,s.peek)(this.#ev)||this.#ek===e||(this.#eS(),await screen.orientation.lock(e),this.#ev.set(!0),this.#ek=e)}async unlock(){(0,s.peek)(this.#ev)&&(this.#eS(),this.#ek=void 0,await screen.orientation.unlock(),this.#ev.set(!1))}#eS(){if(!this.supported)throw Error("[vidstack] no orientation API")}#eb(){return a.IS_SERVER?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}},X=class{name="audio";target;canPlay(e){return!!(0,a.isAudioSrc)(e)&&(a.IS_SERVER||!(0,s.isString)(e.src)||"?"===e.type||(0,a.canPlayAudioType)(this.target,e.type))}mediaType(){return"audio"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load audio provider server-side");return new(await i.e(2728).then(i.bind(i,2728))).AudioProvider(this.target,e)}},Y=class{name="video";target;canPlay(e){return!!(0,a.isVideoSrc)(e)&&(a.IS_SERVER||!(0,s.isString)(e.src)||"?"===e.type||(0,a.canPlayVideoType)(this.target,e.type))}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(i.bind(i,9904)).then(e=>e.provider_exports$1)).VideoProvider(this.target,e)}},J=class e extends Y{static supported=(0,a.isHLSSupported)();name="hls";canPlay(t){return e.supported&&(0,a.isHLSSrc)(t)}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load hls provider server-side");return new(await i.e(5814).then(i.bind(i,5814))).HLSProvider(this.target,e)}},Z=class e extends Y{static supported=(0,a.isDASHSupported)();name="dash";canPlay(t){return e.supported&&(0,a.isDASHSrc)(t)}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load dash provider server-side");return new(await Promise.resolve().then(i.bind(i,9904)).then(e=>e.provider_exports)).DASHProvider(this.target,e)}},ee=class{name="vimeo";target;preconnect(){for(let e of["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"])(0,a.preconnect)(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/vimeo"===e.type}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load vimeo provider server-side");return new(await i.e(9419).then(i.bind(i,9419))).VimeoProvider(this.target,e)}async loadPoster(e,t,a){let{resolveVimeoVideoId:r,getVimeoVideoInfo:n}=await i.e(3773).then(i.bind(i,3773));if(!(0,s.isString)(e.src))return null;let{videoId:h,hash:o}=r(e.src);return h?n(h,a,o).then(e=>e?e.poster:null):null}},et=class{name="youtube";target;
1preconnect(){for(let e of["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"])(0,a.preconnect)(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/youtube"===e.type}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load youtube provider server-side");return new(await i.e(4443).then(i.bind(i,4443))).YouTubeProvider(this.target,e)}async loadPoster(e,t,a){let{findYouTubePoster:r,resolveYouTubeVideoId:n}=await i.e(7698).then(i.bind(i,7698)),h=(0,s.isString)(e.src)&&n(e.src);return h?r(h,a):null}};function ei(e,t){let i=String(e),s=i.length;return s<t?`${"0".repeat(t-s)}${e}`:i}function es(e){return{hours:Math.trunc(e/3600),minutes:Math.trunc(e%3600/60),seconds:Math.trunc(e%60),fraction:Number((e-Math.trunc(e)).toPrecision(3))}}function ea(e,{padHrs:t=null,padMins:i=null,showHrs:a=!1,showMs:r=!1}={}){let{hours:n,minutes:h,seconds:o,fraction:l}=es(e),d=t?ei(n,2):n,u=`${i||(0,s.isNull)(i)&&e>=3600?ei(h,2):h}:${ei(o,2)}${r&&l>0?`.${String(l).replace(/^0?\./,"")}`:""}`;return n>0||a?`${d}:${u}`:u}function er(e){let t=[],{hours:i,minutes:s,seconds:a}=es(e);return i>0&&t.push(`${i} hour`),s>0&&t.push(`${s} min`),(a>0||0===t.length)&&t.push(`${a} sec`),t.join(" ")}let en=Symbol(0),eh=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],eo={artist:"",artwork:null,ariaLabel:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:{togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},storage:null};var el=class extends F{#ey;#e$;constructor(e,t){super(),this.#ey=e,this.#e$=t}async onAttach(e){if(a.IS_SERVER)return;let t=this.$props[this.#ey]();if("eager"===t)requestAnimationFrame(this.#e$);else if("idle"===t)(0,s.waitIdlePeriod)(this.#e$);else if("visible"===t){let t,i=new IntersectionObserver(e=>{this.scope&&e[0].isIntersecting&&(t?.(),t=void 0,this.#e$())});i.observe(e),t=(0,s.onDispose)(()=>i.disconnect())}}},ed=class{#eT;#y;constructor(e,t){this.#eT=e,this.#y=t}notify(e,...t){a.IS_SERVER||this.#eT(new s.DOMEvent(e,{detail:t?.[0],trigger:t?.[1]}))}async ready(e,t){if(!a.IS_SERVER)return(0,s.untrack)(async()=>{let{logger:i}=this.#y,{autoPlay:a,canPlay:r,started:n,duration:h,seekable:o,buffered:l,remotePlaybackInfo:d,playsInline:u,savedState:c,source:p}=this.#y.$state;if(r())return;let m={duration:e?.duration??h(),seekable:e?.seekable??o(),buffered:e?.buffered??l(),provider:this.#y.$provider()};this.notify("can-play",m,t),(0,s.tick)();let g=this.#y.$provider(),{storage:f,qualities:y}=this.#y,{muted:b,volume:v,clipStartTime:k,playbackRate:w}=this.#y.$props;await f?.onLoad?.(p());let S=c()?.currentTime,$=c()?.paused,T=await f?.getTime(),P=S??T??k(),x=!1===$||!0!==$&&!n()&&a();if(g){g.setVolume(await f?.getVolume()??v()),g.setMuted(b()||!!await f?.getMuted());let e=await f?.getAudioGain()??1;e>1&&g.audioGain?.setGain?.(e),g.setPlaybackRate?.(await f?.getPlaybackRate()??w()),g.setPlaysInline?.(u()),P>0&&g.setCurrentTime(P)}let E=await f?.getVideoQuality();if(E&&y.length){let e=null,t=1/0;for(let i of y){let s=Math.abs(E.width-i.width)+Math.abs(E.height-i.height)+(E.bitrate?Math.abs(E.bitrate-(i.bitrate??0)):0);s<t&&(e=i,t=s)}e&&(e.selected=!0)}r()&&x?await this.#eP(t):T&&T>0&&this.notify("started",void 0,t),d.set(null)})}async #eP(e){let{player:t,$state:{autoPlaying:i,muted:a}}=this.#y;i.set(!0);let r=new s.DOMEvent("auto-play-attempt",{trigger:e});try{await t.play(r)}catch(e){}}},eu=class{#ex=new Map;enqueue(e,t){this.#ex.set(e,t)}serve(e){let t=this.peek(e);return this.#ex.delete(e),t}peek(e){return this.#ex.get(e)}delete(e){this.#ex.delete(e)}clear(){this.#ex.clear()}},ec=class{#eE=!1;#eC=(0,s.deferredPromise)();#ex=new Map;get size(){return this.#ex.size}get isServing(){return this.#eE}async waitForFlush(){this.#eE||await this.#eC.promise}enqueue(e,t){if(this.#eE){t();return}this.#ex.delete(e),this.#ex.set(e,t)}serve(e){this.#ex.get(e)?.(),this.#ex.delete(e)}start(){this.#eq(),this.#eE=!0,this.#ex.size>0&&this.#eq()}stop(){this.#eE=!1}reset(){this.stop(),this.#ex.clear(),this.#eA()}#eq(){for(let e of this.#ex.keys())this.serve(e);this.#eA()}#eA(){this.#eC.resolve(),this.#eC=(0,s.deferredPromise)()}};function ep(e){return()=>e()?"true":"false"}var em=class extends F{#eR;#eI;#y;controls;#eM;#eV;#eD;#eL=new ec;constructor(e,t,i){super(),this.#eR=e,this.#eI=t,this.#y=i,this.#eD=i.$provider,this.controls=new U,this.#eM=new B,this.#eV=new j}onAttach(){this.listen("fullscreen-change",this.#eO.bind(this))}onConnect(e){let t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),i=new s.EventsController(e),a=this.#eF.bind(this);for(let e of t)e.startsWith("media-")&&i.add(e,a);this.#eN(),(0,s.effect)(this.#eK.bind(this)),(0,s.effect)(this.#eQ.bind(this)),(0,s.effect)(this.#e_.bind(this)),(0,s.effect)(this.#eH.bind(this)),(0,s.effect)(this.#eU.bind(this)),(0,s.effect)(this.#eW.bind(this)),(0,s.effect)(this.#eB.bind(this))}onDestroy(){try{let e=this.createEvent("destroy"),{pictureInPicture:t,fullscreen:i}=this.$state;i()&&this.exitFullscreen("prefer-media",e),t()&&this.exitPictureInPicture(e)}catch(e){}this.#eL.reset()}#eN(){let{load:e}=this.$props,{canLoad:t}=this.$state;if("play"!==e()||t())return;let i=this.listen("media-play-request",e=>{this.#eG(e),i()})}#eK(){let e=this.#eD(),t=this.$state.canPlay();return e&&t&&this.#eL.start(),()=>{this.#eL.stop()}}#eF(e){e.stopPropagation(),!e.defaultPrevented&&this[e.type]&&((0,s.peek)(this.#eD)?this[e.type](e):this.#eL.enqueue(e.type,()=>{(0,s.peek)(this.#eD)&&this[e.type](e)}))}async play(e){if(a.IS_SERVER)return;let{canPlay:t,paused:i,autoPlaying:r}=this.$state;if(this.#eG(e)||!(0,s.peek)(i))return;e&&this.#eI.queue.enqueue("media-play-request",e);let n=(0,s.peek)(r);try{let e=(0,s.peek)(this.#eD);return eg(e,(0,s.peek)(t)),function(e){if("undefined"!=typeof window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&e)throw Error("[vidstack] autoplay blocked")}(n),await e.play()}catch(i){let t=this.createEvent("play-fail",{detail:(0,a.coerceToError)(i),trigger:e});throw t.autoPlay=n,this.#eR.handle(t),i}}#eG(t){let{load:e}=this.$props,{canLoad:i}=this.$state;if("play"===e()&&!i()){let e=this.createEvent("media-start-loading",{trigger:t});return this.dispatchEvent(e),this.#eL.enqueue("media-play-request",async()=>{try{await this.play(e)}catch(e){}}),!0}return!1}async pause(e){if(a.IS_SERVER)return;let{canPlay:t,paused:i}=this.$state;if(!(0,s.peek)(i)){e&&this.#eI.queue.enqueue("media-pause-request",e);try{let e=(0,s.peek)(this.#eD);return eg(e,(0,s.peek)(t)),await e.pause()}catch(e){throw this.#eI.queue.delete("media-pause-request"),e}}}setAudioGain(e,t){let{audioGain:i,canSetAudioGain:s}=this.$state;if(i()===e)return;let a=this.#eD();if(!a?.audioGain||!s())throw Error("[vidstack] audio gain api not available");t&&this.#eI.queue.enqueue("media-audio-gain-change-request",t),a.audioGain.setGain(e)}seekToLiveEdge(e){if(a.IS_SERVER)return;let{canPlay:t,live:i,liveEdge:r,canSeek:n,liveSyncPosition:h,seekableEnd:o,userBehindLiveEdge:l}=this.$state;if(l.set(!1),(0,s.peek)(()=>!i()||n()&&r()))return;let d=(0,s.peek)(this.#eD);eg(d,(0,s.peek)(t));let u=o()-2,c=Math.min(u,h()??u);Number.isFinite(c)&&(e&&this.#eI.queue.enqueue("media-seek-request",e),d.setCurrentTime(c))}#ez=!1;async enterFullscreen(e="prefer-media",t){if(a.IS_SERVER)return;let i=this.#ej(e);
1if(ef(e,i),!i.active)return(0,s.peek)(this.$state.pictureInPicture)&&(this.#ez=!0,await this.exitPictureInPicture(t)),t&&this.#eI.queue.enqueue("media-enter-fullscreen-request",t),i.enter()}async exitFullscreen(e="prefer-media",t){if(a.IS_SERVER)return;let i=this.#ej(e);if(ef(e,i),i.active){t&&this.#eI.queue.enqueue("media-exit-fullscreen-request",t);try{let e=await i.exit();return this.#ez&&(0,s.peek)(this.$state.canPictureInPicture)&&await this.enterPictureInPicture(),e}finally{this.#ez=!1}}}#ej(r){let e=(0,s.peek)(this.#eD);return"prefer-media"===r&&this.#eM.supported||"media"===r?this.#eM:e?.fullscreen}async enterPictureInPicture(e){if(!a.IS_SERVER&&(this.#eX(),!this.$state.pictureInPicture()))return e&&this.#eI.queue.enqueue("media-enter-pip-request",e),await this.#eD().pictureInPicture.enter()}async exitPictureInPicture(e){if(!a.IS_SERVER&&(this.#eX(),this.$state.pictureInPicture())){e&&this.#eI.queue.enqueue("media-exit-pip-request",e);try{if(document?.pictureInPictureElement&&document.exitPictureInPicture){await document.exitPictureInPicture();return}let e=this.#eD();if(e?.pictureInPicture){await e.pictureInPicture.exit();return}let t=document?.querySelectorAll?.("video")||[];for(let e of t){if(e===document.pictureInPictureElement&&document.exitPictureInPicture){await document.exitPictureInPicture();return}if("picture-in-picture"===e.webkitPresentationMode){e.webkitSetPresentationMode("inline");return}}}catch(e){}}}#eX(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}#eQ(){this.controls.defaultDelay=this.$props.controlsDelay()}#e_(){let{canSetAudioGain:e}=this.$state,t=!!this.#eD()?.audioGain?.supported;e.set(t)}#eH(){let{canAirPlay:e}=this.$state,t=!!this.#eD()?.airPlay?.supported;e.set(t)}#eU(){let{canGoogleCast:e,source:t}=this.$state,i=a.IS_CHROME&&!a.IS_IOS&&(0,a.canGoogleCastSrc)(t());e.set(i)}#eW(){let{canFullscreen:e}=this.$state,t=this.#eM.supported||!!this.#eD()?.fullscreen?.supported;e.set(t)}#eB(){let{canPictureInPicture:e}=this.$state,t=!!this.#eD()?.pictureInPicture?.supported;e.set(t)}async "media-airplay-request"(e){try{await this.requestAirPlay(e)}catch(e){}}async requestAirPlay(e){try{let t=this.#eD()?.airPlay;if(!t?.supported)throw Error("No AirPlay adapter.");return e&&this.#eI.queue.enqueue("media-airplay-request",e),await t.prompt()}catch(e){throw this.#eI.queue.delete("media-airplay-request"),e}}async "media-google-cast-request"(e){try{await this.requestGoogleCast(e)}catch(e){}}#eY;async requestGoogleCast(e){try{let{canGoogleCast:t}=this.$state;if(!(0,s.peek)(t)){let e=Error("Cast not available.");throw e.code="CAST_NOT_AVAILABLE",e}if((0,a.preconnect)("https://www.gstatic.com"),!this.#eY){let e=await i.e(1124).then(i.bind(i,1124));this.#eY=new e.GoogleCastLoader}await this.#eY.prompt(this.#y),e&&this.#eI.queue.enqueue("media-google-cast-request",e);let r="disconnected"!==(0,s.peek)(this.$state.remotePlaybackState);r&&this.$state.savedState.set({paused:(0,s.peek)(this.$state.paused),currentTime:(0,s.peek)(this.$state.currentTime)}),this.$state.remotePlaybackLoader.set(r?this.#eY:null)}catch(e){throw this.#eI.queue.delete("media-google-cast-request"),e}}"media-clip-start-change-request"(e){let{clipStartTime:t}=this.$state;t.set(e.detail)}"media-clip-end-change-request"(e){let{clipEndTime:t}=this.$state;t.set(e.detail),this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-duration-change-request"(e){let{providedDuration:t,clipEndTime:i}=this.$state;t.set(e.detail),0>=i()&&this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-audio-track-change-request"(e){let{logger:t,audioTracks:i}=this.#y;if(i.readonly)return;let s=i[e.detail];if(s){let t=e.type;this.#eI.queue.enqueue(t,e),s.selected=!0}}async "media-enter-fullscreen-request"(e){try{await this.enterFullscreen(e.detail,e)}catch(t){this.#eJ(t,e)}}async "media-exit-fullscreen-request"(e){try{await this.exitFullscreen(e.detail,e)}catch(t){this.#eJ(t,e)}}async #eO(n){let e=(0,s.peek)(this.$props.fullscreenOrientation),t=n.detail;if(!(0,s.isUndefined)(e)&&"none"!==e&&this.#eV.supported){if(t){if(this.#eV.locked)return;this.dispatch("media-orientation-lock-request",{detail:e,trigger:n})}else this.#eV.locked&&this.dispatch("media-orientation-unlock-request",{trigger:n})}}#eJ(h,o){this.#eR.handle(this.createEvent("fullscreen-error",{detail:(0,a.coerceToError)(h)}))}async "media-orientation-lock-request"(e){let t=e.type;try{this.#eI.queue.enqueue(t,e),await this.#eV.lock(e.detail)}catch(e){this.#eI.queue.delete(t)}}async "media-orientation-unlock-request"(e){let t=e.type;try{this.#eI.queue.enqueue(t,e),await this.#eV.unlock()}catch(e){this.#eI.queue.delete(t)}}async "media-enter-pip-request"(e){try{await this.enterPictureInPicture(e)}catch(t){this.#eZ(t,e)}}async "media-exit-pip-request"(e){try{await this.exitPictureInPicture(e)}catch(t){this.#eZ(t,e)}}#eZ(l,d){this.#eR.handle(this.createEvent("picture-in-picture-error",{detail:(0,a.coerceToError)(l)}))}"media-live-edge-request"(e){let{live:t,liveEdge:i,canSeek:s}=this.$state;if(!(!t()||s()&&i()))try{this.seekToLiveEdge(e)}catch(e){this.#eI.queue.delete("media-seek-request")}}async "media-loop-request"(e){try{this.#eI.looping=!0,this.#eI.replaying=!0,await this.play(e)}catch(e){this.#eI.looping=!1}}"media-user-loop-change-request"(e){this.$state.userPrefersLoop.set(e.detail)}
1async "media-pause-request"(e){if(!this.$state.paused())try{await this.pause(e)}catch(e){}}async "media-play-request"(e){if(this.$state.paused())try{await this.play(e)}catch(e){}}"media-rate-change-request"(e){let{playbackRate:t,canSetPlaybackRate:i}=this.$state;if(t()===e.detail||!i())return;let s=this.#eD();s?.setPlaybackRate&&(this.#eI.queue.enqueue("media-rate-change-request",e),s.setPlaybackRate(e.detail))}"media-audio-gain-change-request"(e){try{this.setAudioGain(e.detail,e)}catch(e){}}"media-quality-change-request"(e){let{qualities:t,storage:i,logger:s}=this.#y;if(t.readonly)return;this.#eI.queue.enqueue("media-quality-change-request",e);let a=e.detail;if(a<0)t.autoSelect(e),e.isOriginTrusted&&i?.setVideoQuality?.(null);else{let s=t[a];s&&(s.selected=!0,e.isOriginTrusted&&i?.setVideoQuality?.({id:s.id,width:s.width,height:s.height,bitrate:s.bitrate}))}}"media-pause-controls-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.controls.pause(e)}"media-resume-controls-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.controls.resume(e)}"media-seek-request"(e){let{canSeek:t,ended:i,live:s,seekableEnd:a,userBehindLiveEdge:r}=this.$state,n=e.detail;i()&&(this.#eI.replaying=!0);let h=e.type;this.#eI.seeking=!1,this.#eI.queue.delete(h);let o=c(n,this.$state);Number.isFinite(o)&&t()&&(this.#eI.queue.enqueue(h,e),this.#eD().setCurrentTime(o),s()&&e.isOriginTrusted&&Math.abs(a()-o)>=2&&r.set(!0))}"media-seeking-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.$state.seeking.set(!0),this.#eI.seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eR.handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eR.handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:t,mode:i}=e.detail,s=this.#y.textTracks[t];if(s){let t=e.type;this.#eI.queue.enqueue(t,e),s.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eD().setMuted(!0)}"media-unmute-request"(e){let{muted:t,volume:i}=this.$state;if(!t())return;let s=e.type;this.#eI.queue.enqueue(s,e),this.#y.$provider().setMuted(!1),0===i()&&(this.#eI.queue.enqueue(s,e),this.#eD().setVolume(.25))}"media-volume-change-request"(e){let{muted:t,volume:i}=this.$state,s=e.detail;if(i()===s)return;let a=e.type;this.#eI.queue.enqueue(a,e),this.#eD().setVolume(s),s>0&&t()&&(this.#eI.queue.enqueue(a,e),this.#eD().setMuted(!1))}#e0(u,p,m){}};function eg(e,t){if(!e||!t)throw Error("[vidstack] media not ready")}function ef(e,t){if(!t?.supported)throw Error("[vidstack] no fullscreen support")}var ey=class{seeking=!1;looping=!1;replaying=!1;queue=new eu};let eb=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);var ev=class extends F{#eI;#y;#e1=new Map;#e2=!1;#e3=[];#e5=[-1,-1];#e9=!1;#e4;constructor(e,t){super(),this.#eI=e,this.#y=t}onAttach(e){e.setAttribute("aria-busy","true"),new s.EventsController(this).add("fullscreen-change",this["fullscreen-change"].bind(this)).add("fullscreen-error",this["fullscreen-error"].bind(this)).add("orientation-change",this["orientation-change"].bind(this))}onConnect(e){(0,s.effect)(this.#e6.bind(this)),this.#e7(),this.#e8(),this.#te(),this.#tt(),(0,s.onDispose)(this.#ti.bind(this))}onDestroy(){let{audioTracks:e,qualities:t,textTracks:i}=this.#y;e[a.ListSymbol.reset](),t[a.ListSymbol.reset](),i[a.ListSymbol.reset](),this.#ts()}handle(e){if(!this.scope)return;let t=e.type;(0,s.untrack)(()=>this[e.type]?.(e)),a.IS_SERVER||(eb.has(t)&&this.#e1.set(t,e),this.dispatch(e))}#ta=!1;#tt(){this.#ta&&(requestAnimationFrame(()=>{this.scope&&this.#y.remote.play(new s.DOMEvent("dom-connect"))}),this.#ta=!1)}#ti(){this.#ta||(this.#ta=!this.$state.paused(),this.#y.$provider()?.pause())}#tr(){this.#tn(),this.#e2=!1,this.#eI.replaying=!1,this.#eI.looping=!1,this.#e9=!1,this.#e4=void 0,this.#e1.clear()}#th(e,t){let i=this.#eI.queue.serve(e);
1i&&(t.request=i,t.triggers.add(i))}#e7(){this.#to(),this.#tl();let e=this.#y.textTracks;new s.EventsController(e).add("add",this.#to.bind(this)).add("remove",this.#to.bind(this)).add("mode-change",this.#tl.bind(this))}#e8(){let e=this.#y.qualities;new s.EventsController(e).add("add",this.#td.bind(this)).add("remove",this.#td.bind(this)).add("change",this.#tu.bind(this)).add("auto-change",this.#tc.bind(this)).add("readonly-change",this.#tp.bind(this))}#te(){let e=this.#y.audioTracks;new s.EventsController(e).add("add",this.#tm.bind(this)).add("remove",this.#tm.bind(this)).add("change",this.#tg.bind(this))}#to(i){let{textTracks:e}=this.$state;e.set(this.#y.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:e(),trigger:i})}#tl(r){r&&this.#th("media-text-track-change-request",r);let e=this.#y.textTracks.selected,{textTrack:t}=this.$state;t()!==e&&(t.set(e),this.dispatch("text-track-change",{detail:e,trigger:r}))}#tm(n){let{audioTracks:e}=this.$state;e.set(this.#y.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:e(),trigger:n})}#tg(o){let{audioTrack:e}=this.$state;e.set(this.#y.audioTracks.selected),o&&this.#th("media-audio-track-change-request",o),this.dispatch("audio-track-change",{detail:e(),trigger:o})}#td(l){let{qualities:e}=this.$state;e.set(this.#y.qualities.toArray()),this.dispatch("qualities-change",{detail:e(),trigger:l})}#tu(d){let{quality:e}=this.$state;e.set(this.#y.qualities.selected),d&&this.#th("media-quality-change-request",d),this.dispatch("quality-change",{detail:e(),trigger:d})}#tc(){let{qualities:e}=this.#y,t=e.auto;this.$state.autoQuality.set(t),t||this.#ts()}#tf=null;#ty(){this.#ts(),this.#tf=(0,s.effect)(()=>{let{qualities:e}=this.#y,{mediaWidth:t,mediaHeight:i}=this.$state,r=t(),n=i();if(0===r||0===n)return;let h=null,o=1/0;for(let t of e){let e=Math.abs(t.width-r)+Math.abs(t.height-n);e<o&&(o=e,h=t)}h&&e[a.ListSymbol.select](h,!0,new s.DOMEvent("resize",{detail:{width:r,height:n}}))})}#ts(){this.#tf?.(),this.#tf=null}#tp(){this.$state.canSetQuality.set(!this.#y.qualities.readonly)}#e6(){let{canSetVolume:e,isGoogleCastConnected:t}=this.$state;if(t()){e.set(!1);return}(0,a.canChangeVolume)().then(e.set)}"provider-change"(e){let t=this.#y.$provider(),i=e.detail;t?.type!==i?.type&&(t?.destroy?.(),t?.scope?.dispose(),this.#y.$provider.set(e.detail),t&&null===e.detail&&this.#tb(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this.#tr()}"can-load"(e){this.$state.canLoad.set(!0),this.#e1.set("can-load",e),this.#y.textTracks[a.TextTrackSymbol.canLoad](),this.#th("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this.#e1.set("can-load-poster",e),this.#th("media-poster-start-loading",e)}"media-type-change"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let s=this.$state.providedViewType(),r="unknown"===s?e.detail:s;i!==r&&(a.IS_SERVER?this.$state.inferredViewType.set(r):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:r,trigger:e}))})},0))}"stream-type-change"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let{streamType:i,inferredStreamType:s}=this.$state;s.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:t}=this.#y,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this.#th("media-rate-change-request",e),i()&&t?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:t,remotePlaybackType:i}=this.$state,{type:s,state:a}=e.detail;i.set(s),t.set(a);let r="airplay"===s?"media-airplay-request":"media-google-cast-request";if("connected"===a)this.#th(r,e);else{let t=this.#eI.queue.peek(r);t&&(e.request=t,e.triggers.add(t))}}"sources-change"(e){let t=this.$state.sources(),i=e.detail;this.$state.sources.set(i),this.#tv(t,i,e)}#tv(c,p,m){let{qualities:e}=this.#y,t=!1,i=!1;for(let t of c)if(h(t)&&!p.some(e=>e.src===t.src)){let s=e.getBySrc(t.src);s&&(e[a.ListSymbol.remove](s,m),i=!0)}for(let s of(i&&!e.length&&(this.$state.savedState.set(null),e[a.ListSymbol.reset](m)),p)){if(!h(s)||e.getBySrc(s.src))continue;let i={id:s.id??s.height+"p",bitrate:null,codec:null,...s,selected:!1};e[a.ListSymbol.add](i,m),t=!0}t&&!e[a.QualitySymbol.enableAuto]&&(this.#ty(),e[a.QualitySymbol.enableAuto]=this.#ty.bind(this),e[a.QualitySymbol.setAuto](!0,m))}"source-change"(e){e.isQualityChange=e.originEvent?.type==="quality-change";let t=e.detail;this.#tb(e,e.isQualityChange),this.#e1.set(e.type,e),this.$state.source.set(t),this.el?.setAttribute("aria-busy","true")}#tb(g,f=!1){let{audioTracks:e,qualities:t}=this.#y;if(!f){this.#e3=[],this.#e5=[-1,-1],e[a.ListSymbol.reset](g),t[a.ListSymbol.reset](g),u(this.$state,f),this.#tr();return}u(this.$state,f),this.#tr()}abort(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let i=this.#e1.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t)}error(e){this.$state.error.set(e.detail);let t=this.#e1.get("abort");t&&e.triggers.add(t)}"loaded-metadata"(e){let t=this.#e1.get("load-start");t&&e.triggers.add(t)}"loaded-data"(e){let t=this.#e1.get("load-start");t&&e.triggers.add(t)}"can-play"(e){let t=this.#e1.get("loaded-metadata");t&&e.triggers.add(t),this.#tk(e.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(e){this.#tk(e.detail);let t=this.#e1.get("can-play");t&&e.triggers.add(t)}#tk(y){let{seekable:e,buffered:t,intrinsicDuration:i,canPlay:s}=this.$state;s.set(!0),t.set(y.buffered),e.set(y.seekable);let r=(0,a.getTimeRangesEnd)(y.seekable)??1/0;i.set(r)}"duration-change"(e){let{live:t,intrinsicDuration:i,providedDuration:s,clipEndTime:a,ended:r}=this.$state,n=e.detail;if(!t()){let t=Number.isNaN(n)?0:n;i.set(t),r()&&this.#tw(e)}(s()>0||a()>0)&&e.stopImmediatePropagation()}progress(e){let{buffered:t,seekable:i}=this.$state,{buffered:s,seekable:r}=e.detail,n=(0,a.getTimeRangesEnd)(s),h=s.length!==t().length,o=n!==(0,a.getTimeRangesEnd)(t()),l=(0,a.getTimeRangesEnd)(r),d=r.length!==i().length,u=l!==(0,a.getTimeRangesEnd)(i());(h||o)&&t.set(s),(d||u)&&i.set(r)}play(e){let{paused:t,autoPlayError:i,ended:s,autoPlaying:a,playsInl
1ine:r,pointer:n,muted:h,viewType:o,live:l,userBehindLiveEdge:d}=this.$state;if(this.#tS(),!t()){e.stopImmediatePropagation();return}e.autoPlay=a();let u=this.#e1.get("waiting");u&&e.triggers.add(u),this.#th("media-play-request",e),this.#e1.set("play",e),t.set(!1),i.set(null),e.autoPlay&&(this.handle(this.createEvent("auto-play",{detail:{muted:h()},trigger:e})),a.set(!1)),(s()||this.#eI.replaying)&&(this.#eI.replaying=!1,s.set(!1),this.handle(this.createEvent("replay",{trigger:e}))),r()||"video"!==o()||"coarse"!==n()||this.#y.remote.enterFullscreen("prefer-media",e),l()&&!d()&&this.#y.remote.seekToLiveEdge(e)}#tS(b){if(!(0,s.peek)(this.#y.$provider))return;let{ended:e,seekableStart:t,clipEndTime:i,currentTime:a,realCurrentTime:r,duration:n}=this.$state,h=e()||r()<t()||i()>0&&r()>=i()||.1>Math.abs(a()-n());return h&&this.dispatch("media-seek-request",{detail:t(),trigger:b}),h}"play-fail"(e){let{muted:t,autoPlaying:i}=this.$state,s=this.#e1.get("play");s&&e.triggers.add(s),this.#th("media-play-request",e);let{paused:a,playing:r}=this.$state;a.set(!0),r.set(!1),this.#tr(),this.#e1.set("play-fail",e),e.autoPlay&&(this.handle(this.createEvent("auto-play-fail",{detail:{muted:t(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let t=this.#e1.get("play"),i=this.#e1.get("seeked");t?e.triggers.add(t):i&&e.triggers.add(i),setTimeout(()=>this.#tr(),0);let{paused:s,playing:a,live:r,liveSyncPosition:n,seekableEnd:h,started:o,currentTime:l,seeking:d,ended:u}=this.$state;if(s.set(!1),a.set(!0),d.set(!1),u.set(!1),this.#eI.looping){this.#eI.looping=!1;return}if(r()&&!o()&&0===l()){let e=n()??h()-2;Number.isFinite(e)&&this.#y.$provider().setCurrentTime(e)}this.started(e)}started(e){let{started:t}=this.$state;t()||(t.set(!0),this.handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this.#ta=!0),this.#th("media-pause-request",e);let t=this.#e1.get("seeked");t&&e.triggers.add(t);let{paused:i,playing:s}=this.$state;i.set(!0),s.set(!1),this.#e2&&setTimeout(()=>{this.handle(this.createEvent("end",{trigger:e})),this.#e2=!1},0),this.#tr()}"time-change"(e){if(this.#eI.looping){e.stopImmediatePropagation();return}let{waiting:t,played:i,clipEndTime:s,realCurrentTime:r,currentTime:n}=this.$state,h=e.detail,o=s();for(let i of(r.set(h),this.#t$(),t.set(!1),this.#y.textTracks))i[a.TextTrackSymbol.updateActiveCues](h,e);o>0&&h>=o&&(this.#e2=!0,this.dispatch("media-pause-request",{trigger:e})),this.#tT(),this.dispatch("time-update",{detail:{currentTime:n(),played:i()},trigger:e})}#t$(){let{currentTime:e,played:t,paused:i}=this.$state;i()||(this.#e5=(0,a.updateTimeIntervals)(this.#e3,this.#e5,e()),t.set(new a.TimeRange(this.#e3)))}#tw(v){let{clipStartTime:e,clipEndTime:t,duration:i}=this.$state;e()>0||t()>0||this.handle(this.createEvent("time-change",{detail:i(),trigger:v}))}#tT(){let{storage:e}=this.#y,{canPlay:t,realCurrentTime:i}=this.$state;t()&&e?.setTime?.(i())}"audio-gain-change"(e){let{storage:t}=this.#y,{canPlay:i,audioGain:s}=this.$state;s.set(e.detail),this.#th("media-audio-gain-change-request",e),i()&&t?.setAudioGain?.(s())}"volume-change"(e){let{storage:t}=this.#y,{volume:i,muted:s,canPlay:a}=this.$state,r=e.detail;i.set(r.volume),s.set(r.muted||0===r.volume),this.#th("media-volume-change-request",e),this.#th(r.muted?"media-mute-request":"media-unmute-request",e),a()&&(t?.setVolume?.(i()),t?.setMuted?.(s()))}seeking=(0,s.functionThrottle)(e=>{let{seeking:t,realCurrentTime:i,paused:s}=this.$state;t.set(!0),i.set(e.detail),this.#th("media-seeking-request",e),s()&&(this.#e4=e,this.#tP()),this.#e5=[-1,-1]},150,{leading:!0});seeked(e){let{seeking:t,currentTime:i,realCurrentTime:s,paused:a,seekableEnd:r,ended:n,live:h}=this.$state;if(this.#eI.seeking)t.set(!0),e.stopImmediatePropagation();else if(t()){let i=this.#e1.get("waiting");i&&e.triggers.add(i);let r=this.#e1.get("seeking");r&&!e.triggers.has(r)&&e.triggers.add(r),a()&&this.#tn(),t.set(!1),s.set(e.detail),this.#th("media-seek-request",e);let n=e?.originEvent;!n?.isTrusted||n instanceof MessageEvent||/seek/.test(n.type)||this.started(e)}h()||(Math.floor(i())!==Math.floor(r())?n.set(!1):this.end(e))}waiting(e){this.#e9||this.#eI.seeking||(e.stopImmediatePropagation(),this.#e4=e,this.#tP())}#tP=(0,s.functionDebounce)(()=>
1{if(!this.#e4)return;this.#e9=!0;let{waiting:e,playing:t}=this.$state;e.set(!0),t.set(!1);let i=this.createEvent("waiting",{trigger:this.#e4});this.#e1.set("waiting",i),this.dispatch(i),this.#e4=void 0,this.#e9=!1},300);end(e){let{loop:t,ended:i}=this.$state;if(!(!t()&&i())){if(t()){setTimeout(()=>{requestAnimationFrame(()=>{this.#tS(e),this.dispatch("media-loop-request",{trigger:e})})},10);return}setTimeout(()=>this.#tx(e),0)}}#tx(k){let{storage:e}=this.#y,{paused:t,seeking:i,ended:s,duration:a}=this.$state;this.#tw(k),t()||this.dispatch("pause",{trigger:k}),i()&&this.dispatch("seeked",{detail:a(),trigger:k}),s.set(!0),this.#tr(),e?.setTime?.(a(),!0),this.dispatch("ended",{trigger:k})}#tn(){this.#tP.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let t=e.detail;this.$state.fullscreen.set(t),this.#th(t?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this.#th("media-enter-fullscreen-request",e),this.#th("media-exit-fullscreen-request",e)}"orientation-change"(e){let t=e.detail.lock;this.#th(t?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let t=e.detail;this.$state.pictureInPicture.set(t),this.#th(t?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this.#th("media-enter-pip-request",e),this.#th("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}},ek=class extends F{onSetup(){if(this.#ea(),a.IS_SERVER)return;let e=[this.#tE,this.#tC,this.#tq,this.#tA,this.#w,this.#tR,this.#tI,this.#tM,this.#tV,this.#tD,this.#tL,this.#tO,this.#tF,this.#tN,this.#tK];for(let t of e)(0,s.effect)(t.bind(this))}#ea(){let e={duration:"providedDuration",loop:"providedLoop",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},t=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))t.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||0===this.$props.volume())}#tN(){let{viewType:e,streamType:t,title:i,poster:s,loop:a}=this.$props,r=this.$state;r.providedPoster.set(s()),r.providedStreamType.set(t()),r.providedViewType.set(e()),r.providedTitle.set(i()),r.providedLoop.set(a())}#tQ(){}#tE(){let{artist:e,artwork:t}=this.$props;this.$state.artist.set(e()),this.$state.artwork.set(t())}#tK(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}#tC(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}#tL(){let e=this.$state.loop();this.dispatch("loop-change",{detail:e})}#w(){let e=this.$props.controls();this.$state.controls.set(e)}#tF(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}#tR(){let e=this.$props.crossOrigin()??this.$props.crossorigin();this.$state.crossOrigin.set(!0===e?"":e)}#tI(){let{duration:e}=this.$props;this.dispatch("media-duration-change-request",{detail:e()})}#tO(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}#tq(){let{clipStartTime:e}=this.$props;this.dispatch("media-clip-start-change-request",{detail:e()})}#tA(){let{clipEndTime:e}=this.$props;this.dispatch("media-clip-end-change-request",{detail:e()})}#tM(){this.dispatch("live-change",{detail:this.$state.live()})}#tD(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}#tV(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}};let ew=["play","pause","seekforward","seekbackward","seekto"];var eS=class extends F{onConnect(){(0,s.effect)(this.#t_.bind(this)),(0,s.effect)(this.#tH.bind(this));let e=this.#tU.bind(this);for(let t of ew)navigator.mediaSession.setActionHandler(t,e);(0,s.onDispose)(this.#ef.bind(this))}#ef(){for(let e of ew)navigator.mediaSession.setActionHandler(e,null)}#t_(){let{title:e,artist:t,artwork:i,poster:s}=this.$state;
1navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:t(),artwork:i()??[{src:s()}]})}#tH(){let{canPlay:e,paused:t}=this.$state;navigator.mediaSession.playbackState=e()?t()?"paused":"playing":"none"}#tU(e){let t=new s.DOMEvent("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:t});break;case"pause":this.dispatch("media-pause-request",{trigger:t});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:(0,s.isNumber)(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??("seekforward"===e.action?10:-10)),trigger:t})}}};let e$=(0,s.signal)(!1);a.IS_SERVER||((0,s.listenEvent)(document,"pointerdown",()=>{e$.set(!1)}),(0,s.listenEvent)(document,"keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||e$.set(!0)}));var eT=class extends s.ViewController{#tW=(0,s.signal)(!1);onConnect(e){(0,s.effect)(()=>{let t=new s.EventsController(e);if(!e$()){this.#tW.set(!1),eP(e,!1),t.add("pointerenter",this.#tB.bind(this)).add("pointerleave",this.#tG.bind(this));return}let i=document.activeElement===e;this.#tW.set(i),eP(e,i),t.add("focus",this.#tz.bind(this)).add("blur",this.#tj.bind(this))})}focused(){return this.#tW()}#tz(){this.#tW.set(!0),eP(this.el,!0)}#tj(){this.#tW.set(!1),eP(this.el,!1)}#tB(){ex(this.el,!0)}#tG(){ex(this.el,!1)}};function eP(e,t){(0,s.setAttribute)(e,"data-focus",t),(0,s.setAttribute)(e,"data-hocus",t)}function ex(e,t){(0,s.setAttribute)(e,"data-hocus",t),(0,s.setAttribute)(e,"data-hover",t)}var eE=class e extends s.Component{static props=eo;static state=o;#y;#eR;#tX;canPlayQueue=new ec;remoteControl;get #tY(){return this.#y.$provider()}get #tJ(){return this.$props}constructor(){super(),new ek;let e={player:this,qualities:new V,audioTracks:new k,storage:null,$provider:(0,s.signal)(null),$providerSetup:(0,s.signal)(!1),$props:this.$props,$state:this.$state};e.remote=this.remoteControl=new g(void 0),e.remote.setPlayer(this),e.textTracks=new M,e.textTracks[a.TextTrackSymbol.crossOrigin]=this.$state.crossOrigin,e.textRenderers=new I(e),e.ariaKeys={},this.#y=e,(0,s.provideContext)(p,e),this.orientation=new j,new eT,new Q(e);let t=new ey;this.#eR=new ev(t,e),this.#tX=new em(this.#eR,t,e),e.delegate=new ed(this.#eR.handle.bind(this.#eR),e),e.notify=e.delegate.notify.bind(e.delegate),"undefined"!=typeof navigator&&"mediaSession"in navigator&&new eS,new el("load",this.startLoading.bind(this)),new el("posterLoad",this.startLoadingPoster.bind(this))}onSetup(){this.#tZ(),(0,s.effect)(this.#t0.bind(this)),(0,s.effect)(this.#t1.bind(this)),(0,s.effect)(this.#en.bind(this)),(0,s.effect)(this.#t2.bind(this)),(0,s.effect)(this.#t3.bind(this)),(0,s.effect)(this.#tO.bind(this)),(0,s.effect)(this.#t5.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),$(e,"tabindex","0"),$(e,"role","region"),(0,s.effect)(this.#t9.bind(this)),a.IS_SERVER?this.#tK():(0,s.effect)(this.#tK.bind(this)),a.IS_SERVER?this.#t4():(0,s.effect)(this.#t4.bind(this)),(0,s.listenEvent)(e,"find-media-player",this.#t6.bind(this))}onConnect(e){a.IS_IPHONE&&(0,s.setAttribute)(e,"data-iphone","");let t=window.matchMedia("(pointer: coarse)");this.#t7(t),t.onchange=this.#t7.bind(this);let i=new ResizeObserver((0,s.animationFrameThrottle)(this.#t8.bind(this)));i.observe(e),(0,s.effect)(this.#t8.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),(0,s.onDispose)(()=>{i.disconnect(),t.onchange=null})}onDestroy(){this.#y.player=null,this.canPlayQueue.reset()}#ie=!1;#tK(){let e=this.$el,{ariaLabel:t}=this.$props,{title:i,live:r,viewType:n,providedTitle:h}=this.$state,o=r(),l=(0,s.uppercaseFirstChar)(n()),d="Unknown"!==l?`${o?"Live ":""}${l}`:o?"Live":"Media",u=i(),c=t()||`${d} Player`+(u?` - ${u}`:"");(0,s.setAttribute)(this.el,"aria-label",c),!a.IS_SERVER&&e?.hasAttribute("title")&&(this.#ie=!0,e?.removeAttribute("title"))}#t4(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),(0,s.setAttribute)(this.el,"data-orientation",e),this.#t8()}#t0(){this.$state.canPlay()&&this.#tY?this.canPlayQueue.start():this.canPlayQueue.stop()}#tZ(){if(e[en]){this.setAttributes(e[en]);return}let t={"data-load":function(){return this.$props.load()},"data-captions":function(){let e=this.$state.textTrack();return!!e&&(0,a.isTrackCaptionKind)(e)}
1,"data-ios-controls":function(){return this.$state.iOSControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:e,canPlay:t,waiting:i}=this.$state;return e()&&(!t()||i())},"data-error":function(){let{error:e}=this.$state;return!!e()},"data-autoplay-error":function(){let{autoPlayError:e}=this.$state;return!!e()}},i={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let e of eh){let a="data-"+(i[e]??(0,s.camelToKebabCase)(e));t[a]=function(){return this.$state[e]()}}delete t.title,e[en]=t,this.setAttributes(t)}#t6(t){t.detail(this)}#t8(){if(a.IS_SERVER||!this.el)return;let e=this.el.clientWidth,t=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(t),(0,s.setStyle)(this.el,"--player-width",e+"px"),(0,s.setStyle)(this.el,"--player-height",t+"px")}#t7(i){if(a.IS_SERVER)return;let e=i.matches?"coarse":"fine";(0,s.setAttribute)(this.el,"data-pointer",e),this.$state.pointer.set(e),this.#t8()}get provider(){return this.#tY}get controls(){return this.#tX.controls}set controls(e){this.#tJ.controls.set(e)}orientation;get title(){return(0,s.peek)(this.$state.title)}set title(e){if(this.#ie){this.#ie=!1;return}this.#tJ.title.set(e)}get qualities(){return this.#y.qualities}get audioTracks(){return this.#y.audioTracks}get textTracks(){return this.#y.textTracks}get textRenderers(){return this.#y.textRenderers}get duration(){return this.$state.duration()}set duration(e){this.#tJ.duration.set(e)}get paused(){return(0,s.peek)(this.$state.paused)}set paused(e){this.#it(e)}#en(){this.#it(this.$props.paused())}#it(r){r?this.canPlayQueue.enqueue("paused",()=>this.#tX.pause()):this.canPlayQueue.enqueue("paused",()=>this.#tX.play())}get muted(){return(0,s.peek)(this.$state.muted)}set muted(e){this.#ii(e)}#t1(){this.#ii(this.$props.muted())}#ii(n){this.canPlayQueue.enqueue("muted",()=>{(0,s.peek)(()=>{this.#tY&&this.#tY.setMuted(n)})})}get currentTime(){return(0,s.peek)(this.$state.currentTime)}set currentTime(e){this.#is(e)}#t3(){this.#is(this.$props.currentTime())}#is(h){this.canPlayQueue.enqueue("currentTime",()=>{let{currentTime:e}=this.$state;h!==(0,s.peek)(e)&&(0,s.peek)(()=>{if(!this.#tY)return;let e=c(h,this.$state);Number.isFinite(e)&&this.#tY.setCurrentTime(e)})})}get volume(){return(0,s.peek)(this.$state.volume)}set volume(e){this.#ia(e)}#t2(){this.#ia(this.$props.volume())}#ia(l){let e=(0,a.clampNumber)(0,l,1);this.canPlayQueue.enqueue("volume",()=>{this.#tY&&this.#tY.setVolume(e)})}get playbackRate(){return(0,s.peek)(this.$state.playbackRate)}set playbackRate(e){this.#ir(e)}#t5(){this.#ir(this.$props.playbackRate())}#ir(d){this.canPlayQueue.enqueue("rate",()=>{this.#tY&&this.#tY.setPlaybackRate?.(d)})}#tO(){this.#ih(this.$props.playsInline())}#ih(u){this.canPlayQueue.enqueue("playsinline",()=>{this.#tY&&this.#tY.setPlaysInline?.(u)})}#t9(){let e=this.$props.storage(),t=(0,s.isString)(e)?new f:e;if(t?.onChange){let{source:i}=this.$state,a=(0,s.isString)(e)?e:this.el?.id,r=(0,s.computed)(this.#io.bind(this));(0,s.effect)(()=>t.onChange(i(),r(),a||void 0))}this.#y.storage=t,this.#y.textTracks.setStorage(t),(0,s.onDispose)(()=>{t?.onDestroy?.(),this.#y.storage=null,this.#y.textTracks.setStorage(null)})}#io(){let{clipStartTime:e,clipEndTime:t}=this.$props,{source:i}=this.$state,s=i();return s.src?`${s.src}:${e()}:${t()}`:null}async play(e){return this.#tX.play(e)}async pause(e){return this.#tX.pause(e)}async enterFullscreen(e,t){return this.#tX.enterFullscreen(e,t)}async exitFullscreen(e,t){return this.#tX.exitFullscreen(e,t)}enterPictureInPicture(e){return this.#tX.enterPictureInPicture(e)}exitPictureInPicture(e){return this.#tX.exitPictureInPicture(e)}seekToLiveEdge(e){this.#tX.seekToLiveEdge(e)}startLoading(e){this.#y.notify("can-load",void 0,e)}startLoadingPoster(e){this.#y.notify("can-load-poster",void 0,e)}requestAirPlay(e){return this.#tX.requestAirPlay(e)}requestGoogleCast(e){return this.#tX.requestGoogleCast(e)}setAudioGain(e,t){return this.#tX.setAudioGain(e,t)}destroy(){super.destroy(),this.#y.remote.setPlayer(null),this.dispatch("destroy")}};
1let eC=eE.prototype;(0,s.prop)(eC,"canPlayQueue"),(0,s.prop)(eC,"remoteControl"),(0,s.prop)(eC,"provider"),(0,s.prop)(eC,"controls"),(0,s.prop)(eC,"orientation"),(0,s.prop)(eC,"title"),(0,s.prop)(eC,"qualities"),(0,s.prop)(eC,"audioTracks"),(0,s.prop)(eC,"textTracks"),(0,s.prop)(eC,"textRenderers"),(0,s.prop)(eC,"duration"),(0,s.prop)(eC,"paused"),(0,s.prop)(eC,"muted"),(0,s.prop)(eC,"currentTime"),(0,s.prop)(eC,"volume"),(0,s.prop)(eC,"playbackRate"),(0,s.method)(eC,"play"),(0,s.method)(eC,"pause"),(0,s.method)(eC,"enterFullscreen"),(0,s.method)(eC,"exitFullscreen"),(0,s.method)(eC,"enterPictureInPicture"),(0,s.method)(eC,"exitPictureInPicture"),(0,s.method)(eC,"seekToLiveEdge"),(0,s.method)(eC,"startLoading"),(0,s.method)(eC,"startLoadingPoster"),(0,s.method)(eC,"requestAirPlay"),(0,s.method)(eC,"requestGoogleCast"),(0,s.method)(eC,"setAudioGain");let eq=new Map;var eA=class{#il=!1;#id;#iu;#y;#ic;constructor(e,t,i,a=[]){this.#iu=e,this.#y=t,this.#ic=i;let r=new Z,n=new J,h=new Y,o=new X,l=[new et,new ee];this.#id=(0,s.computed)(()=>{let e=t.$state.remotePlaybackLoader(),i=t.$props.preferNativeHLS()?[h,o,r,n,...l,...a]:[n,h,o,r,...l,...a];return e?[e,...i]:i});let{$state:d}=t;for(let e of(d.sources.set(eR(t.$props.src())),d.sources())){let i=this.#id().find(t=>t.canPlay(e));if(!i)continue;let s=i.mediaType(e);t.$state.source.set(e),t.$state.mediaType.set(s),t.$state.inferredViewType.set(s),this.#ic.set(i),this.#il=!0;break}}connect(){let e=this.#ic();this.#il&&(this.#ip(this.#y.$state.source(),e),this.#im(e),this.#il=!1),(0,s.effect)(this.#ig.bind(this)),(0,s.effect)(this.#iy.bind(this)),(0,s.effect)(this.#ib.bind(this)),(0,s.effect)(this.#iv.bind(this)),(0,s.effect)(this.#ik.bind(this))}#ig(){this.#y.notify("sources-change",[...eR(this.#y.$props.src()),...this.#iu()])}#iy(){let{$state:e}=this.#y,t=e.sources(),i=(0,s.peek)(e.source),r=this.#iw(i,t);if(t[0]?.src&&!r.src&&!r.type){let{crossOrigin:i}=e,r=(0,a.getRequestCredentials)(i()),n=new AbortController;return Promise.all(t.map(e=>(0,s.isString)(e.src)&&"?"===e.type?fetch(e.src,{method:"HEAD",credentials:r,signal:n.signal}).then(t=>(e.type=t.headers.get("content-type")||"??",eq.set(e.src,e.type),e)).catch(()=>e):e)).then(t=>{if(n.signal.aborted)return;let i=this.#iw((0,s.peek)(e.source),t);(0,s.tick)(),i.src||this.#y.notify("error",{message:"Failed to load resource.",code:4})}),()=>n.abort()}(0,s.tick)()}#iw(e,t){let i={src:"",type:""},a=null,r=new s.DOMEvent("sources-change",{detail:{sources:t}}),n=this.#id(),{started:o,paused:l,currentTime:d,quality:u,savedState:c}=this.#y.$state;for(let e of t){let t=n.find(t=>t.canPlay(e));if(t){i=e,a=t;break}}if(h(i)){let e=u(),a=t.find(t=>t.src===e?.src);(0,s.peek)(o)?c.set({paused:(0,s.peek)(l),currentTime:(0,s.peek)(d)}):c.set(null),a&&(i=a,r=new s.DOMEvent("quality-change",{detail:{quality:e}}))}return eM(e,i)||this.#ip(i,a,r),a!==(0,s.peek)(this.#ic)&&this.#im(a,r),i}#ip(i,r,n){this.#y.notify("source-change",i,n),this.#y.notify("media-type-change",r?.mediaType(i)||"unknown",n)}#im(o,l){this.#y.$providerSetup.set(!1),this.#y.notify("provider-change",null,l),o&&(0,s.peek)(()=>o.preconnect?.(this.#y)),this.#ic.set(o),this.#y.notify("provider-loader-change",o,l)}#ib(){let e=this.#y.$provider();if(!(!e||(0,s.peek)(this.#y.$providerSetup))){if(this.#y.$state.canLoad()){(0,s.scoped)(()=>e.setup(),e.scope),this.#y.$providerSetup.set(!0);return}(0,s.peek)(()=>e.preconnect?.())}}
1#iv(){if(!this.#y.$providerSetup())return;let e=this.#y.$provider(),t=this.#y.$state.source(),i=(0,s.peek)(this.#y.$state.crossOrigin),r=(0,s.peek)(this.#y.$props.preferNativeHLS);if(!eM(e?.currentSrc,t)){if(this.#y.$state.canLoad()){let n=new AbortController;if((0,a.isHLSSrc)(t))(r||!(0,a.isHLSSupported)())&&(function e(t,i){return fetch(t,i).then(e=>e.text()).then(s=>{let a=function(e){let t=e.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g);return t?t[0].split("\n")[1].trim():null}(s);if(a)return e(/^https?:/.test(a)?a:new URL(a,t).href,i);let r=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(s)?"on-demand":"live";return"live"===r&&function(e){let t=e.split("\n");for(let e of t)if(e.startsWith("#EXT-X-TARGETDURATION")){let t=parseFloat(e.split(":")[1]);if(!isNaN(t))return t}return -1}(s)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(s)||s.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":r})})(t.src,{credentials:(0,a.getRequestCredentials)(i),signal:n.signal}).then(e=>{this.#y.notify("stream-type-change",e)}).catch(s.noop);else if((0,a.isDASHSrc)(t)){var d,u;(d=t.src,u={credentials:(0,a.getRequestCredentials)(i),signal:n.signal},fetch(d,u).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live")).then(e=>{this.#y.notify("stream-type-change",e)}).catch(s.noop)}else this.#y.notify("stream-type-change","on-demand");return(0,s.peek)(()=>{let i=(0,s.peek)(this.#y.$state.preload);return e?.loadSource(t,i).catch(e=>{})}),()=>n.abort()}try{(0,s.isString)(t.src)&&(0,a.preconnect)(new URL(t.src).origin)}catch(e){}}}#ik(){let e=this.#ic(),{providedPoster:t,source:i,canLoadPoster:a}=this.#y.$state;if(!e||!e.loadPoster||!i()||!a()||t())return;let r=new AbortController,n=new s.DOMEvent("source-change",{detail:i});return e.loadPoster(i(),this.#y,r).then(e=>{this.#y.notify("poster-change",e||"",n)}).catch(()=>{this.#y.notify("poster-change","",n)}),()=>{r.abort()}}};function eR(e){return((0,s.isArray)(e)?e:[e]).map(e=>(0,s.isString)(e)?{src:e,type:eI(e)}:{...e,type:eI(e.src,e.type)})}function eI(e,t){if((0,s.isString)(t)&&t.length)return t;if((0,s.isString)(e)&&eq.has(e))return eq.get(e);if(!t&&(0,a.isHLSSrc)({src:e,type:""}))return"application/x-mpegurl";if(!t&&(0,a.isDASHSrc)({src:e,type:""}))return"application/dash+xml";if(!(0,s.isString)(e)||e.startsWith("blob:"))return"video/object";if(e.includes("youtube")||e.includes("youtu.be"))return"video/youtube";if(e.includes("vimeo")&&!e.includes("progressive_redirect")&&!e.includes(".m3u8"))return"video/vimeo";return"?"}function eM(e,t){return e?.src===t?.src&&e?.type===t?.type}var eV=class{#iS;#y;#i$=[];constructor(e,t){this.#iS=e,this.#y=t,(0,s.effect)(this.#iT.bind(this))}#iT(){let e=this.#iS();for(let t of this.#i$)if(!e.some(e=>e.id===t.id)){let e=t.id&&this.#y.textTracks.getById(t.id);e&&this.#y.textTracks.remove(e)}for(let t of e){let e=t.id||a.TextTrack.createId(t);this.#y.textTracks.getById(e)||(t.id=e,this.#y.textTracks.add(t))}this.#i$=e}},eD=class extends s.Component{static props={loaders:[]};static state=new s.State({loader:null});#y;#iP;#iu=(0,s.signal)([]);#iS=(0,s.signal)([]);#ic=null;#e=null;#ix=!1;onSetup(){this.#y=m(),this.#iP=new eA(this.#iu,this.#y,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this.#ix=!0,this.#iP.connect(),new eV(this.#iS,this.#y);let t=new ResizeObserver((0,s.animationFrameThrottle)(this.#t8.bind(this)));t.observe(e);let i=new MutationObserver(this.#iE.bind(this));i.observe(e,{attributes:!0,childList:!0}),this.#t8(),this.#iE(),this.#e&&this.load(this.#e),(0,s.onDispose)(()=>{this.#ix=!1,t.disconnect(),i.disconnect()})}#iC=-1;load(e){this.#e=e||null,e?.setAttribute("aria-hidden","true"),this.#ix&&(window.cancelAnimationFrame(this.#iC),this.#iC=requestAnimationFrame(()=>this.#iq(e)),(0,s.onDispose)(()=>{window.cancelAnimationFrame(this.#iC)}))}#iq(e){if(!this.scope)return;let t=this.$state.loader(),{$provider:i}=this.#y;!(this.#ic===t&&t?.target===e&&(0,s.peek)(i))&&(this.#iA(),this.#ic=t,t&&(t.target=e||null),t&&e&&t.load(this.#y).then(e=>{this.scope&&(0,s.peek)(this.$state.loader)===t&&this.#y.notify("provider-change",e)}))}onDestroy(){this.#ic=null,this.#iA()}#iA(){this.#y?.notify("provider-change",null)}#t8(){if(!this.el)return;let{player:e,$state:t}=this.#y,i=this.el.offsetWidth,a=this.el.offsetHeight;
1e&&(t.mediaWidth.set(i),t.mediaHeight.set(a),e.el&&((0,s.setStyle)(e.el,"--media-width",i+"px"),(0,s.setStyle)(e.el,"--media-height",a+"px")))}#iE(){let e=[],t=[],i=this.el.children;for(let r of i)if(!r.hasAttribute("data-vds")){if(r instanceof HTMLSourceElement){let t={id:r.id,src:r.src,type:r.type};for(let e of["id","src","width","height","bitrate","codec"]){let i=r.getAttribute(`data-${e}`);(0,s.isString)(i)&&(t[e]=/id|src|codec/.test(e)?i:Number(i))}e.push(t)}else if(r instanceof HTMLTrackElement){let e={src:r.src,kind:r.track.kind,language:r.srclang,label:r.label,default:r.default,type:r.getAttribute("data-type")};t.push({id:r.id||a.TextTrack.createId(e),...e})}}this.#iu.set(e),this.#iS.set(t),(0,s.tick)()}};let eL=eD.prototype;(0,s.method)(eL,"load"),new s.State({label:null,busy:!1});var eO=class extends s.ViewController{#iR;constructor(e){super(),this.#iR=e,(0,s.effect)(this.#iI.bind(this))}onDestroy(){this.#iM?.(),this.#iM=null}#iI(){let e=this.#iR.trigger();if(!e){this.hide();return}let t=this.show.bind(this),i=this.hide.bind(this);this.#iR.listen(e,t,i)}#iV=-1;#iD=-1;#iM=null;show(e){this.#iL(),window.cancelAnimationFrame(this.#iD),this.#iD=-1,this.#iM?.(),this.#iM=null,this.#iV=window.setTimeout(()=>{this.#iV=-1;let t=this.#iR.content();t&&t.style.removeProperty("display"),(0,s.peek)(()=>this.#iR.onChange(!0,e))},this.#iR.showDelay?.()??0)}hide(e){this.#iL(),(0,s.peek)(()=>this.#iR.onChange(!1,e)),this.#iD=requestAnimationFrame(()=>{this.#iL(),this.#iD=-1;let e=this.#iR.content();if(e){let t=()=>{e.style.display="none",this.#iM=null};if("none"!==getComputedStyle(e).animationName){this.#iM?.();let i=(0,s.listenEvent)(e,"animationend",t,{once:!0});this.#iM=i}else t()}})}#iL(){window.clearTimeout(this.#iV),this.#iV=-1}};(0,s.createContext)();var eF=class extends s.ViewController{static props={disabled:!1};#iR;constructor(e){super(),this.#iR=e,new eT,e.keyShortcut&&new H(e.keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this.#iR.isPresssed,"aria-pressed":this.#iO.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){$(e,"tabindex","0"),$(e,"role","button"),$(e,"type","button")}onConnect(e){let t=C(e,this.#iF.bind(this));for(let e of["click","touchstart"])t.add(e,this.#iN.bind(this),{passive:!0})}#iO(){return(0,s.ariaBool)(this.#iR.isPresssed())}#iK(e){(0,s.isWriteSignal)(this.#iR.isPresssed)&&this.#iR.isPresssed.set(e=>!e)}#iF(t){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){t.preventDefault(),t.stopImmediatePropagation();return}t.preventDefault(),(this.#iR.onPress??this.#iK).call(this,t)}#iN(i){this.$props.disabled()&&(i.preventDefault(),i.stopImmediatePropagation())}},eN=class extends s.Component{static props={disabled:!1,defaultPressed:!1};#iQ=(0,s.signal)(!1);get pressed(){return this.#iQ()}constructor(){super(),new eF({isPresssed:this.#iQ})}};let eK=eN.prototype;(0,s.prop)(eK,"pressed");var eQ=class extends s.Component{static props=eF.props;#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),onPress:this.#iH.bind(this)})}onSetup(){this.#y=m();let{canAirPlay:e,isAirPlayConnected:t}=this.#y.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#iU.bind(this),"aria-hidden":ep(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),T(e,this.#iW.bind(this))}#iH(e){this.#y.remote.requestAirPlay(e)}#i_(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#y.$state;return"airplay"===e()&&"disconnected"!==t()}#iU(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#y.$state;return"airplay"===e()&&t()}#iW(){let{remotePlaybackState:e}=this.#y.$state;return`AirPlay ${e()}`}};eF.props;var e_=class extends s.Component{static props=eF.props;#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),keyShortcut:"togglePaused",onPress:this.#iH.bind(this)})}onSetup(){this.#y=m();let{paused:e,ended:t}=this.#y.$state;this.setAttributes({"data-paused":e,"data-ended":t})}onAttach(e){e.setAttribute("data-media-tooltip","play"),T(e,"Play")}#iH(e){let t=this.#y.remote;this.#i_()?t.pause(e):t.play(e)}#i_(){let{paused:e}=this.#y.$state;return!e()}},eH=class extends s.Component{static props=eF.props;#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),keyShortcut:"toggleCaptions",onPress:this.#iH.bind(this)})}onSetup(){this.#y=m(),this.setAttributes({"data-active":this.#i_.bind(this),"data-supported":()=>!this.#iB(),"aria-hidden":ep(this.#iB.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),T(e,"Captions")}#iH(e){this.#y.remote.toggleCaptions(e)}#i_(){let{textTrack:e}=this.#y.$state,t=e();return!!t&&(0,a.isTrackCaptionKind)(t)}#iB(){let{hasCaptions:e}=this.#y.$state;return!e()}},eU=class extends s.Component{static props={...eF.props,target:"prefer-media"};#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),keyShortcut:"toggleFullscreen",onPress:this.#iH.bind(this)})}onSetup(){this.#y=m();let{fullscreen:e}=this.#y.$state,t=this.#iG.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":ep(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),T(e,"Fullscreen")}#iH(e){let t=this.#y.remote,i=this.$props.target();this.#i_()?t.exitFullscreen(i,e):t.enterFullscreen(i,e)}#i_(){let{fullscreen:e}=this.#y.$state;return e()}#iG(){let{canFullscreen:e}=this.#y.$state;return e()}},eW=class extends s.Component{static props=eF.props;#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),keyShortcut:"toggleMuted",onPress:this.#iH.bind(this)})}onSetup(){this.#y=m(),this.setAttributes({"data-muted":this.#i_.bind(this),"data-state":this.#iU.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),T(e,"Mute")}#iH(e){let t=this.#y.remote;this.#i_()?t.unmute(e):t.mute(e)}#i_(){let{muted:e,volume:t}=this.#y.$state;return e()||0===t()}#iU(){let{muted:e,volume:t}=this.#y.$state,i=t();return e()||0===i?"muted":i>=.5?"high":i<.5?"low":void 0}},eB=class extends s.Component{static props=eF.props;#y;constructor(){super(),new eF({isPresssed:this.#i_.bind(this),keyShortcut:"togglePictureInPicture",onPress:this.#iH.bind(this)})}onSetup(){this.#y=m();let{pictureInPicture:e}=this.#y.$state,t=this.#iG.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":ep(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),T(e,"PiP")}#iH(e){let t=this.#y.remote;this.#i_()?t.exitPictureInPicture(e):t.enterPictureInPicture(e)}#i_(){let{pictureInPicture:e}=this.#y.$state;return e()}#iG(){let{canPictureInPicture:e}=this.#y.$state;return e()}},eG=class extends s.Component{static props={disabled:!1,seconds:30};#y;constructor(){super(),new eT}onSetup(){this.#y=m();let{seeking:e}=this.#y.$state,{seconds:t}=this.$props,i=this.#iG.bind(this);this.setAttributes({seconds:t,"data-seeking":e,"data-supported":i,"aria-hidden":ep(()=>!i())})}onAttach(e){$(e,"tabindex","0"),$(e,"role","button"),$(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),T(e,this.#iW.bind(this))}onConnect(e){C(e,this.#iH.bind(this))}#iG(){let{canSeek:e}=this.#y.$state;return e()}#iW(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}#iH(e){let{seconds:t,disabled:i}=this.$props;if(i())return;let{currentTime:s}=this.#y.$state,a=s()+t();this.#y.remote.seek(a,e)}},ez=class extends s.Component{static props={disabled:!1};#y;constructor(){super(),new eT}onSetup(){this.#y=m();let{disabled:e}=this.$props,{live:t,liveEdge:i}=this.#y.$state,s=()=>!t();this.setAttributes({"data-edge":i,"data-hidden":s,"aria-disabled":ep(()=>e()||i()),"aria-hidden":ep(s)})}onAttach(e){$(e,"tabindex","0"),$(e,"role","button"),$(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){C(e,this.#iH.bind(this))}#iH(e){let{disabled:t}=this.$props,{liveEdge:i}=this.#y.$state;t()||i()||this.#y.remote.seekToLiveEdge(e)}};let ej=new s.State({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return eX(this.min,this.max,this.value)},get fillPercent(){return 100*this.fillRate},get pointerRate(){return eX(this.min,this.max,this.pointerValue)},get pointerPercent(){return 100*this.pointerRate}});function eX(e,t,i){let s=t-e;return s>0?(i-e)/s:0}var eY=class extends s.ViewController{#ea;#iz;
1constructor(e){super(),this.#ea=e}onConnect(e){this.#iz=new IntersectionObserver(e=>{this.#ea.callback?.(e,this.#iz)},this.#ea),this.#iz.observe(e),(0,s.onDispose)(this.#ef.bind(this))}#ef(){this.#iz?.disconnect(),this.#iz=void 0}};let eJ=(0,s.createContext)(),eZ=(0,s.createContext)(),e0={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};var e1=class extends s.ViewController{#iR;#y;#iz;constructor(e,t){super(),this.#iR=e,this.#y=t}onSetup(){(0,s.hasProvidedContext)(eZ)&&(this.#iz=(0,s.useContext)(eZ))}onConnect(e){(0,s.effect)(this.#ij.bind(this,e)),(0,s.effect)(this.#iX.bind(this,e)),this.#iR.swipeGesture&&(0,s.effect)(this.#iY.bind(this))}#iY(){let{pointer:e}=this.#y.$state;if("coarse"!==e()||!this.#iR.swipeGesture()){this.#tY=null,this.#iJ();return}if(this.#tY=this.#y.player.el?.querySelector("media-provider,[data-media-provider]"),!this.#tY){this.#iJ();return}new s.EventsController(this.#tY).add("touchstart",this.#iZ.bind(this),{passive:!0}).add("touchmove",this.#i0.bind(this),{passive:!1})}#tY=null;#i1=null;#i2=null;#iJ(){this.#i1=null,this.#i2=null}#iZ(e){this.#i1=e.touches[0]}#i0(t){if((0,s.isNull)(this.#i1)||q(t))return;let e=t.touches[0],i=e.clientX-this.#i1.clientX,a=e.clientY-this.#i1.clientY,r=this.$state.dragging();!r&&Math.abs(a)>5||r||(t.preventDefault(),Math.abs(i)>20&&(this.#i1=e,this.#i2=this.$state.value(),this.#i3(this.#i2,t)))}#ij(i){let{hidden:e}=this.$props;(0,s.listenEvent)(i,"focus",this.#tz.bind(this)),e()||this.#iR.isDisabled()||new s.EventsController(i).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)).add("pointerenter",this.#tB.bind(this)).add("pointermove",this.#i5.bind(this)).add("pointerleave",this.#tG.bind(this)).add("pointerdown",this.#i9.bind(this))}#iX(r){!this.#iR.isDisabled()&&this.$state.dragging()&&new s.EventsController(document).add("pointerup",this.#i4.bind(this),{capture:!0}).add("pointermove",this.#i6.bind(this)).add("touchmove",this.#i7.bind(this),{passive:!1})}#tz(){this.#i8(this.$state.value())}#se(n,h){let{value:e,min:t,max:i,dragging:s}=this.$state,a=Math.max(t(),Math.min(n,i()));e.set(a);let r=this.createEvent("value-change",{detail:a,trigger:h});if(this.dispatch(r),this.#iR.onValueChange?.(r),s()){let e=this.createEvent("drag-value-change",{detail:a,trigger:h});this.dispatch(e),this.#iR.onDragValueChange?.(e)}}#i8(o,l){let{pointerValue:e,dragging:t}=this.$state;e.set(o),this.dispatch("pointer-value-change",{detail:o,trigger:l}),t()&&this.#se(o,l)}#st(d){let e,t=this.el.getBoundingClientRect(),{min:i,max:r}=this.$state;if("vertical"===this.$props.orientation()){let{bottom:i,height:s}=t;e=(i-d.clientY)/s}else if(this.#i1&&(0,s.isNumber)(this.#i2)&&this.#tY){let{width:t}=this.#tY.getBoundingClientRect(),s=(d.clientX-this.#i1.clientX)/t,a=r()-i(),n=a*Math.abs(s);e=(s<0?this.#i2-n:this.#i2+n)/a}else{this.#i1&&(0,s.isNumber)(this.#i2)&&this.#iJ();let{left:i,width:a}=t;e=(d.clientX-i)/a}return Math.max(i(),Math.min(r(),this.#iR.roundValue(function(e,t,i,s){let r=(0,a.clampNumber)(0,i,1);return e+s*Math.round((t-e)*r/s)}(i(),r(),e,this.#iR.getStep()))))}#tB(u){this.$state.pointing.set(!0)}#i5(c){let{dragging:e}=this.$state;e()||this.#i8(this.#st(c),c)}#tG(p){this.$state.pointing.set(!1)}#i9(m){if(0!==m.button)return;let e=this.#st(m);this.#i3(e,m),this.#i8(e,m)}#i3(g,f){let{dragging:e}=this.$state;if(e())return;e.set(!0),this.#y.remote.pauseControls(f);let t=this.createEvent("drag-start",{detail:g,trigger:f});this.dispatch(t),this.#iR.onDragStart?.(t),this.#iz?.onDragStart?.()}#si(y,b){let{dragging:e}=this.$state;if(!e())return;e.set(!1),this.#y.remote.resumeControls(b);let t=this.createEvent("drag-end",{detail:y,trigger:b});this.dispatch(t),this.#iR.onDragEnd?.(t),this.#iJ(),this.#iz?.onDragEnd?.()}#ss;#sa=!1;#Q(v){if(!Object.keys(e0).includes(v.key))return;let{key:e}=v,t=this.#sr(v);if(!(0,s.isNull)(t)){this.#i8(t,v),this.#se(t,v);return}let i=this.#sn(v);this.#sa||(this.#sa=e===this.#ss,!this.$state.dragging()&&this.#sa&&this.#i3(i,v)),this.#i8(i,v),this.#ss=e}#K(k){if(!Object.keys(e0).includes(k.key)||!(0,s.isNull)(this.#sr(k)))return;let e=this.#sa?this.$state.pointerValue():this.#sn(k);this.#se(e,k),this.#si(e,k),this.#ss="",this.#sa=!1}#sr(w){let e=w.key,{min:t,max:i}=this.$state;return"Home"===e||"PageUp"===e?t():"End"===e||"PageDown"===e?i():!w.metaKey&&/^[0-9]$/.test(e)?(i()-t())/10*Number(e):null}#sn(S){let{key:e,shiftKey:t}=S;S.preventDefault(),S.stopPropagation();let{shiftKeyMultiplier:i}=this.$props,{min:s,max:a,value:r,pointerValue:n}=this.$state,h=this.#iR.getStep(),o=this.#iR.getKeyStep(),l=(t?o*i():o)*Number(e0[e]),d=((this.#sa?n():this.#iR.getValue?.()??r())+l)/h;return Math.max(s(),Math.min(a(),Number((h*d).toFixed(3))))}#i4($){if(0!==$.button)return;$.preventDefault(),$.stopImmediatePropagation();let e=this.#st($);this.#i8(e,$),this.#si(e,$)}#i7(T){T.preventDefault()}#i6=(0,s.functionThrottle)(e=>{this.#i8(this.#st(e),e)},20,{leading:!0})};let e2=(0,s.createContext)(()=>({}));var e3=class extends s.ViewController{static props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};#y;#iR;#sh=(0,s.signal)(!0);#so=(0,s.signal)(!0);constructor(e){super(),this.#iR=e}onSetup(){this.#y=m();let e=new eT;e.attach(this),this.$state.focused=e.focused.bind(e),(0,s.hasProvidedContext)(e2)||(0,s.provideContext)(e2,{default:"value"}),(0,s.provideContext)(eJ,{orientation:this.$props.orientation,disabled:this.#iR.isDisabled,preview:(0,s.signal)(null)}),(0,s.effect)(this.#sl.bind(this)),(0,s.effect)(this.#sd.bind(this)),(0,s.effect)(this.#su.bind(this)),this.#sc(),new e1(this.#iR,this.#y).attach(this),new eY({callback:this.#sp.bind(this)}).attach(this)}onAttach(e){$(e,"role","slider"),$(e,"tabindex","0"),$(e,"autocomplete","off"),a.IS_SERVER?this.#sm():(0,s.effect)(this.#sm.bind(this))}onConnect(e){(0,s.onDispose)(x(e,this.#sh.set)),(0,s.effect)(this.#sg.bind(this))}#sp(e){this.#so.set(e[0].isIntersecting)}#sg(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#sh()||!this.#so())}#sl(){let{dragging:e,value:h,min:o,max:l}=this.$state;if(!(0,s.peek)(e)){var t,i,r,n;h.set((t=o(),i=l(),r=h(),n=this.#iR.getStep(),(0,a.clampNumber)(t,(0,a.round)(r,(0,a.getNumberOfDecimalPlaces)(n)),i)))}}#sd(){this.$state.step.set(this.#iR.getStep())}#su(){if(!this.#iR.isDisabled())return;let{dragging:e,pointing:t}=this.$state;e.set(!1),t.set(!1)}#sf(){return(0,s.ariaBool)(this.#iR.isDisabled())}#sc(){let{orientation:e}=this.$props,{dragging:t,active:i,pointing:s}=this.$state;
1this.setAttributes({"data-dragging":t,"data-pointing":s,"data-active":i,"aria-disabled":this.#sf.bind(this),"aria-valuemin":this.#iR.aria.valueMin??this.$state.min,"aria-valuemax":this.#iR.aria.valueMax??this.$state.max,"aria-valuenow":this.#iR.aria.valueNow,"aria-valuetext":this.#iR.aria.valueText,"aria-orientation":e})}#sm(){let{fillPercent:e,pointerPercent:t}=this.$state;this.#sy((0,a.round)(e(),3),(0,a.round)(t(),3))}#sy=(0,s.animationFrameThrottle)((e,t)=>{this.el?.style.setProperty("--slider-fill",e+"%"),this.el?.style.setProperty("--slider-pointer",t+"%")})},e5=class extends s.Component{static props={...e3.props,min:0,max:100,value:0};static state=ej;constructor(){super(),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.$props.disabled,aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)}})}onSetup(){(0,s.effect)(this.#sl.bind(this)),(0,s.effect)(this.#sk.bind(this))}#sb(){let{value:e}=this.$state;return Math.round(e())}#sv(){let{value:e,max:t}=this.$state;return(0,a.round)(e()/t()*100,2)+"%"}#sl(){let{value:e}=this.$props;this.$state.value.set(e())}#sk(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}};let e9=new Map,e4=new Map;var e6=class e{#y;#sw;#sS;$images=(0,s.signal)([]);static create(t,i){return new e(t,i,m())}constructor(e,t,i){this.#sw=e,this.#sS=t,this.#y=i,(0,s.effect)(this.#s$.bind(this))}#s$(){let{canLoad:e}=this.#y.$state;if(!e())return;let t=this.#sw();if(t){if((0,s.isString)(t)&&e9.has(t)){let e=e9.get(t);if(e9.delete(t),e9.set(t,e),e9.size>99){let e=e9.keys().next().value;e9.delete(e)}this.$images.set(e9.get(t))}else if((0,s.isString)(t)){let e=this.#sS(),r=t+"::"+e;if(!e4.has(r)){let n=new Promise(async(r,n)=>{try{let h=await fetch(t,{credentials:(0,a.getRequestCredentials)(e)});if("application/json"===h.headers.get("content-type")){let e=await h.json();if((0,s.isArray)(e)){if(e[0]&&"text"in e[0])r(this.#sT(e));else{for(let t=0;t<e.length;t++){let i=e[t];(0,a.assert)((0,s.isObject)(i),!1),(0,a.assert)("url"in i&&(0,s.isString)(i.url),!1),(0,a.assert)("startTime"in i&&(0,s.isNumber)(i.startTime),!1)}r(e)}}else r(this.#sP(e));return}i.e(409).then(i.bind(i,409)).then(async({parseResponse:e})=>{try{let{cues:t}=await e(h);r(this.#sT(t))}catch(e){n(e)}})}catch(e){n(e)}}).then(e=>(e9.set(r,e),e)).catch(e=>{this.#eg(t,e)}).finally(()=>{(0,s.isString)(r)&&e4.delete(r)});e4.set(r,n)}e4.get(r)?.then(e=>{this.$images.set(e||[])})}else if((0,s.isArray)(t))try{this.$images.set(this.#sx(t))}catch(e){this.#eg(t,e)}else try{this.$images.set(this.#sP(t))}catch(e){this.#eg(t,e)}return()=>{this.$images.set([])}}}#sx(t){let e=this.#sE();return t.map((t,i)=>((0,a.assert)(t.url&&(0,s.isString)(t.url),!1),(0,a.assert)("startTime"in t&&(0,s.isNumber)(t.startTime),!1),{...t,url:(0,s.isString)(t.url)?this.#sC(t.url,e):t.url}))}#sP(r){(0,a.assert)((0,s.isString)(r.url),!1),(0,a.assert)((0,s.isArray)(r.tiles)&&r.tiles?.length,!1);let e=new URL(r.url),t=[],i="tile_width"in r?r.tile_width:r.tileWidth,n="tile_height"in r?r.tile_height:r.tileHeight;for(let s of r.tiles)t.push({url:e,startTime:"start"in s?s.start:s.startTime,width:i,height:n,coords:{x:s.x,y:s.y}});return t}#sT(n){for(let e=0;e<n.length;e++){let t=n[e];(0,a.assert)("startTime"in t&&(0,s.isNumber)(t.startTime),!1),(0,a.assert)("text"in t&&(0,s.isString)(t.text),!1)}let e=[],t=this.#sE();for(let i of n){let[a,r]=i.text.split("#"),n=this.#sq(r);e.push({url:this.#sC(a,t),startTime:i.startTime,endTime:i.endTime,width:n?.w,height:n?.h,coords:n&&(0,s.isNumber)(n.x)&&(0,s.isNumber)(n.y)?{x:n.x,y:n.y}:void 0})}return e}#sE(){let e=(0,s.peek)(this.#sw);return(0,s.isString)(e)&&/^https?:/.test(e)?e:location.href}#sC(h,o){return/^https?:/.test(h)?new URL(h):new URL(h,o)}#sq(l){if(!l)return{};let[e,t]=l.split("="),i=t?.split(","),s={};if(!e||!i)return null;for(let t=0;t<e.length;t++){let a=+i[t];isNaN(a)||(s[e[t]]=a)}return s}#eg(d,u){}};let e7=new Map;var e8=class extends s.Component{static props={src:null,time:0,crossOrigin:null};static state=new s.State({src:"",img:null,thumbnails:[],activeThumbn
1ail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});media;#ic;#sA=[];onSetup(){this.media=m(),this.#ic=e6.create(this.$props.src,this.$state.crossOrigin),this.#tR(),this.setAttributes({"data-loading":this.#sR.bind(this),"data-error":this.#sI.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":ep(this.$state.hidden)})}onConnect(e){(0,s.effect)(this.#sM.bind(this)),(0,s.effect)(this.#sg.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sV.bind(this)),(0,s.effect)(this.#sD.bind(this)),(0,s.effect)(this.#sL.bind(this)),(0,s.effect)(this.#sO.bind(this))}#sM(){let e=this.$state.img();e&&new s.EventsController(e).add("load",this.#sF.bind(this)).add("error",this.#eg.bind(this))}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.media.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#sV(){let{src:e,loading:t,error:i}=this.$state;return e()&&(t.set(!0),i.set(null)),()=>{this.#sN(),t.set(!1),i.set(null)}}#sF(){let{loading:e,error:t}=this.$state;this.#sO(),e.set(!1),t.set(null)}#eg(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}#sR(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#sg(){let{hidden:e}=this.$state,{duration:t}=this.media.$state,i=this.#ic.$images();e.set(this.#sI()||!Number.isFinite(t())||0===i.length)}getTime(){return this.$props.time()}#sD(){let e=this.#ic.$images();if(!e.length)return;let t=this.getTime(),{src:i,activeThumbnail:s}=this.$state,a=-1,r=null;for(let i=e.length-1;i>=0;i--){let s=e[i];if(t>=s.startTime&&(!s.endTime||t<s.endTime)){a=i;break}}e[a]&&(r=e[a]),i.set(r?.url.href||""),s.set(r)}#sL(){if(a.IS_SERVER)return;let e=this.#ic.$images(),t=this.$state.activeThumbnail();if(!t)return;let i=e.indexOf(t);if(i<0)return;let s=t.url.href,r=this.$state.crossOrigin(),n=i+1,h=Math.min(n+2,e.length);for(let t=n;t<h;t++){let i=e[t].url.href;i!==s&&function(e,t){let i=`${e}::${t}`;if(e7.has(i)){let e=e7.get(i);e7.delete(i),e7.set(i,e);return}let s=new Image;if(s.decoding="async",s.crossOrigin=t,s.src=e,e7.set(i,s),e7.size>32){let e=e7.keys().next().value;e7.delete(e)}}(i,r)}}#sO(){if(!this.scope||this.$state.hidden())return;let e=this.el,t=this.$state.img(),i=this.$state.activeThumbnail();if(!t||!i||!e)return;let s=i.width??t.naturalWidth,r=i?.height??t.naturalHeight,{maxWidth:n,maxHeight:h,minWidth:o,minHeight:l,width:d,height:u}=getComputedStyle(this.el);"100%"===o&&(o=parseFloat(d)+""),"100%"===l&&(l=parseFloat(u)+"");let c=Math.max(parseInt(o)/s,parseInt(l)/r),p=Math.min(Math.max(parseInt(o),parseInt(n))/s,Math.max(parseInt(l),parseInt(h))/r),m=!isNaN(p)&&p<1?p:c>1?c:1;this.#sK(e,"--thumbnail-width",`${s*m}px`),this.#sK(e,"--thumbnail-height",`${r*m}px`),this.#sK(e,"--thumbnail-aspect-ratio",String((0,a.round)(s/r,5))),this.#sK(t,"width",`${t.naturalWidth*m}px`),this.#sK(t,"height",`${t.naturalHeight*m}px`),this.#sK(t,"transform",i.coords?`translate(-${i.coords.x*m}px, -${i.coords.y*m}px)`:""),this.#sK(t,"max-width","none")}#sK(t,i,r){t.style.setProperty(i,r),this.#sA.push(()=>t.style.removeProperty(i))}#sN(){for(let e of this.#sA)e();this.#sA=[]}},te=class extends e8{#sQ;onAttach(e){this.#sQ=(0,s.useState)(e5.state)}getTime(){let{duration:e,clipStartTime:t}=this.media.$state;return t()+this.#sQ.pointerRate()*e()}},tt=class extends s.Component{static props={src:null,crossOrigin:null};static state=new s.State({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});#y;#sQ;get video(){return this.$state.video()}onSetup(){this.#y=m(),this.#sQ=(0,s.useState)(e5.state),this.#tR(),this.setAttributes({"data-loading":this.#sR.bind(this),"data-hidden":this.$state.hidden,"data-error":this.#sI.bind(this),"aria-hidden":ep(this.$state.hidden)})}onAttach(e){(0,s.effect)(this.#s_.bind(this)),(0,s.effect)(this.#sH.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sg.bind(this)),(0,s.effect)(this.#sU.bind(this)),(0,s.effect)(this.#sW.bind(this))}#s_(){let e=this.$state.video();e&&(e.readyState>=2&&this.#sB(),new s.EventsController(e).add("canplay",this.#sB.bind(this)).add("error",this.#eg.bind(this)))}#sH(){let{src:e}
1=this.$state,{canLoad:t}=this.#y.$state;e.set(t()?this.$props.src():null)}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.#y.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#sR(){let{canPlay:e,hidden:t}=this.$state;return!e()&&!t()}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e)}#sg(){let{src:e,hidden:t}=this.$state,{canLoad:i,duration:s}=this.#y.$state;t.set(i()&&(!e()||this.#sI()||!Number.isFinite(s())))}#sU(){let{src:e,canPlay:t,error:i}=this.$state;e(),t.set(!1),i.set(null)}#sB(e){let{canPlay:t,error:i}=this.$state;t.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}#eg(t){let{canPlay:e,error:i}=this.$state;e.set(!1),i.set(t),this.dispatch("error",{trigger:t})}#sW(){let{video:e,canPlay:t}=this.$state,{duration:i}=this.#y.$state,{pointerRate:s}=this.#sQ,a=e();t()&&a&&Number.isFinite(i())&&Number.isFinite(s())&&(a.currentTime=s()*i())}};let ti=tt.prototype;(0,s.prop)(ti,"video");var ts=class extends s.Component{static props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};#sG;#sz;#sQ;onSetup(){this.#sQ=(0,s.useState)(e5.state),this.#sG=(0,s.useContext)(e2),this.#sz=(0,s.computed)(this.getValueText.bind(this))}getValueText(){let{type:e,format:t,decimalPlaces:i,padHours:s,padMinutes:r,showHours:n,showMs:h}=this.$props,{value:o,pointerValue:l,min:d,max:u}=this.#sQ,c=t?.()??this.#sG.default,p="current"===e()?o():l();if("percent"===c){let e=p/(u()-d())*100;return(this.#sG.percent??a.round)(e,i())+"%"}return"time"===c?(this.#sG.time??ea)(p,{padHrs:s(),padMins:r(),showHrs:n(),showMs:h()}):(this.#sG.value?.(p)??p.toFixed(2))+""}};let ta=ts.prototype;(0,s.method)(ta,"getValueText");var tr=class extends s.Component{static props={offset:0,noClamp:!1};#sQ;onSetup(){this.#sQ=(0,s.useContext)(eJ);let{active:e}=(0,s.useState)(e5.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{preview:t}=this.#sQ;t.set(e),(0,s.onDispose)(()=>t.set(null)),(0,s.effect)(this.#sj.bind(this));let i=new ResizeObserver(this.#sj.bind(this));i.observe(e),(0,s.onDispose)(()=>i.disconnect())}#sj=(0,s.animationFrameThrottle)(()=>{let{disabled:e,orientation:t}=this.#sQ;if(e())return;let i=this.el,{offset:s,noClamp:a}=this.$props;i&&function(e,{clamp:t,offset:i,orientation:s}){let a=getComputedStyle(e),r=parseFloat(a.width),n=parseFloat(a.height),h={top:null,right:null,bottom:null,left:null};if(h["horizontal"===s?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${i}px))`,"horizontal"===s){let e=r/2;t?h.left=`min(max(0px, calc(var(--slider-pointer) - ${e}px)), calc(100% - ${r}px))`:h.left=`calc(var(--slider-pointer) - ${e}px)`}else{let e=n/2;t?h.bottom=`min(max(${e}px, calc(var(--slider-pointer) - ${e}px)), calc(100% - ${n}px))`:h.bottom=`calc(var(--slider-pointer) - ${e}px)`}Object.assign(e.style,h)}(i,{clamp:!a(),offset:s(),orientation:t()})})},tn=class extends s.Component{static props={...e3.props,keyStep:5,shiftKeyMultiplier:2};static state=ej;#y;onSetup(){this.#y=m();let{audioGain:e}=this.#y.$state;(0,s.provideContext)(e2,{default:"percent",value:t=>(t*(e()??1)).toFixed(2),percent:t=>Math.round(t*(e()??1))}),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#sX.bind(this),aria:{valueMax:this.#sY.bind(this),valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragValueChange:this.#sJ.bind(this),onValueChange:this.#sZ.bind(this)}).attach(this),(0,s.effect)(this.#t2.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),$(e,"aria-label","Volume");let{canSetVolume:t}=this.#y.$state;this.setAttributes({"data-supported":t,"aria-hidden":ep(()=>!t())})}#sb(){let{value:e}=this.$state,{audioGain:t}=this.#y.$state;return Math.round(e()*(t()??1))}#sv(){let{value:e,max:t}=this.$state,{audioGain:i}=this.#y.$state;return(0,a.round)(e()/t()*(i()??1)*100,2)+"%"}#sY(){let{audioGain:e}=this.#y.$state;return this.$state.max()*(e()??1)}#sX(){let{disabled:e}=this.$props,{canSetVolume:t}=this.#y.$state;return e()||!t()}#t2(){let{muted:e,volume:t}=this.#y.$state,i=e()?0:100*t();this.$state.value.set(i),this.dispatch("value-change",{detail:i})}#s0=(0,s.functionThrottle)(this.#s1.bind(this),25);#s1(e){if(!e.trigger)return;let t=(0,a.round)(e.detail/100,3);this.#y.remote.changeVolume(t,e)}#sZ(t){this.#s0(t)}#sJ(i){this.#s0(i)}};e3.props,e3.props;var th=class extends s.Component{static props={...e3.props,step:1,keyStep:1,shiftKeyMultiplier:1};static state=ej;#y;
1#s2=(0,s.computed)(()=>{let{qualities:e}=this.#y.$state;return D(e())});onSetup(){this.#y=m(),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#sX.bind(this),aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragValueChange:this.#sJ.bind(this),onValueChange:this.#sZ.bind(this)}).attach(this),(0,s.effect)(this.#s3.bind(this)),(0,s.effect)(this.#s5.bind(this))}onAttach(e){e.setAttribute("data-media-quality-slider",""),$(e,"aria-label","Video Quality");let{qualities:t,canSetQuality:i}=this.#y.$state,a=(0,s.computed)(()=>i()&&t().length>0);this.setAttributes({"data-supported":a,"aria-hidden":ep(()=>!a())})}#sb(){let{value:e}=this.$state;return e()}#sv(){let{quality:e}=this.#y.$state;if(!e())return"";let{height:t,bitrate:i}=e(),s=i&&i>0?`${(i/1e6).toFixed(2)} Mbps`:null;return t?`${t}p${s?` (${s})`:""}`:"Auto"}#s3(){let e=this.#s2();this.$state.max.set(Math.max(0,e.length-1))}#s5(){let{quality:e}=this.#y.$state,t=Math.max(0,this.#s2().indexOf(e()));this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#sX(){let{disabled:e}=this.$props,{canSetQuality:t,qualities:i}=this.#y.$state;return e()||i().length<=1||!t()}#s9=(0,s.functionThrottle)(this.#tu.bind(this),25);#tu(e){if(!e.trigger)return;let{qualities:t}=this.#y,i=(0,s.peek)(this.#s2)[e.detail];this.#y.remote.changeQuality(t.indexOf(i),e)}#sZ(t){this.#s9(t)}#sJ(i){this.#s9(i)}},to=class extends s.Component{static props={...e3.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100};static state=ej;#y;#s4;#s6=(0,s.signal)(null);constructor(){super();let{noSwipeGesture:e}=this.$props;new e3({swipeGesture:()=>!e(),getValue:this.#s7.bind(this),getStep:this.#s8.bind(this),getKeyStep:this.#ae.bind(this),roundValue:this.#at,isDisabled:this.#sX.bind(this),aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragStart:this.#ai.bind(this),onDragValueChange:this.#sJ.bind(this),onDragEnd:this.#as.bind(this),onValueChange:this.#sZ.bind(this)})}onSetup(){this.#y=m(),(0,s.provideContext)(e2,{default:"time",value:this.#aa.bind(this),time:this.#ar.bind(this)}),this.setAttributes({"data-chapters":this.#an.bind(this)}),this.setStyles({"--slider-progress":this.#ah.bind(this)}),(0,s.effect)(this.#t3.bind(this)),(0,s.effect)(this.#ao.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),$(e,"aria-label","Seek")}onConnect(e){(0,s.effect)(this.#al.bind(this)),(0,a.watchActiveTextTrack)(this.#y.textTracks,"chapters",this.#s6.set)}#ah(){let{bufferedEnd:e,duration:t}=this.#y.$state;return(0,a.round)(100*Math.min(e()/Math.max(t(),1),1),3)+"%"}#an(){let{duration:e}=this.#y.$state;return this.#s6()?.cues.length&&Number.isFinite(e())&&e()>0}#ao(){this.#s4=(0,s.functionThrottle)(this.#G.bind(this),this.$props.seekingRequestThrottle())}#t3(){if(this.$state.hidden())return;let{value:e,dragging:t}=this.$state,i=this.#s7();(0,s.peek)(t)||(e.set(i),this.dispatch("value-change",{detail:i}))}#al(){let e=this.#y.player.el,{preview:t}=(0,s.useContext)(eJ);e&&t()&&(0,s.setAttribute)(e,"data-preview",this.$state.active())}#G(e,t){this.#y.remote.seeking(e,t)}#ad(i,r,n){this.#s4.cancel();let{live:e}=this.#y.$state;if(e()&&r>=99){this.#y.remote.seekToLiveEdge(n);return}this.#y.remote.seek(i,n)}#au=!1;#ai(h){let{pauseWhileDragging:e}=this.$props;if(e()){let{paused:e}=this.#y.$state;this.#au=!e(),this.#y.remote.pause(h)}}#sJ(o){this.#s4(this.#ac(o.detail),o)}#as(l){let{seeking:e}=this.#y.$state;(0,s.peek)(e)||this.#G(this.#ac(l.detail),l);let t=l.detail;this.#ad(this.#ac(t),t,l);let{pauseWhileDragging:i}=this.$props;i()&&this.#au&&(this.#y.remote.play(l),this.#au=!1)}#sZ(d){let{dragging:e}=this.$state;!e()&&d.trigger&&this.#as(d)}#s7(){let{currentTime:e}=this.#y.$state;return this.#ap(e())}#s8(){let e=this.$props.step()/this.#y.$state.duration()*100;return Number.isFinite(e)?e:1}#ae(){let e=this.$props.keyStep()/this.#y.$state.duration()*100;return Number.isFinite(e)?e:1}#at(u){return(0,a.round)(u,3)}#sX(){let{disabled:e}=this.$props,{canSeek:t}=this.#y.$state;return e()||!t()}#sb(){let{value:e}=this.$state;return Math.round(e())}#sv(){let e=this.#ac(this.$state.value()),{duration:t}=this.#y.$state;return Number.isFinite(e)?`${er(e)} out of ${er(t())}`:"live"}#ac(c){let{duration:e}=this.#y.$state;return(0,a.round)(c/100*e(),5)}#ap(p){let{liveEdge:e,duration:t}
1=this.#y.$state,i=Math.max(0,Math.min(1,e()?1:Math.min(p,t())/t()));return Number.isNaN(i)?0:Number.isFinite(i)?100*i:100}#aa(g){let e=this.#ac(g),{live:t,duration:i}=this.#y.$state;return Number.isFinite(e)?(t()?e-i():e).toFixed(0):"LIVE"}#ar(f,y){let e=this.#ac(f),{live:t,duration:i}=this.#y.$state,s=t()?e-i():e;return Number.isFinite(e)?`${s<0?"-":""}${ea(Math.abs(s),y)}`:"LIVE"}},tl=class extends s.Component{static props={disabled:!1};#y;#am;#ag;#af=null;#ay=[];#ab=(0,s.signal)(null);#av=(0,s.signal)([]);#ak=(0,s.signal)(-1);#aw=(0,s.signal)(-1);#aS=0;get cues(){return this.#av()}get activeCue(){return this.#av()[this.#ak()]||null}get activePointerCue(){return this.#av()[this.#aw()]||null}onSetup(){this.#y=m(),this.#am=(0,s.useState)(to.state)}onAttach(e){(0,a.watchActiveTextTrack)(this.#y.textTracks,"chapters",this.#a$.bind(this)),(0,s.effect)(this.#aT.bind(this))}onConnect(){(0,s.onDispose)(()=>this.#aP.bind(this))}onDestroy(){this.#a$(null)}setRefs(e){if(this.#ay=e,this.#ag?.dispose(),1===this.#ay.length){let e=this.#ay[0];e.style.width="100%",e.style.setProperty("--chapter-fill","var(--slider-fill)"),e.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.#ay.length>0&&(0,s.scoped)(()=>this.#ax(),this.#ag=(0,s.createScope)())}#a$(e){(0,s.peek)(this.#ab)!==e&&(this.#aP(),this.#ab.set(e))}#aP(){this.#ay=[],this.#av.set([]),this.#ak.set(-1),this.#aw.set(-1),this.#aS=0,this.#ag?.dispose()}#ax(){this.#ay.length&&(0,s.effect)(this.#aE.bind(this))}#aE(){let{hidden:e}=this.#am;e()||((0,s.effect)(this.#aC.bind(this)),(0,s.effect)(this.#aq.bind(this)),(0,s.effect)(this.#aA.bind(this)),(0,s.effect)(this.#aR.bind(this)))}#aC(){let e=this.#av();if(!e.length)return;let t,{seekableStart:i,seekableEnd:s}=this.#y.$state,r=i(),n=(s()||e[e.length-1].endTime)-r,h=100;for(let i=0;i<e.length;i++)if(t=e[i],this.#ay[i]){let s=i===e.length-1?h:(0,a.round)((t.endTime-Math.max(r,t.startTime))/n*100,3);this.#ay[i].style.width=s+"%",h-=s}}#aq(){let{liveEdge:e,seekableStart:t,seekableEnd:i}=this.#y.$state,{fillPercent:a,value:r}=this.#am,n=this.#av(),h=e(),o=(0,s.peek)(this.#ak),l=n[o],d=h?this.#av.length-1:this.#aI(l&&l.startTime/i()*100<=(0,s.peek)(r)?o:0,a());h||!l?this.#aM(0,n.length,100):d>o?this.#aM(o,d,100):d<o&&this.#aM(d+1,o+1,0);let u=h?100:this.#aV(n[d],a(),t(),this.#aD(n));this.#aL(this.#ay[d],u),this.#ak.set(d)}#aA(){let{hidden:e,pointerPercent:t}=this.#am;if(e()){this.#aw.set(-1);return}let i=this.#aI(0,t());this.#aw.set(i)}#aM(t,i,r){for(let e=t;e<i;e++)this.#aL(this.#ay[e],r)}#aL(n,h){n&&(n.style.setProperty("--chapter-fill",h+"%"),(0,s.setAttribute)(n,"data-active",h>0&&h<100),(0,s.setAttribute)(n,"data-ended",100===h))}#aI(o,l){let e=0,t=this.#av();if(0===l)return 0;if(100===l)return t.length-1;let{seekableStart:i}=this.#y.$state,s=i(),a=this.#aD(t);for(let i=o;i<t.length;i++)if((e=this.#aV(t[i],l,s,a))>=0&&e<100)return i;return 0}#aR(){this.#aO(this.#aF())}#aO=(0,s.animationFrameThrottle)(e=>{let t,i=this.#av(),{seekableStart:s}=this.#y.$state,a=s(),r=this.#aD(i);for(let s=this.#aS;s<this.#ay.length;s++)if(t=this.#aV(i[s],e,a,r),this.#ay[s]?.style.setProperty("--chapter-progress",t+"%"),t<100){this.#aS=s;break}});#aF=(0,s.computed)(this.#aN.bind(this));#aN(){let{bufferedEnd:e,duration:t}=this.#y.$state;return 100*(0,a.round)(Math.min(e()/Math.max(t(),1),1),3)}#aD(d){let{seekableEnd:e}=this.#y.$state,t=e();return Number.isFinite(t)?t:d[d.length-1]?.endTime||0}#aV(u,c,p,g){if(!u||0===this.#av().length)return 0;let e=g-p,t=Math.max(0,u.startTime-p),i=Math.min(g,u.endTime)-p,s=t/e,r=100*s,n=100*Math.min(1,s+(i-t)/e);return Math.max(0,(0,a.round)(c>=n?100:(c-r)/(n-r)*100,3))}#aK(f){let e=[],{seekableStart:t,seekableEnd:i,duration:s}=this.#y.$state,a=t(),r=i();f=f.filter(e=>e.startTime<=r&&e.endTime>=a);let n=f[0];n&&n.startTime>a&&e.push(new window.VTTCue(a,n.startTime,""));for(let t=0;t<f.length-1;t++){let i=f[t],s=f[t+1];if(e.push(i),s){let t=s.startTime-i.endTime;t>0&&e.push(new window.VTTCue(i.endTime,i.endTime+t,""))}}let h=f[f.length-1];if(h){e.push(h);let t=s();t>=0&&t-h.endTime>1&&e.push(new window.VTTCue(h.endTime,s(),""))}return e}#aT(){let{source:e}=this.#y.$state;e(),this.#aQ()}#aQ(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this.#av.set([]),this.#ak.set(0),this.#aS=0;return}let t=this.#ab();if(t){let e=this.#a_.bind(this);e(),new s.EventsController(t).add("add-cue",e).add("remove-cue",e),(0,s.effect)(this.#aH.bind(this))}return this.#af=this.#aU(),this.#af&&(0,s.effect)(this.#aW.bind(this)),()=>{this.#af&&(this.#af.textContent="",this.#af=null)}}#aH(){this.#y.$state.duration(),this.#a_()}#a_=(0,s.functionDebounce)(()=>{let e=(0,s.peek)(this.#ab);this.scope&&e&&e.cues.length&&(this.#av.set(this.#aK(e.cues)),this.#ak.set(0),this.#aS=0)},150,!0);#aW(){let e=this.activePointerCue||this.activeCue;this.#af&&(this.#af.textContent=e?.text||"")}#aB(){let e=this.el;
1for(;e&&"slider"!==e.getAttribute("role");)e=e.parentElement;return e}#aU(){let e=this.#aB();return e?e.querySelector('[data-part="chapter-title"]'):null}};let td=tl.prototype;(0,s.prop)(td,"cues"),(0,s.prop)(td,"activeCue"),(0,s.prop)(td,"activePointerCue"),(0,s.method)(td,"setRefs");let tu=(0,s.createContext)(),tc=["a[href]","[tabindex]","input","select","button"].map(e=>`${e}:not([aria-hidden='true'])`).join(","),tp=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);var tm=class{#aG=-1;#az=null;#aj=[];#iR;get items(){return this.#aj}constructor(e){this.#iR=e}attachMenu(e){(0,s.listenEvent)(e,"focus",this.#tz.bind(this)),this.#az=e,(0,s.onDispose)(()=>{this.#az=null})}listen(){this.#az&&(this.update(),new s.EventsController(this.#az).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)),(0,s.onDispose)(()=>{this.#aG=-1,this.#aj=[]}))}update(){this.#aG=0,this.#aj=this.#aX()}scroll(e=this.#aY()){let t=this.#aj[e];t&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{!function(e,t={}){!function(e,t){let i=(0,s.r)(e,t);for(let{el:e,top:s,left:a}of i)e.scroll({top:s,left:a,behavior:t.behavior})}(e,{scrollMode:"if-needed",block:"center",inline:"center",...t})}(t,{behavior:"smooth",boundary:e=>!e.hasAttribute("data-root")})})})}focusActive(e=!0){let t=this.#aY();this.#aJ(t>=0?t:0,e)}#aJ(e,t=!0){this.#aG=e,this.#aj[e]?(this.#aj[e].focus({preventScroll:!0}),t&&this.scroll(e)):this.#az?.focus({preventScroll:!0})}#aY(){return this.#aj.findIndex(e=>document.activeElement===e||"menuitemradio"===e.getAttribute("role")&&"true"===e.getAttribute("aria-checked"))}#tz(){this.#aG>=0||(this.update(),this.focusActive())}#aZ(i){let e=i.target;if((0,s.wasEnterKeyPressed)(i)&&e instanceof Element){let t=e.getAttribute("role");return!/a|input|select|button/.test(e.localName)&&!t}return tp.has(i.key)}#K(a){this.#aZ(a)&&(a.stopPropagation(),a.preventDefault())}#Q(r){if(this.#aZ(r))switch(r.stopPropagation(),r.preventDefault(),r.key){case"Escape":this.#iR.closeMenu(r);break;case"Tab":this.#aJ(this.#a0(r.shiftKey?-1:1));break;case"ArrowUp":this.#aJ(this.#a0(-1));break;case"ArrowDown":this.#aJ(this.#a0(1));break;case"Home":case"PageUp":this.#aJ(0);break;case"End":case"PageDown":this.#aJ(this.#aj.length-1)}}#a0(n){let e=this.#aG;do e=(e+n+this.#aj.length)%this.#aj.length;while(this.#aj[e]?.offsetParent===null);return e}#aX(){if(!this.#az)return[];let e=this.#az.querySelectorAll(tc),t=[],i=e=>"menu"===e.getAttribute("role");for(let s of e)A(s)&&null!==s.offsetParent&&E(this.#az,s,i)&&t.push(s);return t}};function tg(e,t,i,s){var a,r=arguments.length,n=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var h=e.length-1;h>=0;h--)(a=e[h])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}let tf=0;var ty=class extends s.Component{static props={showDelay:0};#y;#a1;#a2;#a3=(0,s.signal)(!1);#a5=(0,s.signal)(!1);#a9=(0,s.signal)(null);#a4=(0,s.signal)(null);#a6;#a7=new Set;#a8=null;#re;#rt;#ri=!1;#rs=(0,s.signal)(!1);#ra=new Set;get triggerElement(){return this.#a9()}get contentElement(){return this.#a4()}get isSubmenu(){return!!this.#a6}constructor(){super();let{showDelay:e}=this.$props;this.#re=new eO({trigger:this.#a9,content:this.#a4,showDelay:e,listen:(e,t,i)=>{C(e,e=>{this.#a3()?i(e):t(e)});let s=this.#rr();s&&C(s,e=>{e.stopPropagation(),i(e)})},onChange:this.#rn.bind(this)})}onSetup(){this.#y=m();let e=++tf;this.#a1=`media-menu-${e}`,this.#a2=`media-menu-button-${e}`,this.#rt=new tm({closeMenu:this.close.bind(this)}),(0,s.hasProvidedContext)(tu)&&(this.#a6=(0,s.useContext)(tu)),this.#rh(),this.setAttributes({"data-open":this.#a3,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.#sX.bind(this)}),(0,s.provideContext)(tu,{button:this.#a9,content:this.#a4,expanded:this.#a3,hint:(0,s.signal)(""),submenu:!!this.#a6,disable:this.#ro.bind(this),attachMenuButton:this.#rl.bind(this),attachMenuItems:this.#rd.bind(this),attachObserver:this.#ru.bind(this),disableMenuButton:this.#rc.bind(this),addSubmenu:this.#rp.bind(this),onTransitionEvent:e=>{this.#ra.add(e),(0,s.onDispose)(()=>{this.#ra.delete(e)})}})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){(0,s.effect)(this.#rm.bind(this)),this.isSubmenu&&this.#a6?.addSubmenu(this)}onDestroy(){this.#a9.set(null),this.#a4.set(null),this.#a8=null,this.#ra.clear()}#rh(){let e=-1,t=(0,s.hasProvidedContext)(eZ)?(0,s.useContext)(eZ):null;(0,s.provideContext)(eZ,{onDragStart:()=>{t?.onDragStart?.(),window.clearTimeout(e),e=-1,this.#ri=!0},onDragEnd:()=>{t?.onDragEnd?.(),e=window.setTimeout(()=>{this.#ri=!1,e=-1},300)}})}#rm(){let e=this.#rg();this.isSubmenu||this.#t8(),this.#rf(e),e&&((0,s.effect)(()=>{let{height:e}=this.#y.$state,t=this.#a4();t&&(0,s.setStyle)(t,"--player-height",e()+"px")}),this.#rt.listen(),this.listen("pointerup",this.#ry.bind(this)),(0,s.listenEvent)(window,"pointerup",this.#rb.bind(this)))}#rl(e){let t=e.el,i=this.isSubmenu,r=ep(this.#sX.bind(this));$(t,"tabindex",i?"-1":"0"),$(t,"role",i?"menuitem":"button"),(0,s.setAttribute)(t,"i
1d",this.#a2),(0,s.setAttribute)(t,"aria-haspopup","menu"),(0,s.setAttribute)(t,"aria-expanded","false"),(0,s.setAttribute)(t,"data-root",!this.isSubmenu),(0,s.setAttribute)(t,"data-submenu",this.isSubmenu);let n=()=>{(0,s.setAttribute)(t,"data-open",this.#a3()),(0,s.setAttribute)(t,"aria-disabled",r())};a.IS_SERVER?n():(0,s.effect)(n),this.#a9.set(t),(0,s.onDispose)(()=>{this.#a9.set(null)})}#rd(t){let e=t.el;e.style.setProperty("display","none"),(0,s.setAttribute)(e,"id",this.#a1),$(e,"role","menu"),$(e,"tabindex","-1"),(0,s.setAttribute)(e,"data-root",!this.isSubmenu),(0,s.setAttribute)(e,"data-submenu",this.isSubmenu),this.#a4.set(e),(0,s.onDispose)(()=>this.#a4.set(null));let i=()=>(0,s.setAttribute)(e,"data-open",this.#a3());a.IS_SERVER?i():(0,s.effect)(i),this.#rt.attachMenu(e),this.#rf(!1);let r=this.#rv.bind(this);this.isSubmenu?this.#a6?.onTransitionEvent(r):(t.listen("transitionstart",r),t.listen("transitionend",r),t.listen("animationend",this.#t8),t.listen("vds-menu-resize",this.#t8))}#ru(i){this.#a8=i}#rf(r){let e=(0,s.peek)(this.#a4);e&&(0,s.setAttribute)(e,"aria-hidden",(0,s.ariaBool)(!r))}#rc(n){this.#rs.set(n)}#rk=!1;#rn(h,o){if(this.#rk=(0,s.isKeyboardEvent)(o),o?.stopPropagation(),this.#a3()===h)return;if(this.#sX()){h&&this.#re.hide(o);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let e=this.#a9(),t=this.#a4();if(e&&((0,s.setAttribute)(e,"aria-controls",h&&this.#a1),(0,s.setAttribute)(e,"aria-expanded",(0,s.ariaBool)(h))),t&&(0,s.setAttribute)(t,"aria-labelledby",h&&this.#a2),this.#a3.set(h),this.#rw(o),(0,s.tick)(),this.#rk)for(let i of(h?t?.focus():e?.focus(),[this.el,t]))i&&i.setAttribute("data-keyboard","");else for(let e of[this.el,t])e&&e.removeAttribute("data-keyboard");if(this.dispatch(h?"open":"close",{trigger:o}),h)this.isSubmenu||this.#y.activeMenu===this||(this.#y.activeMenu?.close(o),this.#y.activeMenu=this),this.#a8?.onOpen?.(o);else{if(this.isSubmenu)for(let e of this.#a7)e.close(o);else this.#y.activeMenu=null;this.#a8?.onClose?.(o)}h&&requestAnimationFrame(this.#rS.bind(this))}#rS(){this.#r$||this.#rT||(this.#rt.update(),requestAnimationFrame(()=>{this.#rk?this.#rt.focusActive():this.#rt.scroll()}))}#rg(){return!this.#sX()&&this.#a3()}#sX(){return this.#a5()||this.#rs()}#ro(l){this.#a5.set(l)}#ry(d){let e=this.#a4();this.#ri||e&&w(e,d)||d.stopPropagation()}#rb(u){let e=this.#a4();this.#ri||e&&w(e,u)||this.close(u)}#rr(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&E(this.el,e,e=>"menu"===e.getAttribute("role"))?e:null}#rw(c){this.isSubmenu||(this.#a3()?this.#y.remote.pauseControls(c):this.#y.remote.resumeControls(c))}#rp(p){this.#a7.add(p),new s.EventsController(p).add("open",this.#rP).add("close",this.#rx),(0,s.onDispose)(this.#rE)}#rE=this.#rC.bind(this);#rC(g){this.#a7.delete(g)}#rT=!1;#rP=this.#rq.bind(this);#rq(f){this.#rT=!0;let e=this.#a4();for(let e of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true"),this.#a7))if(e!==f.target)for(let t of[e.el,e.triggerElement])t?.setAttribute("aria-hidden","true");if(e){let t=f.target.el;for(let i of e.children)i.contains(t)?i.setAttribute("data-open",""):i!==t&&i.setAttribute("data-hidden","")}}#rx=this.#rA.bind(this);#rA(y){this.#rT=!1;let e=this.#a4();for(let e of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false"),this.#a7))for(let t of[e.el,e.triggerElement])t?.setAttribute("aria-hidden","false");if(e)for(let t of e.children)t.removeAttribute("data-open"),t.removeAttribute("data-hidden")}#t8=(0,s.animationFrameThrottle)(()=>{let e=(0,s.peek)(this.#a4);if(!e||a.IS_SERVER)return;let t=0,i=getComputedStyle(e),r=[...e.children];for(let e of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])t+=parseFloat(i[e])||0;for(let e of r)if(A(e)&&"contents"===e.style.display)r.push(...e.children);else if(3===e.nodeType)t+=parseFloat(getComputedStyle(e).fontSize);else if(A(e)){if(!P(e))continue;let i=getComputedStyle(e);t+=e.offsetHeight+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0)}(0,s.setStyle)(e,"--menu-height",t+"px")});#r$=!1;#rv(b){let e=this.#a4();for(let t of(e&&"height"===b.propertyName&&(this.#r$="transitionstart"===b.type,(0,s.setAttribute)(e,"data-transition",this.#r$?"height":null),this.#a3()&&this.#rS()),this.#ra))t(b)}open(e){(0,s.peek)(this.#a3)||(this.#re.show(e),(0,s.tick)())}close(e){(0,s.peek)(this.#a3)&&(this.#re.hide(e),(0,s.tick)())}};tg([s.prop],ty.prototype,"triggerElement",null),tg([s.prop],ty.prototype,"contentElement",null),tg([s.prop],ty.prototype,"isSubmenu",null),tg([s.method],ty.prototype,"open",null),tg([s.method],ty.prototype,"close",null);var tb=class extends s.Component{static props={disabled:!1};#rR;#rI=(0,s.signal)(null);get expanded(){return this.#rR?.expanded()??!1}constructor(){super(),new eT}onSetup(){this.#rR=(0,s.useContext)(tu)}onAttach(e){this.#rR.attachMenuButton(this),(0,s.effect)(this.#su.bind(this)),$(e,"type","button")}onConnect(e){(0,s.effect)(this.#rM.bind(this)),this.#iE();let t=new MutationObserver(this.#iE.bind(this));t.observe(e,{attributeFilter:["data-part"],childList:!0,subtree:!0}),(0,s.onDispose)(()=>t.disconnect()),C(e,e=>{this.dispatch("select",{trigger:e})})}#su(){this.#rR.disableMenuButton(this.$props.disabled())}#rM(){let e=this.#rI();e&&(0,s.effect)(()=>{let t=this.#rR.hint();t&&(e.textContent=t)})}#iE(){let e=this.el?.querySelector('[data-part="hint"]');this.#rI.set(e??null)}};let tv=tb.prototype;(0,s.prop)(tv,"expanded");var tk=class extends tb{};let tw=(0,s.createContext)();var tS=class extends s.Component{static props={placement:null,offset:0,alignOffset:0};#rR;constructor(){super(),new eT;let{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this.#rR=(0,s.useContext)(tu),this.#rR.attachMenuItems(this),(0,s.hasProvidedContext)(tw)){let t=(0,s.useContext)(tw);t&&((0,s.provideContext)(tw,null),t.attach(e),(0,s.onDispose)(()=>t.attach(null)))}}onConnect(e){(0,s.effect)(this.#rV.bind(this))}#rV(){let{expanded:e}=this.#rR;if(!this.el||!e())return;let t=this.$props.placement();if(!t)return;Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:i,alignOffset:a}=this.$props;(0,s.onDispose)(function(e,t,i,{offsetVarName:a,xOffset:n,yOffset:h,...o}){if(!e)return;let l=i.replace(" ","-").replace("-center","");if((0,s.setStyle)(e,"visibility",t?null:"hidden"),!t)return;let d=i.includes("top"),u=e=>i.includes("left")?`calc(-1 * ${e})`:e,c=e=>d?`calc(-1 * ${e})`:e;return(0,r.Me)(t,e,()=>{(0,r.oo)(t,e,{placement:l,middleware:[...o.middleware??[],(0,r.RR)({fallbackAxisSideDirection:"start",crossAxis:!1}),(0,r.uY)()],...o}).then(({x:t,y:s,middlewareData:r})=>{let o=!!r.flip?.index;d=i.includes(o?"bottom":"top"),e.setAttribute("data-placement",o?i.startsWith("top")?i.replace("top","bottom"):i.replace("bottom","top"):i),Ob
1ject.assign(e.style,{top:`calc(${s+"px"} + ${c(h?h+"px":`var(--${a}-y-offset, 0px)`)})`,left:`calc(${t+"px"} + ${u(n?n+"px":`var(--${a}-x-offset, 0px)`)})`})})})}(this.el,this.#rD(),t,{offsetVarName:"media-menu",xOffset:a(),yOffset:i()})),(0,s.onDispose)(this.#rL.bind(this))}#rL(){this.el&&(this.el.removeAttribute("style"),this.el.style.display="none")}#rD(){return this.#rR.button()}};let t$=(0,s.createContext)();var tT=class extends s.ViewController{#rO=new Set;#rF=(0,s.signal)("");#rN=null;onValueChange;get values(){return Array.from(this.#rO).map(e=>e.value())}get value(){return this.#rF()}set value(e){this.#u(e)}onSetup(){(0,s.provideContext)(t$,{add:this.#rK.bind(this),remove:this.#rQ.bind(this)})}onAttach(e){(0,s.hasProvidedContext)(tu)||$(e,"role","radiogroup"),this.setAttributes({value:this.#rF})}onDestroy(){this.#rO.clear()}#rK(e){this.#rO.has(e)||(this.#rO.add(e),e.onCheck=this.#r_,e.check(e.value()===this.#rF()))}#rQ(t){t.onCheck=null,this.#rO.delete(t)}#r_=this.#u.bind(this);#u(i,a){let e=(0,s.peek)(this.#rF);if(!i||i===e)return;let t=this.#rH(e),r=this.#rH(i);t?.check(!1,a),r?.check(!0,a),this.#rF.set(i),this.onValueChange?.(i,a)}#rH(r){for(let e of this.#rO)if(r===(0,s.peek)(e.value))return e;return null}},tP=class extends s.Component{static props={value:""};#rN;get values(){return this.#rN.values}get value(){return this.#rN.value}set value(e){this.#rN.value=e}constructor(){super(),this.#rN=new tT,this.#rN.onValueChange=this.#sZ.bind(this)}onSetup(){a.IS_SERVER?this.#sl():(0,s.effect)(this.#sl.bind(this))}#sl(){this.#rN.value=this.$props.value()}#sZ(e,t){let i=this.createEvent("change",{detail:e,trigger:t});this.dispatch(i)}};let tx=tP.prototype;(0,s.prop)(tx,"values"),(0,s.prop)(tx,"value");var tE=class extends s.Component{static props={value:""};#rU=(0,s.signal)(!1);#rN={value:this.$props.value,check:this.#rW.bind(this),onCheck:null};get checked(){return this.#rU()}constructor(){super(),new eT}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.#rU,"aria-checked":ep(this.#rU)})}onAttach(e){let t=(0,s.hasProvidedContext)(tu);$(e,"tabindex",t?"-1":"0"),$(e,"role",t?"menuitemradio":"radio"),(0,s.effect)(this.#sl.bind(this))}onConnect(e){this.#rB(),C(e,this.#iH.bind(this)),(0,s.onDispose)(this.#ef.bind(this))}#ef(){(0,s.scoped)(()=>{(0,s.useContext)(t$).remove(this.#rN)},this.connectScope)}#rB(){(0,s.useContext)(t$).add(this.#rN)}#sl(){let{value:e}=this.$props,t=e();(0,s.peek)(this.#rU)&&this.#rN.onCheck?.(t)}#iH(e){(0,s.peek)(this.#rU)||(this.#u(!0,e),this.#rG(e),this.#rN.onCheck?.(s.peek(this.$props.value),e))}#rW(t,i){(0,s.peek)(this.#rU)!==t&&this.#u(t,i)}#u(a,r){this.#rU.set(a),this.dispatch("change",{detail:a,trigger:r})}#rG(n){this.dispatch("select",{trigger:n})}};let tC=tE.prototype;(0,s.prop)(tC,"checked");var tq=class extends s.Component{static props={disabled:!1,event:void 0,action:void 0};#y;#tY=null;#rz=null;onSetup(){this.#y=m();let{event:e,action:t}=this.$props;this.setAttributes({event:e,action:t})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this.#tY=this.#y.player.el?.querySelector("[data-media-provider]"),(0,s.effect)(this.#rj.bind(this))}#rj(){let e=this.$props.event(),t=this.$props.disabled();this.#tY&&e&&!t&&(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),("pointerup"===e||"pointerdown"===e)&&"coarse"===this.#y.$state.pointer()&&("pointerup"===e&&(0,s.listenEvent)(this.#tY,"touchstart",this.#iZ.bind(this),{passive:!0}),e="pointerup"===e?"touchend":"touchstart"),(0,s.listenEvent)(this.#tY,e,this.#rX.bind(this),{passive:!1}))}#rY=0;#rJ=-1;#rX(e){if(!(this.$props.disabled()||(0,s.isPointerEvent)(e)&&(0!==e.button||this.#y.activeMenu)||(0,s.isTouchEvent)(e)&&this.#y.activeMenu||this.#rZ(e)||q(e))&&this.#r0(e)){if(e.MEDIA_GESTURE=!0,e.preventDefault(),s.peek(this.$props.event)?.startsWith("dbl")){if(1===this.#rY){queueMicrotask(()=>this.#r1(e)),clearTimeout(this.#rJ),this.#rY=0;return}}else 0===this.#rY&&setTimeout(()=>{1===this.#rY&&this.#r1(e)},250);0===this.#rY&&(this.#rJ=window.setTimeout(()=>{this.#rY=0},275)),this.#rY++}}#iZ(t){if(q(t)){this.#rz=null;return}let e=t.changedTouches[0]??t.touches[0];this.#rz=e?{x:e.clientX,y:e.clientY}:null}#rZ(i){if(!(0,s.isTouchEvent)(i)||"touchend"!==i.type)return!1;let e=i.changedTouches[0]??i.touches[0],t=this.#rz;return this.#rz=null,!!e&&!!t&&(Math.abs(e.clientX-t.x)>10||Math.abs(e.clientY-t.y)>10)}#r1(a){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.#r2()&&this.#r3((0,s.peek)(this.$props.action),a),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}#r0(r){if(!this.el)return!1;if((0,s.isPointerEvent)(r)||(0,s.isMouseEvent)(r)||(0,s.isTouchEvent)(r)){let e=(0,s.isTouchEvent)(r)?r.changedTouches[0]??r.touches[0]:void 0,t=e?.clientX??r.clientX,i=e?.clientY??r.clientY,a=this.el.getBoundingClientRect(),n=i>=a.top&&i<=a.bottom&&t>=a.left&&t<=a.right;return r.type.includes("leave")?!n:n}return!0}#r2(){let e=this.#y.player.el.querySelectorAll("[data-media-gesture][data-triggered]");return Array.from(e).sort((e,t)=>
1+getComputedStyle(t).zIndex-+getComputedStyle(e).zIndex)[0]===this.el}#r3(n,h){if(!n)return;let e=new s.DOMEvent("will-trigger",{detail:n,cancelable:!0,trigger:h});if(this.dispatchEvent(e),e.defaultPrevented)return;let[t,i]=n.replace(/:([a-z])/,"-$1").split(":");n.includes(":fullscreen")?this.#y.remote.toggleFullscreen("prefer-media",h):n.includes("seek:")?this.#y.remote.seek((0,s.peek)(this.#y.$state.currentTime)+(+i||0),h):this.#y.remote[(0,s.kebabToCamelCase)(t)](h),this.dispatch("trigger",{detail:n,trigger:h})}};(0,s.signal)(null);var tA=class extends s.Component{static props={src:null,alt:null,crossOrigin:null};static state=new s.State({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});#y;onSetup(){this.#y=m(),this.#sH(),this.#r5(),this.#tR(),this.#sg()}onAttach(e){e.style.setProperty("pointer-events","none"),(0,s.effect)(this.#sM.bind(this)),(0,s.effect)(this.#sH.bind(this)),(0,s.effect)(this.#r5.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sg.bind(this));let{started:t}=this.#y.$state;this.setAttributes({"data-visible":()=>!t()&&!this.$state.hidden(),"data-loading":this.#sR.bind(this),"data-error":this.#sI.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){(0,s.effect)(this.#r9.bind(this)),(0,s.effect)(this.#sV.bind(this))}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#r9(){let{canLoadPoster:e,poster:t}=this.#y.$state;!e()&&t()&&(0,a.preconnect)(t(),"preconnect")}#sg(){let{src:e}=this.$props,{poster:t,nativeControls:i}=this.#y.$state;this.el&&(0,s.setAttribute)(this.el,"display",i()?"none":null),this.$state.hidden.set(this.#sI()||!(e()||t())||i())}#sR(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#sM(){let e=this.$state.img();e&&(new s.EventsController(e).add("load",this.#r4.bind(this)).add("error",this.#eg.bind(this)),e.complete&&this.#r4())}#r6="";#sH(){let{poster:e}=this.#y.$props,{canLoadPoster:t,providedPoster:i,inferredPoster:s}=this.#y.$state,a=this.$props.src()||"",r=a||e()||s();this.#r6===i()&&i.set(a),this.$state.src.set(t()&&r.length?r:null),this.#r6=a}#r5(){let{src:e}=this.$props,{alt:t}=this.$state,{poster:i}=this.#y.$state;t.set(e()||i()?this.$props.alt():null)}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i,poster:s}=this.#y.$state,a=null!==e()?e():i();t.set(/ytimg\.com|vimeo/.test(s()||"")?null:!0===a?"anonymous":a)}#sV(){let{loading:e,error:t}=this.$state,{canLoadPoster:i,poster:s}=this.#y.$state;e.set(i()&&!!s()),t.set(null)}#r4(){let{loading:e,error:t}=this.$state;e.set(!1),t.set(null)}#eg(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}},tR=class extends s.Component{static props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1};static state=new s.State({timeText:"",hidden:!1});#y;#r7=(0,s.signal)(null);#sh=(0,s.signal)(!0);#so=(0,s.signal)(!0);onSetup(){this.#y=m(),this.#r8();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this.#ne.bind(this)}),new eY({callback:this.#sp.bind(this)}).attach(this)}onAttach(e){e.hasAttribute("role")||(0,s.effect)(this.#nt.bind(this)),(0,s.effect)(this.#r8.bind(this))}onConnect(e){(0,s.onDispose)(x(e,this.#sh.set)),(0,s.effect)(this.#sg.bind(this)),(0,s.effect)(this.#ni.bind(this))}#sp(e){this.#so.set(e[0].isIntersecting)}#sg(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#sh()||!this.#so())}#ni(){if(!this.$props.toggle()){this.#r7.set(null);return}this.el&&C(this.el,this.#ns.bind(this))}#r8(){let{hidden:e,timeText:t}=this.$state,{duration:i}=this.#y.$state;if(e())return;let{type:s,padHours:a,padMinutes:r,showHours:n}=this.$props,h=this.#na(s()),o=i(),l=this.#ne();if(!Number.isFinite(h+o)){t.set("LIVE");return}let d=ea(l?Math.max(0,o-h):h,{padHrs:a(),padMins:r(),showHrs:n()});t.set((l?"-":"")+d)}#nt(){if(!this.el)return;let{toggle:e}=this.$props;(0,s.setAttribute)(this.el,"role",e()?"timer":null),(0,s.setAttribute)(this.el,"tabindex",e()?0:null)}#na(t){let{bufferedEnd:e,duration:i,currentTime:s}=this.#y.$state;switch(t){case"buffered":return e();case"duration":return i();default:return s()}}#ne(){return this.$props.remainder()&&!1!==this.#r7()}#ns(i){if(i.preventDefault(),null===this.#r7()){this.#r7.set(!this.$props.remainder());return}this.#r7.set(e=>!e)}},tI=class extends eE{},tM=class extends eD{},tV=class extends eN{},tD=class extends eH{},tL=class extends eU{},tO=class extends ez{},tF=class extends eW{},tN=class extends eB{},tK=class extends e_{},tQ=class extends eQ{},t_=class extends eG{},tH=class extends e5{},tU=class extends to{},tW=class extends tn{},tB=class extends th{},tG=class extends te{},tz=class extends ts{},tj=class extends tt{},tX=class extends tr{},tY=class extends tl{},tJ=class extends ty{},tZ=class extends tb{},t0=class extends tS{},t1=class extends tk{},t2=class extends tP{},t3=class extends tE{},t5=class extends tq{},t9=class extends tA{},t4=class extends e8{},t6=class extends tR{};let t7=n.forwardRef((e,t)=>
1{let{children:i,...s}=e,a=n.Children.toArray(i),r=a.find(it);if(r){let e=r.props.children,i=a.map(t=>t!==r?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return n.createElement(t8,{...s,ref:t},n.isValidElement(e)?n.cloneElement(e,void 0,i):null)}return n.createElement(t8,{...s,ref:t},i)});t7.displayName="Slot";let t8=n.forwardRef((e,t)=>{let{children:i,...a}=e;if(n.isValidElement(i)){let e,r;let h=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?i.ref:(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?i.props.ref:i.props.ref||i.ref,o=function(e,t){let i={...t};for(let s in t){let a=e[s],r=t[s];/^on[A-Z]/.test(s)?a&&r?i[s]=(...e)=>{r(...e),a(...e)}:a&&(i[s]=a):"style"===s?i[s]={...a,...r}:"className"===s&&(i[s]=[a,r].filter(Boolean).join(" "))}return{...e,...i}}(a,i.props);return i.type!==n.Fragment&&(o.ref=t?(0,s.composeRefs)(t,h):h),n.cloneElement(i,o)}return n.Children.count(i)>1?n.Children.only(null):null});t8.displayName="SlotClone";let ie=({children:e})=>n.createElement(n.Fragment,null,e);function it(e){return n.isValidElement(e)&&e.type===ie}let ii=["button","div","span","img","video","audio"].reduce((e,t)=>{let i=n.forwardRef((e,i)=>{let{asChild:s,...a}=e,r=s?t7:t;return n.createElement(r,{...a,ref:i})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{}),is=tI.state.record,ia=Object.keys(is).reduce((e,t)=>({...e,[t]:()=>is[t]}),{});function ir(e,t){let i=(0,s.useStateContext)(o);return(0,s.useSignal)((t?.current?.$state||i||ia)[e])}}}]);

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.