@castlabs/prestoplay 6.2.6 → 6.2.7

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/cjs/cl.adobe.js +3 -3
  4. package/cjs/cl.airplay.js +3 -3
  5. package/cjs/cl.broadpeak.js +6 -6
  6. package/cjs/cl.cast.js +101 -101
  7. package/cjs/cl.conviva.js +32 -32
  8. package/cjs/cl.core.js +362 -362
  9. package/cjs/cl.crypto.js +9 -9
  10. package/cjs/cl.dash.js +68 -68
  11. package/cjs/cl.externs.js +63 -32
  12. package/cjs/cl.freewheel.js +19 -19
  13. package/cjs/cl.hls.js +43 -43
  14. package/cjs/cl.hlssmpte.js +6 -6
  15. package/cjs/cl.htmlcue.js +30 -30
  16. package/cjs/cl.ima.js +18 -18
  17. package/cjs/cl.mse.js +252 -249
  18. package/cjs/cl.muxdata.js +11 -11
  19. package/cjs/cl.onboard.js +3 -3
  20. package/cjs/cl.persistent.js +13 -13
  21. package/cjs/cl.playlist.js +5 -5
  22. package/cjs/cl.smooth.js +69 -69
  23. package/cjs/cl.thumbnails.js +22 -22
  24. package/cjs/cl.tizen.js +69 -69
  25. package/cjs/cl.ttml.js +26 -26
  26. package/cjs/cl.verimatrix.js +5 -5
  27. package/cjs/cl.vimond.js +12 -12
  28. package/cjs/cl.vr.js +24 -0
  29. package/cjs/cl.vtt.js +14 -14
  30. package/cjs/cl.youbora.js +16 -16
  31. package/cl.adobe.js +3 -3
  32. package/cl.airplay.js +3 -3
  33. package/cl.broadpeak.js +5 -5
  34. package/cl.cast.js +78 -78
  35. package/cl.conviva.js +25 -25
  36. package/cl.core.js +172 -171
  37. package/cl.crypto.js +8 -8
  38. package/cl.dash.js +61 -61
  39. package/cl.externs.js +59 -32
  40. package/cl.freewheel.js +18 -18
  41. package/cl.hls.js +36 -36
  42. package/cl.hlssmpte.js +5 -5
  43. package/cl.htmlcue.js +24 -24
  44. package/cl.ima.js +15 -15
  45. package/cl.mse.js +223 -220
  46. package/cl.muxdata.js +9 -9
  47. package/cl.onboard.js +3 -3
  48. package/cl.persistent.js +9 -9
  49. package/cl.playlist.js +4 -4
  50. package/cl.smooth.js +57 -57
  51. package/cl.thumbnails.js +15 -15
  52. package/cl.tizen.js +55 -55
  53. package/cl.ttml.js +21 -21
  54. package/cl.verimatrix.js +4 -4
  55. package/cl.vimond.js +7 -7
  56. package/cl.vr.js +14 -0
  57. package/cl.vtt.js +7 -7
  58. package/cl.youbora.js +8 -8
  59. package/package.json +1 -1
