@mux/playback-core 0.32.2 → 0.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,7 +1,7 @@
1
- "use strict";var St=Object.create;var j=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var wt=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,Ut=Object.prototype.hasOwnProperty;var Ht=(e,t)=>{for(var r in t)j(e,r,{get:t[r],enumerable:!0})},ke=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wt(t))!Ut.call(e,o)&&o!==r&&j(e,o,{get:()=>t[o],enumerable:!(n=Nt(t,o))||n.enumerable});return e};var Le=(e,t,r)=>(r=e!=null?St(Ot(e)):{},ke(t||!e||!e.__esModule?j(r,"default",{value:e,enumerable:!0}):r,e)),Vt=e=>ke(j({},"__esModule",{value:!0}),e);var Er={};Ht(Er,{AutoplayTypes:()=>K,CmcdTypeValues:()=>Wt,CmcdTypes:()=>w,ExtensionMimeTypeMap:()=>I,Hls:()=>E,MaxAutoResolution:()=>jt,MaxResolution:()=>$t,MediaError:()=>T,MimeTypeShorthandMap:()=>W,MinResolution:()=>Bt,MuxErrorCategory:()=>C,MuxErrorCode:()=>b,MuxJWTAud:()=>ee,PlaybackTypes:()=>q,RenditionOrder:()=>Jt,StreamTypes:()=>h,addChapters:()=>ye,addCuePoints:()=>le,addTextTrack:()=>Z,allMediaTypes:()=>Ft,errorCategoryToTokenNameOrPrefix:()=>V,fetchAndDispatchMuxMetadata:()=>ne,generatePlayerInitTime:()=>cr,generateUUID:()=>mt,getActiveChapter:()=>me,getActiveCuePoint:()=>pe,getAppCertificate:()=>Pt,getChapters:()=>qe,getCuePoints:()=>Je,getCurrentPdt:()=>Xe,getDRMConfig:()=>vt,getEnded:()=>xt,getError:()=>Et,getLicenseKey:()=>ht,getLiveEdgeStart:()=>fr,getMediaPlaylistFromMultivariantPlaylist:()=>st,getMetadata:()=>lr,getMultivariantPlaylistSessionData:()=>it,getSeekable:()=>be,getStartDate:()=>Ge,getStreamInfoFromHlsjsLevelDetails:()=>pt,getStreamInfoFromPlaylist:()=>ut,getStreamInfoFromSrcAndType:()=>dt,getStreamType:()=>Me,getStreamTypeConfig:()=>Ct,getTargetLiveWindow:()=>pr,getTextTrack:()=>O,i18n:()=>M,initialize:()=>yr,isKeyOf:()=>U,isMuxVideoSrc:()=>Pe,isPseudoEnded:()=>Mt,isStuckOnLastFragment:()=>Ce,loadMedia:()=>Lt,mux:()=>J.default,muxMediaState:()=>P,parseJwt:()=>X,parseTagAttributes:()=>ct,removeTextTrack:()=>Fe,setupChapters:()=>Ee,setupCuePoints:()=>fe,setupHls:()=>Dt,setupMux:()=>kt,setupNativeFairplayDRM:()=>_t,shorthandKeys:()=>Yt,teardown:()=>Rt,toAppCertURL:()=>ve,toDRMTypeFromKeySystem:()=>at,toLicenseKeyURL:()=>B,toMuxVideoURL:()=>ur,toPlaybackIdFromSrc:()=>Re,toPlaybackIdParts:()=>Y,updateStreamInfoFromHlsjsLevelDetails:()=>ft,updateStreamInfoFromSrc:()=>lt});module.exports=Vt(Er);var J=Le(require("mux-embed"));var Ae=Le(require("hls.js")),E=Ae.default;var C={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},b={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},V=e=>e===C.VIDEO?"playback":e,L=class L extends Error{constructor(t,r=L.MEDIA_ERR_CUSTOM,n,o){var s;super(t),this.name="MediaError",this.code=r,this.context=o,this.fatal=n!=null?n:r>=L.MEDIA_ERR_NETWORK&&r<=L.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=L.defaultMessages[this.code])!=null?s:"")}};L.MEDIA_ERR_ABORTED=1,L.MEDIA_ERR_NETWORK=2,L.MEDIA_ERR_DECODE=3,L.MEDIA_ERR_SRC_NOT_SUPPORTED=4,L.MEDIA_ERR_ENCRYPTED=5,L.MEDIA_ERR_CUSTOM=100,L.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var T=L;var Kt=e=>e==null,U=(e,t)=>Kt(t)?!1:e in t,K={ANY:"any",MUTED:"muted"},h={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},q={MSE:"mse",NATIVE:"native"},w={HEADER:"header",QUERY:"query",NONE:"none"},Wt=Object.values(w),I={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},W={HLS:I.M3U8},Yt=Object.keys(W),Ft=[...Object.values(I),"hls","HLS"],$t={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},Bt={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},Jt={DESCENDING:"desc"},jt={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"};var qt="en",G={code:qt};var v=(e,t,r,n,o=e)=>{o.addEventListener(t,r,n),e.addEventListener("teardown",()=>{o.removeEventListener(t,r)},{once:!0})};function Ie(e,t,r){t&&r>t&&(r=t);for(let n=0;n<e.length;n++)if(e.start(n)<=r&&e.end(n)>=r)return!0;return!1}var Y=e=>{let t=e.indexOf("?");if(t<0)return[e];let r=e.slice(0,t),n=e.slice(t);return[r,n]},F=e=>{let{type:t}=e;if(t){let r=t.toUpperCase();return U(r,W)?W[r]:t}return Gt(e)},se=e=>e==="VOD"?h.ON_DEMAND:h.LIVE,ie=e=>e==="EVENT"?Number.POSITIVE_INFINITY:e==="VOD"?Number.NaN:0,Gt=e=>{let{src:t}=e;if(!t)return"";let r="";try{r=new URL(t).pathname}catch{console.error("invalid url")}let n=r.lastIndexOf(".");if(n<0)return zt(e)?I.M3U8:"";let s=r.slice(n+1).toUpperCase();return U(s,I)?I[s]:""},Xt="mux.com",zt=({src:e,customDomain:t=Xt})=>{let r;try{r=new URL(`${e}`)}catch{return!1}let n=r.protocol==="https:",o=r.hostname===`stream.${t}`.toLowerCase(),s=r.pathname.split("/"),a=s.length===2,i=!(s!=null&&s[1].includes("."));return n&&o&&a&&i},X=e=>{let t=(e!=null?e:"").split(".")[1];if(t)try{let r=t.replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(n)}catch{return}},Se=({exp:e},t=Date.now())=>!e||e*1e3<t,Ne=({sub:e},t)=>e!==t,we=({aud:e},t)=>!e,Oe=({aud:e},t)=>e!==t,Ue="en";function M(e,t=!0){var o,s;let r=t&&(s=(o=G)==null?void 0:o[e])!=null?s:e,n=t?G.code:Ue;return new ae(r,n)}var ae=class{constructor(t,r=(n=>(n=G)!=null?n:Ue)()){this.message=t,this.locale=r}format(t){return this.message.replace(/\{(\w+)\}/g,(r,n)=>{var o;return(o=t[n])!=null?o:""})}toString(){return this.message}};var Qt=Object.values(K),He=e=>typeof e=="boolean"||typeof e=="string"&&Qt.includes(e),Ve=(e,t,r)=>{let{autoplay:n}=e,o=!1,s=!1,a=He(n)?n:!!n,i=()=>{o||v(t,"playing",()=>{o=!0},{once:!0})};if(i(),v(t,"loadstart",()=>{o=!1,i(),ce(t,a)},{once:!0}),v(t,"loadstart",()=>{r||(e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=!Number.isFinite(t.duration)),ce(t,a)},{once:!0}),r&&r.once(E.Events.LEVEL_LOADED,(d,l)=>{var u;e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=(u=l.details.live)!=null?u:!1}),!a){let d=()=>{!s||Number.isFinite(e.startTime)||(r!=null&&r.liveSyncPosition?t.currentTime=r.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};r&&v(t,"play",()=>{t.preload==="metadata"?r.once(E.Events.LEVEL_UPDATED,d):d()},{once:!0})}return d=>{o||(a=He(d)?d:!!d,ce(t,a))}},ce=(e,t)=>{if(!t)return;let r=e.muted,n=()=>e.muted=r;switch(t){case K.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(n)});break;case K.MUTED:e.muted=!0,e.play().catch(n);break;default:e.play().catch(()=>{});break}};var Ke=({preload:e,src:t},r,n)=>{let o=u=>{u!=null&&["","none","metadata","auto"].includes(u)?r.setAttribute("preload",u):r.removeAttribute("preload")};if(!n)return o(e),o;let s=!1,a=!1,i=n.config.maxBufferLength,c=n.config.maxBufferSize,d=u=>{o(u);let y=u!=null?u:r.preload;a||y==="none"||(y==="metadata"?(n.config.maxBufferLength=1,n.config.maxBufferSize=1):(n.config.maxBufferLength=i,n.config.maxBufferSize=c),l())},l=()=>{!s&&t&&(s=!0,n.loadSource(t))};return v(r,"play",()=>{a=!0,n.config.maxBufferLength=i,n.config.maxBufferSize=c,l()},{once:!0}),d(e),d};function We(e,t){var i;if(!("videoTracks"in e))return;let r=new WeakMap;t.on(E.Events.MANIFEST_PARSED,function(c,d){a();let l=e.addVideoTrack("main");l.selected=!0;for(let[u,y]of d.levels.entries()){let m=l.addRendition(y.url[0],y.width,y.height,y.videoCodec,y.bitrate);r.set(y,`${u}`),m.id=`${u}`}}),t.on(E.Events.AUDIO_TRACKS_UPDATED,function(c,d){s();for(let l of d.audioTracks){let u=l.default?"main":"alternative",y=e.addAudioTrack(u,l.name,l.lang);y.id=`${l.id}`,l.default&&(y.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var l;let c=+((l=[...e.audioTracks].find(u=>u.enabled))==null?void 0:l.id),d=t.audioTracks.map(u=>u.id);c!=t.audioTrack&&d.includes(c)&&(t.audioTrack=c)}),t.on(E.Events.LEVELS_UPDATED,function(c,d){var y;let l=e.videoTracks[(y=e.videoTracks.selectedIndex)!=null?y:0];if(!l)return;let u=d.levels.map(m=>r.get(m));for(let m of e.videoRenditions)m.id&&!u.includes(m.id)&&l.removeRendition(m)});let n=c=>{let d=c.target.selectedIndex;d!=t.nextLevel&&(t.nextLevel=d)};(i=e.videoRenditions)==null||i.addEventListener("change",n);let o=()=>{for(let c of e.videoTracks)e.removeVideoTrack(c)},s=()=>{for(let c of e.audioTracks)e.removeAudioTrack(c)},a=()=>{o(),s()};t.once(E.Events.DESTROYING,a)}var ue=e=>"time"in e?e.time:e.startTime;function Ye(e,t){t.on(E.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(o,{tracks:s})=>{s.forEach(a=>{var l,u;let i=(l=a.subtitleTrack)!=null?l:a.closedCaptions,c=t.subtitleTracks.findIndex(({lang:y,name:m,type:f})=>y==(i==null?void 0:i.lang)&&m===a.label&&f.toLowerCase()===a.kind),d=((u=a._id)!=null?u:a.default)?"default":`${a.kind}${c}`;Z(e,a.kind,a.label,i==null?void 0:i.lang,d,a.default)})});let r=()=>{if(!t.subtitleTracks.length)return;let o=Array.from(e.textTracks).find(i=>i.id&&i.mode==="showing"&&["subtitles","captions"].includes(i.kind));if(!o)return;let s=t.subtitleTracks[t.subtitleTrack],a=s?s.default?"default":`${t.subtitleTracks[t.subtitleTrack].type.toLowerCase()}${t.subtitleTrack}`:void 0;if(t.subtitleTrack<0||(o==null?void 0:o.id)!==a){let i=t.subtitleTracks.findIndex(({lang:c,name:d,type:l,default:u})=>o.id==="default"&&u||c==o.language&&d===o.label&&l.toLowerCase()===o.kind);t.subtitleTrack=i}(o==null?void 0:o.id)===a&&o.cues&&Array.from(o.cues).forEach(i=>{o.addCue(i)})};e.textTracks.addEventListener("change",r),t.on(E.Events.CUES_PARSED,(o,{track:s,cues:a})=>{let i=e.textTracks.getTrackById(s);if(!i)return;let c=i.mode==="disabled";c&&(i.mode="hidden"),a.forEach(d=>{var l;(l=i.cues)!=null&&l.getCueById(d.id)||i.addCue(d)}),c&&(i.mode="disabled")}),t.once(E.Events.DESTROYING,()=>{e.textTracks.removeEventListener("change",r),e.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let n=()=>{Array.from(e.textTracks).forEach(o=>{var s,a;if(!["subtitles","caption"].includes(o.kind)&&(o.label==="thumbnails"||o.kind==="chapters")){if(!((s=o.cues)!=null&&s.length)){let i="track";o.kind&&(i+=`[kind="${o.kind}"]`),o.label&&(i+=`[label="${o.label}"]`);let c=e.querySelector(i),d=(a=c==null?void 0:c.getAttribute("src"))!=null?a:"";c==null||c.removeAttribute("src"),setTimeout(()=>{c==null||c.setAttribute("src",d)},0)}o.mode!=="hidden"&&(o.mode="hidden")}})};t.once(E.Events.MANIFEST_LOADED,n),t.once(E.Events.MEDIA_ATTACHED,n)}function Z(e,t,r,n,o,s){let a=document.createElement("track");return a.kind=t,a.label=r,n&&(a.srclang=n),o&&(a.id=o),s&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),e.append(a),a.track}function Fe(e,t){let r=Array.prototype.find.call(e.querySelectorAll("track"),n=>n.track===t);r==null||r.remove()}function O(e,t,r){var n;return(n=Array.from(e.querySelectorAll("track")).find(o=>o.track.label===t&&o.track.kind===r))==null?void 0:n.track}async function $e(e,t,r,n){let o=O(e,r,n);return o||(o=Z(e,n,r),o.mode="hidden",await new Promise(s=>setTimeout(()=>s(void 0),0))),o.mode!=="hidden"&&(o.mode="hidden"),[...t].sort((s,a)=>ue(a)-ue(s)).forEach(s=>{var c,d;let a=s.value,i=ue(s);if("endTime"in s&&s.endTime!=null)o==null||o.addCue(new VTTCue(i,s.endTime,n==="chapters"?a:JSON.stringify(a!=null?a:null)));else{let l=Array.prototype.findIndex.call(o==null?void 0:o.cues,f=>f.startTime>=i),u=(c=o==null?void 0:o.cues)==null?void 0:c[l],y=u?u.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,m=(d=o==null?void 0:o.cues)==null?void 0:d[l-1];m&&(m.endTime=i),o==null||o.addCue(new VTTCue(i,y,n==="chapters"?a:JSON.stringify(a!=null?a:null)))}}),e.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),o}var de="cuepoints",Be=Object.freeze({label:de});async function le(e,t,r=Be){return $e(e,t,r.label,"metadata")}var z=e=>({time:e.startTime,value:JSON.parse(e.text)});function Je(e,t={label:de}){let r=O(e,t.label,"metadata");return r!=null&&r.cues?Array.from(r.cues,n=>z(n)):[]}function pe(e,t={label:de}){var s,a;let r=O(e,t.label,"metadata");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return z(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:c})=>i<=n&&c>n);return z(o||r.activeCues[0])}async function fe(e,t=Be){return new Promise(r=>{v(e,"loadstart",async()=>{let n=await le(e,[],t);v(e,"cuechange",()=>{let o=pe(e);if(o){let s=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}var Te="chapters",je=Object.freeze({label:Te}),Q=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function ye(e,t,r=je){return $e(e,t,r.label,"chapters")}function qe(e,t={label:Te}){var n;let r=O(e,t.label,"chapters");return(n=r==null?void 0:r.cues)!=null&&n.length?Array.from(r.cues,o=>Q(o)):[]}function me(e,t={label:Te}){var s,a;let r=O(e,t.label,"chapters");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return Q(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:c})=>i<=n&&c>n);return Q(o||r.activeCues[0])}async function Ee(e,t=je){return new Promise(r=>{v(e,"loadstart",async()=>{let n=await ye(e,[],t);v(e,"cuechange",()=>{let o=me(e);if(o){let s=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}function Ge(e,t){if(t){let r=t.playingDate;if(r!=null)return new Date(r.getTime()-e.currentTime*1e3)}return typeof e.getStartDate=="function"?e.getStartDate():new Date(NaN)}function Xe(e,t){if(t&&t.playingDate)return t.playingDate;if(typeof e.getStartDate=="function"){let r=e.getStartDate();return new Date(r.getTime()+e.currentTime*1e3)}return new Date(NaN)}var ee={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},Zt=e=>{if(e===C.VIDEO)return ee.VIDEO;if(e===C.DRM)return ee.DRM},er=(e,t)=>{var o,s;let r=V(e),n=`${r}Token`;return(o=t.tokens)!=null&&o[r]?(s=t.tokens)==null?void 0:s[r]:U(n,t)?t[n]:void 0},$=(e,t,r,n,o=!1,s=!(a=>(a=globalThis.navigator)==null?void 0:a.onLine)())=>{var x,k;if(s){let R=M("Your device appears to be offline",o),D=void 0,p=T.MEDIA_ERR_NETWORK,_=new T(R,p,!1,D);return _.errorCategory=t,_.muxCode=b.NETWORK_OFFLINE,_.data=e,_}let i="status"in e?e.status:e.code,c=Date.now(),d=T.MEDIA_ERR_NETWORK;if(i===200)return;let l=V(t),u=er(t,r),y=Zt(t),[m]=Y((x=r.playbackId)!=null?x:"");if(!i||!m)return;let f=X(u);if(u&&!f){let R=M("The {tokenNamePrefix}-token provided is invalid or malformed.",o).format({tokenNamePrefix:l}),D=M("Compact JWT string: {token}",o).format({token:u}),p=new T(R,d,!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_MALFORMED,p.data=e,p}if(i>=500){let R=new T("",d,n!=null?n:!0);return R.errorCategory=t,R.muxCode=b.NETWORK_UNKNOWN_ERROR,R}if(i===403)if(f){if(Se(f,c)){let R={timeStyle:"medium",dateStyle:"medium"},D=M("The video\u2019s secured {tokenNamePrefix}-token has expired.",o).format({tokenNamePrefix:l}),p=M("Expired at: {expiredDate}. Current time: {currentDate}.",o).format({expiredDate:new Intl.DateTimeFormat("en",R).format((k=f.exp)!=null?k:0*1e3),currentDate:new Intl.DateTimeFormat("en",R).format(c)}),_=new T(D,d,!0,p);return _.errorCategory=t,_.muxCode=b.NETWORK_TOKEN_EXPIRED,_.data=e,_}if(Ne(f,m)){let R=M("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",o).format({tokenNamePrefix:l}),D=M("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",o).format({tokenNamePrefix:l,playbackId:m,tokenPlaybackId:f.sub}),p=new T(R,d,!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_SUB_MISMATCH,p.data=e,p}if(we(f,y)){let R=M("The {tokenNamePrefix}-token is formatted with incorrect information.",o).format({tokenNamePrefix:l}),D=M("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",o).format({tokenNamePrefix:l,expectedAud:y}),p=new T(R,d,!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_AUD_MISSING,p.data=e,p}if(Oe(f,y)){let R=M("The {tokenNamePrefix}-token is formatted with incorrect information.",o).format({tokenNamePrefix:l}),D=M("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",o).format({tokenNamePrefix:l,expectedAud:y,aud:f.aud}),p=new T(R,d,!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_AUD_MISMATCH,p.data=e,p}}else{let R=M("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",o).format({tokenNamePrefix:l,category:t}),D=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_MISSING,p.data=e,p}if(i===412){let R=M("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",o),D=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_NOT_READY,p.streamType=r.streamType===h.LIVE?"live":r.streamType===h.ON_DEMAND?"on-demand":"unknown",p.data=e,p}if(i===404){let R=M("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",o),D=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_NOT_FOUND,p.data=e,p}if(i===400){let R=M("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),D=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,D);return p.errorCategory=t,p.muxCode=b.NETWORK_INVALID_URL,p.data=e,p}let g=new T("",d,n!=null?n:!0);return g.errorCategory=t,g.muxCode=b.NETWORK_UNKNOWN_ERROR,g.data=e,g};var ze=E.DefaultConfig.capLevelController,tr={"720p":921600,"1080p":2073600,"1440p":4194304,"2160p":8294400};function rr(e){let t=e.toLowerCase().trim();return tr[t]}var N=class N extends ze{constructor(t){super(t)}static setMaxAutoResolution(t,r){r?N.maxAutoResolution.set(t,r):N.maxAutoResolution.delete(t)}getMaxAutoResolution(){var r;let t=this.hls;return(r=N.maxAutoResolution.get(t))!=null?r:void 0}get levels(){var t;return(t=this.hls.levels)!=null?t:[]}getValidLevels(t){return this.levels.filter((r,n)=>this.isLevelAllowed(r)&&n<=t)}getMaxLevelCapped(t){let r=this.getValidLevels(t),n=this.getMaxAutoResolution();if(!n)return super.getMaxLevel(t);let o=rr(n);if(!o)return super.getMaxLevel(t);let s=r.filter(c=>c.width*c.height<=o),a=s.findIndex(c=>c.width*c.height===o);if(a!==-1){let c=s[a];return r.findIndex(d=>d===c)}if(s.length===0)return 0;let i=s[s.length-1];return r.findIndex(c=>c===i)}getMaxLevel(t){if(this.getMaxAutoResolution()!==void 0)return this.getMaxLevelCapped(t);let r=super.getMaxLevel(t),n=this.getValidLevels(t);if(!n[r])return r;let o=Math.min(n[r].width,n[r].height),s=N.minMaxResolution;return o>=s?r:ze.getMaxLevelByMediaSize(n,s*(16/9),s)}};N.minMaxResolution=720,N.maxAutoResolution=new WeakMap;var ge=N,te=ge;var re={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},at=e=>{if(e.includes("fps"))return re.FAIRPLAY;if(e.includes("playready"))return re.PLAYREADY;if(e.includes("widevine"))return re.WIDEVINE},st=e=>{let t=e.split(`
2
- `).find((r,n,o)=>n&&o[n-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.status!==200?Promise.reject(r):r.text())},it=e=>{let t=e.split(`
3
- `).filter(n=>n.startsWith("#EXT-X-SESSION-DATA"));if(!t.length)return{};let r={};for(let n of t){let o=ct(n),s=o["DATA-ID"];s&&(r[s]={...o})}return{sessionData:r}},nr=/([A-Z0-9-]+)="?(.*?)"?(?:,|$)/g;function ct(e){let t=[...e.matchAll(nr)];return Object.fromEntries(t.map(([,r,n])=>[r,n]))}var ut=e=>{var i,c,d;let t=e.split(`
4
- `),n=(c=((i=t.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?i:"").split(":")[1])==null?void 0:c.trim(),o=se(n),s=ie(n),a;if(o===h.LIVE){let l=t.find(y=>y.startsWith("#EXT-X-PART-INF"));if(!!l)a=+l.split(":")[1].split("=")[1]*2;else{let y=t.find(g=>g.startsWith("#EXT-X-TARGETDURATION")),m=(d=y==null?void 0:y.split(":"))==null?void 0:d[1];a=+(m!=null?m:6)*3}}return{streamType:o,targetLiveWindow:s,liveEdgeStartOffset:a}},dt=async(e,t)=>{if(t===I.MP4)return{streamType:h.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===I.M3U8){let r=await fetch(e);if(!r.ok)return Promise.reject(r);let n=await r.text(),o=await st(n);return{...it(n),...ut(o)}}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0,sessionData:void 0}},lt=async(e,t,r=F({src:e}))=>{var c,d,l,u;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,sessionData:a}=await dt(e,r),i=a==null?void 0:a["com.apple.hls.chapters"];(i!=null&&i.URI||i!=null&&i.VALUE.toLocaleLowerCase().startsWith("http"))&&ne((c=i.URI)!=null?c:i.VALUE,t),((d=P.get(t))!=null?d:{}).liveEdgeStartOffset=s,((l=P.get(t))!=null?l:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=P.get(t))!=null?u:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},ne=async(e,t)=>{var r,n;try{let o=await fetch(e);if(!o.ok)throw new Error(`Failed to fetch Mux metadata: ${o.status} ${o.statusText}`);let s=await o.json(),a={};if(!((r=s==null?void 0:s[0])!=null&&r.metadata))return;for(let c of s[0].metadata)c.key&&c.value&&(a[c.key]=c.value);((n=P.get(t))!=null?n:{}).metadata=a;let i=new CustomEvent("muxmetadata");t.dispatchEvent(i)}catch(o){console.error(o)}},pt=e=>{var a;let t=e.type,r=se(t),n=ie(t),o,s=!!((a=e.partList)!=null&&a.length);return r===h.LIVE&&(o=s?e.partTarget*2:e.targetduration*3),{streamType:r,targetLiveWindow:n,liveEdgeStartOffset:o,lowLatency:s}},ft=(e,t,r)=>{var i,c,d,l,u,y,m,f;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,lowLatency:a}=pt(e);if(n===h.LIVE){a?(r.config.backBufferLength=(i=r.userConfig.backBufferLength)!=null?i:4,r.config.maxFragLookUpTolerance=(c=r.userConfig.maxFragLookUpTolerance)!=null?c:.001,r.config.abrBandWidthUpFactor=(d=r.userConfig.abrBandWidthUpFactor)!=null?d:r.config.abrBandWidthFactor):r.config.backBufferLength=(l=r.userConfig.backBufferLength)!=null?l:8;let g=Object.freeze({get length(){return t.seekable.length},start(x){return t.seekable.start(x)},end(x){var k;return x>this.length||x<0||Number.isFinite(t.duration)?t.seekable.end(x):(k=r.liveSyncPosition)!=null?k:t.seekable.end(x)}});((u=P.get(t))!=null?u:{}).seekable=g}((y=P.get(t))!=null?y:{}).liveEdgeStartOffset=s,((m=P.get(t))!=null?m:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((f=P.get(t))!=null?f:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Qe,Ze,Tt=(Ze=(Qe=globalThis==null?void 0:globalThis.navigator)==null?void 0:Qe.userAgent)!=null?Ze:"",et,tt,rt,or=(rt=(tt=(et=globalThis==null?void 0:globalThis.navigator)==null?void 0:et.userAgentData)==null?void 0:tt.platform)!=null?rt:"",ar=Tt.toLowerCase().includes("android")||["x11","android"].some(e=>or.toLowerCase().includes(e)),sr=e=>/^((?!chrome|android).)*safari/i.test(Tt)&&!!e.canPlayType("application/vnd.apple.mpegurl"),P=new WeakMap,S="mux.com",nt,ot,yt=(ot=(nt=E).isSupported)==null?void 0:ot.call(nt),ir=e=>ar||!sr(e),cr=()=>{if(typeof window!="undefined")return J.default.utils.now()},mt=J.default.utils.generateUUID,ur=({playbackId:e,customDomain:t=S,maxResolution:r,minResolution:n,renditionOrder:o,programStartTime:s,programEndTime:a,assetStartTime:i,assetEndTime:c,playbackToken:d,tokens:{playback:l=d}={},extraSourceParams:u={}}={})=>{if(!e)return;let[y,m=""]=Y(e),f=new URL(`https://stream.${t}/${y}.m3u8${m}`);return l||f.searchParams.has("token")?(f.searchParams.forEach((g,x)=>{x!="token"&&f.searchParams.delete(x)}),l&&f.searchParams.set("token",l)):(r&&f.searchParams.set("max_resolution",r),n&&(f.searchParams.set("min_resolution",n),r&&+r.slice(0,-1)<+n.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",n,"maxResolution",r)),o&&f.searchParams.set("rendition_order",o),s&&f.searchParams.set("program_start_time",`${s}`),a&&f.searchParams.set("program_end_time",`${a}`),i&&f.searchParams.set("asset_start_time",`${i}`),c&&f.searchParams.set("asset_end_time",`${c}`),Object.entries(u).forEach(([g,x])=>{x!=null&&f.searchParams.set(g,x)})),f.toString()},oe=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},Re=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(/\.m3u8|\//);return t||void 0},dr=e=>{var t,r,n;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:Pe(e)&&(n=(r=oe(e.playbackId))!=null?r:Re(e.src))!=null?n:e.src},Et=e=>{var t;return(t=P.get(e))==null?void 0:t.error},lr=e=>{var t;return(t=P.get(e))==null?void 0:t.metadata},Me=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.streamType)!=null?r:h.UNKNOWN},pr=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN},be=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.seekable)!=null?r:e.seekable},fr=e=>{var n;let t=(n=P.get(e))==null?void 0:n.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=be(e);return r.length?r.end(r.length-1)-t:Number.NaN},De=.034,Tr=(e,t,r=De)=>Math.abs(e-t)<=r,gt=(e,t,r=De)=>e>t||Tr(e,t,r),Mt=(e,t=De)=>e.paused&&gt(e.currentTime,e.duration,t),Ce=(e,t)=>{var d,l,u;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let r=t.currentLevel>=0?(l=(d=t.levels)==null?void 0:d[t.currentLevel])==null?void 0:l.details:(u=t.levels.find(y=>!!y.details))==null?void 0:u.details;if(!r||r.live)return;let{fragments:n}=r;if(!(n!=null&&n.length))return;if(e.currentTime<e.duration-(r.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let s=o.start+o.duration/2,a=e.buffered.start(e.buffered.length-1),i=e.buffered.end(e.buffered.length-1);return s>a&&s<i},xt=(e,t)=>e.ended||e.loop?e.ended:t&&Ce(e,t)?!0:Mt(e),yr=(e,t,r)=>{Rt(t,r,e);let{metadata:n={}}=e,{view_session_id:o=mt()}=n,s=dr(e);n.view_session_id=o,n.video_id=s,e.metadata=n;let a=l=>{var u;(u=t.mux)==null||u.emit("hb",{view_drm_type:l})};e.drmTypeCb=a,P.set(t,{retryCount:0});let i=Dt(e,t),c=Ke(e,t,i);e!=null&&e.muxDataKeepSession&&(t!=null&&t.mux)&&!t.mux.deleted?i&&t.mux.addHLSJS({hlsjs:i,Hls:i?E:void 0}):kt(e,t,i),Lt(e,t,i),fe(t),Ee(t);let d=Ve(e,t,i);return{engine:i,setAutoplay:d,setPreload:c}},Rt=(e,t,r)=>{let n=t==null?void 0:t.engine;e!=null&&e.mux&&!e.mux.deleted&&(r!=null&&r.muxDataKeepSession?n&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),n&&(n.detachMedia(),n.destroy()),e&&(e.hasAttribute("src")&&(e.removeAttribute("src"),e.load()),e.removeEventListener("error",It),e.removeEventListener("error",xe),e.removeEventListener("durationchange",At),P.delete(e),e.dispatchEvent(new Event("teardown")))};function bt(e,t){var d;let r=F(e);if(!(r===I.M3U8))return!0;let o=!r||((d=t.canPlayType(r))!=null?d:!0),{preferPlayback:s}=e,a=s===q.MSE,i=s===q.NATIVE,c=yt&&(a||ir(t));return o&&(i||!c)}var Dt=(e,t)=>{let{debug:r,streamType:n,startTime:o=-1,metadata:s,preferCmcd:a,_hlsConfig:i={},maxAutoResolution:c}=e,l=F(e)===I.M3U8,u=bt(e,t);if(l&&!u&&yt){let y={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},m=Ct(n),f=vt(e),g=[w.QUERY,w.HEADER].includes(a)?{useHeaders:a===w.HEADER,sessionId:s==null?void 0:s.view_session_id,contentId:s==null?void 0:s.video_id}:void 0,x=i.capLevelToPlayerSize==null?{capLevelController:te}:{},k=new E({debug:r,startPosition:o,cmcd:g,xhrSetup:(R,D)=>{var H,he;if(a&&a!==w.QUERY)return;let p=new URL(D);if(!p.searchParams.has("CMCD"))return;let _=((he=(H=p.searchParams.get("CMCD"))==null?void 0:H.split(","))!=null?he:[]).filter(_e=>_e.startsWith("sid")||_e.startsWith("cid")).join(",");p.searchParams.set("CMCD",_),R.open("GET",p)},...x,...y,...m,...f,...i});return x.capLevelController===te&&c!==void 0&&te.setMaxAutoResolution(k,c),k.on(E.Events.MANIFEST_PARSED,async function(R,D){var _,H;let p=(_=D.sessionData)==null?void 0:_["com.apple.hls.chapters"];(p!=null&&p.URI||p!=null&&p.VALUE.toLocaleLowerCase().startsWith("http"))&&ne((H=p==null?void 0:p.URI)!=null?H:p==null?void 0:p.VALUE,t)}),k}},Ct=e=>e===h.LIVE?{backBufferLength:8}:{},vt=e=>{let{tokens:{drm:t}={},playbackId:r,drmTypeCb:n}=e,o=oe(r);return!t||!o?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:B(e,"fairplay"),serverCertificateUrl:ve(e,"fairplay")},"com.widevine.alpha":{licenseUrl:B(e,"widevine")},"com.microsoft.playready":{licenseUrl:B(e,"playready")}},requestMediaKeySystemAccessFunc:(s,a)=>(s==="com.widevine.alpha"&&(a=[...a.map(i=>{var d;let c=(d=i.videoCapabilities)==null?void 0:d.map(l=>({...l,robustness:"HW_SECURE_ALL"}));return{...i,videoCapabilities:c}}),...a]),navigator.requestMediaKeySystemAccess(s,a).then(i=>{let c=at(s);return n==null||n(c),i}))}},Pt=async e=>{let t=await fetch(e);return t.status!==200?Promise.reject(t):await t.arrayBuffer()},ht=async(e,t)=>{let r=await fetch(t,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:e});if(r.status!==200)return Promise.reject(r);let n=await r.arrayBuffer();return new Uint8Array(n)},_t=(e,t)=>{let r=async a=>{let i=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[a],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(d=>{var l;return(l=e.drmTypeCb)==null||l.call(e,re.FAIRPLAY),d}).catch(()=>{let d=M("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),l=new T(d,T.MEDIA_ERR_ENCRYPTED,!0);l.errorCategory=C.DRM,l.muxCode=b.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,A(t,l)});if(!i)return;let c=await i.createMediaKeys();try{let d=await Pt(ve(e,"fairplay")).catch(l=>{if(l instanceof Response){let u=$(l,C.DRM,e);return console.error("mediaError",u==null?void 0:u.message,u==null?void 0:u.context),u?Promise.reject(u):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(l)});await c.setServerCertificate(d).catch(()=>{let l=M("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),u=new T(l,T.MEDIA_ERR_ENCRYPTED,!0);return u.errorCategory=C.DRM,u.muxCode=b.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(u)})}catch(d){A(t,d);return}await t.setMediaKeys(c)},n=a=>{let i;if(a==="internal-error"){let c=M("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");i=new T(c,T.MEDIA_ERR_ENCRYPTED,!0),i.errorCategory=C.DRM,i.muxCode=b.ENCRYPTED_CDM_ERROR}else if(a==="output-restricted"||a==="output-downscaled"){let c=M("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");i=new T(c,T.MEDIA_ERR_ENCRYPTED,!1),i.errorCategory=C.DRM,i.muxCode=b.ENCRYPTED_OUTPUT_RESTRICTED}i&&A(t,i)},o=async(a,i)=>{let c=t.mediaKeys.createSession(),d=()=>{c.keyStatuses.forEach(u=>n(u))},l=async u=>{let y=u.message;try{let m=await ht(y,B(e,"fairplay"));try{await c.update(m)}catch{let f=M("Failed to update DRM license. This may be an issue with the player or your protected content."),g=new T(f,T.MEDIA_ERR_ENCRYPTED,!0);g.errorCategory=C.DRM,g.muxCode=b.ENCRYPTED_UPDATE_LICENSE_FAILED,A(t,g)}}catch(m){if(m instanceof Response){let f=$(m,C.DRM,e);if(console.error("mediaError",f==null?void 0:f.message,f==null?void 0:f.context),f){A(t,f);return}console.error("Unexpected error in license key request",m);return}console.error(m)}};c.addEventListener("keystatuseschange",d),c.addEventListener("message",l),t.addEventListener("teardown",()=>{c.removeEventListener("keystatuseschange",d),c.removeEventListener("message",l),c.close()},{once:!0}),await c.generateRequest(a,i).catch(u=>{console.error("Failed to generate license request",u);let y=M("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),m=new T(y,T.MEDIA_ERR_ENCRYPTED,!0);return m.errorCategory=C.DRM,m.muxCode=b.ENCRYPTED_GENERATE_REQUEST_FAILED,Promise.reject(m)})};v(t,"encrypted",async a=>{try{let i=a.initDataType;if(i!=="skd"){console.error(`Received unexpected initialization data type "${i}"`);return}t.mediaKeys||await r(i);let c=a.initData;if(c==null){console.error(`Could not start encrypted playback due to missing initData in ${a.type} event`);return}await o(i,c)}catch(i){A(t,i);return}})},B=({playbackId:e,tokens:{drm:t}={},customDomain:r=S},n)=>{let o=oe(e);return`https://license.${r.toLocaleLowerCase().endsWith(S)?r:S}/license/${n}/${o}?token=${t}`},ve=({playbackId:e,tokens:{drm:t}={},customDomain:r=S},n)=>{let o=oe(e);return`https://license.${r.toLocaleLowerCase().endsWith(S)?r:S}/appcert/${n}/${o}?token=${t}`},Pe=({playbackId:e,src:t,customDomain:r})=>{if(e)return!0;if(typeof t!="string")return!1;let n=window==null?void 0:window.location.href,o=new URL(t,n).hostname.toLocaleLowerCase();return o.includes(S)||!!r&&o.includes(r.toLocaleLowerCase())},kt=(e,t,r)=>{var c;let{envKey:n,disableTracking:o,muxDataSDK:s=J.default,muxDataSDKOptions:a={}}=e,i=Pe(e);if(!o&&(n||i)){let{playerInitTime:d,playerSoftwareName:l,playerSoftwareVersion:u,beaconCollectionDomain:y,debug:m,disableCookies:f}=e,g={...e.metadata,video_title:((c=e==null?void 0:e.metadata)==null?void 0:c.video_title)||void 0},x=k=>typeof k.player_error_code=="string"?!1:typeof e.errorTranslator=="function"?e.errorTranslator(k):k;s.monitor(t,{debug:m,beaconCollectionDomain:y,hlsjs:r,Hls:r?E:void 0,automaticErrorTracking:!1,errorTranslator:x,disableCookies:f,...a,data:{...n?{env_key:n}:{},player_software_name:l,player_software:l,player_software_version:u,player_init_time:d,...g}})}},Lt=(e,t,r)=>{var l,u;let n=bt(e,t),{src:o,customDomain:s=S}=e,a=()=>{t.ended||e.disablePseudoEnded||!xt(t,r)||(Ce(t,r)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))},i,c,d=()=>{let y=be(t),m,f;y.length>0&&(m=y.start(0),f=y.end(0)),(c!==f||i!==m)&&t.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),i=m,c=f};if(v(t,"durationchange",d),t&&n){let y=F(e);if(typeof o=="string"){if(o.endsWith(".mp4")&&o.includes(s)){let g=Re(o),x=new URL(`https://stream.${s}/${g}/metadata.json`);ne(x.toString(),t)}let m=()=>{if(Me(t)!==h.LIVE||Number.isFinite(t.duration))return;let g=setInterval(d,1e3);t.addEventListener("teardown",()=>{clearInterval(g)},{once:!0}),v(t,"durationchange",()=>{Number.isFinite(t.duration)&&clearInterval(g)})},f=async()=>lt(o,t,y).then(m).catch(g=>{if(g instanceof Response){let x=$(g,C.VIDEO,e);if(x){A(t,x);return}}else g instanceof Error});if(t.preload==="none"){let g=()=>{f(),t.removeEventListener("loadedmetadata",x)},x=()=>{f(),t.removeEventListener("play",g)};v(t,"play",g,{once:!0}),v(t,"loadedmetadata",x,{once:!0})}else f();(l=e.tokens)!=null&&l.drm?_t(e,t):v(t,"encrypted",()=>{let g=M("Attempting to play DRM-protected content without providing a DRM token."),x=new T(g,T.MEDIA_ERR_ENCRYPTED,!0);x.errorCategory=C.DRM,x.muxCode=b.ENCRYPTED_MISSING_TOKEN,A(t,x)},{once:!0}),t.setAttribute("src",o),e.startTime&&(((u=P.get(t))!=null?u:{}).startTime=e.startTime,t.addEventListener("durationchange",At,{once:!0}))}else t.removeAttribute("src");t.addEventListener("error",It),t.addEventListener("error",xe),t.addEventListener("emptied",()=>{t.querySelectorAll("track[data-removeondestroy]").forEach(f=>{f.remove()})},{once:!0}),v(t,"pause",a),v(t,"seeked",a),v(t,"play",()=>{t.ended||gt(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else r&&o?(r.once(E.Events.LEVEL_LOADED,(y,m)=>{ft(m.details,t,r),d(),Me(t)===h.LIVE&&!Number.isFinite(t.duration)&&(r.on(E.Events.LEVEL_UPDATED,d),v(t,"durationchange",()=>{Number.isFinite(t.duration)&&r.off(E.Events.LEVELS_UPDATED,d)}))}),r.on(E.Events.ERROR,(y,m)=>{var g,x;let f=mr(m,e);if(f.muxCode===b.NETWORK_NOT_READY){let R=(g=P.get(t))!=null?g:{},D=(x=R.retryCount)!=null?x:0;if(D<6){let p=D===0?5e3:6e4,_=new T(`Retrying in ${p/1e3} seconds...`,f.code,f.fatal);Object.assign(_,f),A(t,_),setTimeout(()=>{R.retryCount=D+1,m.details==="manifestLoadError"&&m.url&&r.loadSource(m.url)},p);return}else{R.retryCount=0;let p=new T('Try again later or <a href="#" onclick="window.location.reload(); return false;" style="color: #4a90e2;">click here to retry</a>',f.code,f.fatal);Object.assign(p,f),A(t,p);return}}A(t,f)}),r.on(E.Events.MANIFEST_LOADED,()=>{let y=P.get(t);y&&y.error&&(y.error=null,y.retryCount=0,t.dispatchEvent(new Event("emptied")),t.dispatchEvent(new Event("loadstart")))}),t.addEventListener("error",xe),v(t,"waiting",a),We(e,r),Ye(t,r),r.attachMedia(t)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function At(e){var n;let t=e.target,r=(n=P.get(t))==null?void 0:n.startTime;if(r&&Ie(t.seekable,t.duration,r)){let o=t.preload==="auto";o&&(t.preload="none"),t.currentTime=r,o&&(t.preload="auto")}}async function It(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(t!=null&&t.error))return;let{message:r,code:n}=t.error,o=new T(r,n);if(t.src&&n===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var a;let s=(a=Et(t))!=null?a:t.error;(s==null?void 0:s.code)===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&A(t,o)},500);return}if(t.src&&(n!==T.MEDIA_ERR_DECODE||n!==void 0))try{let{status:s}=await fetch(t.src);o.data={response:{code:s}}}catch{}A(t,o)}function A(e,t){var r;t.fatal&&(((r=P.get(e))!=null?r:{}).error=t,e.dispatchEvent(new CustomEvent("error",{detail:t})))}function xe(e){var n,o;if(!(e instanceof CustomEvent)||!(e.detail instanceof T))return;let t=e.target,r=e.detail;!r||!r.fatal||(((n=P.get(t))!=null?n:{}).error=r,(o=t.mux)==null||o.emit("error",{player_error_code:r.code,player_error_message:r.message,player_error_context:r.context}))}var mr=(e,t)=>{var c,d,l;!e.fatal?t.debug&&console.warn("getErrorFromHlsErrorData() (non-fatal)",e):console.error("getErrorFromHlsErrorData()",e);let n={[E.ErrorTypes.NETWORK_ERROR]:T.MEDIA_ERR_NETWORK,[E.ErrorTypes.MEDIA_ERROR]:T.MEDIA_ERR_DECODE,[E.ErrorTypes.KEY_SYSTEM_ERROR]:T.MEDIA_ERR_ENCRYPTED},o=u=>[E.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,E.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?T.MEDIA_ERR_NETWORK:n[u.type],s=u=>{if(u.type===E.ErrorTypes.KEY_SYSTEM_ERROR)return C.DRM;if(u.type===E.ErrorTypes.NETWORK_ERROR)return C.VIDEO},a,i=o(e);if(i===T.MEDIA_ERR_NETWORK&&e.response){let u=(c=s(e))!=null?c:C.VIDEO;a=(d=$(e.response,u,t,e.fatal))!=null?d:new T("",i,e.fatal)}else if(i===T.MEDIA_ERR_ENCRYPTED)if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=M("Attempting to play DRM-protected content without providing a DRM token.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_MISSING_TOKEN}else if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let u=M("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_SESSION){let u=M("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,!0),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=M("Failed to update DRM license. This may be an issue with the player or your protected content.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=M("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=M("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_CDM_ERROR}else if(e.details===E.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=M("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,!1),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_OUTPUT_RESTRICTED}else a=new T(e.error.message,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=C.DRM,a.muxCode=b.ENCRYPTED_ERROR;else a=new T("",i,e.fatal);return a.context||(a.context=`${e.url?`url: ${e.url}
1
+ "use strict";var wt=Object.create;var z=Object.defineProperty;var Ot=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Ut=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty;var Kt=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},ke=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ht(t))!Vt.call(e,o)&&o!==r&&z(e,o,{get:()=>t[o],enumerable:!(n=Ot(t,o))||n.enumerable});return e};var Le=(e,t,r)=>(r=e!=null?wt(Ut(e)):{},ke(t||!e||!e.__esModule?z(r,"default",{value:e,enumerable:!0}):r,e)),Wt=e=>ke(z({},"__esModule",{value:!0}),e);var Mr={};Kt(Mr,{AutoplayTypes:()=>K,CmcdTypeValues:()=>Ft,CmcdTypes:()=>w,ExtensionMimeTypeMap:()=>S,Hls:()=>E,MaxAutoResolution:()=>qt,MaxResolution:()=>Jt,MediaError:()=>T,MimeTypeShorthandMap:()=>W,MinCapLevelController:()=>B,MinResolution:()=>jt,MuxErrorCategory:()=>D,MuxErrorCode:()=>b,MuxJWTAud:()=>te,PlaybackTypes:()=>q,RenditionOrder:()=>zt,StreamTypes:()=>h,addChapters:()=>ye,addCuePoints:()=>le,addTextTrack:()=>ee,allMediaTypes:()=>Bt,errorCategoryToTokenNameOrPrefix:()=>V,fetchAndDispatchMuxMetadata:()=>ne,generatePlayerInitTime:()=>dr,generateUUID:()=>Et,getActiveChapter:()=>me,getActiveCuePoint:()=>pe,getAppCertificate:()=>ht,getCapLevelControllerConfig:()=>Lt,getChapters:()=>ze,getCuePoints:()=>Je,getCurrentPdt:()=>Ge,getDRMConfig:()=>Pt,getEnded:()=>Rt,getError:()=>gt,getLicenseKey:()=>_t,getLiveEdgeStart:()=>yr,getMediaPlaylistFromMultivariantPlaylist:()=>it,getMetadata:()=>fr,getMultivariantPlaylistSessionData:()=>ct,getSeekable:()=>be,getStartDate:()=>qe,getStreamInfoFromHlsjsLevelDetails:()=>ft,getStreamInfoFromPlaylist:()=>dt,getStreamInfoFromSrcAndType:()=>lt,getStreamType:()=>Me,getStreamTypeConfig:()=>vt,getTargetLiveWindow:()=>Tr,getTextTrack:()=>O,i18n:()=>M,initialize:()=>Er,isKeyOf:()=>H,isMuxVideoSrc:()=>Pe,isPseudoEnded:()=>xt,isStuckOnLastFragment:()=>De,loadMedia:()=>St,mux:()=>j.default,muxMediaState:()=>P,parseJwt:()=>X,parseTagAttributes:()=>ut,removeTextTrack:()=>Fe,setupChapters:()=>Ee,setupCuePoints:()=>fe,setupHls:()=>Dt,setupMux:()=>At,setupNativeFairplayDRM:()=>kt,shorthandKeys:()=>$t,teardown:()=>bt,toAppCertURL:()=>ve,toDRMTypeFromKeySystem:()=>st,toLicenseKeyURL:()=>J,toMuxVideoURL:()=>lr,toPlaybackIdFromSrc:()=>Re,toPlaybackIdParts:()=>Y,updateStreamInfoFromHlsjsLevelDetails:()=>Tt,updateStreamInfoFromSrc:()=>pt});module.exports=Wt(Mr);var j=Le(require("mux-embed"));var Ae=Le(require("hls.js")),E=Ae.default;var at=require("hls.js");var D={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},b={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},V=e=>e===D.VIDEO?"playback":e,L=class L extends Error{constructor(t,r=L.MEDIA_ERR_CUSTOM,n,o){var s;super(t),this.name="MediaError",this.code=r,this.context=o,this.fatal=n!=null?n:r>=L.MEDIA_ERR_NETWORK&&r<=L.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=L.defaultMessages[this.code])!=null?s:"")}};L.MEDIA_ERR_ABORTED=1,L.MEDIA_ERR_NETWORK=2,L.MEDIA_ERR_DECODE=3,L.MEDIA_ERR_SRC_NOT_SUPPORTED=4,L.MEDIA_ERR_ENCRYPTED=5,L.MEDIA_ERR_CUSTOM=100,L.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var T=L;var Yt=e=>e==null,H=(e,t)=>Yt(t)?!1:e in t,K={ANY:"any",MUTED:"muted"},h={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},q={MSE:"mse",NATIVE:"native"},w={HEADER:"header",QUERY:"query",NONE:"none"},Ft=Object.values(w),S={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},W={HLS:S.M3U8},$t=Object.keys(W),Bt=[...Object.values(S),"hls","HLS"],Jt={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},jt={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},zt={DESCENDING:"desc"},qt={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"};var Gt="en",G={code:Gt};var v=(e,t,r,n,o=e)=>{o.addEventListener(t,r,n),e.addEventListener("teardown",()=>{o.removeEventListener(t,r)},{once:!0})};function Se(e,t,r){t&&r>t&&(r=t);for(let n=0;n<e.length;n++)if(e.start(n)<=r&&e.end(n)>=r)return!0;return!1}var Y=e=>{let t=e.indexOf("?");if(t<0)return[e];let r=e.slice(0,t),n=e.slice(t);return[r,n]},F=e=>{let{type:t}=e;if(t){let r=t.toUpperCase();return H(r,W)?W[r]:t}return Xt(e)},se=e=>e==="VOD"?h.ON_DEMAND:h.LIVE,ie=e=>e==="EVENT"?Number.POSITIVE_INFINITY:e==="VOD"?Number.NaN:0,Xt=e=>{let{src:t}=e;if(!t)return"";let r="";try{r=new URL(t).pathname}catch{console.error("invalid url")}let n=r.lastIndexOf(".");if(n<0)return Zt(e)?S.M3U8:"";let s=r.slice(n+1).toUpperCase();return H(s,S)?S[s]:""},Qt="mux.com",Zt=({src:e,customDomain:t=Qt})=>{let r;try{r=new URL(`${e}`)}catch{return!1}let n=r.protocol==="https:",o=r.hostname===`stream.${t}`.toLowerCase(),s=r.pathname.split("/"),a=s.length===2,i=!(s!=null&&s[1].includes("."));return n&&o&&a&&i},X=e=>{let t=(e!=null?e:"").split(".")[1];if(t)try{let r=t.replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(n)}catch{return}},Ie=({exp:e},t=Date.now())=>!e||e*1e3<t,Ne=({sub:e},t)=>e!==t,we=({aud:e},t)=>!e,Oe=({aud:e},t)=>e!==t,He="en";function M(e,t=!0){var o,s;let r=t&&(s=(o=G)==null?void 0:o[e])!=null?s:e,n=t?G.code:He;return new ae(r,n)}var ae=class{constructor(t,r=(n=>(n=G)!=null?n:He)()){this.message=t,this.locale=r}format(t){return this.message.replace(/\{(\w+)\}/g,(r,n)=>{var o;return(o=t[n])!=null?o:""})}toString(){return this.message}};var er=Object.values(K),Ue=e=>typeof e=="boolean"||typeof e=="string"&&er.includes(e),Ve=(e,t,r)=>{let{autoplay:n}=e,o=!1,s=!1,a=Ue(n)?n:!!n,i=()=>{o||v(t,"playing",()=>{o=!0},{once:!0})};if(i(),v(t,"loadstart",()=>{o=!1,i(),ce(t,a)},{once:!0}),v(t,"loadstart",()=>{r||(e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=!Number.isFinite(t.duration)),ce(t,a)},{once:!0}),r&&r.once(E.Events.LEVEL_LOADED,(d,l)=>{var u;e.streamType&&e.streamType!==h.UNKNOWN?s=e.streamType===h.LIVE:s=(u=l.details.live)!=null?u:!1}),!a){let d=()=>{!s||Number.isFinite(e.startTime)||(r!=null&&r.liveSyncPosition?t.currentTime=r.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};r&&v(t,"play",()=>{t.preload==="metadata"?r.once(E.Events.LEVEL_UPDATED,d):d()},{once:!0})}return d=>{o||(a=Ue(d)?d:!!d,ce(t,a))}},ce=(e,t)=>{if(!t)return;let r=e.muted,n=()=>e.muted=r;switch(t){case K.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(n)});break;case K.MUTED:e.muted=!0,e.play().catch(n);break;default:e.play().catch(()=>{});break}};var Ke=({preload:e,src:t},r,n)=>{let o=u=>{u!=null&&["","none","metadata","auto"].includes(u)?r.setAttribute("preload",u):r.removeAttribute("preload")};if(!n)return o(e),o;let s=!1,a=!1,i=n.config.maxBufferLength,c=n.config.maxBufferSize,d=u=>{o(u);let y=u!=null?u:r.preload;a||y==="none"||(y==="metadata"?(n.config.maxBufferLength=1,n.config.maxBufferSize=1):(n.config.maxBufferLength=i,n.config.maxBufferSize=c),l())},l=()=>{!s&&t&&(s=!0,n.loadSource(t))};return v(r,"play",()=>{a=!0,n.config.maxBufferLength=i,n.config.maxBufferSize=c,l()},{once:!0}),d(e),d};function We(e,t){var i;if(!("videoTracks"in e))return;let r=new WeakMap;t.on(E.Events.MANIFEST_PARSED,function(c,d){a();let l=e.addVideoTrack("main");l.selected=!0;for(let[u,y]of d.levels.entries()){let m=l.addRendition(y.url[0],y.width,y.height,y.videoCodec,y.bitrate);r.set(y,`${u}`),m.id=`${u}`}}),t.on(E.Events.AUDIO_TRACKS_UPDATED,function(c,d){s();for(let l of d.audioTracks){let u=l.default?"main":"alternative",y=e.addAudioTrack(u,l.name,l.lang);y.id=`${l.id}`,l.default&&(y.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var l;let c=+((l=[...e.audioTracks].find(u=>u.enabled))==null?void 0:l.id),d=t.audioTracks.map(u=>u.id);c!=t.audioTrack&&d.includes(c)&&(t.audioTrack=c)}),t.on(E.Events.LEVELS_UPDATED,function(c,d){var y;let l=e.videoTracks[(y=e.videoTracks.selectedIndex)!=null?y:0];if(!l)return;let u=d.levels.map(m=>r.get(m));for(let m of e.videoRenditions)m.id&&!u.includes(m.id)&&l.removeRendition(m)});let n=c=>{let d=c.target.selectedIndex;d!=t.nextLevel&&(t.nextLevel=d)};(i=e.videoRenditions)==null||i.addEventListener("change",n);let o=()=>{for(let c of e.videoTracks)e.removeVideoTrack(c)},s=()=>{for(let c of e.audioTracks)e.removeAudioTrack(c)},a=()=>{o(),s()};t.once(E.Events.DESTROYING,a)}var ue=e=>"time"in e?e.time:e.startTime;function Ye(e,t){t.on(E.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(o,{tracks:s})=>{s.forEach(a=>{var l,u;let i=(l=a.subtitleTrack)!=null?l:a.closedCaptions,c=t.subtitleTracks.findIndex(({lang:y,name:m,type:f})=>y==(i==null?void 0:i.lang)&&m===a.label&&f.toLowerCase()===a.kind),d=((u=a._id)!=null?u:a.default)?"default":`${a.kind}${c}`;ee(e,a.kind,a.label,i==null?void 0:i.lang,d,a.default)})});let r=()=>{if(!t.subtitleTracks.length)return;let o=Array.from(e.textTracks).find(i=>i.id&&i.mode==="showing"&&["subtitles","captions"].includes(i.kind));if(!o)return;let s=t.subtitleTracks[t.subtitleTrack],a=s?s.default?"default":`${t.subtitleTracks[t.subtitleTrack].type.toLowerCase()}${t.subtitleTrack}`:void 0;if(t.subtitleTrack<0||(o==null?void 0:o.id)!==a){let i=t.subtitleTracks.findIndex(({lang:c,name:d,type:l,default:u})=>o.id==="default"&&u||c==o.language&&d===o.label&&l.toLowerCase()===o.kind);t.subtitleTrack=i}(o==null?void 0:o.id)===a&&o.cues&&Array.from(o.cues).forEach(i=>{o.addCue(i)})};e.textTracks.addEventListener("change",r),t.on(E.Events.CUES_PARSED,(o,{track:s,cues:a})=>{let i=e.textTracks.getTrackById(s);if(!i)return;let c=i.mode==="disabled";c&&(i.mode="hidden"),a.forEach(d=>{var l;(l=i.cues)!=null&&l.getCueById(d.id)||i.addCue(d)}),c&&(i.mode="disabled")}),t.once(E.Events.DESTROYING,()=>{e.textTracks.removeEventListener("change",r),e.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let n=()=>{Array.from(e.textTracks).forEach(o=>{var s,a;if(!["subtitles","caption"].includes(o.kind)&&(o.label==="thumbnails"||o.kind==="chapters")){if(!((s=o.cues)!=null&&s.length)){let i="track";o.kind&&(i+=`[kind="${o.kind}"]`),o.label&&(i+=`[label="${o.label}"]`);let c=e.querySelector(i),d=(a=c==null?void 0:c.getAttribute("src"))!=null?a:"";c==null||c.removeAttribute("src"),setTimeout(()=>{c==null||c.setAttribute("src",d)},0)}o.mode!=="hidden"&&(o.mode="hidden")}})};t.once(E.Events.MANIFEST_LOADED,n),t.once(E.Events.MEDIA_ATTACHED,n)}function ee(e,t,r,n,o,s){let a=document.createElement("track");return a.kind=t,a.label=r,n&&(a.srclang=n),o&&(a.id=o),s&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),e.append(a),a.track}function Fe(e,t){let r=Array.prototype.find.call(e.querySelectorAll("track"),n=>n.track===t);r==null||r.remove()}function O(e,t,r){var n;return(n=Array.from(e.querySelectorAll("track")).find(o=>o.track.label===t&&o.track.kind===r))==null?void 0:n.track}async function $e(e,t,r,n){let o=O(e,r,n);return o||(o=ee(e,n,r),o.mode="hidden",await new Promise(s=>setTimeout(()=>s(void 0),0))),o.mode!=="hidden"&&(o.mode="hidden"),[...t].sort((s,a)=>ue(a)-ue(s)).forEach(s=>{var c,d;let a=s.value,i=ue(s);if("endTime"in s&&s.endTime!=null)o==null||o.addCue(new VTTCue(i,s.endTime,n==="chapters"?a:JSON.stringify(a!=null?a:null)));else{let l=Array.prototype.findIndex.call(o==null?void 0:o.cues,f=>f.startTime>=i),u=(c=o==null?void 0:o.cues)==null?void 0:c[l],y=u?u.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,m=(d=o==null?void 0:o.cues)==null?void 0:d[l-1];m&&(m.endTime=i),o==null||o.addCue(new VTTCue(i,y,n==="chapters"?a:JSON.stringify(a!=null?a:null)))}}),e.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),o}var de="cuepoints",Be=Object.freeze({label:de});async function le(e,t,r=Be){return $e(e,t,r.label,"metadata")}var Q=e=>({time:e.startTime,value:JSON.parse(e.text)});function Je(e,t={label:de}){let r=O(e,t.label,"metadata");return r!=null&&r.cues?Array.from(r.cues,n=>Q(n)):[]}function pe(e,t={label:de}){var s,a;let r=O(e,t.label,"metadata");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return Q(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:c})=>i<=n&&c>n);return Q(o||r.activeCues[0])}async function fe(e,t=Be){return new Promise(r=>{v(e,"loadstart",async()=>{let n=await le(e,[],t);v(e,"cuechange",()=>{let o=pe(e);if(o){let s=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}var Te="chapters",je=Object.freeze({label:Te}),Z=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function ye(e,t,r=je){return $e(e,t,r.label,"chapters")}function ze(e,t={label:Te}){var n;let r=O(e,t.label,"chapters");return(n=r==null?void 0:r.cues)!=null&&n.length?Array.from(r.cues,o=>Z(o)):[]}function me(e,t={label:Te}){var s,a;let r=O(e,t.label,"chapters");if(!((s=r==null?void 0:r.activeCues)!=null&&s.length))return;if(r.activeCues.length===1)return Z(r.activeCues[0]);let{currentTime:n}=e,o=Array.prototype.find.call((a=r.activeCues)!=null?a:[],({startTime:i,endTime:c})=>i<=n&&c>n);return Z(o||r.activeCues[0])}async function Ee(e,t=je){return new Promise(r=>{v(e,"loadstart",async()=>{let n=await ye(e,[],t);v(e,"cuechange",()=>{let o=me(e);if(o){let s=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(s)}},{},n),r(n)})})}function qe(e,t){if(t){let r=t.playingDate;if(r!=null)return new Date(r.getTime()-e.currentTime*1e3)}return typeof e.getStartDate=="function"?e.getStartDate():new Date(NaN)}function Ge(e,t){if(t&&t.playingDate)return t.playingDate;if(typeof e.getStartDate=="function"){let r=e.getStartDate();return new Date(r.getTime()+e.currentTime*1e3)}return new Date(NaN)}var te={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},tr=e=>{if(e===D.VIDEO)return te.VIDEO;if(e===D.DRM)return te.DRM},rr=(e,t)=>{var o,s;let r=V(e),n=`${r}Token`;return(o=t.tokens)!=null&&o[r]?(s=t.tokens)==null?void 0:s[r]:H(n,t)?t[n]:void 0},$=(e,t,r,n,o=!1,s=!(a=>(a=globalThis.navigator)==null?void 0:a.onLine)())=>{var x,k;if(s){let R=M("Your device appears to be offline",o),C=void 0,p=T.MEDIA_ERR_NETWORK,_=new T(R,p,!1,C);return _.errorCategory=t,_.muxCode=b.NETWORK_OFFLINE,_.data=e,_}let i="status"in e?e.status:e.code,c=Date.now(),d=T.MEDIA_ERR_NETWORK;if(i===200)return;let l=V(t),u=rr(t,r),y=tr(t),[m]=Y((x=r.playbackId)!=null?x:"");if(!i||!m)return;let f=X(u);if(u&&!f){let R=M("The {tokenNamePrefix}-token provided is invalid or malformed.",o).format({tokenNamePrefix:l}),C=M("Compact JWT string: {token}",o).format({token:u}),p=new T(R,d,!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_MALFORMED,p.data=e,p}if(i>=500){let R=new T("",d,n!=null?n:!0);return R.errorCategory=t,R.muxCode=b.NETWORK_UNKNOWN_ERROR,R}if(i===403)if(f){if(Ie(f,c)){let R={timeStyle:"medium",dateStyle:"medium"},C=M("The video\u2019s secured {tokenNamePrefix}-token has expired.",o).format({tokenNamePrefix:l}),p=M("Expired at: {expiredDate}. Current time: {currentDate}.",o).format({expiredDate:new Intl.DateTimeFormat("en",R).format((k=f.exp)!=null?k:0*1e3),currentDate:new Intl.DateTimeFormat("en",R).format(c)}),_=new T(C,d,!0,p);return _.errorCategory=t,_.muxCode=b.NETWORK_TOKEN_EXPIRED,_.data=e,_}if(Ne(f,m)){let R=M("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",o).format({tokenNamePrefix:l}),C=M("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",o).format({tokenNamePrefix:l,playbackId:m,tokenPlaybackId:f.sub}),p=new T(R,d,!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_SUB_MISMATCH,p.data=e,p}if(we(f,y)){let R=M("The {tokenNamePrefix}-token is formatted with incorrect information.",o).format({tokenNamePrefix:l}),C=M("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",o).format({tokenNamePrefix:l,expectedAud:y}),p=new T(R,d,!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_AUD_MISSING,p.data=e,p}if(Oe(f,y)){let R=M("The {tokenNamePrefix}-token is formatted with incorrect information.",o).format({tokenNamePrefix:l}),C=M("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",o).format({tokenNamePrefix:l,expectedAud:y,aud:f.aud}),p=new T(R,d,!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_AUD_MISMATCH,p.data=e,p}}else{let R=M("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",o).format({tokenNamePrefix:l,category:t}),C=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_TOKEN_MISSING,p.data=e,p}if(i===412){let R=M("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",o),C=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_NOT_READY,p.streamType=r.streamType===h.LIVE?"live":r.streamType===h.ON_DEMAND?"on-demand":"unknown",p.data=e,p}if(i===404){let R=M("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",o),C=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_NOT_FOUND,p.data=e,p}if(i===400){let R=M("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),C=M("Specified playback ID: {playbackId}",o).format({playbackId:m}),p=new T(R,d,n!=null?n:!0,C);return p.errorCategory=t,p.muxCode=b.NETWORK_INVALID_URL,p.data=e,p}let g=new T("",d,n!=null?n:!0);return g.errorCategory=t,g.muxCode=b.NETWORK_UNKNOWN_ERROR,g.data=e,g};var Xe=E.DefaultConfig.capLevelController,nr={"720p":921600,"1080p":2073600,"1440p":4194304,"2160p":8294400};function or(e){let t=e.toLowerCase().trim();return nr[t]}var N=class N extends Xe{constructor(t){super(t)}static setMaxAutoResolution(t,r){r?N.maxAutoResolution.set(t,r):N.maxAutoResolution.delete(t)}getMaxAutoResolution(){var r;let t=this.hls;return(r=N.maxAutoResolution.get(t))!=null?r:void 0}get levels(){var t;return(t=this.hls.levels)!=null?t:[]}getValidLevels(t){return this.levels.filter((r,n)=>this.isLevelAllowed(r)&&n<=t)}getMaxLevelCapped(t){let r=this.getValidLevels(t),n=this.getMaxAutoResolution();if(!n)return super.getMaxLevel(t);let o=or(n);if(!o)return super.getMaxLevel(t);let s=r.filter(c=>c.width*c.height<=o),a=s.findIndex(c=>c.width*c.height===o);if(a!==-1){let c=s[a];return r.findIndex(d=>d===c)}if(s.length===0)return 0;let i=s[s.length-1];return r.findIndex(c=>c===i)}getMaxLevel(t){if(this.getMaxAutoResolution()!==void 0)return this.getMaxLevelCapped(t);let r=super.getMaxLevel(t),n=this.getValidLevels(t);if(!n[r])return r;let o=Math.min(n[r].width,n[r].height),s=N.minMaxResolution;return o>=s?r:Xe.getMaxLevelByMediaSize(n,s*(16/9),s)}};N.minMaxResolution=720,N.maxAutoResolution=new WeakMap;var ge=N,B=ge;var re={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},st=e=>{if(e.includes("fps"))return re.FAIRPLAY;if(e.includes("playready"))return re.PLAYREADY;if(e.includes("widevine"))return re.WIDEVINE},it=e=>{let t=e.split(`
2
+ `).find((r,n,o)=>n&&o[n-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.status!==200?Promise.reject(r):r.text())},ct=e=>{let t=e.split(`
3
+ `).filter(n=>n.startsWith("#EXT-X-SESSION-DATA"));if(!t.length)return{};let r={};for(let n of t){let o=ut(n),s=o["DATA-ID"];s&&(r[s]={...o})}return{sessionData:r}},ar=/([A-Z0-9-]+)="?(.*?)"?(?:,|$)/g;function ut(e){let t=[...e.matchAll(ar)];return Object.fromEntries(t.map(([,r,n])=>[r,n]))}var dt=e=>{var i,c,d;let t=e.split(`
4
+ `),n=(c=((i=t.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?i:"").split(":")[1])==null?void 0:c.trim(),o=se(n),s=ie(n),a;if(o===h.LIVE){let l=t.find(y=>y.startsWith("#EXT-X-PART-INF"));if(!!l)a=+l.split(":")[1].split("=")[1]*2;else{let y=t.find(g=>g.startsWith("#EXT-X-TARGETDURATION")),m=(d=y==null?void 0:y.split(":"))==null?void 0:d[1];a=+(m!=null?m:6)*3}}return{streamType:o,targetLiveWindow:s,liveEdgeStartOffset:a}},lt=async(e,t)=>{if(t===S.MP4)return{streamType:h.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===S.M3U8){let r=await fetch(e);if(!r.ok)return Promise.reject(r);let n=await r.text(),o=await it(n);return{...ct(n),...dt(o)}}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0,sessionData:void 0}},pt=async(e,t,r=F({src:e}))=>{var c,d,l,u;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,sessionData:a}=await lt(e,r),i=a==null?void 0:a["com.apple.hls.chapters"];(i!=null&&i.URI||i!=null&&i.VALUE.toLocaleLowerCase().startsWith("http"))&&ne((c=i.URI)!=null?c:i.VALUE,t),((d=P.get(t))!=null?d:{}).liveEdgeStartOffset=s,((l=P.get(t))!=null?l:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=P.get(t))!=null?u:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},ne=async(e,t)=>{var r,n;try{let o=await fetch(e);if(!o.ok)throw new Error(`Failed to fetch Mux metadata: ${o.status} ${o.statusText}`);let s=await o.json(),a={};if(!((r=s==null?void 0:s[0])!=null&&r.metadata))return;for(let c of s[0].metadata)c.key&&c.value&&(a[c.key]=c.value);((n=P.get(t))!=null?n:{}).metadata=a;let i=new CustomEvent("muxmetadata");t.dispatchEvent(i)}catch(o){console.error(o)}},ft=e=>{var a;let t=e.type,r=se(t),n=ie(t),o,s=!!((a=e.partList)!=null&&a.length);return r===h.LIVE&&(o=s?e.partTarget*2:e.targetduration*3),{streamType:r,targetLiveWindow:n,liveEdgeStartOffset:o,lowLatency:s}},Tt=(e,t,r)=>{var i,c,d,l,u,y,m,f;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:s,lowLatency:a}=ft(e);if(n===h.LIVE){a?(r.config.backBufferLength=(i=r.userConfig.backBufferLength)!=null?i:4,r.config.maxFragLookUpTolerance=(c=r.userConfig.maxFragLookUpTolerance)!=null?c:.001,r.config.abrBandWidthUpFactor=(d=r.userConfig.abrBandWidthUpFactor)!=null?d:r.config.abrBandWidthFactor):r.config.backBufferLength=(l=r.userConfig.backBufferLength)!=null?l:8;let g=Object.freeze({get length(){return t.seekable.length},start(x){return t.seekable.start(x)},end(x){var k;return x>this.length||x<0||Number.isFinite(t.duration)?t.seekable.end(x):(k=r.liveSyncPosition)!=null?k:t.seekable.end(x)}});((u=P.get(t))!=null?u:{}).seekable=g}((y=P.get(t))!=null?y:{}).liveEdgeStartOffset=s,((m=P.get(t))!=null?m:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((f=P.get(t))!=null?f:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Qe,Ze,yt=(Ze=(Qe=globalThis==null?void 0:globalThis.navigator)==null?void 0:Qe.userAgent)!=null?Ze:"",et,tt,rt,sr=(rt=(tt=(et=globalThis==null?void 0:globalThis.navigator)==null?void 0:et.userAgentData)==null?void 0:tt.platform)!=null?rt:"",ir=yt.toLowerCase().includes("android")||["x11","android"].some(e=>sr.toLowerCase().includes(e)),cr=e=>/^((?!chrome|android).)*safari/i.test(yt)&&!!e.canPlayType("application/vnd.apple.mpegurl"),P=new WeakMap,I="mux.com",nt,ot,mt=(ot=(nt=E).isSupported)==null?void 0:ot.call(nt),ur=e=>ir||!cr(e),dr=()=>{if(typeof window!="undefined")return j.default.utils.now()},Et=j.default.utils.generateUUID,lr=({playbackId:e,customDomain:t=I,maxResolution:r,minResolution:n,renditionOrder:o,programStartTime:s,programEndTime:a,assetStartTime:i,assetEndTime:c,playbackToken:d,tokens:{playback:l=d}={},extraSourceParams:u={}}={})=>{if(!e)return;let[y,m=""]=Y(e),f=new URL(`https://stream.${t}/${y}.m3u8${m}`);return l||f.searchParams.has("token")?(f.searchParams.forEach((g,x)=>{x!="token"&&f.searchParams.delete(x)}),l&&f.searchParams.set("token",l)):(r&&f.searchParams.set("max_resolution",r),n&&(f.searchParams.set("min_resolution",n),r&&+r.slice(0,-1)<+n.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",n,"maxResolution",r)),o&&f.searchParams.set("rendition_order",o),s&&f.searchParams.set("program_start_time",`${s}`),a&&f.searchParams.set("program_end_time",`${a}`),i&&f.searchParams.set("asset_start_time",`${i}`),c&&f.searchParams.set("asset_end_time",`${c}`),Object.entries(u).forEach(([g,x])=>{x!=null&&f.searchParams.set(g,x)})),f.toString()},oe=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},Re=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(/\.m3u8|\//);return t||void 0},pr=e=>{var t,r,n;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:Pe(e)&&(n=(r=oe(e.playbackId))!=null?r:Re(e.src))!=null?n:e.src},gt=e=>{var t;return(t=P.get(e))==null?void 0:t.error},fr=e=>{var t;return(t=P.get(e))==null?void 0:t.metadata},Me=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.streamType)!=null?r:h.UNKNOWN},Tr=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN},be=e=>{var t,r;return(r=(t=P.get(e))==null?void 0:t.seekable)!=null?r:e.seekable},yr=e=>{var n;let t=(n=P.get(e))==null?void 0:n.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=be(e);return r.length?r.end(r.length-1)-t:Number.NaN},Ce=.034,mr=(e,t,r=Ce)=>Math.abs(e-t)<=r,Mt=(e,t,r=Ce)=>e>t||mr(e,t,r),xt=(e,t=Ce)=>e.paused&&Mt(e.currentTime,e.duration,t),De=(e,t)=>{var d,l,u;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let r=t.currentLevel>=0?(l=(d=t.levels)==null?void 0:d[t.currentLevel])==null?void 0:l.details:(u=t.levels.find(y=>!!y.details))==null?void 0:u.details;if(!r||r.live)return;let{fragments:n}=r;if(!(n!=null&&n.length))return;if(e.currentTime<e.duration-(r.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let s=o.start+o.duration/2,a=e.buffered.start(e.buffered.length-1),i=e.buffered.end(e.buffered.length-1);return s>a&&s<i},Rt=(e,t)=>e.ended||e.loop?e.ended:t&&De(e,t)?!0:xt(e),Er=(e,t,r)=>{bt(t,r,e);let{metadata:n={}}=e,{view_session_id:o=Et()}=n,s=pr(e);n.view_session_id=o,n.video_id=s,e.metadata=n;let a=l=>{var u;(u=t.mux)==null||u.emit("hb",{view_drm_type:l})};e.drmTypeCb=a,P.set(t,{retryCount:0});let i=Dt(e,t),c=Ke(e,t,i);e!=null&&e.muxDataKeepSession&&(t!=null&&t.mux)&&!t.mux.deleted?i&&t.mux.addHLSJS({hlsjs:i,Hls:i?E:void 0}):At(e,t,i),St(e,t,i),fe(t),Ee(t);let d=Ve(e,t,i);return{engine:i,setAutoplay:d,setPreload:c}},bt=(e,t,r)=>{let n=t==null?void 0:t.engine;e!=null&&e.mux&&!e.mux.deleted&&(r!=null&&r.muxDataKeepSession?n&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),n&&(n.detachMedia(),n.destroy()),e&&(e.hasAttribute("src")&&(e.removeAttribute("src"),e.load()),e.removeEventListener("error",Nt),e.removeEventListener("error",xe),e.removeEventListener("durationchange",It),P.delete(e),e.dispatchEvent(new Event("teardown")))};function Ct(e,t){var d;let r=F(e);if(!(r===S.M3U8))return!0;let o=!r||((d=t.canPlayType(r))!=null?d:!0),{preferPlayback:s}=e,a=s===q.MSE,i=s===q.NATIVE,c=mt&&(a||ur(t));return o&&(i||!c)}var Dt=(e,t)=>{let{debug:r,streamType:n,startTime:o=-1,metadata:s,preferCmcd:a,_hlsConfig:i={},maxAutoResolution:c}=e,l=F(e)===S.M3U8,u=Ct(e,t);if(l&&!u&&mt){let y={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelOnFPSDrop:!0},m=vt(n),f=Pt(e),g=[w.QUERY,w.HEADER].includes(a)?{useHeaders:a===w.HEADER,sessionId:s==null?void 0:s.view_session_id,contentId:s==null?void 0:s.video_id}:void 0,x=Lt(e,i),k=new E({debug:r,startPosition:o,cmcd:g,xhrSetup:(R,C)=>{var U,he;if(a&&a!==w.QUERY)return;let p=new URL(C);if(!p.searchParams.has("CMCD"))return;let _=((he=(U=p.searchParams.get("CMCD"))==null?void 0:U.split(","))!=null?he:[]).filter(_e=>_e.startsWith("sid")||_e.startsWith("cid")).join(",");p.searchParams.set("CMCD",_),R.open("GET",p)},...y,...x,...m,...f,...i});return x.capLevelController===B&&c!==void 0&&B.setMaxAutoResolution(k,c),k.on(E.Events.MANIFEST_PARSED,async function(R,C){var _,U;let p=(_=C.sessionData)==null?void 0:_["com.apple.hls.chapters"];(p!=null&&p.URI||p!=null&&p.VALUE.toLocaleLowerCase().startsWith("http"))&&ne((U=p==null?void 0:p.URI)!=null?U:p==null?void 0:p.VALUE,t)}),k}},vt=e=>e===h.LIVE?{backBufferLength:8}:{},Pt=e=>{let{tokens:{drm:t}={},playbackId:r,drmTypeCb:n}=e,o=oe(r);return!t||!o?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:J(e,"fairplay"),serverCertificateUrl:ve(e,"fairplay")},"com.widevine.alpha":{licenseUrl:J(e,"widevine")},"com.microsoft.playready":{licenseUrl:J(e,"playready")}},requestMediaKeySystemAccessFunc:(s,a)=>(s==="com.widevine.alpha"&&(a=[...a.map(i=>{var d;let c=(d=i.videoCapabilities)==null?void 0:d.map(l=>({...l,robustness:"HW_SECURE_ALL"}));return{...i,videoCapabilities:c}}),...a]),navigator.requestMediaKeySystemAccess(s,a).then(i=>{let c=st(s);return n==null||n(c),i}))}},ht=async e=>{let t=await fetch(e);return t.status!==200?Promise.reject(t):await t.arrayBuffer()},_t=async(e,t)=>{let r=await fetch(t,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:e});if(r.status!==200)return Promise.reject(r);let n=await r.arrayBuffer();return new Uint8Array(n)},kt=(e,t)=>{let r=async a=>{let i=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[a],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(d=>{var l;return(l=e.drmTypeCb)==null||l.call(e,re.FAIRPLAY),d}).catch(()=>{let d=M("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),l=new T(d,T.MEDIA_ERR_ENCRYPTED,!0);l.errorCategory=D.DRM,l.muxCode=b.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,A(t,l)});if(!i)return;let c=await i.createMediaKeys();try{let d=await ht(ve(e,"fairplay")).catch(l=>{if(l instanceof Response){let u=$(l,D.DRM,e);return console.error("mediaError",u==null?void 0:u.message,u==null?void 0:u.context),u?Promise.reject(u):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(l)});await c.setServerCertificate(d).catch(()=>{let l=M("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),u=new T(l,T.MEDIA_ERR_ENCRYPTED,!0);return u.errorCategory=D.DRM,u.muxCode=b.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(u)})}catch(d){A(t,d);return}await t.setMediaKeys(c)},n=a=>{let i;if(a==="internal-error"){let c=M("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");i=new T(c,T.MEDIA_ERR_ENCRYPTED,!0),i.errorCategory=D.DRM,i.muxCode=b.ENCRYPTED_CDM_ERROR}else if(a==="output-restricted"||a==="output-downscaled"){let c=M("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");i=new T(c,T.MEDIA_ERR_ENCRYPTED,!1),i.errorCategory=D.DRM,i.muxCode=b.ENCRYPTED_OUTPUT_RESTRICTED}i&&A(t,i)},o=async(a,i)=>{let c=t.mediaKeys.createSession(),d=()=>{c.keyStatuses.forEach(u=>n(u))},l=async u=>{let y=u.message;try{let m=await _t(y,J(e,"fairplay"));try{await c.update(m)}catch{let f=M("Failed to update DRM license. This may be an issue with the player or your protected content."),g=new T(f,T.MEDIA_ERR_ENCRYPTED,!0);g.errorCategory=D.DRM,g.muxCode=b.ENCRYPTED_UPDATE_LICENSE_FAILED,A(t,g)}}catch(m){if(m instanceof Response){let f=$(m,D.DRM,e);if(console.error("mediaError",f==null?void 0:f.message,f==null?void 0:f.context),f){A(t,f);return}console.error("Unexpected error in license key request",m);return}console.error(m)}};c.addEventListener("keystatuseschange",d),c.addEventListener("message",l),t.addEventListener("teardown",()=>{c.removeEventListener("keystatuseschange",d),c.removeEventListener("message",l),c.close()},{once:!0}),await c.generateRequest(a,i).catch(u=>{console.error("Failed to generate license request",u);let y=M("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),m=new T(y,T.MEDIA_ERR_ENCRYPTED,!0);return m.errorCategory=D.DRM,m.muxCode=b.ENCRYPTED_GENERATE_REQUEST_FAILED,Promise.reject(m)})};v(t,"encrypted",async a=>{try{let i=a.initDataType;if(i!=="skd"){console.error(`Received unexpected initialization data type "${i}"`);return}t.mediaKeys||await r(i);let c=a.initData;if(c==null){console.error(`Could not start encrypted playback due to missing initData in ${a.type} event`);return}await o(i,c)}catch(i){A(t,i);return}})},J=({playbackId:e,tokens:{drm:t}={},customDomain:r=I},n)=>{let o=oe(e);return`https://license.${r.toLocaleLowerCase().endsWith(I)?r:I}/license/${n}/${o}?token=${t}`},ve=({playbackId:e,tokens:{drm:t}={},customDomain:r=I},n)=>{let o=oe(e);return`https://license.${r.toLocaleLowerCase().endsWith(I)?r:I}/appcert/${n}/${o}?token=${t}`},Pe=({playbackId:e,src:t,customDomain:r})=>{if(e)return!0;if(typeof t!="string")return!1;let n=window==null?void 0:window.location.href,o=new URL(t,n).hostname.toLocaleLowerCase();return o.includes(I)||!!r&&o.includes(r.toLocaleLowerCase())},Lt=(e,t)=>{let r={};return r.capLevelToPlayerSize=e.capRenditionToPlayerSize,r.capLevelToPlayerSize==null?(r.capLevelController=B,r.capLevelToPlayerSize=!0):r.capLevelController=at.CapLevelController,r},At=(e,t,r)=>{var c;let{envKey:n,disableTracking:o,muxDataSDK:s=j.default,muxDataSDKOptions:a={}}=e,i=Pe(e);if(!o&&(n||i)){let{playerInitTime:d,playerSoftwareName:l,playerSoftwareVersion:u,beaconCollectionDomain:y,debug:m,disableCookies:f}=e,g={...e.metadata,video_title:((c=e==null?void 0:e.metadata)==null?void 0:c.video_title)||void 0},x=k=>typeof k.player_error_code=="string"?!1:typeof e.errorTranslator=="function"?e.errorTranslator(k):k;s.monitor(t,{debug:m,beaconCollectionDomain:y,hlsjs:r,Hls:r?E:void 0,automaticErrorTracking:!1,errorTranslator:x,disableCookies:f,...a,data:{...n?{env_key:n}:{},player_software_name:l,player_software:l,player_software_version:u,player_init_time:d,...g}})}},St=(e,t,r)=>{var l,u;let n=Ct(e,t),{src:o,customDomain:s=I}=e,a=()=>{t.ended||e.disablePseudoEnded||!Rt(t,r)||(De(t,r)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))},i,c,d=()=>{let y=be(t),m,f;y.length>0&&(m=y.start(0),f=y.end(0)),(c!==f||i!==m)&&t.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),i=m,c=f};if(v(t,"durationchange",d),t&&n){let y=F(e);if(typeof o=="string"){if(o.endsWith(".mp4")&&o.includes(s)){let g=Re(o),x=new URL(`https://stream.${s}/${g}/metadata.json`);ne(x.toString(),t)}let m=()=>{if(Me(t)!==h.LIVE||Number.isFinite(t.duration))return;let g=setInterval(d,1e3);t.addEventListener("teardown",()=>{clearInterval(g)},{once:!0}),v(t,"durationchange",()=>{Number.isFinite(t.duration)&&clearInterval(g)})},f=async()=>pt(o,t,y).then(m).catch(g=>{if(g instanceof Response){let x=$(g,D.VIDEO,e);if(x){A(t,x);return}}else g instanceof Error});if(t.preload==="none"){let g=()=>{f(),t.removeEventListener("loadedmetadata",x)},x=()=>{f(),t.removeEventListener("play",g)};v(t,"play",g,{once:!0}),v(t,"loadedmetadata",x,{once:!0})}else f();(l=e.tokens)!=null&&l.drm?kt(e,t):v(t,"encrypted",()=>{let g=M("Attempting to play DRM-protected content without providing a DRM token."),x=new T(g,T.MEDIA_ERR_ENCRYPTED,!0);x.errorCategory=D.DRM,x.muxCode=b.ENCRYPTED_MISSING_TOKEN,A(t,x)},{once:!0}),t.setAttribute("src",o),e.startTime&&(((u=P.get(t))!=null?u:{}).startTime=e.startTime,t.addEventListener("durationchange",It,{once:!0}))}else t.removeAttribute("src");t.addEventListener("error",Nt),t.addEventListener("error",xe),t.addEventListener("emptied",()=>{t.querySelectorAll("track[data-removeondestroy]").forEach(f=>{f.remove()})},{once:!0}),v(t,"pause",a),v(t,"seeked",a),v(t,"play",()=>{t.ended||Mt(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else r&&o?(r.once(E.Events.LEVEL_LOADED,(y,m)=>{Tt(m.details,t,r),d(),Me(t)===h.LIVE&&!Number.isFinite(t.duration)&&(r.on(E.Events.LEVEL_UPDATED,d),v(t,"durationchange",()=>{Number.isFinite(t.duration)&&r.off(E.Events.LEVELS_UPDATED,d)}))}),r.on(E.Events.ERROR,(y,m)=>{var g,x;let f=gr(m,e);if(f.muxCode===b.NETWORK_NOT_READY){let R=(g=P.get(t))!=null?g:{},C=(x=R.retryCount)!=null?x:0;if(C<6){let p=C===0?5e3:6e4,_=new T(`Retrying in ${p/1e3} seconds...`,f.code,f.fatal);Object.assign(_,f),A(t,_),setTimeout(()=>{R.retryCount=C+1,m.details==="manifestLoadError"&&m.url&&r.loadSource(m.url)},p);return}else{R.retryCount=0;let p=new T('Try again later or <a href="#" onclick="window.location.reload(); return false;" style="color: #4a90e2;">click here to retry</a>',f.code,f.fatal);Object.assign(p,f),A(t,p);return}}A(t,f)}),r.on(E.Events.MANIFEST_LOADED,()=>{let y=P.get(t);y&&y.error&&(y.error=null,y.retryCount=0,t.dispatchEvent(new Event("emptied")),t.dispatchEvent(new Event("loadstart")))}),t.addEventListener("error",xe),v(t,"waiting",a),We(e,r),Ye(t,r),r.attachMedia(t)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function It(e){var n;let t=e.target,r=(n=P.get(t))==null?void 0:n.startTime;if(r&&Se(t.seekable,t.duration,r)){let o=t.preload==="auto";o&&(t.preload="none"),t.currentTime=r,o&&(t.preload="auto")}}async function Nt(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(t!=null&&t.error))return;let{message:r,code:n}=t.error,o=new T(r,n);if(t.src&&n===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var a;let s=(a=gt(t))!=null?a:t.error;(s==null?void 0:s.code)===T.MEDIA_ERR_SRC_NOT_SUPPORTED&&A(t,o)},500);return}if(t.src&&(n!==T.MEDIA_ERR_DECODE||n!==void 0))try{let{status:s}=await fetch(t.src);o.data={response:{code:s}}}catch{}A(t,o)}function A(e,t){var r;t.fatal&&(((r=P.get(e))!=null?r:{}).error=t,e.dispatchEvent(new CustomEvent("error",{detail:t})))}function xe(e){var n,o;if(!(e instanceof CustomEvent)||!(e.detail instanceof T))return;let t=e.target,r=e.detail;!r||!r.fatal||(((n=P.get(t))!=null?n:{}).error=r,(o=t.mux)==null||o.emit("error",{player_error_code:r.code,player_error_message:r.message,player_error_context:r.context}))}var gr=(e,t)=>{var c,d,l;!e.fatal?t.debug&&console.warn("getErrorFromHlsErrorData() (non-fatal)",e):console.error("getErrorFromHlsErrorData()",e);let n={[E.ErrorTypes.NETWORK_ERROR]:T.MEDIA_ERR_NETWORK,[E.ErrorTypes.MEDIA_ERROR]:T.MEDIA_ERR_DECODE,[E.ErrorTypes.KEY_SYSTEM_ERROR]:T.MEDIA_ERR_ENCRYPTED},o=u=>[E.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,E.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?T.MEDIA_ERR_NETWORK:n[u.type],s=u=>{if(u.type===E.ErrorTypes.KEY_SYSTEM_ERROR)return D.DRM;if(u.type===E.ErrorTypes.NETWORK_ERROR)return D.VIDEO},a,i=o(e);if(i===T.MEDIA_ERR_NETWORK&&e.response){let u=(c=s(e))!=null?c:D.VIDEO;a=(d=$(e.response,u,t,e.fatal))!=null?d:new T("",i,e.fatal)}else if(i===T.MEDIA_ERR_ENCRYPTED)if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=M("Attempting to play DRM-protected content without providing a DRM token.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_MISSING_TOKEN}else if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let u=M("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(e.details===E.ErrorDetails.KEY_SYSTEM_NO_SESSION){let u=M("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,!0),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=M("Failed to update DRM license. This may be an issue with the player or your protected content.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=M("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(e.details===E.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=M("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_CDM_ERROR}else if(e.details===E.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=M("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");a=new T(u,T.MEDIA_ERR_ENCRYPTED,!1),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_OUTPUT_RESTRICTED}else a=new T(e.error.message,T.MEDIA_ERR_ENCRYPTED,e.fatal),a.errorCategory=D.DRM,a.muxCode=b.ENCRYPTED_ERROR;else a=new T("",i,e.fatal);return a.context||(a.context=`${e.url?`url: ${e.url}
5
5
  `:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text}
6
6
  `:""}${e.reason?`failure reason: ${e.reason}
7
7
  `:""}${e.level?`level: ${e.level}