1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3960],{83960:(t,e,i)=>{i.r(e),i.d(e,{GoogleCastProvider:()=>t_});var s,a,n,h,l,r,_,o,c,u,d,k,f,m,v,w,p,T,y,S,g,E,W,b,M,C,L,A,I,D,N,R,O,G,P,$,V,U,x,H,F,X,Y,B,Q,q,K,j,z,J,Z=i(50304),tt=i(51198),te=i(69023),ti=i(9479),ts=i(40247),ta=i(69004),tn=i(48395),th=i(42210),tl=(s=new WeakMap,a=new WeakSet,class{build(){return(0,Z._)(this,s)}setStreamType(t){return t.includes("live")?(0,Z._)(this,s).streamType=chrome.cast.media.StreamType.LIVE:(0,Z._)(this,s).streamType=chrome.cast.media.StreamType.BUFFERED,this}setTracks(t){return(0,Z._)(this,s).tracks=t.map((0,ti._)(this,a,to)),this}setMetadata(t,e){return(0,Z._)(this,s).metadata=new chrome.cast.media.GenericMediaMetadata,(0,Z._)(this,s).metadata.title=t,(0,Z._)(this,s).metadata.images=[{url:e}],this}constructor(t){(0,ts._)(this,a),(0,tt._)(this,s,{writable:!0,value:void 0}),(0,te._)(this,s,new chrome.cast.media.MediaInfo(t.src,t.type))}}),tr=(n=new WeakMap,h=new WeakMap,l=new WeakMap,r=new WeakSet,_=new WeakSet,o=new WeakSet,c=new WeakSet,u=new WeakSet,d=new WeakSet,k=new WeakSet,f=new WeakSet,class{setup(){let t=this.syncRemoteActiveIds.bind(this);(0,ta.listenEvent)((0,Z._)(this,h).audioTracks,"change",t),(0,ta.listenEvent)((0,Z._)(this,h).textTracks,"mode-change",t),(0,ta.effect)((0,ti._)(this,c,tk).bind(this))}getLocalTextTracks(){return(0,Z._)(this,h).$state.textTracks().filter(t=>t.src&&"vtt"===t.type)}syncRemoteTracks(t){if(!(0,Z._)(this,n).isMediaLoaded)return;let e=(0,ti._)(this,r,tc).call(this),i=this.getLocalTextTracks(),s=(0,ti._)(this,_,tu).call(this,chrome.cast.media.TrackType.AUDIO),a=(0,ti._)(this,_,tu).call(this,chrome.cast.media.TrackType.TEXT);for(let i of s){var l;if((0,ti._)(this,d,tm).call(this,e,i))continue;let s={id:i.trackId.toString(),label:i.name,language:i.language,kind:null!=(l=i.subtype)?l:"main",selected:!1};(0,Z._)(this,h).audioTracks[tn.ListSymbol.add](s,t)}for(let e of a){if((0,ti._)(this,d,tm).call(this,i,e))continue;let s={id:e.trackId.toString(),src:e.trackContentId,label:e.name,language:e.language,kind:e.subtype.toLowerCase()};(0,Z._)(this,h).textTracks.add(s,t)}}syncRemoteActiveIds(t){if(!(0,Z._)(this,n).isMediaLoaded)return;let e=(0,ti._)(this,o,td).call(this),i=new chrome.cast.media.EditTracksInfoRequest(e);(0,ti._)(this,u,tf).call(this,i).catch(t=>{})}constructor(t,e,i){(0,ts._)(this,r),(0,ts._)(this,_),(0,ts._)(this,o),(0,ts._)(this,c),(0,ts._)(this,u),(0,ts._)(this,d),(0,ts._)(this,k),(0,ts._)(this,f),(0,tt._)(this,n,{writable:!0,value:void 0}),(0,tt._)(this,h,{writable:!0,value:void 0}),(0,tt._)(this,l,{writable:!0,value:void 0}),(0,te._)(this,n,t),(0,te._)(this,h,e),(0,te._)(this,l,i)}}),t_=(m=new WeakMap,v=new WeakMap,w=new WeakMap,p=new WeakMap,T=new WeakMap,y=new WeakMap,S=new WeakMap,g=new WeakMap,E=new WeakMap,W=new WeakMap,b=new WeakMap,M=new WeakMap,C=new WeakSet,L=new WeakSet,A=new WeakSet,I=new WeakSet,D=new WeakSet,N=new WeakSet,R=new WeakSet,O=new WeakSet,G=new WeakSet,P=new WeakSet,$=new WeakSet,V=new WeakSet,U=new WeakSet,x=new WeakSet,H=new WeakSet,F=new WeakSet,X=new WeakSet,Y=new WeakSet,B=new WeakSet,Q=new WeakSet,q=new WeakSet,K=new WeakSet,j=new WeakSet,z=new WeakSet,J=new WeakSet,class{get type(){return"google-cast"}get currentSrc(){return(0,Z._)(this,p)}get player(){return(0,Z._)(this,m)}get cast(){return(0,th.vY)()}get session(){return(0,th.aQ)()}get media(){return(0,th.Cs)()}get hasActiveSession(){return(0,th.Qg)((0,Z._)(this,p))}setup(){(0,ti._)(this,C,tp).call(this),(0,ti._)(this,L,tT).call(this),(0,Z._)(this,w).setup(),(0,Z._)(this,v).notify("provider-setup",this)}async play(){var t;if((0,Z._)(this,m).isPaused||(0,Z._)(this,M)){if((0,Z._)(this,M))return void await (0,ti._)(this,z,tH).call(this,!1,0);null==(t=(0,Z._)(this,m).controller)||t.playOrPause()}}async pause(){var t;(0,Z._)(this,m).isPaused||null==(t=(0,Z._)(this,m).controller)||t.playOrPause()}getMediaStatus(t){return new Promise((e,i)=>{var s;null==(s=this.media)||s.getStatus(t,e,i)})}setMuted(t){var e;(t&&!(0,Z._)(this,m).isMuted||!t&&(0,Z._)(this,m).isMuted)&&(null==(e=(0,Z._)(this,m).controller)||e.muteOr
1Unmute())}setCurrentTime(t){var e;(0,Z._)(this,m).currentTime=t,(0,Z._)(this,v).notify("seeking",t),null==(e=(0,Z._)(this,m).controller)||e.seek()}setVolume(t){var e;(0,Z._)(this,m).volumeLevel=t,null==(e=(0,Z._)(this,m).controller)||e.setVolumeLevel()}async loadSource(t){var e;if((null==(e=(0,Z._)(this,b))?void 0:e.src)!==t&&(0,te._)(this,b,null),(0,th.Qg)(t)){(0,ti._)(this,I,tS).call(this),(0,te._)(this,p,t);return}(0,Z._)(this,v).notify("load-start");let i=(0,ti._)(this,j,tx).call(this,t),s=await this.session.loadMedia(i);if(s){(0,te._)(this,p,null),(0,Z._)(this,v).notify("error",Error((0,th.tM)(s)));return}(0,te._)(this,p,t)}destroy(){(0,ti._)(this,A,ty).call(this),(0,ti._)(this,D,tg).call(this)}constructor(t,e){(0,ts._)(this,C),(0,ts._)(this,L),(0,ts._)(this,A),(0,ts._)(this,I),(0,ts._)(this,D),(0,ts._)(this,N),(0,ts._)(this,R),(0,ts._)(this,O),(0,ts._)(this,G),(0,ts._)(this,P),(0,ts._)(this,$),(0,ts._)(this,V),(0,ts._)(this,U),(0,ts._)(this,x),(0,ts._)(this,H),(0,ts._)(this,F),(0,ts._)(this,X),(0,ts._)(this,Y),(0,ts._)(this,B),(0,ts._)(this,Q),(0,ts._)(this,q),(0,ts._)(this,K),(0,ts._)(this,j),(0,ts._)(this,z),(0,ts._)(this,J),(0,tt._)(this,m,{writable:!0,value:void 0}),(0,tt._)(this,v,{writable:!0,value:void 0}),(0,tt._)(this,w,{writable:!0,value:void 0}),(0,tt._)(this,p,{writable:!0,value:void 0}),(0,tt._)(this,T,{writable:!0,value:void 0}),(0,tt._)(this,y,{writable:!0,value:void 0}),(0,tt._)(this,S,{writable:!0,value:void 0}),(0,tt._)(this,g,{writable:!0,value:void 0}),(0,tt._)(this,E,{writable:!0,value:void 0}),(0,tt._)(this,W,{writable:!0,value:void 0}),(0,tt._)(this,b,{writable:!0,value:void 0}),(0,tt._)(this,M,{writable:!0,value:void 0}),this.$$PROVIDER_TYPE="GOOGLE_CAST",this.scope=(0,ta.createScope)(),(0,te._)(this,p,null),(0,te._)(this,T,"disconnected"),(0,te._)(this,y,0),(0,te._)(this,S,0),(0,te._)(this,g,new tn.TimeRange(0,0)),(0,te._)(this,E,new tn.RAFLoop((0,ti._)(this,R,tW).bind(this))),(0,te._)(this,b,null),(0,te._)(this,M,!1),(0,te._)(this,m,t),(0,te._)(this,v,e),(0,te._)(this,w,new tr(t,e,(0,ti._)(this,J,tF).bind(this)))}});function to(t,e){let i=new chrome.cast.media.Track(e,chrome.cast.media.TrackType.TEXT);return i.name=t.label,i.trackContentId=t.src,i.trackContentType="text/vtt",i.language=t.language,i.subtype=t.kind.toUpperCase(),i}function tc(){return(0,Z._)(this,h).$state.audioTracks()}function tu(t){var e,i;let s=null!=(i=null==(e=(0,Z._)(this,n).mediaInfo)?void 0:e.tracks)?i:[];return t?s.filter(e=>e.type===t):s}function td(){let t=[],e=(0,ti._)(this,r,tc).call(this).find(t=>t.selected),i=this.getLocalTextTracks().filter(t=>"showing"===t.mode);if(e){let i=(0,ti._)(this,_,tu).call(this,chrome.cast.media.TrackType.AUDIO),s=(0,ti._)(this,k,tv).call(this,i,e);
1s&&t.push(s.trackId)}if(null==i?void 0:i.length){let e=(0,ti._)(this,_,tu).call(this,chrome.cast.media.TrackType.TEXT);if(e.length)for(let s of i){let i=(0,ti._)(this,k,tv).call(this,e,s);i&&t.push(i.trackId)}}return t}function tk(){var t,e;let i=this.getLocalTextTracks();if(!(0,Z._)(this,n).isMediaLoaded)return;let s=(0,ti._)(this,_,tu).call(this,chrome.cast.media.TrackType.TEXT);for(let a of i)if(!(0,ti._)(this,k,tv).call(this,s,a)){(0,ta.untrack)(()=>null==(t=(0,Z._)(e=this,l))?void 0:t.call(e));break}}function tf(t){let e=(0,th.Cs)();return new Promise((i,s)=>null==e?void 0:e.editTracksInfo(t,i,s))}function tm(t,e){return t.find(t=>(0,ti._)(this,f,tw).call(this,t,e))}function tv(t,e){return t.find(t=>(0,ti._)(this,f,tw).call(this,e,t))}function tw(t,e){return e.name===t.label&&e.language===t.language&&e.subtype.toLowerCase()===t.kind.toLowerCase()}function tp(){(0,th.It)(cast.framework.CastContextEventType.CAST_STATE_CHANGED,(0,ti._)(this,G,tM).bind(this))}function tT(){let t=cast.framework.RemotePlayerEventType,e={[t.IS_CONNECTED_CHANGED]:(0,ti._)(this,G,tM),[t.IS_MEDIA_LOADED_CHANGED]:(0,ti._)(this,P,tC),[t.CAN_CONTROL_VOLUME_CHANGED]:(0,ti._)(this,$,tL),[t.CAN_SEEK_CHANGED]:(0,ti._)(this,V,tA),[t.DURATION_CHANGED]:(0,ti._)(this,H,tN),[t.IS_MUTED_CHANGED]:(0,ti._)(this,F,tR),[t.VOLUME_LEVEL_CHANGED]:(0,ti._)(this,F,tR),[t.IS_PAUSED_CHANGED]:(0,ti._)(this,X,tO),[t.LIVE_SEEKABLE_RANGE_CHANGED]:(0,ti._)(this,Y,tG),[t.PLAYER_STATE_CHANGED]:(0,ti._)(this,B,tP)};(0,te._)(this,W,e);let i=(0,ti._)(this,O,tb).bind(this);for(let t of(0,ta.keysOf)(e))(0,Z._)(this,m).controller.addEventListener(t,i);(0,ta.onDispose)(()=>{for(let t of(0,ta.keysOf)(e))(0,Z._)(this,m).controller.removeEventListener(t,i)})}function ty(){(0,Z._)(this,b)||((0,te._)(this,S,0),(0,te._)(this,g,new tn.TimeRange(0,0))),(0,Z._)(this,E).stop(),(0,te._)(this,y,0),(0,te._)(this,b,null)}function tS(){var t;let e=new ta.DOMEvent("resume-session",{detail:this.session});(0,ti._)(this,P,tC).call(this,e);let{muted:i,volume:s,savedState:a}=(0,Z._)(this,v).$state,n=a();this.setCurrentTime(Math.max((0,Z._)(this,m).currentTime,null!=(t=null==n?void 0:n.currentTime)?t:0)),this.setMuted(i()),this.setVolume(s()),(null==n?void 0:n.paused)===!1&&this.play()}function tg(){this.cast.endCurrentSession(!0);let{remotePlaybackLoader:t}=(0,Z._)(this,v).$state;t.set(null)}function tE(){let{savedState:t}=(0,Z._)(this,v).$state;t.set({paused:(0,Z._)(this,m).isPaused,currentTime:(0,Z._)(this,m).currentTime}),(0,ti._)(this,D,tg).call(this)}function tW(){(0,ti._)(this,x,tD).call(this)}function tb(t){(0,Z._)(this,W)[t.type].call(this,t)}function tM(t){let e=this.cast.getCastState(),i=e===cast.framework.CastState.CONNECTED?"connected":e===cast.framework.CastState.CONNECTING?"connecting":"disconnected";if((0,Z._)(this,T)===i)return;let s=(0,ti._)(this,q,tV).call(this,t);(0,te._)(this,T,i),(0,Z._)(this,v).notify("remote-playback-change",{type:"google-cast",state:i},s),"disconnected"===i&&(0,ti._)(this,N,tE).call(this)}function tC(t){if(!(0,Z._)(this,m).isMediaLoaded)return;let e=(0,ta.peek)((0,Z._)(this,v).$state.source);Promise.resolve().then(()=>{if(e!==(0,ta.peek)((0,Z._)(this,v).$state.source)||!(0,Z._)(this,m).isMediaLoaded)return;(0,ti._)(this,A,ty).call(this);let i=(0,Z._)(this,m).duration;(0,te._)(this,g,new tn.TimeRange(0,i));let s={provider:this,duration:i,buffered:new tn.TimeRange(0,0),seekable:(0,ti._)(this,Q,t$).call(this)},a=(0,ti._)(this,q,tV).call(this,t);(0,Z._)(this,v).notify("loaded-metadata",void 0,a),(0,Z._)(this,v).notify("loaded-data",void 0,a),(0,Z._)(this,v).notify("can-play",s,a),(0,ti._)(this,$,tL).call(this),(0,ti._)(this,V,tA).call(this,t);let{volume:n,muted:h}=(0,Z._)(this,v).$state;this.setVolume(n()),this.setMuted(h()),(0,Z._)(this,E).start(),(0,Z._)(this,w).syncRemoteTracks(a),(0,Z._)(this,w).syncRemoteActiveIds(a)})}function tL(){(0,Z._)(this,v).$state.canSetVolume.set((0,Z._)(this,m).canControlVolume)}function tA(t){let e=(0,ti._)(this,q,tV).call(this,t);(0,Z._)(this,v).notify("stream-type-change",(0,ti._)(this,U,tI).call(this),e)}function tI(){var t;return(null==(t=(0,Z._)(this,m).mediaInfo)?void 0:t.streamType)===chrome.cast.media.StreamType.LIVE?(0,Z._)(this,m).canSeek?"live:dvr":"live":"on-demand"}function tD(){if((0,Z._)(this,b))return;let t=(0,Z._)(this,m).currentTime;t!==(0,Z._)(this,y)&&((0,Z._)(this,v).notify("time-change",t),t>(0,Z._)(this,S)&&((0,te._)(this,S,t),(0,ti._)(this,Y,tG).call(this)),(0,Z._)(this,v).$state.seeking()&&(0,Z._)(this,v).notify("seeked",t),(0,te._)(this,y,t))}function tN(t){if(!(0,Z._)(this,m).isMediaLoaded||(0,Z._)(this,b))return;let e=(0,Z._)(this,m).duration,i=(0,ti._)(this,q,tV).call(this,t);(0,te._)(this,g,new tn.TimeRange(0,e)),(0,Z._)(this,v).notify("duration-change",e,i)}function tR(t){if(!(0,Z._)(this,m).isMediaLoaded)return;let e={muted:(0,Z._)(this,m).isMuted,volume:(0,Z._)(this,m).volumeLevel},i=(0,ti._)(this,q,tV).call(this,t);(0,Z._)(this,v).notify("volume-change",e,i)}function tO(t){let e=(0,ti._)(this,q,tV).call(this,t);(0,Z._)(this,m).isPaused?(0,Z._)(this,v).notify("pause",void 0,e):(0,Z._)(this,v).notify("play",void 0,e)}function tG(t){let e={seekable:(0,ti._)(this,Q,t$).call(this),buffered:new tn.TimeRange(0,(0,Z._)(this,S))},i=t?(0,ti._)(this,q,tV).call(this,t):void 0;(0,Z._)(this,v).notify("progress",e,i)}function tP(t){let e=(0,Z._)(this,m).playerState,i=chrome.cast.media.PlayerState;if((0,te._)(this,M,e===i.IDLE),e===i.PAUSED)return;let s=(0,ti._)(this,q,tV).call(this,t);switch(e){case i.PLAYING:(0,Z._)(this,v).notify("playing",void 0,s);break;case i.BUFFERING:(0,Z._)(this,v).notify("waiting",void 0,s);break;case i.IDLE:(0,Z._)(this,E).stop(),(0,Z._)(this,v).notify("pause"),(0,Z._)(this,v).notify("end")}}function t$(){return(0,Z._)(this,m).liveSeekableRange?new tn.TimeRange((0,Z._)(this,m).liveSeekableRange.start,(0,Z._)(this,m).liveSeekableRange.end):(0,Z._)(this,g)}function tV(t){return t instanceof Event?t:new ta.DOMEvent(t.type,{detail:t})}function tU(t){let{streamType:e,title:i,poster:s}=(0,Z._)(this,v).$state;return new tl(t).setMetadata(i(),s()).setStreamType(e()).setTracks((0,Z._)(this,w).getLocalTextTracks()).build()}function tx(t){var e,i,s,a,n;let h=(0,ti._)(this,K,tU).call(this,t),l=new chrome.cast.media.LoadRequest(h),r=(0,Z._)(this,v).$state.savedState();
1return l.autoplay=(null!=(s=null==(e=(0,Z._)(this,b))?void 0:e.paused)?s:null==r?void 0:r.paused)===!1,l.currentTime=null!=(n=null!=(a=null==(i=(0,Z._)(this,b))?void 0:i.time)?a:null==r?void 0:r.currentTime)?n:0,l}async function tH(t,e){let i=(0,ta.peek)((0,Z._)(this,v).$state.source);(0,te._)(this,b,{src:i,paused:t,time:e}),await this.loadSource(i)}function tF(){(0,ti._)(this,z,tH).call(this,(0,Z._)(this,m).isPaused,(0,Z._)(this,m).currentTime).catch(t=>{})}}}]);
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.