package/cl.muxdata.js CHANGED
@@ -1,9 +1,9 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Tr=function(a){let b={debug:!0,data:Sr(a)};a.g&&a.g.muxOptionsOverride&&_.df(a.g.muxOptionsOverride)&&(b=_.af(b,a.g.muxOptionsOverride,{getPlayheadTime:()=>1E3*a.l.getPosition(),getStateData:()=>{{a.f.debug("getStateData()");var c=a.l.getLoadedSource(),d=a.l.getTrackManager();const f=a.l.getSurface(),g=d.fa();var e={player_is_paused:a.l.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.l.getDuration(),player_autoplay_on:!!a.l.getConfiguration().autoplay};
2
- if(c){const h=new _.Ji(c.url);e.video_source_url=_.Fi(h);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;g&&g.height&&g.width&&(e.video_source_height=g.height,e.video_source_width=g.width);(d=d.ha())&&d.language&&(e.player_language_code=d.language)}return e}}));a.f.debug("Mux SDK options",b);return b},Ur=function(a,b,c){a.f.debug(`Event: ${b}`);mux.emit(a.A,b,c)},Sr=function(a){const b={env_key:a.g.envKey,
3
- video_title:a.m&&a.m.name||"",player_software_name:_.la,player_software_version:_.da,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",player_mux_plugin_version:_.da};(a=a.l.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},Vr=function(a){a.a.on(a.l,_.me,()=>{Ur(a,_.me,{player_playhead_time:1E3*a.l.getPosition()})});a.a.on(a.l,_.Jd,()=>Ur(a,_.Jd));a.a.on(a.l,_.Yb,a.B.bind(a));a.a.on(a.l,_.be,a.D.bind(a));a.a.on(a.l,_.ve,()=>Ur(a,_.Xd));a.a.on(a.l,_.te,()=>Ur(a,_.Wd));a.a.on(a.l,
4
- _.Oc,a.C.bind(a));a.a.on(a.l,_.mb,()=>Ur(a,"adbreakstart"));a.a.on(a.l,_.nb,()=>Ur(a,"adbreakend"));a.a.on(a.l,_.zb,()=>{Ur(a,"adplay");Ur(a,"adplaying")});a.a.on(a.l,_.vb,()=>Ur(a,"adpause"));a.a.on(a.l,_.xb,()=>{Ur(a,"adplay");Ur(a,"adplaying")});a.a.on(a.l,_.Ab,()=>Ur(a,"adended"));a.a.on(a.l,_.rb,()=>Ur(a,"adfirstquartile"));a.a.on(a.l,_.ub,()=>Ur(a,"admidpoint"));a.a.on(a.l,_.Bb,()=>Ur(a,"adthirdquartile"))},Wr=class{constructor(a,b){this.l=a;this.m=this.g=null;this.A=("000000"+(Math.random()*
5
- Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.cn;this.f=b;this.o=this.j=this.h=this.w=!1}release(){this.f.debug("release()");this.j?this.f.debug(_.ha):(_.Df(this.a),this.j=!0,this.m=this.g=null)}destroy(){this.f.debug(_.Cc);this.o?this.f.debug(_.fa):(this.o=!0,this.h&&this.w&&Ur(this,"viewend"),Ur(this,"destroy"))}B(a){this.f.debug(_.sd);var b=a.detail;a=this.l.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.xa())&&a.bandwidth&&(b+=a.bandwidth),Ur(this,"renditionchange",{video_source_bitrate:b}))}D(a){this.f.debug(_.xd);
6
- switch(a.detail.currentState){case _.Ak:this.l.getConfiguration().autoplay&&Ur(this,_.Jd);break;case _.Ck:Ur(this,_.Kd);break;case _.Bk:Ur(this,_.Fd);break;case _.rk:this.w=!0,Ur(this,_.Nc)}}C(a){this.f.debug(_.ud);if(this.h&&(a=a.detail||null))if(10003===a.code)Ur(this,"aderror");else if(a.severity===_.G){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;
7
- Ur(this,_.Oc,{player_error_code:a.code,player_error_message:b})}}};var Xr=class extends _.Uo{constructor(){super();this.f=null;this.a=!1;this.g=new _.O("clpp.muxdata")}onPlayerCreated(a){this.f=new Wr(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();if(this.a=!_.y(c.muxdata)&&typeof c.muxdata===_.rd){var d=c.muxdata;if(c="undefined"===typeof window.mux)c=d.muxLib,d="undefined"!==typeof c&&typeof c.init===_.Qc&&typeof c.emit===_.Qc,window.mux=c,c=d,c=!c;c&&(this.g.warn("Mux SDK is not loaded. Will do nothing."),this.a=!1,c=new _.H(1,9,9301),this.T(a,c))}else this.g.warn("Mux plugin is loaded but not configured. Will do nothing.");
8
- if(this.a){c=a.getConfiguration();c=_.bf(c.muxdata||{});try{d=[];typeof c===_.rd&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.H(1,9,9300,{missingKeys:d});var e=this.f;e.g=c;e.m=b;e.w=!1;if(!e.h){try{e.h=!0,mux.init(e.A,Tr(e))}catch(f){throw e.h=!1,_.Df(e.a),new _.H(1,9,9302,null,f);}Ur(e,"playerready")}e.j&&!e.o&&(Ur(e,"videochange",Sr(e)),e.j=!1);Vr(e)}catch(f){this.a=!1,this.T(a,f)}}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.f=null)}onPlayerWillRelease(){this.a&&
9
- this.f.release()}id(){return"mux"}T(a,b){a.trigger(new _.F(_.Oc,{detail:b}))}};_.x("clpp.muxdata.MuxDataPlugin",Xr);Xr.Id="mux";_.Cl(new class{create(){return new Xr}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var ms=function(a){let b={debug:!0,data:ls(a)};a.g&&a.g.muxOptionsOverride&&_.df(a.g.muxOptionsOverride)&&(b=_.af(b,a.g.muxOptionsOverride,{getPlayheadTime:()=>1E3*a.l.getPosition(),getStateData:()=>{{a.f.debug("getStateData()");var c=a.l.getLoadedSource(),d=a.l.getTrackManager();const f=a.l.getSurface(),g=d.fa();var e={player_is_paused:a.l.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.l.getDuration(),player_autoplay_on:!!a.l.getConfiguration().autoplay};
2
+ if(c){const h=new _.Ji(c.url);e.video_source_url=_.Fi(h);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;g&&g.height&&g.width&&(e.video_source_height=g.height,e.video_source_width=g.width);(d=d.ha())&&d.language&&(e.player_language_code=d.language)}return e}}));a.f.debug("Mux SDK options",b);return b},ns=function(a,b,c){a.f.debug(`Event: ${b}`);mux.emit(a.A,b,c)},ls=function(a){const b={env_key:a.g.envKey,
3
+ video_title:a.m&&a.m.name||"",player_software_name:_.la,player_software_version:_.da,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",player_mux_plugin_version:_.da};(a=a.l.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},os=function(a){a.a.on(a.l,_.me,()=>{ns(a,_.me,{player_playhead_time:1E3*a.l.getPosition()})});a.a.on(a.l,_.Jd,()=>ns(a,_.Jd));a.a.on(a.l,_.Yb,a.B.bind(a));a.a.on(a.l,_.be,a.D.bind(a));a.a.on(a.l,_.ue,()=>ns(a,_.Xd));a.a.on(a.l,_.te,()=>ns(a,_.Wd));a.a.on(a.l,
4
+ _.Oc,a.C.bind(a));a.a.on(a.l,_.mb,()=>ns(a,"adbreakstart"));a.a.on(a.l,_.nb,()=>ns(a,"adbreakend"));a.a.on(a.l,_.zb,()=>{ns(a,"adplay");ns(a,"adplaying")});a.a.on(a.l,_.vb,()=>ns(a,"adpause"));a.a.on(a.l,_.xb,()=>{ns(a,"adplay");ns(a,"adplaying")});a.a.on(a.l,_.Ab,()=>ns(a,"adended"));a.a.on(a.l,_.rb,()=>ns(a,"adfirstquartile"));a.a.on(a.l,_.ub,()=>ns(a,"admidpoint"));a.a.on(a.l,_.Bb,()=>ns(a,"adthirdquartile"))},ps=class{constructor(a,b){this.l=a;this.m=this.g=null;this.A=("000000"+(Math.random()*
5
+ Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.cn;this.f=b;this.o=this.j=this.h=this.w=!1}release(){this.f.debug("release()");this.j?this.f.debug(_.ha):(_.Df(this.a),this.j=!0,this.m=this.g=null)}destroy(){this.f.debug(_.Cc);this.o?this.f.debug(_.fa):(this.o=!0,this.h&&this.w&&ns(this,"viewend"),ns(this,"destroy"))}B(a){this.f.debug(_.sd);var b=a.detail;a=this.l.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.xa())&&a.bandwidth&&(b+=a.bandwidth),ns(this,"renditionchange",{video_source_bitrate:b}))}D(a){this.f.debug(_.xd);
6
+ switch(a.detail.currentState){case _.Ak:this.l.getConfiguration().autoplay&&ns(this,_.Jd);break;case _.Ck:ns(this,_.Kd);break;case _.Bk:ns(this,_.Dd);break;case _.rk:this.w=!0,ns(this,_.Nc)}}C(a){this.f.debug(_.ud);if(this.h&&(a=a.detail||null))if(10003===a.code)ns(this,"aderror");else if(a.severity===_.G){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;
7
+ ns(this,_.Oc,{player_error_code:a.code,player_error_message:b})}}};var qs=class extends _.So{constructor(){super();this.f=null;this.a=!1;this.g=new _.O("clpp.muxdata")}onPlayerCreated(a){this.f=new ps(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();if(this.a=!_.y(c.muxdata)&&typeof c.muxdata===_.rd){var d=c.muxdata;if(c="undefined"===typeof window.mux)c=d.muxLib,d="undefined"!==typeof c&&typeof c.init===_.Qc&&typeof c.emit===_.Qc,window.mux=c,c=d,c=!c;c&&(this.g.warn("Mux SDK is not loaded. Will do nothing."),this.a=!1,c=new _.H(1,9,9301),this.U(a,c))}else this.g.warn("Mux plugin is loaded but not configured. Will do nothing.");
8
+ if(this.a){c=a.getConfiguration();c=_.bf(c.muxdata||{});try{d=[];typeof c===_.rd&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.H(1,9,9300,{missingKeys:d});var e=this.f;e.g=c;e.m=b;e.w=!1;if(!e.h){try{e.h=!0,mux.init(e.A,ms(e))}catch(f){throw e.h=!1,_.Df(e.a),new _.H(1,9,9302,null,f);}ns(e,"playerready")}e.j&&!e.o&&(ns(e,"videochange",ls(e)),e.j=!1);os(e)}catch(f){this.a=!1,this.U(a,f)}}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.f=null)}onPlayerWillRelease(){this.a&&
9
+ this.f.release()}id(){return"mux"}U(a,b){a.trigger(new _.F(_.Oc,{detail:b}))}};_.x("clpp.muxdata.MuxDataPlugin",qs);qs.Id="mux";_.Cl(new class{create(){return new qs}});};f.call(g, window);
package/cl.onboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Rr=function(a,b){let c=b.baseUrl;_.og(c,"/")||(c+="/");const d=g=>g&&(_.ng(g,"https://")||_.ng(g,"http://")||_.ng(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.Nn(a);a.Ba(_.yc,{licenseUrl:e,videoRobustness:[_.Ya,void 0],audioRobustness:[_.Xa,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Vi,licenseResponse:_.Wi}});a.Ba(_.wc,{licenseUrl:b,
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var ks=function(a,b){let c=b.baseUrl;_.og(c,"/")||(c+="/");const d=g=>g&&(_.ng(g,"https://")||_.ng(g,"http://")||_.ng(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.Nn(a);a.Ba(_.yc,{licenseUrl:e,videoRobustness:[_.Ya,void 0],audioRobustness:[_.Xa,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Vi,licenseResponse:_.Wi}});a.Ba(_.wc,{licenseUrl:b,
2
2
  certificateUrl:b,modifiers:{licenseRequest:_.Yi,licenseResponse:_.Zi,extractContentId:_.$i,certificateRequest:_.aj}});a.Ba(_.xc,{licenseUrl:f,modifiers:{licenseRequest:_.Vi}});_.ri(a)};
3
- _.x("clpp.onboard.OnboardComponent",class extends _.ro{constructor(){super();this.l=null;this.h=new _.O("clpp.onboard")}f(a){this.l=a}a(){this.l=null}g(){var a=this.l.getConfiguration().drm,b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.h.info(`Registering the DRMtoday Onboard environment, name='${b}'`),Rr(b,a))}release(){}id(){return"onboard"}});
4
- _.x("clpp.onboard.register",Rr);};f.call(g, window);
3
+ _.x("clpp.onboard.OnboardComponent",class extends _.ro{constructor(){super();this.l=null;this.h=new _.O("clpp.onboard")}f(a){this.l=a}a(){this.l=null}g(){var a=this.l.getConfiguration().drm,b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.h.info(`Registering the DRMtoday Onboard environment, name='${b}'`),ks(b,a))}release(){}id(){return"onboard"}});
4
+ _.x("clpp.onboard.register",ks);};f.call(g, window);
package/cl.persistent.js CHANGED
@@ -1,11 +1,11 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Cr="A persistent DRM session already exists for: ",Dr="No DRM configuration.",Er="clpp.persistent",Fr=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},Hr=function(a,b){a.I=Gr;a.H=[];a.C=!0;return _.Ej(a,b)},Jr=function(a,b,c,d,e,f){a.I=Ir;const g=new Map,h=_.sj(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.Ad,persistentState:_.Td,sessionTypes:[_.Hd],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
- audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Dj(a,g)},Kr=function(a,b){return _.v(function*(){const c=yield _.Tj(a,b);if(c){var d=[],e=a.g.get(c);e&&a.A&&(e.eb=new _.Hj,d.push(e.eb));a.a.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.a.debug("Ignoring attempt to remove missing session",b)})},Lr=function(a){a=a.g.keys();a=Fr(a,b=>b.sessionId);return Array.from(a)},Mr=function(a,b){const c=_.ti(a),d=_.Yh({drm:a});
3
- d.drm=a;a=new _.Lk({pb:b,onError:()=>{},zd:()=>{},onExpirationUpdated:()=>{},onEvent:()=>{},getConfiguration:()=>d,jc:()=>null});a.h=c;return a},Pr=function(a,b,c){return _.v(function*(){const d=Nr;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)Or.debug(Cr,e);else{var g=Mr(a,c);try{yield Hr(g,b);yield _.Sj(g);yield _.Uj(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.Ig(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:Lr(g),keySystem:h.keySystem,
4
- licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw Or.error("Error while persisting DRM session"),new _.H(1,6,6200,null,h);}finally{yield g.destroy()}}}}else Or.debug(Dr)})},Gr=1,Ir=2,Qr=class{store(a,b){return _.v(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);const e=JSON.stringify(b.audioCapabilities),
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Wr="A persistent DRM session already exists for: ",Xr="No DRM configuration.",Yr="clpp.persistent",Zr=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},as=function(a,b){a.I=$r;a.H=[];a.C=!0;return _.Ej(a,b)},cs=function(a,b,c,d,e,f){a.I=bs;const g=new Map,h=_.sj(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.zd,persistentState:_.Td,sessionTypes:[_.Hd],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
+ audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Dj(a,g)},ds=function(a,b){return _.v(function*(){const c=yield _.Tj(a,b);if(c){var d=[],e=a.g.get(c);e&&a.A&&(e.eb=new _.Hj,d.push(e.eb));a.a.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.a.debug("Ignoring attempt to remove missing session",b)})},es=function(a){a=a.g.keys();a=Zr(a,b=>b.sessionId);return Array.from(a)},fs=function(a,b){const c=_.ti(a),d=_.Yh({drm:a});
3
+ d.drm=a;a=new _.Lk({pb:b,onError:()=>{},Cd:()=>{},onExpirationUpdated:()=>{},onEvent:()=>{},getConfiguration:()=>d,jc:()=>null});a.h=c;return a},is=function(a,b,c){return _.v(function*(){const d=gs;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)hs.debug(Wr,e);else{var g=fs(a,c);try{yield as(g,b);yield _.Sj(g);yield _.Uj(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.Ig(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:es(g),keySystem:h.keySystem,
4
+ licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw hs.error("Error while persisting DRM session"),new _.H(1,6,6200,null,h);}finally{yield g.destroy()}}}}else hs.debug(Xr)})},$r=1,bs=2,js=class{store(a,b){return _.v(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);const e=JSON.stringify(b.audioCapabilities),
5
5
  f=JSON.stringify(b.videoCapabilities);c=JSON.stringify({sessionIds:c,keySystem:b.keySystem,licenseServerUri:encodeURIComponent(b.licenseServerUri),serverCertificate:d,audioCapabilities:e,videoCapabilities:f,drmConfig:JSON.stringify(b.drmConfig)})}window.localStorage.setItem(encodeURIComponent(a),btoa(c))})}get(a){return _.v(function*(){var b=window.localStorage.getItem(encodeURIComponent(a));if(b){{b=JSON.parse(atob(b));const c=JSON.parse(b.sessionIds),d=JSON.parse(b.audioCapabilities),e=JSON.parse(b.videoCapabilities),
6
- f=JSON.parse(b.serverCertificate),g=JSON.parse(b.drmConfig);b={sessionIds:c,keySystem:b.keySystem,licenseServerUri:decodeURIComponent(b.licenseServerUri),serverCertificate:f?new Uint8Array(f):null,audioCapabilities:d,videoCapabilities:e,drmConfig:g}}}else b=null;return b})}delete(a){return _.v(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.v(function*(){window.localStorage.clear()})}getName(){return"clpp.persistent.SimpleSessionStorage"}};_.x("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.y(a)||(_.ef(a.store)||c.push("store"),_.ef(a.get)||c.push("get"),_.ef(a.delete)||c.push("delete"),_.ef(a.clear)||c.push("clear"),_.ef(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw Or.warn("Invalid session storage implementation"),new _.H(1,6,6202,{missingMethods:b});Nr=a});
7
- _.x("clpp.persistent.fetchLicense",function(a,b,...c){return _.v(function*(){var d=Nr,e=(l,m)=>new _.H(1,6,6200,l,m);const f=_.Fk(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(Dr);var g=b.offlineId;if(typeof g!==_.ee||!g.length)throw e("Missing offline id.");if(yield d.get(g))Or.debug(Cr,g);else{var h=_.Yh();d=new _.zl;g=[];for(var k of c){const l=new k;_.ai(l.id())||(l.f(null),_.ei(l),g.push(l))}k=null;try{k=yield _.qm(f.url,d,h.manifest.attemptParameters,f.type);k.configure(h.manifest);
8
- const l=yield k.start(f.url,{networkingEngine:d,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onTimelineCueAdded:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.H(_.G,4,4014));const m=_.om(l.periods);yield Pr(b,m,d)}catch(l){if(l instanceof _.H&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.$h.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
- _.x("clpp.persistent.removeLicense",function(a){return _.v(function*(){var b=Nr;if(_.ff(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.zl,c=Mr(e.drmConfig,d),yield Jr(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.Sj(c),yield Promise.all(e.sessionIds.map(f=>_.v(function*(){yield Kr(c,f);Or.debug("sucessfully removed session with id",f)}))),yield b.delete(a)):Or.debug("No persistent DRM session found")}catch(e){throw Or.error("Failed to remove session"),
10
- new _.H(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else Or.warn("Invalid offlineId")})});var Nr=new Qr,Or=new _.O(Er);_.x("clpp.persistent.PersistentLicenseComponent",class extends _.ro{constructor(){super();this.l=null;this.j=Nr;this.h=new _.O(Er)}f(a){this.l=a}a(){this.l=null}release(){}g(){this.j=Nr}id(){return _.Gd}o(a,b,c){const d=this;return _.v(function*(){if(a)try{yield Pr(a,b,c),d.l.trigger(new _.F(_.Hc,{offlineId:a.offlineId}))}catch(e){d.l.onError(e)}else d.h.debug("No DRM configuration found for loaded source.")})}m(a){const b=this;return _.v(function*(){try{const c=yield b.j.get(a);if(c)return c.sessionIds;
6
+ f=JSON.parse(b.serverCertificate),g=JSON.parse(b.drmConfig);b={sessionIds:c,keySystem:b.keySystem,licenseServerUri:decodeURIComponent(b.licenseServerUri),serverCertificate:f?new Uint8Array(f):null,audioCapabilities:d,videoCapabilities:e,drmConfig:g}}}else b=null;return b})}delete(a){return _.v(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.v(function*(){window.localStorage.clear()})}getName(){return"clpp.persistent.SimpleSessionStorage"}};_.x("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.y(a)||(_.ef(a.store)||c.push("store"),_.ef(a.get)||c.push("get"),_.ef(a.delete)||c.push("delete"),_.ef(a.clear)||c.push("clear"),_.ef(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw hs.warn("Invalid session storage implementation"),new _.H(1,6,6202,{missingMethods:b});gs=a});
7
+ _.x("clpp.persistent.fetchLicense",function(a,b,...c){return _.v(function*(){var d=gs,e=(l,m)=>new _.H(1,6,6200,l,m);const f=_.Fk(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(Xr);var g=b.offlineId;if(typeof g!==_.ee||!g.length)throw e("Missing offline id.");if(yield d.get(g))hs.debug(Wr,g);else{var h=_.Yh();d=new _.zl;g=[];for(var k of c){const l=new k;_.ai(l.id())||(l.f(null),_.ci(l),g.push(l))}k=null;try{k=yield _.qm(f.url,d,h.manifest.attemptParameters,f.type);k.configure(h.manifest);
8
+ const l=yield k.start(f.url,{networkingEngine:d,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onTimelineCueAdded:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.H(_.G,4,4014));const m=_.om(l.periods);yield is(b,m,d)}catch(l){if(l instanceof _.H&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.$h.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
+ _.x("clpp.persistent.removeLicense",function(a){return _.v(function*(){var b=gs;if(_.ff(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.zl,c=fs(e.drmConfig,d),yield cs(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.Sj(c),yield Promise.all(e.sessionIds.map(f=>_.v(function*(){yield ds(c,f);hs.debug("successfully removed session with id",f)}))),yield b.delete(a)):hs.debug("No persistent DRM session found")}catch(e){throw hs.error("Failed to remove session"),
10
+ new _.H(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else hs.warn("Invalid offlineId")})});var gs=new js,hs=new _.O(Yr);_.x("clpp.persistent.PersistentLicenseComponent",class extends _.ro{constructor(){super();this.l=null;this.j=gs;this.h=new _.O(Yr)}f(a){this.l=a}a(){this.l=null}release(){}g(){this.j=gs}id(){return _.Gd}o(a,b,c){const d=this;return _.v(function*(){if(a)try{yield is(a,b,c),d.l.trigger(new _.F(_.Hc,{offlineId:a.offlineId}))}catch(e){d.l.onError(e)}else d.h.debug("No DRM configuration found for loaded source.")})}m(a){const b=this;return _.v(function*(){try{const c=yield b.j.get(a);if(c)return c.sessionIds;
11
11
  b.h.debug(`No offline session found for ${a}`);return[]}catch(c){return b.h.warn("Error while loading session info from storage"),[]}})}});};f.call(g, window);
package/cl.playlist.js CHANGED
@@ -1,4 +1,4 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var zr=function(a,b){return 0<=b&&b<a.a.length},Ar=function(a){a.trigger(new _.F(_.Md))},Br=class extends _.zn{constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.l=a;this.j=b;this.f=0;this.a=[];this.g=!1;this.h=this.ne.bind(this)}getPosition(){return this.f}af(){return this.a}dd(){return 0<this.a.length&&zr(this,this.f)?this.a[this.f]:null}bf(){const a=this.f+1;return 0<this.a.length&&zr(this,a)?this.a[a]:null}ef(){return this.g}start(){this.g||(this.g=!0,this.l.on(_.Nc,
2
- this.h),this.Kc(this.f,!0))}stop(){this.g=!1;this.l.off(_.Nc,this.h)}ne(){this.next()}next(){const a=this;return _.v(function*(){yield a.Kc(Math.min(a.a.length-1,a.f+1))})}lf(){const a=this;return _.v(function*(){yield a.Kc(Math.max(0,a.f-1))})}Kc(a,b){b=void 0===b?!1:b;const c=this;return _.v(function*(){if(0<c.a.length&&zr(c,a)&&(b||c.f!==a)){c.f=a;var d=c.dd();d&&(yield c.j(d),yield c.l.load(d.configuration),c.trigger(new _.F(_.Ld,{item:d})))}})}append(a){this.a.push(a);Ar(this)}df(a,b){if(0<=
3
- b&&b<=this.a.length){const c=this.dd();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));Ar(this)}}remove(a){if(0<this.a.length&&zr(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);Ar(this)}}clear(){this.stop();this.f=0;this.a=[];this.g=!1;Ar(this)}};_.x("clpp.Playlist",Br);Br.prototype.clear=Br.prototype.clear;Br.prototype.remove=Br.prototype.remove;Br.prototype.insert=Br.prototype.df;Br.prototype.append=Br.prototype.append;Br.prototype.goTo=Br.prototype.Kc;
4
- Br.prototype.previous=Br.prototype.lf;Br.prototype.next=Br.prototype.next;Br.prototype.onEnded=Br.prototype.ne;Br.prototype.stop=Br.prototype.stop;Br.prototype.start=Br.prototype.start;Br.prototype.isStarted=Br.prototype.ef;Br.prototype.getUpcoming=Br.prototype.bf;Br.prototype.getCurrent=Br.prototype.dd;Br.prototype.getQueue=Br.prototype.af;Br.prototype.getPosition=Br.prototype.getPosition;};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Tr=function(a,b){return 0<=b&&b<a.a.length},Ur=function(a){a.trigger(new _.F(_.Md))},Vr=class extends _.zn{constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.l=a;this.j=b;this.f=0;this.a=[];this.g=!1;this.h=this.ne.bind(this)}getPosition(){return this.f}ff(){return this.a}fd(){return 0<this.a.length&&Tr(this,this.f)?this.a[this.f]:null}gf(){const a=this.f+1;return 0<this.a.length&&Tr(this,a)?this.a[a]:null}kf(){return this.g}start(){this.g||(this.g=!0,this.l.on(_.Nc,
2
+ this.h),this.Kc(this.f,!0))}stop(){this.g=!1;this.l.off(_.Nc,this.h)}ne(){this.next()}next(){const a=this;return _.v(function*(){yield a.Kc(Math.min(a.a.length-1,a.f+1))})}sf(){const a=this;return _.v(function*(){yield a.Kc(Math.max(0,a.f-1))})}Kc(a,b){b=void 0===b?!1:b;const c=this;return _.v(function*(){if(0<c.a.length&&Tr(c,a)&&(b||c.f!==a)){c.f=a;var d=c.fd();d&&(yield c.j(d),yield c.l.load(d.configuration),c.trigger(new _.F(_.Ld,{item:d})))}})}append(a){this.a.push(a);Ur(this)}jf(a,b){if(0<=
3
+ b&&b<=this.a.length){const c=this.fd();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));Ur(this)}}remove(a){if(0<this.a.length&&Tr(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);Ur(this)}}clear(){this.stop();this.f=0;this.a=[];this.g=!1;Ur(this)}};_.x("clpp.Playlist",Vr);Vr.prototype.clear=Vr.prototype.clear;Vr.prototype.remove=Vr.prototype.remove;Vr.prototype.insert=Vr.prototype.jf;Vr.prototype.append=Vr.prototype.append;Vr.prototype.goTo=Vr.prototype.Kc;
4
+ Vr.prototype.previous=Vr.prototype.sf;Vr.prototype.next=Vr.prototype.next;Vr.prototype.onEnded=Vr.prototype.ne;Vr.prototype.stop=Vr.prototype.stop;Vr.prototype.start=Vr.prototype.start;Vr.prototype.isStarted=Vr.prototype.kf;Vr.prototype.getUpcoming=Vr.prototype.gf;Vr.prototype.getCurrent=Vr.prototype.fd;Vr.prototype.getQueue=Vr.prototype.ff;Vr.prototype.getPosition=Vr.prototype.getPosition;};f.call(g, window);
package/cl.smooth.js CHANGED
@@ -1,58 +1,58 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var PC="Full MP4 box must have flags defined",QC="clpp.smooth.SmoothMP4Processor",RC="codecPrivateData",SC=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.M(a,c);_.M(a,b)},TC=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.xi()}},UC=function(a,b){TC(a,b>>16&255);TC(a,b>>8&255);TC(a,b&255)},VC=function(a,b){try{a.f.setUint16(a.a,b,a.g),a.a+=2}catch(c){_.xi()}},WC=function(a,b){try{a.f.setInt32(a.a,b,a.g),a.a+=4}catch(c){_.xi()}},XC=function(a,b){try{a.f.setInt16(a.a,
2
- b,a.g),a.a+=2}catch(c){_.xi()}},YC=function(a,b){if(void 0!=b){var c=new Uint8Array(b);const d=Math.min(a.length,b);let e=0;for(;e<d;++e)c[e]=a.charCodeAt(e);for(;e<b;e++)c[e]=0;return c}b=new Uint8Array(a.length);for(c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b},ZC=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},$C=function(a,b,c,d){c=b.ce[c];b=b.yf;a=a.replace("Manifest","");b=b.replace("{bitrate}",String(d.bitrate)).replace("{Bitrate}",
3
- String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.Ls([a],[b])[0]},aD=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.u?c=["maxWidth","maxHeight","bitrate",RC,"fourCC"]:a.type===_.Rb&&(c=["bitrate",RC,"channels","bitsPerSample","samplingRate","fourCC"]);return _.hf(a,b,c,["id","segmentIndex"])},bD=function(a,b,c){const d=c.Ec.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Ca:null,Bb:null,width:NaN,height:NaN,vb:null,yc:NaN,
4
- sampleSize:NaN,channelCount:NaN};switch(c.type){case _.u:a.Ca=[_.ji(d[1])];a.Bb=[_.ji(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.Rb:a.vb=_.ji(c.Ec),a.sampleSize=c.Je||16,a.yc=c.yc,a.channelCount=c.Yd}return a},cD=function(a,b){return a.filter(c=>c.type===b)},dD=function(a,b){a=a.exec(b);return null==a||""==a[0]?null:(Number(a[4])||0)/1E3+(Number(a[3])||0)+60*(Number(a[2])||0)+3600*(Number(a[1])||0)},kD=function(a,b,c){var d=null;if(eD.test(a)){{a=eD.exec(a);d=Number(a[1]);const e=
5
- Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else fD.test(a)?d=dD(fD,a):gD.test(a)?d=dD(gD,a):hD.test(a)?(a=hD.exec(a),d=Number(a[1])/c.frameRate):iD.test(a)?(a=iD.exec(a),d=Number(a[1])/c.a):jD.test(a)&&(d=dD(jD,a));c=d;d=c+b;b=Math.floor(d/3600);c=Math.floor((d-3600*b)/60);a=Math.floor(d-3600*b-60*c);d-=a;10>b&&(b="0"+b);10>c&&(c="0"+c);10>a&&(a="0"+a);0===d?d="000":d=Math.round(1E3*d);return b+":"+c+":"+a+"."+d},lD=function(a){let b=
6
- 0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Li(b)},mD=function(a){const b=_.Th();a="ie"===b.browser||"edge"===b.browser?a.ed(_.xc):a.ed(_.yc);null===a&&(_.z(QC,"Could not get PSSH box!"),a={initData:new Uint8Array(0),initDataType:_.jc,keyId:"",periodId:null});return a},tD=function(a,b,c){const d=mD(c);c=new nD("xxxx");a.type===_.u?c=new oD(a.width,a.height):c=new pD(a.channelCount,a.sampleSize,a.yc);a=new qD;a.g=1;a.h=8;a.m=d.keyId||"00000000000000000000000000000000";a=(new nD("schi")).append([a]);
7
- b=(new nD("sinf")).append([new rD(b),new sD(_.jc,65536),a]);c.append([b]);return c},WD=function(a,b){const c=b.Lc();var d=new uD(a.timescale,a.duration,a.id),e=(new vD).append([new wD(a.id)]),f=new xD(a.id,a.duration,a.timescale,a.width,a.height),g=new yD(a.timescale,a.duration);const h=new zD(a.type);var k=null,l=new AD;l.entries=[new BD];var m=new CD;switch(a.type){case _.u:k=new DD(a.Ca,a.Bb);c?(a=tD(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new ED(a.width,a.height)).append([k]),m.entries=[a]);
8
- k=new FD;break;case _.Rb:k=new GD(a.vb),c?(a=tD(a,"mp4a",b),a.append([k]),m.entries=[a]):(a=(new HD(a.channelCount,a.sampleSize,a.yc)).append([k]),m.entries=[a]),k=new ID}m=(new JD).append([m,new KD,new LD,new MD,new ND]);l=(new OD).append([l]);l=(new PD).append([k,l,m]);g=(new QD).append([g,h,l]);f=(new RD).append([f,g]);d=(new SD).append([d,f,e]);e=new TD("dash",0,["iso6","mp41","avc1"]);c&&(b=mD(b).initData,d.append([new UD("pssh",b,8)]));b=new VD([e,d]);return _.L(b.write())},fE=function(a,b){let c,
9
- d,e,f,g,h;(new _.Yn).M("moof",_.mj).W("mfhd",k=>{{const l=new XD;l.g=_.N(k.G);c=l}}).M("traf",_.mj).W("tfhd",k=>{{const l=k.G.ya();if(null===k.flags)throw new _.H(_.G,3,3019,PC);const m=new YD(k.version||0,k.flags||0);m.g=_.N(k.G);0<l-k.G.getPosition()&&k.flags&1&&(m.h=_.Di(k.G));0<l-k.G.getPosition()&&k.flags&2&&(m.A=_.N(k.G));0<l-k.G.getPosition()&&k.flags&8&&(m.j=_.N(k.G));0<l-k.G.getPosition()&&k.flags&16&&(m.o=_.N(k.G));0<l-k.G.getPosition()&&k.flags&32&&(m.m=_.N(k.G));d=m}}).W("trun",k=>{{var l=
10
- k.G.ya();if(null===k.flags)throw new _.H(_.G,3,3019,PC);const m=new ZD(k.version||0,k.flags||0);m.g=_.N(k.G);0<l-k.G.getPosition()&&k.flags&1&&(m.j=_.Ci(k.G));0<l-k.G.getPosition()&&k.flags&4&&(m.m=_.N(k.G));if(0<l-k.G.getPosition())for(l=0;l<m.g;l++)k.flags&256&&m.o.push(_.N(k.G)),k.flags&512&&m.sampleSize.push(_.N(k.G)),k.flags&1024&&m.A.push(_.N(k.G)),k.flags&2048&&(0===k.version?m.h.push(_.N(k.G)):m.h.push(_.Ci(k.G)));e=m}}).W("sdtp",k=>{{const l=_.Ei(k.G,k.G.ya());f=new $D("sdtp",k.version||
11
- 0,k.flags||0,l,0)}}).M("uuid",k=>{var l=_.Ei(k.G,16);if(_.li(l,aE)){l=_.N(k.G);k.version=l>>>24;k.flags=l&16777215;l=new bE(k.version,k.flags);l.h=_.N(k.G);k.flags&1&&(l.j=_.ts(k.G));for(let m=0;m<l.h;m++){const n={fe:_.Ei(k.G,8),oc:0,Ld:[]};if(k.flags&2){n.oc=_.Bi(k.G);for(let q=0;q<n.oc;q++){const t={Wd:0,Xd:0};t.Wd=_.Bi(k.G);t.Xd=_.N(k.G);n.Ld.push(t)}}l.g.push(n)}g=l}}).M(_.fd,k=>{{const l=new cE;0<k.G.ya()?l.g=_.Ei(k.G,k.G.ya()):(_.z(QC,"mdat box is empty!"),l.g=new Uint8Array(0));h=l}}).parse(a,
12
- !1);if(!h)return null;a=(new dE).append([d,e]);f&&a.append([f]);b.Lc()&&g&&a.append([g]);b=(new eE).append([c,a]);return new VD([b,h])},kE=function(a,b,c){var d=c.Lc(),e=a.request.startTime,f=parseInt(e*b,10);b=a.data||new ArrayBuffer(0);var g=fE(b,c);if(null===g)return a.request.contentType===_.r?a.data:g;c=g.get(_.fd);if(a.request.contentType===_.r){d=c.g.buffer;if(e){d=_.jg(d);if((d=(new DOMParser).parseFromString(d,_.le))&&"tt"===d.documentElement.tagName.toLowerCase())var h=d.documentElement;
13
- if(h&&(c=new gE(h.getAttribute("ttp:frameRate"),h.getAttribute("ttp:subFrameRate"),h.getAttribute("ttp:frameRateMultiplier"),h.getAttribute("ttp:tickRate")),h=h.getElementsByTagName("body")[0])){f=h.getElementsByTagName("p");for(let t=0,w=f.length;t<w;t++){h=f[t];a=e;b=c;g=["begin",_.Mc];for(let A=0,D=g.length;A<D;A++){b:{var k=h;var l=g[A],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const E=l.length;for(;n<E;n++){var q=l[n].name;if(q=q.match(m)){k=
14
- k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[A],kD(k||"",a,b))}}}d=(new XMLSerializer).serializeToString(d);e=_.kg(d).buffer}else e=d;return e}h=new eE;a=g.get("mfhd");b=new dE;k=g.get("tfhd");m=new hE(1,f);f=g.get("trun");n=g.get("sdtp");e=g.get("senc");k.g=1;k.flags&=16777214;k.flags|=131072;b.append([k,m,f]);n&&b.append([n]);if(d){g=0;k=[];if(e.flags&2)for(k=[],m=0;m<e.h;m++)k.push(10+6*e.g[m].oc);else g=8;b.append([e,new iE,new jE(g,k,e.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;c=new VD([h,
15
- c]);h=c.write();d&&(d=c.get("saio"),c=c.f,d.offset[0]=e.start+16,c.seek(d.start),d.write(c),h=c.buffer);return h},lE=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,periodId:null}},mE=function(a){return{initData:_.Xs(_.$s(a)),initDataType:_.jc,keyId:a,periodId:null}},nE=function(a,b,c){a=_.ft(a);c&&a.version!==c&&(a=_.et(a,c));return{initData:_.Xs(a),
16
- initDataType:_.jc,keyId:b,periodId:null}},oE=function(a,b){return _.v(function*(){var c=_.wg(b);c.timeout=a.h.attemptParameters.timeout;c.maxAttempts=Math.max(a.h.attemptParameters.maxAttempts,b.length);c.baseDelay=a.h.attemptParameters.baseDelay;c.backoffFactor=a.h.attemptParameters.backoffFactor;c.fuzzFactor=a.h.attemptParameters.fuzzFactor;c.type=1;c=yield a.g.networkingEngine.fetch(c).N;a.o=c.uri;return c})},wE=function(a,b){let c=null;try{{const ta=new DOMParser;let hb,Ia;try{const $a=_.jg(b);
17
- Ia=ta.parseFromString($a.trim(),_.le)}catch($a){throw $a;}Ia&&Ia.documentElement.tagName==_.cb&&(hb=Ia.documentElement);c=hb&&0<hb.getElementsByTagName("parsererror").length?null:hb}}catch(ta){}if(!c)throw a.f.error("Unable to parse manifest"),new _.H(_.G,4,4033,a.o);const d=+pE(a,c,"MajorVersion"),e=+pE(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||1E7;let g=+pE(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||
18
- Infinity,m=_.Ss(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.f.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.H(_.G,4,4036,a.o);h?(qE(a,rE),a.C=typeof a.h.liveRefreshPeriod===_.p?1E3*a.h.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):qE(a,sE);a.a={startTime:0,delay:0,duration:g/f,Zc:l/f,uc:0};if(m){{var n=a.h.playreadyVersion;const ta=[],hb=_.Ss(m,"ProtectionHeader")[0],Ia=_.ii(_.Us(hb)||""),$a=_.ft(Ia).a;ta.push(lE(_.yc,mE($a),[$a]));ta.push(lE(_.xc,nE(Ia,
19
- $a,n),[$a]));var q=ta}a.A=q}{const ta=[],hb=_.Ss(c,"StreamIndex");if(!hb.length)throw a.f.error("No streams found!"),new _.H(_.G,4,4034,a.o);for(let Ia=0;Ia<hb.length;Ia++){{var t=a,w=hb[Ia];const $a=pE(t,w,"Type"),dc=+w.getAttribute("Chunks"),Mg=w.getAttribute("Subtype"),we=_.Gg(w.getAttribute("Language")||_.pe),Dd=w.getAttribute("Name")||"",Ng=+w.getAttribute(_.Ja),sf=+w.getAttribute(_.Ha),tf=pE(t,w,"Url"),mk=+w.getAttribute("TimeScale")||null;{const ec=[],bi=_.Ss(w,_.Ta);for(let Ed=0;Ed<bi.length;Ed++){{let fc,
20
- Ga,Uc;var A=t,D=bi[Ed],E=$a;const ci=+D.getAttribute("Index"),uf=+pE(A,D,"Bitrate");let Ib=NaN,vf=NaN,nk=NaN,Po=NaN,ox=NaN,px=NaN,qx=NaN;const rx=D.getAttribute("FourCC");switch(E){case _.u:Ib=+pE(A,D,_.Ha);vf=+pE(A,D,_.Ja);break;case _.Rb:Po=+D.getAttribute("Channels")||2,nk=+pE(A,D,"SamplingRate"),px=+pE(A,D,"AudioTag"),ox=+pE(A,D,"BitsPerSample"),qx=+pE(A,D,"PacketSize")}let Qo=String(D.getAttribute("CodecPrivateData"));if(E===_.Rb&&!Qo){{var B=Po;const sx={96E3:0,88200:1,64E3:2,48E3:3,44100:4,
21
- 32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},ok=sx[nk];if("AACH"===rx){Ga=new Uint8Array(4);const tx=sx[2*nk];Ga[0]=40|ok>>1;Ga[1]=ok<<7|B<<3|tx>>1;Ga[2]=tx<<7|8;Ga[3]=0;fc=new Uint16Array(2);fc[0]=(Ga[0]<<8)+Ga[1];fc[1]=(Ga[2]<<8)+Ga[3];Uc=fc[0].toString(16)+fc[1].toString(16)}else Ga=new Uint8Array(2),Ga[0]=16|ok>>1,Ga[1]=ok<<7|B<<3,fc=new Uint16Array(1),fc[0]=(Ga[0]<<8)+Ga[1],Uc=fc[0].toString(16);Qo=Uc.toUpperCase()}}var na={id:A.Z++,type:E,index:ci,bitrate:uf,Ec:Qo,maxHeight:Ib,
22
- maxWidth:vf,yc:nk,Yd:Po,Jf:px,Je:ox,Tf:qx,Ue:rx,ab:null}}ec.push(na)}var Za=ec}{const ec=[],bi=_.Ss(w,"c");for(let Ed=0;Ed<bi.length;Ed++){const fc=bi[Ed];let Ga=parseInt(fc.getAttribute("t"),10),Uc=parseInt(fc.getAttribute("d"),10),ci=parseInt(fc.getAttribute("r"),10),uf=0;if(isNaN(Ga)&&isNaN(Uc))throw t.f.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),new _.H(_.G,4,4037,t.o);0===Ed&&isNaN(Ga)&&(uf=Ga=0);if(0<Ed){const Ib=ec[ec.length-
23
- 1];uf=Ib.n+1;Ib.d||(Ib.d=Ga-Ib.t);Ga||(Ga=Ib.t+Ib.d);Uc||(Uc=Ga-Ib.t)}ec.push({n:uf,d:Uc,t:Ga});if(ci){ci--;for(let Ib=0;Ib<ci;Ib++){const vf=ec[ec.length-1];uf=vf.n+1;Ga=vf.t+vf.d;Uc=vf.d;ec.push({n:uf,d:Uc,t:Ga})}}}t.D()||ec.length===dc||t.f.warn("Number of fragments ("+dc+") differs from number of chunks ("+ec.length+").");var of=ec}var ue={type:$a,Kf:dc,uf:Mg,language:we,name:Dd,maxWidth:Ng,maxHeight:sf,yf:tf,tracks:Za,ce:of,timescale:mk}}ta.push(ue)}var zd=ta}const ab={Rf:d,je:e,timescale:f,
24
- duration:g,isLive:h,Qf:k,Zc:l,md:!1,streams:zd};if(a.j&&a.B)return tE(a,ab),Promise.resolve();{const ta=ab.timescale,hb=ab.duration,Ia=cD(ab.streams,_.Rb),$a=cD(ab.streams,_.u),dc=cD(ab.streams,_.r),Mg=[];let we=uE(a,hb,ta,Ia),Dd=uE(a,hb,ta,$a);const Ng=uE(a,hb,ta,dc);we.length||(we=[null]);Dd.length||(Dd=[null]);for(let sf=0;sf<Dd.length;sf++)for(let tf=0;tf<we.length;tf++)Mg.push(vE(a,Dd[sf],we[tf]));var Og={startTime:0,variants:Mg,textStreams:Ng,thumbStreams:[]}}{var Vc=ab.streams;let ta=a.a.startTime,
25
- hb=a.a.delay;const Ia=a.I;let $a=Math.min(a.a.duration||Infinity,Ia);const dc=a.D(),Mg=a.a.Zc,we=a.a.uc,Dd=a.H,Ng=isFinite(a.F)?a.F:0;if(dc)$a=Infinity,ta=Date.now()/1E3-we,a.a.startTime=ta,hb=3*Dd;else{const sf=isFinite(Ia)?Ia:a.a.duration;for(const tf of Vc)for(const mk of tf.tracks)mk.ab.offset(-Ng),_.vt(mk.ab,sf)}a.w=new _.Jx(ta,hb,!0);a.w.f=!dc;a.w.Fb($a);_.mt(a.w,Dd);a.w.Vb=Mg;dc||a.w.offset(-Ng)}a.g.filterAllPeriods([Og]);a.j={presentationTimeline:a.w,periods:[Og],offlineSessionIds:[],minBufferTime:0};
26
- Promise.resolve();a.K||(a.g.networkingEngine.Tc(a.L),a.K=!0);a.B=ab;return Promise.resolve()},xE=function(a,b){null!=a.C&&null!=b&&(a.m=window.setTimeout(a.U.bind(a),b))},pE=function(a,b,c){if(b=b.getAttribute(c))return b;a.f.error("required attribute not provided: "+c);throw new _.H(_.G,4,4038,a.o,c);},qE=function(a,b){const c=b===sE;a.j&&a.j.presentationTimeline&&(a.j.presentationTimeline.f=c);c&&null!=a.m&&(window.clearTimeout(a.m),a.m=null,a.C=null);a.R=b},tE=function(a,b){for(let e=0;e<a.B.streams.length;e++){const f=
27
- b.streams[e];for(const g of a.B.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){aD(g,c)||a.f.warn("The current stream is updated with a stream that seems to have different base properties!");var d=yE(a,a.B.timescale,f,c);c=g.ab;_.tt(c,d);(d=a.a.Zc)&&_.ut(c,(c.a.length?c.a[c.a.length-1].endTime:0)-d)}else a.f.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},yE=function(a,b,c,d){let e=0;const f=[],g=c.timescale||
28
- b;c.ce.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.F=Math.min(a.F,h)):h=f[k-1].endTime;const m=h+l,n=$C(a.o,c,k,d);a.H=Math.max(a.H,l);f.push(new _.st(k,h,m,()=>[n],0,null,0,null,!0,g));e+=l});if(c.type===_.u||c.type===_.Rb)b=f[f.length-1],a.I=Math.min(a.I,e),0===a.a.uc?a.a.uc=b.endTime:a.a.uc=Math.min(a.a.uc,b.endTime);return f},uE=function(a,b,c,d){let e=[];for(let f=0;f<d.length;f++){const g=d[f].tracks.map(h=>{var k=d[f],l=yE(a,c,k,h),m=new _.Kx(l),n=null;k.type!==_.r&&(n=zE(a,b,c,k,h));h.ab=
29
- m;l=a.P++;var q=Promise.resolve.bind(Promise),t=m.h.bind(m),w=m.get.bind(m),A=m.f.bind(m);m=m.getDuration.bind(m);var D=AE[k.type];var E="";switch(k.type){case _.u:E=h.Ec;var B=/00000001[0-9]7/.exec(E);E="avc1."+(B&&B[0]?E.substr(E.indexOf(B[0])+10,6):"42c00c");a.f.debug("VIDEO CODECS: ",E);break;case _.Rb:E=h.Ec,B=2,"AACH"===h.Ue?B=5:E&&(B=(parseInt(E.substr(0,2),16)&248)>>3),E="mp4a.40."+B,a.f.debug("AUDIO CODECS: ",E)}B=k.type===_.r?BE[k.uf]:void 0;return h={id:l,originalId:null,Vf:null,createSegmentIndex:q,
30
- findSegmentPosition:t,getSegmentReference:w,adjustSegmentDurations:A,getDuration:m,initSegmentReference:n,mimeType:D,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:B,encrypted:a.J(),keyId:null,language:k.language,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.Yd||null,closedCaptions:null}});e=e.concat(g)}return e},vE=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:
31
- _.pe;return c||b?{id:a.P++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.A,allowedByApplication:!0,allowedByKeySystem:!0}:null},zE=function(a,b,c,d,e){b=bD(b,d.timescale||c,e);c={isLive:a.D.bind(a),Lc:a.J.bind(a),Ze:()=>1,ed:a.S.bind(a)};d=new Uint8Array(0);try{d=WD(b,c)}catch(g){throw a.f.error("Failed to generate initialization segment."),new _.H(_.G,3,4035,g);}const f="data:text/plain;base64,"+_.hi(d);return new _.Ix(()=>[f],0,null,null,!0)},nD=class{constructor(a){this.type=a;this.size=
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var kD="Full MP4 box must have flags defined",lD="clpp.smooth.SmoothMP4Processor",mD="codecPrivateData",nD=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.M(a,c);_.M(a,b)},oD=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.xi()}},pD=function(a,b){oD(a,b>>16&255);oD(a,b>>8&255);oD(a,b&255)},qD=function(a,b){try{a.f.setUint16(a.a,b,a.g),a.a+=2}catch(c){_.xi()}},rD=function(a,b){try{a.f.setInt32(a.a,b,a.g),a.a+=4}catch(c){_.xi()}},sD=function(a,b){try{a.f.setInt16(a.a,
2
+ b,a.g),a.a+=2}catch(c){_.xi()}},tD=function(a,b){if(void 0!=b){var c=new Uint8Array(b);const d=Math.min(a.length,b);let e=0;for(;e<d;++e)c[e]=a.charCodeAt(e);for(;e<b;e++)c[e]=0;return c}b=new Uint8Array(a.length);for(c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b},uD=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},vD=function(a,b,c,d){c=b.ee[c];b=b.Ff;a=a.replace("Manifest","");b=b.replace("{bitrate}",String(d.bitrate)).replace("{Bitrate}",
3
+ String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.et([a],[b])[0]},wD=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.u?c=["maxWidth","maxHeight","bitrate",mD,"fourCC"]:a.type===_.Rb&&(c=["bitrate",mD,"channels","bitsPerSample","samplingRate","fourCC"]);return _.hf(a,b,c,["id","segmentIndex"])},xD=function(a,b,c){const d=c.Ec.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Ca:null,Db:null,width:NaN,height:NaN,xb:null,yc:NaN,
4
+ sampleSize:NaN,channelCount:NaN};switch(c.type){case _.u:a.Ca=[_.ji(d[1])];a.Db=[_.ji(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.Rb:a.xb=_.ji(c.Ec),a.sampleSize=c.Ne||16,a.yc=c.yc,a.channelCount=c.$d}return a},yD=function(a,b){return a.filter(c=>c.type===b)},zD=function(a,b){a=a.exec(b);return null==a||""==a[0]?null:(Number(a[4])||0)/1E3+(Number(a[3])||0)+60*(Number(a[2])||0)+3600*(Number(a[1])||0)},GD=function(a,b,c){var d=null;if(AD.test(a)){{a=AD.exec(a);d=Number(a[1]);const e=
5
+ Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else BD.test(a)?d=zD(BD,a):CD.test(a)?d=zD(CD,a):DD.test(a)?(a=DD.exec(a),d=Number(a[1])/c.frameRate):ED.test(a)?(a=ED.exec(a),d=Number(a[1])/c.a):FD.test(a)&&(d=zD(FD,a));c=d;d=c+b;b=Math.floor(d/3600);c=Math.floor((d-3600*b)/60);a=Math.floor(d-3600*b-60*c);d-=a;10>b&&(b="0"+b);10>c&&(c="0"+c);10>a&&(a="0"+a);0===d?d="000":d=Math.round(1E3*d);return b+":"+c+":"+a+"."+d},HD=function(a){let b=
6
+ 0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Li(b)},ID=function(a){const b=_.Th();a="ie"===b.browser||"edge"===b.browser?a.gd(_.xc):a.gd(_.yc);null===a&&(_.z(lD,"Could not get PSSH box!"),a={initData:new Uint8Array(0),initDataType:_.jc,keyId:"",periodId:null});return a},PD=function(a,b,c){const d=ID(c);c=new JD("xxxx");a.type===_.u?c=new KD(a.width,a.height):c=new LD(a.channelCount,a.sampleSize,a.yc);a=new MD;a.g=1;a.h=8;a.m=d.keyId||"00000000000000000000000000000000";a=(new JD("schi")).append([a]);
7
+ b=(new JD("sinf")).append([new ND(b),new OD(_.jc,65536),a]);c.append([b]);return c},rE=function(a,b){const c=b.Nc();var d=new QD(a.timescale,a.duration,a.id),e=(new RD).append([new SD(a.id)]),f=new TD(a.id,a.duration,a.timescale,a.width,a.height),g=new UD(a.timescale,a.duration);const h=new VD(a.type);var k=null,l=new WD;l.entries=[new XD];var m=new YD;switch(a.type){case _.u:k=new ZD(a.Ca,a.Db);c?(a=PD(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new $D(a.width,a.height)).append([k]),m.entries=[a]);
8
+ k=new aE;break;case _.Rb:k=new bE(a.xb),c?(a=PD(a,"mp4a",b),a.append([k]),m.entries=[a]):(a=(new cE(a.channelCount,a.sampleSize,a.yc)).append([k]),m.entries=[a]),k=new dE}m=(new eE).append([m,new fE,new gE,new hE,new iE]);l=(new jE).append([l]);l=(new kE).append([k,l,m]);g=(new lE).append([g,h,l]);f=(new mE).append([f,g]);d=(new nE).append([d,f,e]);e=new oE("dash",0,["iso6","mp41","avc1"]);c&&(b=ID(b).initData,d.append([new pE("pssh",b,8)]));b=new qE([e,d]);return _.L(b.write())},BE=function(a,b){let c,
9
+ d,e,f,g,h;(new _.Yn).M("moof",_.mj).X("mfhd",k=>{{const l=new sE;l.g=_.N(k.G);c=l}}).M("traf",_.mj).X("tfhd",k=>{{const l=k.G.ya();if(null===k.flags)throw new _.H(_.G,3,3019,kD);const m=new tE(k.version||0,k.flags||0);m.g=_.N(k.G);0<l-k.G.getPosition()&&k.flags&1&&(m.h=_.Di(k.G));0<l-k.G.getPosition()&&k.flags&2&&(m.A=_.N(k.G));0<l-k.G.getPosition()&&k.flags&8&&(m.j=_.N(k.G));0<l-k.G.getPosition()&&k.flags&16&&(m.o=_.N(k.G));0<l-k.G.getPosition()&&k.flags&32&&(m.m=_.N(k.G));d=m}}).X("trun",k=>{{var l=
10
+ k.G.ya();if(null===k.flags)throw new _.H(_.G,3,3019,kD);const m=new uE(k.version||0,k.flags||0);m.g=_.N(k.G);0<l-k.G.getPosition()&&k.flags&1&&(m.j=_.Ci(k.G));0<l-k.G.getPosition()&&k.flags&4&&(m.m=_.N(k.G));if(0<l-k.G.getPosition())for(l=0;l<m.g;l++)k.flags&256&&m.o.push(_.N(k.G)),k.flags&512&&m.sampleSize.push(_.N(k.G)),k.flags&1024&&m.A.push(_.N(k.G)),k.flags&2048&&(0===k.version?m.h.push(_.N(k.G)):m.h.push(_.Ci(k.G)));e=m}}).X("sdtp",k=>{{const l=_.Ei(k.G,k.G.ya());f=new vE("sdtp",k.version||
11
+ 0,k.flags||0,l,0)}}).M("uuid",k=>{var l=_.Ei(k.G,16);if(_.li(l,wE)){l=_.N(k.G);k.version=l>>>24;k.flags=l&16777215;l=new xE(k.version,k.flags);l.h=_.N(k.G);k.flags&1&&(l.j=_.Ns(k.G));for(let m=0;m<l.h;m++){const n={he:_.Ei(k.G,8),oc:0,Nd:[]};if(k.flags&2){n.oc=_.Bi(k.G);for(let q=0;q<n.oc;q++){const t={Yd:0,Zd:0};t.Yd=_.Bi(k.G);t.Zd=_.N(k.G);n.Nd.push(t)}}l.g.push(n)}g=l}}).M(_.fd,k=>{{const l=new yE;0<k.G.ya()?l.g=_.Ei(k.G,k.G.ya()):(_.z(lD,"mdat box is empty!"),l.g=new Uint8Array(0));h=l}}).parse(a,
12
+ !1);if(!h)return null;a=(new zE).append([d,e]);f&&a.append([f]);b.Nc()&&g&&a.append([g]);b=(new AE).append([c,a]);return new qE([b,h])},GE=function(a,b,c){var d=c.Nc(),e=a.request.startTime,f=parseInt(e*b,10);b=a.data||new ArrayBuffer(0);var g=BE(b,c);if(null===g)return a.request.contentType===_.r?a.data:g;c=g.get(_.fd);if(a.request.contentType===_.r){d=c.g.buffer;if(e){d=_.jg(d);if((d=(new DOMParser).parseFromString(d,_.le))&&"tt"===d.documentElement.tagName.toLowerCase())var h=d.documentElement;
13
+ if(h&&(c=new CE(h.getAttribute("ttp:frameRate"),h.getAttribute("ttp:subFrameRate"),h.getAttribute("ttp:frameRateMultiplier"),h.getAttribute("ttp:tickRate")),h=h.getElementsByTagName("body")[0])){f=h.getElementsByTagName("p");for(let t=0,w=f.length;t<w;t++){h=f[t];a=e;b=c;g=["begin",_.Mc];for(let A=0,B=g.length;A<B;A++){b:{var k=h;var l=g[A],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const E=l.length;for(;n<E;n++){var q=l[n].name;if(q=q.match(m)){k=
14
+ k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[A],GD(k||"",a,b))}}}d=(new XMLSerializer).serializeToString(d);e=_.kg(d).buffer}else e=d;return e}h=new AE;a=g.get("mfhd");b=new zE;k=g.get("tfhd");m=new DE(1,f);f=g.get("trun");n=g.get("sdtp");e=g.get("senc");k.g=1;k.flags&=16777214;k.flags|=131072;b.append([k,m,f]);n&&b.append([n]);if(d){g=0;k=[];if(e.flags&2)for(k=[],m=0;m<e.h;m++)k.push(10+6*e.g[m].oc);else g=8;b.append([e,new EE,new FE(g,k,e.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;c=new qE([h,
15
+ c]);h=c.write();d&&(d=c.get("saio"),c=c.f,d.offset[0]=e.start+16,c.seek(d.start),d.write(c),h=c.buffer);return h},HE=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,periodId:null}},IE=function(a){return{initData:_.qt(_.tt(a)),initDataType:_.jc,keyId:a,periodId:null}},JE=function(a,b,c){a=_.zt(a);c&&a.version!==c&&(a=_.yt(a,c));return{initData:_.qt(a),
16
+ initDataType:_.jc,keyId:b,periodId:null}},KE=function(a,b){return _.v(function*(){var c=_.wg(b);c.timeout=a.h.attemptParameters.timeout;c.maxAttempts=Math.max(a.h.attemptParameters.maxAttempts,b.length);c.baseDelay=a.h.attemptParameters.baseDelay;c.backoffFactor=a.h.attemptParameters.backoffFactor;c.fuzzFactor=a.h.attemptParameters.fuzzFactor;c.type=1;c=yield a.g.networkingEngine.fetch(c).O;a.o=c.uri;return c})},SE=function(a,b){let c=null;try{{const ta=new DOMParser;let hb,Ia;try{const $a=_.jg(b);
17
+ Ia=ta.parseFromString($a.trim(),_.le)}catch($a){throw $a;}Ia&&Ia.documentElement.tagName==_.cb&&(hb=Ia.documentElement);c=hb&&0<hb.getElementsByTagName("parsererror").length?null:hb}}catch(ta){}if(!c)throw a.f.error("Unable to parse manifest"),new _.H(_.G,4,4033,a.o);const d=+LE(a,c,"MajorVersion"),e=+LE(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||1E7;let g=+LE(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||
18
+ Infinity,m=_.lt(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.f.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.H(_.G,4,4036,a.o);h?(ME(a,NE),a.C=typeof a.h.liveRefreshPeriod===_.p?1E3*a.h.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):ME(a,OE);a.a={startTime:0,delay:0,duration:g/f,bd:l/f,uc:0};if(m){{var n=a.h.playreadyVersion;const ta=[],hb=_.lt(m,"ProtectionHeader")[0],Ia=_.ii(_.nt(hb)||""),$a=_.zt(Ia).a;ta.push(HE(_.yc,IE($a),[$a]));ta.push(HE(_.xc,JE(Ia,
19
+ $a,n),[$a]));var q=ta}a.A=q}{const ta=[],hb=_.lt(c,"StreamIndex");if(!hb.length)throw a.f.error("No streams found!"),new _.H(_.G,4,4034,a.o);for(let Ia=0;Ia<hb.length;Ia++){{var t=a,w=hb[Ia];const $a=LE(t,w,"Type"),dc=+w.getAttribute("Chunks"),Pg=w.getAttribute("Subtype"),ye=_.Gg(w.getAttribute("Language")||_.pe),Ed=w.getAttribute("Name")||"",Qg=+w.getAttribute(_.Ja),vf=+w.getAttribute(_.Ha),wf=LE(t,w,"Url"),ok=+w.getAttribute("TimeScale")||null;{const ec=[],gi=_.lt(w,_.Ta);for(let Fd=0;Fd<gi.length;Fd++){{let fc,
20
+ Ga,Vc;var A=t,B=gi[Fd],E=$a;const hi=+B.getAttribute("Index"),xf=+LE(A,B,"Bitrate");let Jb=NaN,yf=NaN,pk=NaN,Wo=NaN,Fx=NaN,Gx=NaN,Hx=NaN;const Ix=B.getAttribute("FourCC");switch(E){case _.u:Jb=+LE(A,B,_.Ha);yf=+LE(A,B,_.Ja);break;case _.Rb:Wo=+B.getAttribute("Channels")||2,pk=+LE(A,B,"SamplingRate"),Gx=+LE(A,B,"AudioTag"),Fx=+LE(A,B,"BitsPerSample"),Hx=+LE(A,B,"PacketSize")}let Xo=String(B.getAttribute("CodecPrivateData"));if(E===_.Rb&&!Xo){{var C=Wo;const Jx={96E3:0,88200:1,64E3:2,48E3:3,44100:4,
21
+ 32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},qk=Jx[pk];if("AACH"===Ix){Ga=new Uint8Array(4);const Kx=Jx[2*pk];Ga[0]=40|qk>>1;Ga[1]=qk<<7|C<<3|Kx>>1;Ga[2]=Kx<<7|8;Ga[3]=0;fc=new Uint16Array(2);fc[0]=(Ga[0]<<8)+Ga[1];fc[1]=(Ga[2]<<8)+Ga[3];Vc=fc[0].toString(16)+fc[1].toString(16)}else Ga=new Uint8Array(2),Ga[0]=16|qk>>1,Ga[1]=qk<<7|C<<3,fc=new Uint16Array(1),fc[0]=(Ga[0]<<8)+Ga[1],Vc=fc[0].toString(16);Xo=Vc.toUpperCase()}}var na={id:A.W++,type:E,index:hi,bitrate:xf,Ec:Xo,maxHeight:Jb,
22
+ maxWidth:yf,yc:pk,$d:Wo,Of:Gx,Ne:Fx,Yf:Hx,Ye:Ix,ab:null}}ec.push(na)}var Za=ec}{const ec=[],gi=_.lt(w,"c");for(let Fd=0;Fd<gi.length;Fd++){const fc=gi[Fd];let Ga=parseInt(fc.getAttribute("t"),10),Vc=parseInt(fc.getAttribute("d"),10),hi=parseInt(fc.getAttribute("r"),10),xf=0;if(isNaN(Ga)&&isNaN(Vc))throw t.f.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),new _.H(_.G,4,4037,t.o);0===Fd&&isNaN(Ga)&&(xf=Ga=0);if(0<Fd){const Jb=ec[ec.length-
23
+ 1];xf=Jb.n+1;Jb.d||(Jb.d=Ga-Jb.t);Ga||(Ga=Jb.t+Jb.d);Vc||(Vc=Ga-Jb.t)}ec.push({n:xf,d:Vc,t:Ga});if(hi){hi--;for(let Jb=0;Jb<hi;Jb++){const yf=ec[ec.length-1];xf=yf.n+1;Ga=yf.t+yf.d;Vc=yf.d;ec.push({n:xf,d:Vc,t:Ga})}}}t.D()||ec.length===dc||t.f.warn("Number of fragments ("+dc+") differs from number of chunks ("+ec.length+").");var rf=ec}var we={type:$a,Pf:dc,Bf:Pg,language:ye,name:Ed,maxWidth:Qg,maxHeight:vf,Ff:wf,tracks:Za,ee:rf,timescale:ok}}ta.push(we)}var Ad=ta}const ab={Wf:d,ke:e,timescale:f,
24
+ duration:g,isLive:h,Vf:k,bd:l,md:!1,streams:Ad};if(a.j&&a.B)return PE(a,ab),Promise.resolve();{const ta=ab.timescale,hb=ab.duration,Ia=yD(ab.streams,_.Rb),$a=yD(ab.streams,_.u),dc=yD(ab.streams,_.r),Pg=[];let ye=QE(a,hb,ta,Ia),Ed=QE(a,hb,ta,$a);const Qg=QE(a,hb,ta,dc);ye.length||(ye=[null]);Ed.length||(Ed=[null]);for(let vf=0;vf<Ed.length;vf++)for(let wf=0;wf<ye.length;wf++)Pg.push(RE(a,Ed[vf],ye[wf]));var Rg={startTime:0,variants:Pg,textStreams:Qg,thumbStreams:[]}}{var Wc=ab.streams;let ta=a.a.startTime,
25
+ hb=a.a.delay;const Ia=a.I;let $a=Math.min(a.a.duration||Infinity,Ia);const dc=a.D(),Pg=a.a.bd,ye=a.a.uc,Ed=a.H,Qg=isFinite(a.F)?a.F:0;if(dc)$a=Infinity,ta=Date.now()/1E3-ye,a.a.startTime=ta,hb=3*Ed;else{const vf=isFinite(Ia)?Ia:a.a.duration;for(const wf of Wc)for(const ok of wf.tracks)ok.ab.offset(-Qg),_.Pt(ok.ab,vf)}a.w=new _.dy(ta,hb,!0);a.w.f=!dc;a.w.Hb($a);_.Gt(a.w,Ed);a.w.Xb=Pg;dc||a.w.offset(-Qg)}a.g.filterAllPeriods([Rg]);a.j={presentationTimeline:a.w,periods:[Rg],offlineSessionIds:[],minBufferTime:0};
26
+ Promise.resolve();a.K||(a.g.networkingEngine.Vc(a.L),a.K=!0);a.B=ab;return Promise.resolve()},TE=function(a,b){null!=a.C&&null!=b&&(a.m=window.setTimeout(a.T.bind(a),b))},LE=function(a,b,c){if(b=b.getAttribute(c))return b;a.f.error("required attribute not provided: "+c);throw new _.H(_.G,4,4038,a.o,c);},ME=function(a,b){const c=b===OE;a.j&&a.j.presentationTimeline&&(a.j.presentationTimeline.f=c);c&&null!=a.m&&(window.clearTimeout(a.m),a.m=null,a.C=null);a.R=b},PE=function(a,b){for(let e=0;e<a.B.streams.length;e++){const f=
27
+ b.streams[e];for(const g of a.B.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){wD(g,c)||a.f.warn("The current stream is updated with a stream that seems to have different base properties!");var d=UE(a,a.B.timescale,f,c);c=g.ab;_.Nt(c,d);(d=a.a.bd)&&_.Ot(c,(c.a.length?c.a[c.a.length-1].endTime:0)-d)}else a.f.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},UE=function(a,b,c,d){let e=0;const f=[],g=c.timescale||
28
+ b;c.ee.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.F=Math.min(a.F,h)):h=f[k-1].endTime;const m=h+l,n=vD(a.o,c,k,d);a.H=Math.max(a.H,l);f.push(new _.Mt(k,h,m,()=>[n],0,null,0,null,!0,g));e+=l});if(c.type===_.u||c.type===_.Rb)b=f[f.length-1],a.I=Math.min(a.I,e),0===a.a.uc?a.a.uc=b.endTime:a.a.uc=Math.min(a.a.uc,b.endTime);return f},QE=function(a,b,c,d){let e=[];for(let f=0;f<d.length;f++){const g=d[f].tracks.map(h=>{var k=d[f],l=UE(a,c,k,h),m=new _.ey(l),n=null;k.type!==_.r&&(n=VE(a,b,c,k,h));h.ab=
29
+ m;l=a.N++;var q=Promise.resolve.bind(Promise),t=m.h.bind(m),w=m.get.bind(m),A=m.f.bind(m);m=m.getDuration.bind(m);var B=WE[k.type];var E="";switch(k.type){case _.u:E=h.Ec;var C=/00000001[0-9]7/.exec(E);E="avc1."+(C&&C[0]?E.substr(E.indexOf(C[0])+10,6):"42c00c");a.f.debug("VIDEO CODECS: ",E);break;case _.Rb:E=h.Ec,C=2,"AACH"===h.Ye?C=5:E&&(C=(parseInt(E.substr(0,2),16)&248)>>3),E="mp4a.40."+C,a.f.debug("AUDIO CODECS: ",E)}C=k.type===_.r?XE[k.Bf]:void 0;return h={id:l,originalId:null,$f:null,createSegmentIndex:q,
30
+ findSegmentPosition:t,getSegmentReference:w,adjustSegmentDurations:A,getDuration:m,initSegmentReference:n,mimeType:B,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:C,encrypted:a.J(),keyId:null,language:k.language,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.$d||null,closedCaptions:null}});e=e.concat(g)}return e},RE=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:
31
+ _.pe;return c||b?{id:a.N++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.A,allowedByApplication:!0,allowedByKeySystem:!0}:null},VE=function(a,b,c,d,e){b=xD(b,d.timescale||c,e);c={isLive:a.D.bind(a),Nc:a.J.bind(a),df:()=>1,gd:a.S.bind(a)};d=new Uint8Array(0);try{d=rE(b,c)}catch(g){throw a.f.error("Failed to generate initialization segment."),new _.H(_.G,3,4035,g);}const f="data:text/plain;base64,"+_.fi(d);return new _.cy(()=>[f],0,null,null,!0)},JD=class{constructor(a){this.type=a;this.size=
32
32
  this.start=0;this.parent=null;this.w=!1;this.entries=[];this.f=[]}append(a=[]){for(let b=0;b<a.length;b++)this.f.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.f.length;b++){if(this.f[b].type===a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=
33
- Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.M(a,1):_.M(a,this.size);_.yi(a,YC(this.type));this.size>b&&SC(a,this.size);"uuid"===this.type&&_.yi(a,null);if(0<this.f.length&&!this.w)for(b=0;b<this.f.length;b++)this.f[b].write(a),this.f[b].a(),a.getPosition()}},CE=class extends nD{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);TC(a,this.version);UC(a,this.flags)}},UD=class extends nD{constructor(a,b,c){super(a);
34
- this.g=b;this.offset=c}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.yi(a,this.g,this.offset);a.getPosition()}},$D=class extends CE{constructor(a,b,c,d,e){super(a,b,c);this.g=d;this.offset=e}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.yi(a,this.g,this.offset);a.getPosition()}},TD=class extends nD{constructor(a,b,c){super("ftyp");this.h=a;this.je=b;this.g=c}a(){let a=this.h.length;a=a+4+this.g.join("").length;return a+super.a()}write(a){super.write(a);
35
- _.yi(a,YC(this.h));_.M(a,this.je);_.yi(a,YC(this.g.join("")));a.getPosition()}},SD=class extends nD{constructor(){super(_.ld)}},RD=class extends nD{constructor(){super(_.ne)}},uD=class extends CE{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.g.length;return a+=super.a()}write(a){super.write(a);1===this.version?(SC(a,
36
- 0),SC(a,0),_.M(a,this.timescale),SC(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));_.M(a,65536);VC(a,this.volume);VC(a,0);_.M(a,0);_.M(a,0);for(let b=0;b<this.g.length;b++)TC(a,this.g[b]);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,this.h);a.getPosition()}},vD=class extends nD{constructor(){super("mvex")}},wD=class extends CE{constructor(a){super("trex",0,0);this.g=a}a(){return 20+super.a()}write(a){super.write(a);_.M(a,
37
- this.g);_.M(a,1);_.M(a,0);_.M(a,0);_.M(a,0);a.getPosition()}},xD=class extends CE{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.g.length;return a+super.a()}write(a){super.write(a);1===this.version?(SC(a,0),SC(a,0),_.M(a,this.h),_.M(a,0),SC(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,
38
- 0),_.M(a,this.h),_.M(a,0),_.M(a,this.duration*this.timescale));_.M(a,0);_.M(a,0);VC(a,0);VC(a,0);VC(a,this.volume);VC(a,0);for(let b=0;b<this.g.length;b++)TC(a,this.g[b]);VC(a,this.width);VC(a,0);VC(a,this.height);VC(a,0);a.getPosition()}},yD=class extends CE{constructor(a,b){super("mdhd",1,0);this.timescale=a;this.duration=b;this.language=21956}a(){let a=0;a=1===this.version?a+28:a+16;return a+4+super.a()}write(a){super.write(a);1===this.version?(SC(a,0),SC(a,0),_.M(a,this.timescale),SC(a,this.duration*
39
- this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));VC(a,this.language);VC(a,0);a.getPosition()}},zD=class extends CE{constructor(a){super("hdlr",0,0);this.g=a}a(){return 33+super.a()}write(a){super.write(a);_.M(a,0);this.g===_.u?_.yi(a,YC("vide")):_.yi(a,YC("soun"));_.M(a,0);_.M(a,0);_.M(a,0);this.g===_.u?_.yi(a,YC("VideoHandler\x00")):_.yi(a,YC("SoundHandler\x00"));a.getPosition()}},FD=class extends CE{constructor(){super("vmhd",0,1);this.g=new Uint8Array([0,
40
- 0,0,0,0,0])}a(){return 2+this.g.byteLength+super.a()}write(a){super.write(a);VC(a,0);_.yi(a,this.g);a.getPosition()}},DE=class extends nD{constructor(a){super(a);this.w=!0}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);VC(a,0);VC(a,1)}},EE=class extends DE{constructor(a){super(a);this.height=this.width=0}a(){return 70+super.a()}write(a){super.write(a);VC(a,0);VC(a,0);_.M(a,0);_.M(a,0);_.M(a,0);VC(a,this.width);VC(a,this.height);_.M(a,4718592);_.M(a,4718592);_.M(a,0);VC(a,1);TC(a,10);_.yi(a,
41
- YC("AVC Coding",31));VC(a,24);XC(a,-1)}},FE=class extends DE{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);VC(a,this.channelCount);VC(a,this.sampleSize);XC(a,0);VC(a,0);VC(a,this.sampleRate);VC(a,0)}},ED=class extends EE{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},oD=class extends ED{constructor(a,
42
- b){super(a,b);this.type="encv"}},HD=class extends FE{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},pD=class extends HD{constructor(a,b,c){super(a,b,c);this.type="enca"}},DD=class extends nD{constructor(a,b){super("avcC");this.Ca=a;this.Bb=b;this.version=1;this.g=this.Ca[0][1];this.h=this.Ca[0][2];this.level=this.Ca[0][3]}a(){let a=7;for(var b=0;b<this.Ca.length;b++)a+=2,a+=this.Ca[b].byteLength;for(b=0;b<this.Ca.length;b++)a+=
43
- 2,a+=this.Bb[b].byteLength;return a+super.a()}write(a){super.write(a);TC(a,this.version);TC(a,this.g);TC(a,this.h);TC(a,this.level);TC(a,255);TC(a,224|this.Ca.length);for(var b=0;b<this.Ca.length;b++)VC(a,this.Ca[b].length),_.yi(a,this.Ca[b]);TC(a,this.Bb.length);for(b=0;b<this.Bb.length;b++)VC(a,this.Bb[b].length),_.yi(a,this.Bb[b]);a.getPosition()}},GD=class extends CE{constructor(a){super("esds",0,0);this.vb=a}a(){return 22+(this.vb.byteLength+3)+super.a()}write(a){super.write(a);TC(a,3);TC(a,
44
- 23+this.vb.byteLength);VC(a,1);TC(a,0);TC(a,4);TC(a,15+this.vb.byteLength);TC(a,64);TC(a,21);UC(a,0);_.M(a,0);_.M(a,0);TC(a,5);TC(a,this.vb.byteLength);_.yi(a,this.vb);_.yi(a,new Uint8Array([6,1,2]));a.getPosition()}},BD=class extends CE{constructor(a=""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.yi(a,YC(this.location));a.getPosition()}},AD=class extends CE{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<
45
- this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},JD=class extends nD{constructor(){super(_.de)}},CD=class extends CE{constructor(){super(_.fe,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
46
- a.getPosition()}},KD=class extends CE{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},LD=class extends CE{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<
47
- this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},ND=class extends CE{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},MD=class extends CE{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);a.getPosition()}},ID=class extends CE{constructor(){super("smhd",
48
- 0,0)}a(){return 4+super.a()}write(a){super.write(a);XC(a,0);VC(a,0);a.getPosition()}},OD=class extends nD{constructor(){super("dinf")}},PD=class extends nD{constructor(){super(_.kd)}},QD=class extends nD{constructor(){super(_.gd)}},hE=class extends CE{constructor(a,b){super("tfdt",a,0);this.g=b}a(){let a=0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);1===this.version?SC(a,this.g):_.M(a,this.g);a.getPosition()}},XD=class extends CE{constructor(){super("mfhd",0,0);this.g=0}a(){return 4+
49
- super.a()}write(a){super.write(a);_.M(a,this.g);a.getPosition()}},ZD=class extends CE{constructor(a,b){super("trun",a,b);this.m=this.j=this.g=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&GE&&(a+=4);this.flags&HE&&(a+=4);for(let b=0;b<this.g;b++)this.flags&IE&&(a+=4),this.flags&JE&&(a+=4),this.flags&KE&&(a+=4),this.flags&LE&&(a+=4);return a+super.a()}write(a){super.write(a);_.M(a,this.g);this.flags&GE&&(a.getPosition(),WC(a,this.j));this.flags&HE&&_.M(a,this.m);for(let b=
50
- 0;b<this.g;b++)this.flags&IE&&_.M(a,this.o[b]),this.flags&JE&&_.M(a,this.sampleSize[b]),this.flags&KE&&_.M(a,this.A[b]),this.flags&LE&&(0===this.version?_.M(a,this.h[b]):WC(a,this.h[b]));a.getPosition()}},GE=1,HE=4,IE=256,JE=512,KE=1024,LE=2048,YD=class extends CE{constructor(a,b){super("tfhd",a,b);this.g=255;this.m=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&ME&&(a+=8);this.flags&NE&&(a+=4);this.flags&OE&&(a+=4);this.flags&PE&&(a+=4);this.flags&QE&&(a+=4);return a+super.a()}write(a){super.write(a);
51
- _.M(a,this.g);this.flags&ME&&SC(a,this.h);this.flags&NE&&_.M(a,this.A);this.flags&OE&&_.M(a,this.j);this.flags&PE&&_.M(a,this.o);this.flags&QE&&_.M(a,this.m);a.getPosition()}},ME=1,NE=2,OE=8,PE=16,QE=32,dE=class extends nD{constructor(){super("traf")}},eE=class extends nD{constructor(){super("moof")}},cE=class extends nD{constructor(){super(_.fd);this.g=new Uint8Array(0)}a(){return this.g.byteLength+super.a()}write(a){super.write(a);0<this.g.byteLength&&_.yi(a,this.g)}},qD=class extends CE{constructor(){super("tenc",
52
- 0,0);this.g=1;this.h=8;this.m="";this.j=[]}a(){let a;a=20;1===this.g&&0===this.h&&(a=a+1+this.j.length);return a+super.a()}write(a){super.write(a);TC(a,0);0===this.version?TC(a,0):TC(a,0);TC(a,this.g);TC(a,this.h);_.yi(a,_.ji(this.m));if(1===this.g&&0===this.h){TC(a,0);for(let b=0;b<this.j.length;b++)TC(a,this.j[b])}a.getPosition()}},sD=class extends CE{constructor(a,b){super("schm",0,0);this.g=a;this.h=b;this.rb=""}a(){let a=8;this.flags&1&&(a+=YC(this.rb).byteLength);return a+super.a()}write(a){super.write(a);
53
- _.yi(a,YC(this.g));_.M(a,this.h);this.flags&1&&_.yi(a,YC(this.rb));a.getPosition()}},rD=class extends nD{constructor(a){super("frma");this.g=a}a(){return YC(this.g).byteLength+super.a()}write(a){super.write(a);_.yi(a,YC(this.g));a.getPosition()}},iE=class extends CE{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));_.M(a,1);for(let b=0;1>b;b++)0===
54
- this.version?_.M(a,this.offset[b]):SC(a,this.offset[b]);a.getPosition()}},jE=class extends CE{constructor(a,b,c){super("saiz",0,0);this.g=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.g&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));TC(a,this.g);_.M(a,this.h);if(0===this.g)for(let b=0;b<this.h;b++)TC(a,this.j[b]);a.getPosition()}},bE=class extends CE{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.g=[]}a(){let a=4;this.flags&
55
- 1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.g[b].fe.byteLength,this.flags&2){a+=2;for(let c=0;c<this.g[b].oc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.M(a,this.h);this.flags&1&&TC(a,this.j);for(let b=0;b<this.h;b++)if(_.yi(a,this.g[b].fe),this.flags&2){VC(a,this.g[b].oc);for(let c=0;c<this.g[b].oc;c++)VC(a,this.g[b].Ld[c].Wd),_.M(a,this.g[b].Ld[c].Xd)}a.getPosition()}};var gE=class{constructor(a,b,c,d){this.frameRate=Number(a)||30;this.f=Number(b)||1;this.a=Number(d);0==this.a&&(this.a=a?this.frameRate*this.f:1);c&&(a=/^(\d+) (\d+)$/g.exec(c))&&(this.frameRate*=parseInt(a[1],10)/parseInt(a[2],10))}},eD=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,fD=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,gD=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,hD=/^(\d*\.?\d*)f$/,iD=/^(\d*\.?\d*)t$/,jD=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var VD=class{constructor(a){this.a=a;this.f=lD(this)}get(a){for(let b=0;b<this.a.length;b++){const c=this.a[b].get(a);if(c)return c}return null}write(){this.f=lD(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var aE=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var RE=class{constructor(){this.B=this.j=this.h=this.g=null;this.P=1;this.Z=0;this.o="";this.w=this.a=null;this.f=new _.O("clpp.smooth.SmoothParser");this.K=!1;this.m=this.C=null;this.R=sE;this.H=0;this.F=this.I=Infinity;this.A=[];this.L=this.V.bind(this)}configure(a){this.h=a}start(a,b){this.g=b;a=[...new Set([a,ZC(a)])];return oE(this,a).then(c=>wE(this,c.data).then(()=>{xE(this,this.C);return this.j}))}stop(){this.g&&this.g.networkingEngine.Ed(this.L);this.C=this.B=this.j=this.h=this.g=null;this.m&&
56
- (clearTimeout(this.m),this.m=null);this.K=!1;this.I=this.F=Infinity;return Promise.resolve()}update(){if(this.D())return oE(this,[this.o]).then(a=>wE(this,a.data).then(()=>this.j)).catch(a=>{if(this.g)this.g.onError(a)})}onExpirationUpdated(){}U(){this.f.debug(_.gs);this.g&&(this.m=null,this.update().then(()=>{xE(this,this.C)}).catch(a=>{this.g&&(this.g.onError(a),1===a.severity&&xE(this,100))}))}D(){return this.R===rE}J(){return 0<this.A.length}S(a){let b=null;if(this.A.length)for(let c=0;c<this.A.length;c++)if(this.A[c].keySystem===
57
- a){b=this.A[c].initData[0];break}return b}V(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.B.timescale,c={isLive:this.D.bind(this),Lc:this.J.bind(this),Ze:()=>1,ed:this.S.bind(this)};let d=!1;const e=new _.H(_.G,3,4035,null);let f=null;try{f=kE(a,b,c)}catch(g){d=!0,e.data=g,3E3===g.code&&(e.code=4039)}if(d||!f)return Promise.reject(e);a.data=f;return Promise.resolve(a)}},AE={video:_.Be,audio:_.Vb,text:_.Nb},sE="VOD",rE="LIVE",BE={Ef:"caption",
58
- Gf:_.qs};_.x("clpp.smooth.SmoothComponent",class extends _.ro{constructor(){super()}f(){_.tm.ism=RE;_.rm[_.Ob]=RE}a(){_.yt("ism");_.zt(_.Ob)}id(){return"smooth"}});};f.call(g, window);
33
+ Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.M(a,1):_.M(a,this.size);_.yi(a,tD(this.type));this.size>b&&nD(a,this.size);"uuid"===this.type&&_.yi(a,null);if(0<this.f.length&&!this.w)for(b=0;b<this.f.length;b++)this.f[b].write(a),this.f[b].a(),a.getPosition()}},YE=class extends JD{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);oD(a,this.version);pD(a,this.flags)}},pE=class extends JD{constructor(a,b,c){super(a);
34
+ this.g=b;this.offset=c}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.yi(a,this.g,this.offset);a.getPosition()}},vE=class extends YE{constructor(a,b,c,d,e){super(a,b,c);this.g=d;this.offset=e}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.yi(a,this.g,this.offset);a.getPosition()}},oE=class extends JD{constructor(a,b,c){super("ftyp");this.h=a;this.ke=b;this.g=c}a(){let a=this.h.length;a=a+4+this.g.join("").length;return a+super.a()}write(a){super.write(a);
35
+ _.yi(a,tD(this.h));_.M(a,this.ke);_.yi(a,tD(this.g.join("")));a.getPosition()}},nE=class extends JD{constructor(){super(_.ld)}},mE=class extends JD{constructor(){super(_.ne)}},QD=class extends YE{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.g.length;return a+=super.a()}write(a){super.write(a);1===this.version?(nD(a,
36
+ 0),nD(a,0),_.M(a,this.timescale),nD(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));_.M(a,65536);qD(a,this.volume);qD(a,0);_.M(a,0);_.M(a,0);for(let b=0;b<this.g.length;b++)oD(a,this.g[b]);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,this.h);a.getPosition()}},RD=class extends JD{constructor(){super("mvex")}},SD=class extends YE{constructor(a){super("trex",0,0);this.g=a}a(){return 20+super.a()}write(a){super.write(a);_.M(a,
37
+ this.g);_.M(a,1);_.M(a,0);_.M(a,0);_.M(a,0);a.getPosition()}},TD=class extends YE{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.g.length;return a+super.a()}write(a){super.write(a);1===this.version?(nD(a,0),nD(a,0),_.M(a,this.h),_.M(a,0),nD(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,
38
+ 0),_.M(a,this.h),_.M(a,0),_.M(a,this.duration*this.timescale));_.M(a,0);_.M(a,0);qD(a,0);qD(a,0);qD(a,this.volume);qD(a,0);for(let b=0;b<this.g.length;b++)oD(a,this.g[b]);qD(a,this.width);qD(a,0);qD(a,this.height);qD(a,0);a.getPosition()}},UD=class extends YE{constructor(a,b){super("mdhd",1,0);this.timescale=a;this.duration=b;this.language=21956}a(){let a=0;a=1===this.version?a+28:a+16;return a+4+super.a()}write(a){super.write(a);1===this.version?(nD(a,0),nD(a,0),_.M(a,this.timescale),nD(a,this.duration*
39
+ this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));qD(a,this.language);qD(a,0);a.getPosition()}},VD=class extends YE{constructor(a){super("hdlr",0,0);this.g=a}a(){return 33+super.a()}write(a){super.write(a);_.M(a,0);this.g===_.u?_.yi(a,tD("vide")):_.yi(a,tD("soun"));_.M(a,0);_.M(a,0);_.M(a,0);this.g===_.u?_.yi(a,tD("VideoHandler\x00")):_.yi(a,tD("SoundHandler\x00"));a.getPosition()}},aE=class extends YE{constructor(){super("vmhd",0,1);this.g=new Uint8Array([0,
40
+ 0,0,0,0,0])}a(){return 2+this.g.byteLength+super.a()}write(a){super.write(a);qD(a,0);_.yi(a,this.g);a.getPosition()}},ZE=class extends JD{constructor(a){super(a);this.w=!0}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);qD(a,0);qD(a,1)}},$E=class extends ZE{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);qD(a,0);qD(a,0);_.M(a,0);_.M(a,0);_.M(a,0);qD(a,this.width);qD(a,this.height);_.M(a,4718592);_.M(a,4718592);_.M(a,0);qD(a,1);
41
+ oD(a,10);_.yi(a,tD("AVC Coding",31));qD(a,this.depth);sD(a,-1)}},aF=class extends ZE{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);qD(a,this.channelCount);qD(a,this.sampleSize);sD(a,0);qD(a,0);qD(a,this.sampleRate);qD(a,0)}},$D=class extends $E{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},
42
+ KD=class extends $D{constructor(a,b){super(a,b);this.type="encv"}},cE=class extends aF{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},LD=class extends cE{constructor(a,b,c){super(a,b,c);this.type="enca"}},ZD=class extends JD{constructor(a,b){super("avcC");this.Ca=a;this.Db=b;this.version=1;this.g=this.Ca[0][1];this.h=this.Ca[0][2];this.level=this.Ca[0][3]}a(){let a=7;for(var b=0;b<this.Ca.length;b++)a+=2,a+=this.Ca[b].byteLength;
43
+ for(b=0;b<this.Ca.length;b++)a+=2,a+=this.Db[b].byteLength;return a+super.a()}write(a){super.write(a);oD(a,this.version);oD(a,this.g);oD(a,this.h);oD(a,this.level);oD(a,255);oD(a,224|this.Ca.length);for(var b=0;b<this.Ca.length;b++)qD(a,this.Ca[b].length),_.yi(a,this.Ca[b]);oD(a,this.Db.length);for(b=0;b<this.Db.length;b++)qD(a,this.Db[b].length),_.yi(a,this.Db[b]);a.getPosition()}},bE=class extends YE{constructor(a){super("esds",0,0);this.xb=a}a(){return 22+(this.xb.byteLength+3)+super.a()}write(a){super.write(a);
44
+ oD(a,3);oD(a,23+this.xb.byteLength);qD(a,1);oD(a,0);oD(a,4);oD(a,15+this.xb.byteLength);oD(a,64);oD(a,21);pD(a,0);_.M(a,0);_.M(a,0);oD(a,5);oD(a,this.xb.byteLength);_.yi(a,this.xb);_.yi(a,new Uint8Array([6,1,2]));a.getPosition()}},XD=class extends YE{constructor(a=""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.yi(a,tD(this.location));a.getPosition()}},WD=class extends YE{constructor(){super("dref",0,0)}a(){let a=4;
45
+ for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},eE=class extends JD{constructor(){super(_.de)}},YD=class extends YE{constructor(){super(_.fe,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
46
+ a.getPosition()}},fE=class extends YE{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},gE=class extends YE{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<
47
+ this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},iE=class extends YE{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},hE=class extends YE{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);a.getPosition()}},dE=class extends YE{constructor(){super("smhd",
48
+ 0,0)}a(){return 4+super.a()}write(a){super.write(a);sD(a,0);qD(a,0);a.getPosition()}},jE=class extends JD{constructor(){super("dinf")}},kE=class extends JD{constructor(){super(_.kd)}},lE=class extends JD{constructor(){super(_.gd)}},DE=class extends YE{constructor(a,b){super("tfdt",a,0);this.g=b}a(){let a=0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);1===this.version?nD(a,this.g):_.M(a,this.g);a.getPosition()}},sE=class extends YE{constructor(){super("mfhd",0,0);this.g=0}a(){return 4+
49
+ super.a()}write(a){super.write(a);_.M(a,this.g);a.getPosition()}},uE=class extends YE{constructor(a,b){super("trun",a,b);this.m=this.j=this.g=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&bF&&(a+=4);this.flags&cF&&(a+=4);for(let b=0;b<this.g;b++)this.flags&dF&&(a+=4),this.flags&eF&&(a+=4),this.flags&fF&&(a+=4),this.flags&gF&&(a+=4);return a+super.a()}write(a){super.write(a);_.M(a,this.g);this.flags&bF&&(a.getPosition(),rD(a,this.j));this.flags&cF&&_.M(a,this.m);for(let b=
50
+ 0;b<this.g;b++)this.flags&dF&&_.M(a,this.o[b]),this.flags&eF&&_.M(a,this.sampleSize[b]),this.flags&fF&&_.M(a,this.A[b]),this.flags&gF&&(0===this.version?_.M(a,this.h[b]):rD(a,this.h[b]));a.getPosition()}},bF=1,cF=4,dF=256,eF=512,fF=1024,gF=2048,tE=class extends YE{constructor(a,b){super("tfhd",a,b);this.g=255;this.m=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&hF&&(a+=8);this.flags&iF&&(a+=4);this.flags&jF&&(a+=4);this.flags&kF&&(a+=4);this.flags&lF&&(a+=4);return a+super.a()}write(a){super.write(a);
51
+ _.M(a,this.g);this.flags&hF&&nD(a,this.h);this.flags&iF&&_.M(a,this.A);this.flags&jF&&_.M(a,this.j);this.flags&kF&&_.M(a,this.o);this.flags&lF&&_.M(a,this.m);a.getPosition()}},hF=1,iF=2,jF=8,kF=16,lF=32,zE=class extends JD{constructor(){super("traf")}},AE=class extends JD{constructor(){super("moof")}},yE=class extends JD{constructor(){super(_.fd);this.g=new Uint8Array(0)}a(){return this.g.byteLength+super.a()}write(a){super.write(a);0<this.g.byteLength&&_.yi(a,this.g)}},MD=class extends YE{constructor(){super("tenc",
52
+ 0,0);this.g=1;this.h=8;this.m="";this.j=[]}a(){let a;a=20;1===this.g&&0===this.h&&(a=a+1+this.j.length);return a+super.a()}write(a){super.write(a);oD(a,0);0===this.version?oD(a,0):oD(a,0);oD(a,this.g);oD(a,this.h);_.yi(a,_.ji(this.m));if(1===this.g&&0===this.h){oD(a,0);for(let b=0;b<this.j.length;b++)oD(a,this.j[b])}a.getPosition()}},OD=class extends YE{constructor(a,b){super("schm",0,0);this.g=a;this.h=b;this.rb=""}a(){let a=8;this.flags&1&&(a+=tD(this.rb).byteLength);return a+super.a()}write(a){super.write(a);
53
+ _.yi(a,tD(this.g));_.M(a,this.h);this.flags&1&&_.yi(a,tD(this.rb));a.getPosition()}},ND=class extends JD{constructor(a){super("frma");this.g=a}a(){return tD(this.g).byteLength+super.a()}write(a){super.write(a);_.yi(a,tD(this.g));a.getPosition()}},EE=class extends YE{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));_.M(a,1);for(let b=0;1>b;b++)0===
54
+ this.version?_.M(a,this.offset[b]):nD(a,this.offset[b]);a.getPosition()}},FE=class extends YE{constructor(a,b,c){super("saiz",0,0);this.g=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.g&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));oD(a,this.g);_.M(a,this.h);if(0===this.g)for(let b=0;b<this.h;b++)oD(a,this.j[b]);a.getPosition()}},xE=class extends YE{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.g=[]}a(){let a=4;this.flags&
55
+ 1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.g[b].he.byteLength,this.flags&2){a+=2;for(let c=0;c<this.g[b].oc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.M(a,this.h);this.flags&1&&oD(a,this.j);for(let b=0;b<this.h;b++)if(_.yi(a,this.g[b].he),this.flags&2){qD(a,this.g[b].oc);for(let c=0;c<this.g[b].oc;c++)qD(a,this.g[b].Nd[c].Yd),_.M(a,this.g[b].Nd[c].Zd)}a.getPosition()}};var CE=class{constructor(a,b,c,d){this.frameRate=Number(a)||30;this.f=Number(b)||1;this.a=Number(d);0==this.a&&(this.a=a?this.frameRate*this.f:1);c&&(a=/^(\d+) (\d+)$/g.exec(c))&&(this.frameRate*=parseInt(a[1],10)/parseInt(a[2],10))}},AD=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,BD=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,CD=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,DD=/^(\d*\.?\d*)f$/,ED=/^(\d*\.?\d*)t$/,FD=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var qE=class{constructor(a){this.a=a;this.f=HD(this)}get(a){for(let b=0;b<this.a.length;b++){const c=this.a[b].get(a);if(c)return c}return null}write(){this.f=HD(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var wE=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var mF=class{constructor(){this.B=this.j=this.h=this.g=null;this.N=1;this.W=0;this.o="";this.w=this.a=null;this.f=new _.O("clpp.smooth.SmoothParser");this.K=!1;this.m=this.C=null;this.R=OE;this.H=0;this.F=this.I=Infinity;this.A=[];this.L=this.V.bind(this)}configure(a){this.h=a}start(a,b){this.g=b;a=[...new Set([a,uD(a)])];return KE(this,a).then(c=>SE(this,c.data).then(()=>{TE(this,this.C);return this.j}))}stop(){this.g&&this.g.networkingEngine.Gd(this.L);this.C=this.B=this.j=this.h=this.g=null;this.m&&
56
+ (clearTimeout(this.m),this.m=null);this.K=!1;this.I=this.F=Infinity;return Promise.resolve()}update(){if(this.D())return KE(this,[this.o]).then(a=>SE(this,a.data).then(()=>this.j)).catch(a=>{if(this.g)this.g.onError(a)})}onExpirationUpdated(){}T(){this.f.debug(_.As);this.g&&(this.m=null,this.update().then(()=>{TE(this,this.C)}).catch(a=>{this.g&&(this.g.onError(a),1===a.severity&&TE(this,100))}))}D(){return this.R===NE}J(){return 0<this.A.length}S(a){let b=null;if(this.A.length)for(let c=0;c<this.A.length;c++)if(this.A[c].keySystem===
57
+ a){b=this.A[c].initData[0];break}return b}V(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.B.timescale,c={isLive:this.D.bind(this),Nc:this.J.bind(this),df:()=>1,gd:this.S.bind(this)};let d=!1;const e=new _.H(_.G,3,4035,null);let f=null;try{f=GE(a,b,c)}catch(g){d=!0,e.data=g,3E3===g.code&&(e.code=4039)}if(d||!f)return Promise.reject(e);a.data=f;return Promise.resolve(a)}},WE={video:_.Be,audio:_.Vb,text:_.Nb},OE="VOD",NE="LIVE",XE={Jf:"caption",
58
+ Lf:_.Ks};_.x("clpp.smooth.SmoothComponent",class extends _.ro{constructor(){super()}f(){_.tm.ism=mF;_.rm[_.Ob]=mF}a(){_.St("ism");_.Tt(_.Ob)}id(){return"smooth"}});};f.call(g, window);
package/cl.thumbnails.js CHANGED
@@ -1,17 +1,17 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var $q="No thumbnail duration or URL specified",ar="No thumbnail found for position ",br="Position is out of range: ",cr="Thumbnail URL is mandatory",dr="Wrong gridSize format",er="clpp.thumbnails",fr=function(a){const b=a.f.byteLength;a.a.forEach(c=>{c.offset+c.length<b&&c.a.resolve()})},ir=function(a,b){return gr(a,b).then(c=>new hr(c,b.time,b.duration))},gr=function(a,b){return b.load().then(()=>{const c=_.L(a.f,b.offset,b.length);return"data:image/jpeg;base64,"+_.gi(c)})},kr=function(a,
2
- b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.rd&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>jr(a,0,e,!!f))},Promise.resolve())},jr=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return lr(a,d).then(()=>a.a[b].load()).then(()=>jr(a,e,c,d))},lr=function(a,b){return new Promise(c=>{if(b||a.g.getState()!==_.uk)c();else a.g.one(_.$b,()=>{c()})})},mr=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=a.length-1;0<=c;c--)b+=
3
- a[c]*d[c];return b},nr=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},or=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{sc:c,Rd:d,ee:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},pr=function(a){return a.some(b=>0<b.thumbStreams.length)},qr=function(a){if(!a)return null;a=new _.Ji(a);return a.path.match(/.*\.vtt$/i)?"WEBVTT":a.path.match(/.*\.bif$/i)?"BIF":a.path.match(/.*\.(png|jpg|jpeg)$/i)?
4
- "SINGLE":null},hr=class{constructor(a,b,c,d=0,e=0,f=0,g=0,h=1,k=1,l=0,m=0,n=new Image){this.time=b;this.a=n;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.g=h;this.m=k;this.h=l;this.j=m;this.f=null}raw(){return this.a.cloneNode(!1)}element(a,b){let c=this.width,d=this.height;const e=this.width/this.height;void 0!==a&&void 0===b&&(b=0);null!==a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Ec);a.style.width=
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var tr="No thumbnail duration or URL specified",ur="No thumbnail found for position ",vr="Position is out of range: ",wr="Thumbnail URL is mandatory",xr="Wrong gridSize format",yr="clpp.thumbnails",zr=function(a){const b=a.f.byteLength;a.a.forEach(c=>{c.offset+c.length<b&&c.a.resolve()})},Cr=function(a,b){return Ar(a,b).then(c=>new Br(c,b.time,b.duration))},Ar=function(a,b){return b.load().then(()=>{const c=_.L(a.f,b.offset,b.length);return"data:image/jpeg;base64,"+_.ei(c)})},Er=function(a,
2
+ b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.rd&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Dr(a,0,e,!!f))},Promise.resolve())},Dr=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Fr(a,d).then(()=>a.a[b].load()).then(()=>Dr(a,e,c,d))},Fr=function(a,b){return new Promise(c=>{if(b||a.g.getState()!==_.uk)c();else a.g.one(_.$b,()=>{c()})})},Gr=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=a.length-1;0<=c;c--)b+=
3
+ a[c]*d[c];return b},Hr=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},Ir=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{sc:c,Td:d,ge:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Jr=function(a){return a.some(b=>0<b.thumbStreams.length)},Kr=function(a){if(!a)return null;a=new _.Ji(a);return a.path.match(/.*\.vtt$/i)?"WEBVTT":a.path.match(/.*\.bif$/i)?"BIF":a.path.match(/.*\.(png|jpg|jpeg)$/i)?
4
+ "SINGLE":null},Br=class{constructor(a,b,c,d=0,e=0,f=0,g=0,h=1,k=1,l=0,m=0,n=new Image){this.time=b;this.a=n;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.g=h;this.m=k;this.h=l;this.j=m;this.f=null}raw(){return this.a.cloneNode(!1)}element(a,b){let c=this.width,d=this.height;const e=this.width/this.height;void 0!==a&&void 0===b&&(b=0);null!==a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Ec);a.style.width=
5
5
  c+_.Od;a.style.height=d+_.Od;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage="url("+this.src+")";a.style.backgroundSize=`${Math.ceil(c/this.width*(this.a.naturalWidth||this.a.width))}px ${Math.ceil(d/this.height*(this.a.naturalHeight||this.a.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/this.width*c+_.Od;a.style.backgroundPositionY="-"+b*d+_.Od;return a}load(){this.f||(this.f=new Promise((a,b)=>{const c=()=>{this.width||(this.width=
6
6
  (this.a.naturalWidth||this.a.width)/this.g);this.height||(this.height=(this.a.naturalHeight||this.a.height)/this.m);this.x||(this.x=this.width*this.h);this.y||(this.y=this.height*this.j)};if(this.a.src&&this.a.complete)c(),a(this);else{var d=null,e=()=>{c();this.a.removeEventListener("load",e);this.a.removeEventListener(_.Oc,d);a(this)};d=()=>{this.a.removeEventListener("load",e);this.a.removeEventListener(_.Oc,d);b()};this.a.addEventListener("load",e);this.a.addEventListener(_.Oc,d);this.a.src=this.src}}));
7
- return this.f}};_.x("clpp.thumbnails.Thumbnail",hr);hr.prototype.load=hr.prototype.load;hr.prototype.element=hr.prototype.element;hr.prototype.raw=hr.prototype.raw;var rr=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.a=new _.Hj}load(){return this.a}},tr=class{constructor(){this.g=new _.O(er);this.f=new ArrayBuffer(0);this.a=[];this.h=new _.Hj}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,cr);b=_.wg(b.url);b.type=_.vg;a.getNetworkEngine().fetch(b).N.then(c=>{{var d=c.data;c=_.L(this.f);d=_.L(d);const e=c.byteLength+d.byteLength,f=new ArrayBuffer(e),g=new DataView(f);let h=0;for(let k=0,l=c.byteLength;k<l;k++)g.setUint8(h,
8
- c[k]),h+=1;for(let k=0,l=d.byteLength;k<l;k++)g.setUint8(h,d[k]),h+=1;this.f=f;this.g.info(`Appended ${d.byteLength} bytes.`+`Total data now ${e} bytes.`)}}).then(()=>{{var c=this.f,d=_.L(c),e=String.fromCharCode.apply(null,sr),f=Array.prototype.slice.call(d,0,8);d=64;let h=0;var g=!1;if(e===String.fromCharCode.apply(null,f))for(c=new DataView(c,16,20),c=c.getUint32(0,!0),0===c&&(c=1E3);!g;){h+=1;f=c;e=new DataView(this.f,d);g=e.getUint32(0,!0);f=g*f/1E3;e=e.getUint32(4,!0);e=new rr(f,e);if(f=this.a.length)f=
9
- this.a[f-1],f.length=e.offset-f.offset,f.duration=e.time-f.time;this.a.push(e);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<h)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");}}).then(()=>{fr(this)}).catch(c=>{this.g.error("Error while loading thumbnail index",c)})}get(a){return 0>a?Promise.reject(br+a):this.h.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(c.time>=a&&a<c.time+c.duration)return ir(this,c).then(d=>
10
- d.load().then(()=>d))}return Promise.reject(ar+a)})}},sr=[137,66,73,70,13,10,26,10];var ur=class{constructor(){this.log=new _.O(er);this.g=null;this.a=[];this.w=!1}init(a,b){this.g=a;a.one(_.Rd,()=>{this.w=!0});a.isLive()||this.m().then(()=>{b&&b.preload&&kr(this,b.preload)})}};var vr=class extends ur{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,cr);const c=b.url,d=_.wg(c);d.type=_.vg;this.f=a.getNetworkEngine().fetch(d).N.then(e=>{if(e=e.data){e=_.gg(e).split(/\n/);for(let m=0;m<e.length;m++){var f=e[m],g=f.split(" --\x3e ");if(2===g.length){f=e[++m];var h=f.indexOf("\x3d");var k=h=0>h?[]:f.substr(h+1).split(/,/).map(parseFloat);h=k[0];const n=k[1],q=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,l);f.match(/^http|^\/\//)||(f=
11
- c.substr(0,c.lastIndexOf("/"))+"/"+f);l=mr(g[0]);g=mr(g[1])-l;this.a.push(new hr(f,l,g,h,n,q,k,0,0))}}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnail",e)});super.init(a,b)}get(a){return 0>a?Promise.reject(br+a):this.f.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(c.time>=a&&a<c.time+c.duration)return c.load().then(()=>c)}return Promise.reject(ar+a)})}m(){return this.f}};var wr=class extends ur{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,cr);if("GRID"===b.mode&&!b.gridSize)throw new _.H(_.G,7,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(_.G,7,7100,"Duration is mandatory");this.f=b;const c=this.f.duration,d=this.f.url;if(!c||!d)throw this.log.error($q,c,d),new _.H(_.G,7,7100,$q);this.j=c;if(this.f.gridSize)try{const e=this.f.gridSize.split(/x/).map(f=>parseInt(f,10)).filter(f=>
12
- 0<f);if(2===e.length)this.h=e[0],this.o=e[1];else throw new _.H(_.G,7,7100,dr);}catch(e){throw this.log.error("Error during parsing gridSize",e),new _.H(_.G,7,7100,dr);}super.init(a,b)}get(a){const b=this.g.getDuration();if(void 0===this.f.duration)return Promise.reject("Duration configuration not defined");const c=Math.floor(a/this.f.duration);if(0>a||a>b)return Promise.reject(br+a);const d=this.a[c];return d?d.load().then(()=>d):Promise.reject(ar+a+" at index "+c)}m(){if(0<this.a.length)return Promise.resolve();
13
- var a=this.g.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new hr(e,this.j*(d*b+g),this.j,0,0,0,0,this.h,this.o,g%this.h,Math.floor(g/this.h),f))}return Promise.resolve()}};var xr=class extends ur{get(a){if(0>a)return this.log.error("Position must be greater than 0 but is "+a),Promise.reject();var b=this.g.getPeriods();b=nr(b,a);if(!b)return this.log.error("Could not find period for specified position",a),Promise.reject();var c=b.thumbStreams.sort(this.f)[0];if(!c)return this.log.error("Could not find thumb stream for specified position",a),Promise.reject();b=c.findSegmentPosition(a-b.startTime);if(null===b||void 0===b)return this.log.error("Could not find segment index for specified position",
14
- a),Promise.reject();var d=c.getSegmentReference(b);if(d){const e=or(d,c);a=Math.floor((a-d.startTime)/e.durationPerTile);let f;if(0<this.a.length)d=c.findSegmentPosition(0),null!==d&&(f=this.a[(b-d)*e.ee+a]);else if((c=d.Ka())&&0<c.length){let g=0,h=0;d=d.startTime;1<e.ee&&(g=a%e.sc,h=Math.floor(a/e.sc),d+=a*e.durationPerTile);f=new hr(c[0],d,e.durationPerTile,void 0,void 0,void 0,void 0,e.sc,e.Rd,g,h)}if(f)return f.load().then(()=>f)}this.log.error("segment reference for specified segment index does not exist",
15
- b);return Promise.reject()}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}m(){if(0<this.a.length)return Promise.resolve();var a=this.g.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.y(d=a.getSegmentReference(c++));){const e=or(d,a),f=d.Ka()[0],g=new Image;let h=d.startTime;for(let k=0;k<e.Rd;++k)for(let l=0;l<e.sc;++l)this.a.push(new hr(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.sc,
16
- e.Rd,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var yr=class{constructor(){this.f=new _.O(er);this.a=this.l=null}onPlayerCreated(a){this.l=a}onPlayerWillDestroy(){this.l=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){var b=a.getConfiguration();if(b.thumbnails){var c=b.thumbnails;c&&(void 0===c.enabled||c.enabled)&&((b=c.mode)||(b=qr(c.url||null)),b&&("SINGLE"===b||"GRID"===b?this.a=new wr:"WEBVTT"===b?this.a=new vr:"BIF"===b&&(this.a=new tr)),this.a&&(this.f.info("Loading thumbs configuraiton",c),this.l.one(_.dd,()=>{this.f.info("Initialize thumbnails provider");
17
- this.a.init(a,c)})))}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();this.f.info(_.td,c);pr(c)&&(this.a=new xr,this.a.init(a,b))}}}get(a){return this.a?this.a.get(a):Promise.reject()}id(){return"thumbnails"}};_.x("clpp.thumbnails.ThumbnailsPlugin",yr);yr.prototype.get=yr.prototype.get;yr.Id="thumbnails";_.Cl(new class{create(){return new yr}});};f.call(g, window);
7
+ return this.f}};_.x("clpp.thumbnails.Thumbnail",Br);Br.prototype.load=Br.prototype.load;Br.prototype.element=Br.prototype.element;Br.prototype.raw=Br.prototype.raw;var Lr=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.a=new _.Hj}load(){return this.a}},Nr=class{constructor(){this.g=new _.O(yr);this.f=new ArrayBuffer(0);this.a=[];this.h=new _.Hj}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,wr);b=_.wg(b.url);b.type=_.vg;a.getNetworkEngine().fetch(b).O.then(c=>{{var d=c.data;c=_.L(this.f);d=_.L(d);const e=c.byteLength+d.byteLength,f=new ArrayBuffer(e),g=new DataView(f);let h=0;for(let k=0,l=c.byteLength;k<l;k++)g.setUint8(h,
8
+ c[k]),h+=1;for(let k=0,l=d.byteLength;k<l;k++)g.setUint8(h,d[k]),h+=1;this.f=f;this.g.info(`Appended ${d.byteLength} bytes.`+`Total data now ${e} bytes.`)}}).then(()=>{{var c=this.f,d=_.L(c),e=String.fromCharCode.apply(null,Mr),f=Array.prototype.slice.call(d,0,8);d=64;let h=0;var g=!1;if(e===String.fromCharCode.apply(null,f))for(c=new DataView(c,16,20),c=c.getUint32(0,!0),0===c&&(c=1E3);!g;){h+=1;f=c;e=new DataView(this.f,d);g=e.getUint32(0,!0);f=g*f/1E3;e=e.getUint32(4,!0);e=new Lr(f,e);if(f=this.a.length)f=
9
+ this.a[f-1],f.length=e.offset-f.offset,f.duration=e.time-f.time;this.a.push(e);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<h)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");}}).then(()=>{zr(this)}).catch(c=>{this.g.error("Error while loading thumbnail index",c)})}get(a){return 0>a?Promise.reject(vr+a):this.h.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(c.time>=a&&a<c.time+c.duration)return Cr(this,c).then(d=>
10
+ d.load().then(()=>d))}return Promise.reject(ur+a)})}},Mr=[137,66,73,70,13,10,26,10];var Or=class{constructor(){this.log=new _.O(yr);this.g=null;this.a=[];this.w=!1}init(a,b){this.g=a;a.one(_.Rd,()=>{this.w=!0});a.isLive()||this.m().then(()=>{b&&b.preload&&Er(this,b.preload)})}};var Pr=class extends Or{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,wr);const c=b.url,d=_.wg(c);d.type=_.vg;this.f=a.getNetworkEngine().fetch(d).O.then(e=>{if(e=e.data){e=_.gg(e).split(/\n/);for(let m=0;m<e.length;m++){var f=e[m],g=f.split(" --\x3e ");if(2===g.length){f=e[++m];var h=f.indexOf("\x3d");var k=h=0>h?[]:f.substr(h+1).split(/,/).map(parseFloat);h=k[0];const n=k[1],q=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,l);f.match(/^http|^\/\//)||(f=
11
+ c.substr(0,c.lastIndexOf("/"))+"/"+f);l=Gr(g[0]);g=Gr(g[1])-l;this.a.push(new Br(f,l,g,h,n,q,k,0,0))}}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnail",e)});super.init(a,b)}get(a){return 0>a?Promise.reject(vr+a):this.f.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(c.time>=a&&a<c.time+c.duration)return c.load().then(()=>c)}return Promise.reject(ur+a)})}m(){return this.f}};var Qr=class extends Or{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,wr);if("GRID"===b.mode&&!b.gridSize)throw new _.H(_.G,7,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(_.G,7,7100,"Duration is mandatory");this.f=b;const c=this.f.duration,d=this.f.url;if(!c||!d)throw this.log.error(tr,c,d),new _.H(_.G,7,7100,tr);this.j=c;if(this.f.gridSize)try{const e=this.f.gridSize.split(/x/).map(f=>parseInt(f,10)).filter(f=>
12
+ 0<f);if(2===e.length)this.h=e[0],this.o=e[1];else throw new _.H(_.G,7,7100,xr);}catch(e){throw this.log.error("Error during parsing gridSize",e),new _.H(_.G,7,7100,xr);}super.init(a,b)}get(a){const b=this.g.getDuration();if(void 0===this.f.duration)return Promise.reject("Duration configuration not defined");const c=Math.floor(a/this.f.duration);if(0>a||a>b)return Promise.reject(vr+a);const d=this.a[c];return d?d.load().then(()=>d):Promise.reject(ur+a+" at index "+c)}m(){if(0<this.a.length)return Promise.resolve();
13
+ var a=this.g.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new Br(e,this.j*(d*b+g),this.j,0,0,0,0,this.h,this.o,g%this.h,Math.floor(g/this.h),f))}return Promise.resolve()}};var Rr=class extends Or{get(a){if(0>a)return this.log.error("Position must be greater than 0 but is "+a),Promise.reject();var b=this.g.getPeriods();b=Hr(b,a);if(!b)return this.log.error("Could not find period for specified position",a),Promise.reject();var c=b.thumbStreams.sort(this.f)[0];if(!c)return this.log.error("Could not find thumb stream for specified position",a),Promise.reject();b=c.findSegmentPosition(a-b.startTime);if(null===b||void 0===b)return this.log.error("Could not find segment index for specified position",
14
+ a),Promise.reject();var d=c.getSegmentReference(b);if(d){const e=Ir(d,c);a=Math.floor((a-d.startTime)/e.durationPerTile);let f;if(0<this.a.length)d=c.findSegmentPosition(0),null!==d&&(f=this.a[(b-d)*e.ge+a]);else if((c=d.Ka())&&0<c.length){let g=0,h=0;d=d.startTime;1<e.ge&&(g=a%e.sc,h=Math.floor(a/e.sc),d+=a*e.durationPerTile);f=new Br(c[0],d,e.durationPerTile,void 0,void 0,void 0,void 0,e.sc,e.Td,g,h)}if(f)return f.load().then(()=>f)}this.log.error("segment reference for specified segment index does not exist",
15
+ b);return Promise.reject()}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}m(){if(0<this.a.length)return Promise.resolve();var a=this.g.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.y(d=a.getSegmentReference(c++));){const e=Ir(d,a),f=d.Ka()[0],g=new Image;let h=d.startTime;for(let k=0;k<e.Td;++k)for(let l=0;l<e.sc;++l)this.a.push(new Br(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.sc,
16
+ e.Td,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Sr=class{constructor(){this.f=new _.O(yr);this.a=this.l=null}onPlayerCreated(a){this.l=a}onPlayerWillDestroy(){this.l=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){var b=a.getConfiguration();if(b.thumbnails){var c=b.thumbnails;c&&(void 0===c.enabled||c.enabled)&&((b=c.mode)||(b=Kr(c.url||null)),b&&("SINGLE"===b||"GRID"===b?this.a=new Qr:"WEBVTT"===b?this.a=new Pr:"BIF"===b&&(this.a=new Nr)),this.a&&(this.f.info("Loading thumbs configuration",c),this.l.one(_.dd,()=>{this.f.info("Initialize thumbnails provider");
17
+ this.a.init(a,c)})))}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();this.f.info(_.td,c);Jr(c)&&(this.a=new Rr,this.a.init(a,b))}}}get(a){return this.a?this.a.get(a):Promise.reject()}id(){return"thumbnails"}};_.x("clpp.thumbnails.ThumbnailsPlugin",Sr);Sr.prototype.get=Sr.prototype.get;Sr.Id="thumbnails";_.Cl(new class{create(){return new Sr}});};f.call(g, window);