@castlabs/prestoplay 6.28.0 → 6.30.0

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 (66) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -7
  5. package/cjs/cl.cast.js +128 -116
  6. package/cjs/cl.conviva.js +32 -32
  7. package/cjs/cl.core.js +619 -614
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +92 -89
  10. package/cjs/cl.externs.js +154 -60
  11. package/cjs/cl.freewheel.js +25 -25
  12. package/cjs/cl.hls.js +77 -77
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +25 -23
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +350 -349
  18. package/cjs/cl.muxdata.js +14 -14
  19. package/cjs/cl.onboard.js +4 -4
  20. package/cjs/cl.persistent.js +15 -15
  21. package/cjs/cl.playlist.js +6 -6
  22. package/cjs/cl.simid.js +16 -16
  23. package/cjs/cl.smooth.js +57 -58
  24. package/cjs/cl.thumbnails.js +26 -26
  25. package/cjs/cl.tizen.js +60 -60
  26. package/cjs/cl.ttml.js +29 -29
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +12 -12
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.yospace.js +4 -4
  32. package/cjs/cl.youbora.js +38 -38
  33. package/cjs/polyfill.min.js +2 -2
  34. package/cl.adobe.js +3 -3
  35. package/cl.airplay.js +3 -3
  36. package/cl.broadpeak.js +6 -6
  37. package/cl.cast.js +101 -92
  38. package/cl.conviva.js +27 -27
  39. package/cl.core.js +500 -496
  40. package/cl.crypto.js +9 -9
  41. package/cl.dash.js +84 -83
  42. package/cl.externs.js +150 -60
  43. package/cl.freewheel.js +19 -19
  44. package/cl.hls.js +82 -80
  45. package/cl.hlssmpte.js +5 -5
  46. package/cl.htmlcue.js +26 -26
  47. package/cl.ima.js +19 -17
  48. package/cl.mediatailor.js +2 -2
  49. package/cl.mse.js +304 -305
  50. package/cl.muxdata.js +13 -13
  51. package/cl.onboard.js +4 -4
  52. package/cl.persistent.js +11 -11
  53. package/cl.playlist.js +5 -5
  54. package/cl.simid.js +14 -14
  55. package/cl.smooth.js +60 -60
  56. package/cl.thumbnails.js +19 -19
  57. package/cl.tizen.js +56 -56
  58. package/cl.ttml.js +22 -22
  59. package/cl.verimatrix.js +4 -4
  60. package/cl.vimond.js +8 -8
  61. package/cl.vr.js +14 -14
  62. package/cl.vtt.js +12 -12
  63. package/cl.yospace.js +3 -3
  64. package/cl.youbora.js +31 -31
  65. package/package.json +1 -1
  66. package/typings.d.ts +198 -88
package/cl.hls.js CHANGED
@@ -1,80 +1,82 @@
1
- import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var EI="CLOSED-CAPTIONS",FI="Could not parse MP4 segment start time.",GI="DURATION",HI="EXT-X-DATERANGE",II="EXT-X-DISCONTINUITY",JI="EXT-X-KEY",KI="EXT-X-MAP",LI="EXT-X-MEDIA",MI="EXT-X-MEDIA-SEQUENCE",NI="EXT-X-PROGRAM-DATE-TIME",OI="EXT-X-STREAM-INF",PI="Failed to infer discontinuity number",QI="Guessing audio-only",RI="METHOD",SI="SAMPLE-AES-CTR",TI="SUBTITLES",UI="_HLS_part",VI="application/vnd.apple.mpegurl",WI="manifestloaded",XI="sample",YI=function(a,b){return _.K(a,b,void 0,
2
- {required:!0})},ZI=function(a){if(1>a.a)throw _.Oo();--a.a},$I=function(a,b){for(const c in a){if(!(c in b))return!1;const d=a[c],e=b[c];if(d&&typeof d===_.Ge&&e&&typeof e===_.Ge){if(!$I(d,e))return!1}else if(void 0!==d&&void 0!==e&&d!==e)return!1}return!0},aJ=function(a,b){if(!$I(a,b))return!1;for(const c in b){if(!(c in a))return!0;const d=a[c],e=b[c];if(!d&&e||d&&typeof d===_.Ge&&e&&typeof e===_.Ge&&aJ(d,e))return!0}return!1},bJ=function*(a){let b=-1,c=void 0,d=void 0;for(const e of a)0<=b&&(yield{gg:b,
3
- item:d,mi:c,next:e}),b++,c=d,d=e;-1!==b&&(yield{gg:b,mi:c,item:d,next:void 0})},cJ=function(a){if(null!==a&&void 0!==a)return Number(a)},dJ=function(a){return 0>a?[]:Array.from({length:a},(b,c)=>c)},eJ=function(a){return new Uint8Array([a>>24&255,a>>16&255,a>>8&255,a&255])},fJ=function(a,b=0){return b+10<=a.length&&73===a[b]&&68===a[b+1]&&51===a[b+2]&&255>a[b+3]&&255>a[b+4]&&128>a[b+6]&&128>a[b+7]&&128>a[b+8]&&128>a[b+9]?!0:!1},gJ=function(a,b){return a.filter(c=>c.name===b)},hJ=function(a){const b=
4
- /^[a-zA-Z0-9_-]+$/,c=new Set;a.forEach(d=>{const e=_.K(d,"VALUE"),f=_.K(d,_.Sa),g=_.K(d,"IMPORT"),h=_.K(d,"QUERYPARAM");if(1!==[f,g,h].filter(Boolean).length||f&&null==e)throw new _.H(_.C,4,4044,{message:"Invalid tag.",text:d.toString()});d=f||g||h;if(c.has(d))throw new _.H(_.C,4,4044,`EXT-X-DEFINE redefined variable "${d}".`);if(!b.test(d))throw new _.H(_.C,4,4044,`EXT-X-DEFINE invalid variable name "${d}".`);c.add(d)})},iJ=function(a,b){const c=Array.isArray(b)?b:[b];return a.filter(d=>{d=YI(d,
5
- _.sb);return c.includes(d)})},jJ=function(a,b){return a.some(c=>c.name===b)},kJ=function(a,b,c){c=void 0===c?{}:c;a=a.find(d=>d.name===b)||null;if(!a&&c.required)throw new _.H(_.C,4,4024,{missingTag:b});return a},lJ=function(a){var b=kJ(a,"EXT-X-TILES");if(!b)return{hd:1,Cd:1,durationPerTile:null};a=_.K(b,"LAYOUT")||"1x1";b=_.K(b,GI);a=_.uB(a);return{hd:a.hd,Cd:a.Cd,durationPerTile:b?Number(b):null}},mJ=function(a){const b=new Set;a.variants.forEach(c=>{c.audio&&b.add(c.audio);c.video&&b.add(c.video)});
6
- a.textStreams.forEach(c=>b.add(c));a.thumbStreams.forEach(c=>b.add(c));return Array.from(b)},nJ=function(a,b){Array.isArray(a)||(a=[a]);a.forEach(c=>{for(const d of mJ(c))b(d,c)})},oJ=function(a){return a.some(b=>jJ(b.aa,"EXT-X-ENDLIST"))},pJ=function(a){return a.type===_.q||a.type===_.t},qJ=function(a){if(kJ(a,"EXT-X-ENDLIST"))return _.Db;a=kJ(a,"EXT-X-PLAYLIST-TYPE");if(!a)return"LIVE";if(a.value===_.Db)return _.Db;if("EVENT"===a.value)return"EVENT";throw new _.H(_.C,4,4044,`Invalid EXT-X-PLAYLIST-TYPE value: ${a.value}`);
7
- },rJ=function(a){a={AUDIO:_.q,VIDEO:_.t,SUBTITLES:_.J,"CLOSED-CAPTIONS":_.J}[a.toUpperCase()];if(!a)throw new _.H(_.C,4,4044,"EXT-X-MEDIA tag has an invalid TYPE attribute.");return a},sJ=function(a,b,c){c=void 0===c?!1:c;var d=0;let e=null;if(a){d=a.split("@");a=Number(d[0]);if(0>=a)throw new _.H(_.C,4,4044,"Byte range length must be positive.");if(d[1]){if(d=Number(d[1]),0>d)throw new _.H(_.C,4,4044,"Byte range start byte must not be negative.");}else{if(c)throw new _.H(_.C,4,4044,"Invalid byte range, offset is required but missing.");
8
- if(null==b)throw new _.H(_.C,4,4044,"Invalid byte range, cannot calculate offset based on previous byte ranges.");d=b+1}e=d+a-1}return{ma:d,ja:e}},tJ=function(a,b){a=kJ(a,"EXT-X-BYTERANGE");return sJ(a?a.value:null,b)},uJ=function(a){a=kJ(a,"EXTINF",{required:!0}).value.split(",");const b=Number(a[0]);if(isNaN(b))throw new _.H(_.C,4,4044,"#EXTINF must be a number.");return{duration:b,title:a[1]||null}},vJ=function(a,b){b=void 0===b?{}:b;const c={Lf:!1,mh:!1,nh:null,Qh:null,xg:null};a=kJ(a,"EXT-X-SERVER-CONTROL",
9
- {required:b.Eg});if(!a)return c;const d=e=>null==e?null:Number(e);c.Lf="YES"===_.K(a,"CAN-BLOCK-RELOAD");c.mh="YES"===_.K(a,"CAN-SKIP-DATERANGES");c.nh=d(_.K(a,"CAN-SKIP-UNTIL"));c.Qh=d(_.K(a,"HOLD-BACK"));c.xg=d(_.K(a,"PART-HOLD-BACK",void 0,{required:b.Eg}));return c},wJ=function(a,b,c){c=void 0===c?!1:c;a=_.K(a,"BYTERANGE");return sJ(a,b,c)},xJ=function(a){const b=gJ(a,LI),c=gJ(a,OI);a=gJ(a,"EXT-X-IMAGE-STREAM-INF");return{zc:{Ff:iJ(b,[_.gA,_.Cb]),closedCaptions:iJ(b,EI),Ni:iJ(b,TI)},Dd:c,He:a}},
10
- zJ=function(a,b){const c=tJ(a.aa,null);return new yJ(0,0,0,()=>[a.a],c.ma,c.ja,0,b)},AJ=function(a){let b=Infinity,c=Infinity;mJ(a).filter(pJ).forEach(d=>{{d=d.S;var e=d[0].startTime;const f=d[d.length-1].endTime;d=e;e=f-e}b=Math.min(b,d);c=Math.min(c,e)});return{Pc:b,duration:c}},BJ=function(a){return a.map(b=>{({duration:b}=AJ(b));return b}).reduce((b,c)=>b+c,0)},CJ=function(a){return(a.video?a.video.Ca:"")+" - "+(a.audio?a.audio.Ca:"")},DJ=function(a,b,c,d,e){if(b===_.Db)return{delay:0,Bd:0};b=
11
- kJ(a,"EXT-X-PART-INF");if(c&&b){e=Number(YI(b,"PART-TARGET"));if(null!=d)return{delay:d,Bd:e};({xg:d}=vJ(a,{Eg:!0}));return{delay:d,Bd:e}}a=kJ(a,"EXT-X-TARGETDURATION",{required:!0});a=Number(a.value);e=e||a;return null!=d?{delay:d,Bd:e}:{delay:3*a,Bd:e}},FJ=function(a){const b=new Map;a.forEach(c=>{var d=`${EJ(c).type}:${EJ(c).groupId}`;b.has(d)?(d=b.get(d),d.includes(c)||d.push(c)):b.set(d,[c])});return b},GJ=function(a){const b=new Map;for(const c of a){a=_.K(c,_.La);a=_.Cn(a||_.jg);const d=YI(c,
12
- _.Ea),e=YI(c,"INSTREAM-ID");b.has(d)||b.set(d,new Map);b.get(d).set(e,a)}return b},HJ=function(a){return a.filter(b=>"mp4a.40.34"!==b)},IJ=function(a,b){if(!a)return null;const c=a.Ca;return b.find(d=>EJ(d).Ca===c)||null},JJ=function(a){return(a=_.K(a,"CHANNELS"))?parseInt(a.split("/")[0],10):null},KJ=function(a){return a.some(b=>b.startsWith("#EXT-X-TARGETDURATION"))?1:0},LJ=function(a,b){const c=new Map,d=new URL(b);a.forEach(e=>{var f=_.K(e,_.Sa),g=_.K(e,"QUERYPARAM");if(f)g=YI(e,"VALUE"),c.set(f,
13
- g);else if(g){f=d.searchParams.get(g);if(null==f)throw new _.H(_.C,4,4044,`Query param '${g}' missing in playlist URI.`);if(!f)throw new _.H(_.C,4,4044,`Query param '${g}' has no associated value`+" in playlist URI.");c.set(g,decodeURIComponent(f))}});return c},MJ=function(a,b){return a.replace(/\{\$([a-zA-Z0-9_-]+)\}/g,(c,d)=>{c=b.get(d);if(null==c)throw new _.H(_.C,4,4044,`Undefined variable '${d}'`);return c})},NJ=function(a,b){a.forEach(c=>{c.attributes.forEach(d=>{d.value=MJ(d.value,b)})})},
14
- QJ=function(a,b,c){const d=[];for(let e=0;e<b.length;e++){const f=OJ(a,b[e]);d.push(f);if(f.name===OI){const g=b[e+1];if(!g)throw new _.H(_.C,4,4044,"EXT-X-STREAM-INF is not followed by a URI.");f.attributes.push(new _.gr(_.ub,g));e++}}b=gJ(d,"EXT-X-DEFINE");hJ(b);b=LJ(b,c);a.a=b;NJ(d,a.a);return new PJ(c,0,d)},UJ=function(a,b,c){const {Ai:d,Ph:e,Wi:f}=RJ(b),g=SJ(a,f,c);b=e.map(k=>OJ(a,k,g));const h=TJ(a,c,d,g);return new PJ(c,1,b,h)},VJ=function(a,b,c){b=b.trim().split(/\n+/m).map(d=>d.trim()).filter(d=>
15
- d.length&&!/^#(?!EXT)/m.test(d));if(!/^#EXTM3U($|[ \t\n])/m.test(b[0]))throw new _.H(_.C,4,4015);b=b.slice(1);return 0===KJ(b)?QJ(a,b,c):UJ(a,b,c)},RJ=function(a){const b=[],c=[],d=[];for(const e of a)WJ.test(e)?d.push(e):XJ.test(e)?c.push(e):b.push(e);return{Ai:b,Ph:c,Wi:d}},SJ=function(a,b,c){b=b.map(e=>OJ(a,e));hJ(b);const d=LJ(b,c);b.map(e=>_.K(e,"IMPORT")).filter(Boolean).forEach(e=>{const f=a.a.get(e);if(null==f)throw new _.H(_.C,4,4044,`Cannot import variable '${e}' as it is not defined `+
16
- "in the master playlist");d.set(e,f)});return d},OJ=function(a,b,c){a=_.ir(a.h++,b);c&&NJ([a],c);return a},TJ=function(a,b,c,d){const e=[];let f=[],g=[];c.forEach(h=>{/^(#EXT)/.test(h)?(h=OJ(a,h,d),"EXT-X-PART"===h.name||"EXT-X-PRELOAD-HINT"===h.name&&"PART"===_.K(h,_.sb)?g.push(h):f.push(h)):(jJ(f,"EXT-X-GAP")||(h=MJ(h,d),h=_.Lm(h,b),e.push(new YJ(h,f,g))),f=[],g=[])});0<g.length&&e.push(new YJ(null,f,g));return e},ZJ=function(a,b,c){const d=[],e=[];e.push(new _.gr(_.ma,"0"));e.push(new _.gr(_.ub,
17
- b));c.length&&e.push(new _.gr(_.pa,c));d.push(new _.hr(a.h++,OI,e));return new PJ(b,0,d)},$J=function(a){function b(h,k,l){let m="";for(;k<l;k++)m+="%"+("00"+h[k].toString(16)).slice(-2);return m}function c(h){return h[0]<<21|h[1]<<14|h[2]<<7|h[3]}function d(){throw new _.H(_.C,4,4030);}fJ(a)||d();let e=10;a[5]&64&&(e=e+4+c(a.subarray(10,14)));do{var f=c(a.subarray(e+4,e+8));1>f&&d();var g=String.fromCharCode(a[e],a[e+1],a[e+2],a[e+3]);if("PRIV"===g){g=a.subarray(e+10,e+f+10);for(let h=0;h<g.byteLength;h++)if(0===
18
- g[h]){if("com.apple.streaming.transportStreamTimestamp"===unescape(b(g,0,h)))return a=g.subarray(h+1),f=(a[3]&1)<<30|a[4]<<22|a[5]<<14|a[6]<<6|a[7]>>>2,f*=4,f+=a[7]&3,Math.round(f/9E4);break}}fJ(a,e)||d();e+=10;e+=f}while(e<a.byteLength);return d()},aK=function(a,b){let c=null,d=0;try{(new _.dp).N(_.Ce,_.Xo).N(_.gg,_.Xo).N(_.xe,_.Xo).ea("mdhd",g=>{g.reader.skip(0===g.version?8:16);d=_.M(g.reader);g.parser.stop()}).parse(b,!0)}catch(g){c=g}if(c||!d)throw _.Gv.error("Unable to find timescale in init segment!"),
19
- new _.H(_.C,4,4030,FI,c);let e=0,f=!1;try{(new _.dp).N("moof",_.Xo).N("traf",_.Xo).ea("tfdt",g=>{var h=d;if(0===g.version)h=_.M(g.reader)/h;else{{const k=_.M(g.reader),l=_.M(g.reader);if(!(2097151>=k||h>=Math.pow(2,12)))throw Error("Cannot accurately parse MP4 timestamp, base time is too high and timescale is \x3c\x3d 2^12");h=k/h*Math.pow(2,32)+l/h}}e=h;f=!0;g.parser.stop()}).parse(a,!0)}catch(g){c=g}if(c||!f)throw new _.H(_.C,4,4030,FI,c);return e},bK=function(a){for(;a.getPosition()<a.Ma()-1;){const b=
20
- a.getPosition();if(71===_.Po(a))return ZI(a),b}return-1},cK=function(a){function b(){d.seek(e+188);f=_.Po(d);71!==f&&(d.seek(e+192),f=_.Po(d));71!==f&&(d.seek(e+204),f=_.Po(d));71!==f&&c();ZI(d)}function c(){throw new _.H(_.C,4,4030);}const d=new _.Wp(new DataView(a),!1);let e=0,f=0;e=bK(d);0>e&&(_.Gv.error("Unable to find sync byte in TS after scanning."),c());for(;;){e=d.getPosition();f=_.Po(d);71!==f&&c();a=_.Qo(d);if(8191===(a&8191)){b();continue}if(!(a&16384)){b();continue}a=(_.Po(d)&48)>>4;
21
- 0!==a&&2!==a||c();3===a&&(a=_.Po(d),d.skip(a));if(1!==_.M(d)>>8){b();continue}d.skip(3);a=_.Po(d)>>6;0!==a&&1!==a||c();0===_.Po(d)&&c();a=_.Po(d);const g=_.Qo(d),h=_.Qo(d);return(1073741824*((a&14)>>1)+((g&65534)<<14|(h&65534)>>1))/9E4}},fK=function(a){const b=dK(a),c=eK(a);a.forEach(d=>{const e=d.S,f=e.findIndex(h=>h.ra===b);let g=e.findIndex(h=>h.ra===c+1);-1===g&&(g=e.length);d.S=e.slice(f,g)})},eK=function(a){a=a.map(b=>b.S[b.S.length-1].ra);return Math.min(...a)},dK=function(a){a=a.map(b=>b.S[0].ra);
22
- return Math.max(...a)},iK=function(a){var b=YI(a,RI);if(!gK.includes(b))return hK.error("PlayReady in HLS is only supported with [",gK.join(", "),"], not",b),null;a=YI(a,_.ub);b=_.bm(a);a=null;b=_.F(b.data);try{a=_.VA(_.cq(b))}catch(c){a=b}return _.iB(_.sd,[{initDataType:_.Tc,initData:a}],"")},kK=function(a){if(0===a.length)return jK();if(a.some(c=>"whole-segment"===c.type)||a.every(c=>c.type===_.Fe))return a[0];a=a.filter(c=>c.type===XI);const b=_.bi(a.flatMap(c=>c.drmInfos));return{keyId:a[a.length-
23
- 1].keyId,type:XI,drmInfos:b}},nK=function(a,b){return lK(a).map(c=>mK(c.aa,b)).filter(Boolean)},lK=function(a){return a.filter(b=>jJ(b.aa,JI))},mK=function(a,b){a=gJ(a,JI).filter(d=>"AES-128"!==YI(d,RI));if(0===a.length)return null;var c=YI(a[0],RI);if(1===a.length&&"NONE"===c)return jK();c=a.map(d=>YI(d,RI));if(!c.every(d=>"SAMPLE-AES"===d)&&!c.every(d=>d===SI))throw oK.warn(`EXT-X-KEY methods ${c.join(", ")} are incompatible.`),new _.H(_.C,4,4044,"Multiple EXT-X-KEY tags with incompatible METHOD values.");
24
- a=a.map(d=>{const e=_.K(d,"KEYFORMAT","identity");{const f=pK[e]||null;d=f?f(d,b):null}d||oK.warn("Unsupported HLS KEYFORMAT",e);return d}).filter(Boolean);if(0===a.length)throw new _.H(_.C,4,4026);return{keyId:a.map(d=>d.keyIds).reduce((d,e)=>d.concat(e),[]).reverse()[0]||null,type:XI,drmInfos:a}},jK=function(){return{type:_.Fe,drmInfos:[],keyId:null}},qK=function(a,b,c){a=gJ(a,JI)[0];if(!a||"AES-128"!==YI(a,RI))return null;var d=_.K(a,"IV","");d?c={iv:_.Yl((d||"0x").slice(2)),generatedIv:!1}:(d=
25
- _.K(a,"KEYFORMAT"),c=null==d||"identity"===d?{iv:_.am(new Uint8Array(12),eJ(c)),generatedIv:!0}:{iv:null,generatedIv:!1});const {iv:e,generatedIv:f}=c;return{method:"AES-128",url:_.Lm(YI(a,_.ub),b),iv:e,generatedIv:f}},rK=function(a,b,c){return _.w(function*(){const d=b.f(),e=_.QB(b.Da(),b.ma,b.ma+2048-1,a.a.attemptParameters);e.type=2;const f=_.QB(b.Da(),b.ma,b.ja,a.a.attemptParameters);f.type=2;d&&(f.keyInfo=d);try{return yield a.f(c?f:e)}catch(g){if(7001===g.code||c)throw g;a.g.warn("Unable to fetch a partial HLS segment! Falling back to a full segment request, which is expensive! Your server should support Range requests and CORS pre-flights.",
26
- e.uris[0]);try{return yield a.f(f)}catch(h){throw a.g.error("Failed to fetch media segment to parse its start timestamp.",f.uris[0],h),new _.H(_.C,4,4030,"Failed to fetch the media segment.");}}})},sK=function(a,b,c,d,e,f){return _.w(function*(){a.g.debug("Fetching segment to find start time");if("audio/mpeg"===d||d===_.Ec||d===_.Dc)return 0;if(d===_.Cc){var g=yield rK(a,c,f);g=_.F(g.data);if(!fJ(g))throw new _.H(_.C,4,4030,"AAC segment does not contain an ID3 tag.");return $J(g)}if(d===_.yg||d===
27
- _.Fc)return g=[rK(a,c,f)],b&&g.push(rK(a,b,!0)),g=yield Promise.all(g),aK(g[0].data,(g[1]||g[0]).data);if(d===_.xg)return g=yield rK(a,c,f),cK(g.data);if(!_.at(`${d.split("/")[0]||""}/mp4;codecs="${e}"`))return 0;throw new _.H(_.C,4,4030);})},tK=function(a,b){a=a.map(c=>c.streams[b]);return a.some(c=>null==c)?null:a},uK=function(a,b){a=a.streams.find(c=>{c=c.S;return c[0].position<=b&&b<=c[c.length-1].position});return null==a?null:a.S.find(c=>c.position===b)||null},EJ=function(a){return a.streams[0]},
28
- vK=function(a,b){a.streams.forEach(c=>{c.se=b})},wK=function(a,b){a.streams.forEach(c=>{c.width=b})},xK=function(a,b){a.streams.forEach(c=>{c.height=b})},yK=function(a,b){a.streams.forEach(c=>{c.frameRate=b})},zK=function(a,b){a.streams.forEach(c=>{c.bandwidth=b})},AK=function(a,b){a=a.map(c=>c.a[b]);return a.some(c=>null==c)?null:a},BK=function(a,b){const c=new Set(a.map(d=>d.ra));return b.filter(d=>!c.has(d.ra))},DK=function(a,b){for(;a[0].ra<b[0].ra;)a.splice(0,1);var c=a[0];let d=b[0];c.startTime===
29
- d.startTime&&c.endTime===d.endTime||CK(c,d);const e=a.length-1;c=a[e];d=b[e];0<e&&(c.startTime!==d.startTime||c.endTime!==d.endTime)&&CK(c,d);for(c=e+1;c<b.length;)a.push(b[c]),c++},IK=function(a,b,c,d,e){var f=b[0].length();f=dJ(f).map(g=>{var h=AK(b,g)||[];const k=tK(c,g)||[];g=tK(d,g)||[];{const l=[...EK(h),...k,...g].filter(Boolean);FK(l);const {ra:m,duration:n}=l[0];h={configurationId:a,variants:h,textStreams:k,thumbStreams:g,startTime:0,id:`P${m}`,endTime:n,duration:n,ra:m}}return h});e&&GK(f[0]);
30
- HK(f);return f},EK=function(a){a=new Set(a.flatMap(b=>[b.video,b.audio]).filter(Boolean));return Array.from(a)},GK=function(a){const b=EK(a.variants)[0].S[0].Ba;a.startTime+=b;a.endTime+=b},HK=function(a){for(let b=0;b<a.length;b++){const c=a[b],d=a[b-1];c.startTime=d?d.endTime:c.startTime;c.endTime=c.startTime+c.duration}},CK=function(a,b){a.startTime=b.startTime;a.endTime=b.endTime;a.duration=b.duration;JK(a.variants,b.variants);KK(mJ(a),mJ(b))},JK=function(a,b){const c=new Map(a.map(d=>[CJ(d),
31
- d]));b.forEach(d=>{c.get(CJ(d)).drmInfos=d.drmInfos})},KK=function(a,b){const c=new Map(a.map(d=>[d.Ca,d]));b.forEach(d=>{const e=c.get(d.Ca);e.S=d.S;d.S.forEach(f=>{f.initSegment=e.initSegmentReference});e.segmentIndex.replace(d.S);e.Pc=d.Pc;e.Ke=d.Ke;e.duration=d.duration;e.Uf=d.Uf;e.encrypted=d.encrypted;e.drmInfos=d.drmInfos;e.keyId=d.keyId})},FK=function(a){const b=LK(a);a.forEach(c=>{_.MB(c.segmentIndex,b);c.duration=b;c.Ke=c.Pc+b})},LK=function(a){let b=Infinity;a.filter(pJ).forEach(c=>{b=
32
- Math.min(b,c.duration)});return b},PK=function(a){if(!(2>a.length)&&MK(a)){a=a.map(e=>({playlist:e,Qf:NK(e.S[0])}));var b=a.map(e=>e.Qf),c=Math.max(...b);b=Math.min(...b);if(!(1E3>c-b)){a.forEach(e=>{const f=e.playlist;for(e=e.Qf;0<f.S.length&&1E3<c-e;){var g=f.S.shift(),h=f.S[0];if(!h)break;OK(g,h);h=NK(h);null!=h?e=h:({duration:h}=uJ(g.aa),e+=1E3*h)}});a=a.map(e=>e.playlist);if(a.some(e=>0===e.S.length))throw new _.H(_.C,4,4048,"Media playlists are completely out of sync.");var d=Math.min(...a.map(e=>
33
- e.S.length));a.forEach(e=>{for(;e.S.length>d;)e.S.pop()})}}},MK=function(a){return a.every(b=>!!NK(b.S[0]))},OK=function(a,b){a&&b&&[KI,JI].forEach(c=>{if(!jJ(b.aa,c)){var d=a.aa.filter(e=>e.name===c);0!==d.length&&d.forEach(e=>{b.aa.push(e)})}})},QK=function(a,b){nJ(b,(c,d)=>{_.cC(a,c.S,d.startTime)});_.VB(a.a,b[0].startTime,b[b.length-1].endTime)},RK=function(a){return null===a.o?[]:[a.o.audio,a.o.video].filter(b=>b).map(b=>b.Ca)},SK=function(a,b){return _.w(function*(){var c=_.nk([b],a.a.attemptParameters);
34
- c.type=1;c=yield a.H(c);let d="";try{d=_.oi(c.data)}catch(e){throw new _.H(_.C,4,4042);}d=d.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");d=d.trim();return{text:d,response:c}})},cL=function(a,b){return _.w(function*(){var c=TK(a,b,a.w,"");if(1===c.type){var d=c.S[0].a;c=UK(d);if(!c)throw new _.H(_.C,4,4021,`Unknown file extension ${d}`);d="";c===_.t?d="avc1.42E01E":c===_.q&&(d="mp4a.40.2");c=ZJ(a.R,a.w,a.a.hlsDefaultCodecs||d)}d=xJ(c.aa);c=VK(d.zc.Ff);c.forEach(m=>{a.J.add(m.groupId)});var e=yield WK(a,d);
35
- var f=e.$h;const g=e.periods;var h=e.oi;const k=e.Pi;d=e.alternativeVariants;const l=e.alternativeTextStreams;e=e.alternativeImageStreams;if(!a.D)throw new _.H(_.C,7,7001);XK(a,g);h=YK(a,f.delay,g,h);ZK(a)||(a.G=f.Bd,$K(a));aL(a,h,g);f=bL(a,k);c={presentationTimeline:h,periods:g,minBufferTime:0,cues:f,muxedAudioTracks:c};d&&(c.alternativeVariants=d);l&&(c.alternativeTextStreams=l);e&&(c.alternativeImageStreams=e);a.g.debug("HLS playlist parsed",c);return c})},eL=function(a,b){return Promise.all(b.map(c=>
36
- dL(a,c)))},gL=function(a,b){b.forEach(c=>{a:{var d=a.j.get(c.verbatimUri),e=!ZK(a),f=kJ(c.aa,"EXT-X-DISCONTINUITY-SEQUENCE");if(f)var g=Number(f.value);else{d?(f=d.streams[d.streams.length-1].S,f=f[f.length-1].ra):f=0;if(e&&0<f)try{{const k=kJ(c.aa,MI);if(!k)throw fL.error("Failed to infer discontinuity number, because EXT-X-MEDIA-SEQUENCE tag is missing."),Error(PI);const l=Number(k.value),m=uK(d,l);if(!m)throw fL.error("Failed to infer discontinuity number, could not find the appropriate segment in the previous playlist"+
37
- ` (segment position = ${l})`),Error(PI);var h=m.ra}g=h;break a}catch(k){throw new _.H(_.C,4,4024,"EXT-X-DISCONTINUITY-SEQUENCE tag is required for discontinuous HLS live streams.");}g=0}}c=c.S||[];for(const k of c)jJ(k.aa,II)&&g++,k.ra=g});fK(b)},jL=function(a,b){return _.w(function*(){const {textStreams:c,thumbStreams:d,hh:e}=yield hL(a,b);var f=a.f.periods[0].variants;a.a.lowLatencyMode&&null!==a.o&&(f=f.filter(g=>g.id===a.o.id));f=f.map(g=>{const h=IJ(g.audio,e),k=IJ(g.video,e);g=iL(a,h,k,g.bandwidth);
38
- if(!g)throw new _.H(_.C,4,4047,{message:"Video and audio are encrypted in an incompatible way.",yj:k?EJ(k).Ca:void 0,audio:h?EJ(h).Ca:void 0});return g});return IK(a.D.configurationId,f,c,d,!0)})},XK=function(a,b){ZK(a)||2!==a.a.timeline.version||(a.I||(a.I=b[0].startTime),_.eD(b,-a.I))},kL=function(a,b){b=b.flatMap(d=>d.S[0].aa);b=kJ(b,NI);if(!b)return null;const c=(new Date(b.value)).getTime();return isNaN(c)?(a.g.warn("Failed to parse EXT-X-PROGRAM-DATE-TIME tag "+`value (value: ${b.value}).`),
39
- null):c/1E3},lL=function(a,b,c){b=b.find(d=>null!==kJ(d.aa,HI));if(!b)return[];if(null===c)throw new _.H(_.C,4,4024,"EXT-X-PROGRAM-DATE-TIME tag is required when EXT-X-DATERANGE tags are present");return b.aa.filter(d=>d.name===HI).map(d=>{a:{var e=a.C,f=!ZK(a),g=_.K(d,"ID"),h=_.K(d,"START-DATE");if(null===g||null===h)_.av.warn("Invalid EXT-X-DATERANGE missing mandatory ID or START-DATE attribute, ignoring the EXT-X-DATERANGE tag.",d),d=null;else{e=f?e-c:-c;var k=new Date(h);f=k.getTime()/1E3+e;
40
- g={id:g,startTime:f,startDate:k,oe:h};h=cJ(_.K(d,GI));void 0!==h&&0<=h&&(g.duration=h);var l=cJ(_.K(d,"PLANNED-DURATION"));void 0!==l&&0<=l&&(g.plannedDuration=l);var m=_.K(d,"CLASS");null!==m&&(g.schemeIdUri=m);var n=_.K(d,"END-DATE");n=n?new Date(n):null;null!==n&&n.getTime()>=k.getTime()&&(g.endDate=n);{const v=d.attributes;if(null==v)var p=null;else{k={};for(p of v)p.name.trim().startsWith("X-")&&(k[p.name]=p.value);p=_.eh(k)?k:null}}p=p||{};(k=_.K(d,"CUE"))&&(p.CUE=k.split(","));if(_.hk(m)){k=
41
- d.attributes;if(null==k)var u=null;else{m={};for(u of k)switch(u.name){case _.Mb:m[_.Mb]=u.value;break;case _.Lb:m[_.Lb]=u.value;break;case _.Pb:m[_.Pb]=cJ(u.value);break;case _.Nb:m[_.Nb]=cJ(u.value);break;case "X-SNAP":m["X-SNAP"]=u.value.split(",");break;case _.Ob:m[_.Ob]=u.value.split(",")}m[_.Mb]&&m[_.Lb]||!m[_.Mb]&&!m[_.Lb]?(_.av.warn("Invalid EXT-X-DATERANGE Interstitial attributes X-ASSET-URI, X-ASSET-LIST"),u=null):u=_.eh(m)?m:null}if(null===u){_.av.warn("Invalid interstitial attributes, ignoring the EXT-X-DATERANGE tag.",
42
- d);d=null;break a}p=Object.assign(p,u)}_.eh(p)&&(g.customAttributes=p);g.endTime=n?n.getTime()/1E3+e:h?f+h:l?f+l:f;g.type=_.ce;d=g}}return d}).filter(Boolean)},bL=function(a,b){const c=new Set(b.map(d=>d.id));a.B.forEach((d,e)=>{c.has(e)||a.B.delete(e)});for(const d of b){if((b=a.B.get(d.id))&&b.oe!==d.oe)a.D.onError(new _.H(1,4,4044,"EXT-X-DATERANGE START-DATE has changed for"+` ID=${d.id}`));const e={configurationId:a.D.configurationId,schemeIdUri:d.schemeIdUri,customAttributes:d.customAttributes,
43
- value:"",startTime:d.startTime,oe:d.oe,endTime:d.endTime,id:d.id,type:_.ce,eventElement:null};b&&!aJ(b,e)||a.B.set(d.id,e)}return Array.from(a.B.values())},mL=function(a,b,c){a.A=_.Db;_.ZB(b,!0);b.f=c[c.length-1].endTime},TK=function(a,b,c,d){a=VJ(a.R,b,c);a.verbatimUri=d;return a},VK=function(a){return a.filter(b=>b.name===LI&&_.K(b,_.sb)===_.gA&&!_.K(b,_.ub)).map(b=>{const c=JJ(b),d=_.K(b,_.La)||_.jg;return{groupId:YI(b,_.Ea),id:_.lI++,label:YI(b,_.Sa),language:d,channelsCount:c,primary:"YES"===
44
- _.K(b,"DEFAULT")}})},WK=function(a,b){return _.w(function*(){var c=GJ(b.zc.closedCaptions),d=nL(a,b.Dd),e=yield oL(a,b),f=Object.values(e).flat().map(k=>k.playlist),g=f[0];const h=qJ(g.aa);a.A=h;gL(a,f);!ZK(a)&&PK(f);a.K=vJ(g.aa);f=DJ(g.aa,h,a.a.lowLatencyMode||!1,a.a.suggestedPresentationDelay,a.a.liveRefreshPeriod);g=yield pL(a,e.Gf,d);c=yield qL(a,e.Dd,g,c);d=yield rL(a,e.Mi,d);g=yield sL(a,e.He);d=IK(a.D.configurationId,c,d,g,!ZK(a));a.D.filterAllPeriods(d);c=[...e.Dd,...e.Gf].map(k=>k.playlist);
45
- e=kL(a,c);c=lL(a,c,e);return{periods:d,oi:e,Pi:c,$h:f}})},YK=function(a,b,c,d){let e=!0,f=null,g=0;ZK(a)||(e=!1,f=0,g=b);b=a.a.timeline||{};b.type=void 0;a=new _.pI(b,f,g,!0,void 0,!!a.a.lowLatencyMode);_.ZB(a,e);QK(a,c);d&&_.YB(a,d);return a},$K=function(a){var b=0;for(var c of a.j.values())b=Math.max(b,c.streams[0].Pc);for(c=0;95443.7176888889<=b;)c+=95443.7176888889,b-=95443.7176888889;if(c){a.g.debug("Offsetting live streams by",c,"to compensate for rollover");for(const d of a.j.values())b=d.streams[0],
46
- 95443.7176888889>b.Pc?(a.g.debug("Offset applied to",b.type),b.segmentIndex.offset(c)):a.g.debug("Offset NOT applied to",b.type)}},aL=function(a,b,c){c=BJ(c);"LIVE"===a.A||"EVENT"===a.A?(c=Math.max(c,b.J),isNaN(a.a.availabilityWindowOverride)||(c=a.a.availabilityWindowOverride),b.A=c):a.A===_.Db&&(b.f=c)},hL=function(a,b){return _.w(function*(){const c=g=>EJ(g.stream).type===_.t||EJ(g.stream).type===_.q;var d=b.filter(c),e=b.filter(g=>!c(g)),f=g=>{g=g.map(h=>{var k=EJ(h.stream);k={language:k.language,
47
- channelsCount:k.channelsCount,spatialAudio:k.spatialAudio,closedCaptions:k.closedCaptions,primary:k.primary,kind:k.kind||null,groupId:k.groupId,type:k.type,codecs:k.codecs,name:k.originalId,uri:k.Ca,Ed:{width:k.width,height:k.height,frameRate:k.frameRate}};h=Object.assign({},{playlist:h.playlist},k);return tL(a,h)});return Promise.all(g)};d=yield f(d);f=yield f(e);uL(a,d.concat(f));e=f.filter(g=>EJ(g).type===_.MA);f=f.filter(g=>EJ(g).type===_.fe);return{textStreams:e,thumbStreams:f,hh:d}})},iL=function(a,
48
- b,c,d,e){const f=[],g=(c||b).length();for(let n=0;n<g;n++){var h=b?b.streams[n]||null:null,k=c?c.streams[n]||null:null,l=h,m=k;l=l&&m?_.BB(l.drmInfos,m.drmInfos)?_.AB(l.drmInfos,m.drmInfos):null:l?l.drmInfos:m?m.drmInfos:null;if(!l)return null;m=d;h={id:e?e:a.h++,language:h?h.language:_.jg,primary:!!h&&h.primary||!!k&&k.primary,audio:h,video:k,bandwidth:m,drmInfos:l,allowedByApplication:!0,allowedByKeySystem:!0};f.push(h)}return new vL(f)},tL=function(a,b){return _.w(function*(){const c=b.playlist,
49
- d=b.codecs,e=b.type,f=b.Nc,g=b.gc,h=b.groupId,k=b.muxedAudioId,l=b.primary;var m=b.kind;const n=b.name,p=b.channelsCount,u=b.spatialAudio,v=b.closedCaptions,y=b.Ed,A=_.Cn(f||_.jg);if(1!==c.type)throw new _.H(_.C,4,4017);const D=yield wL(a,c,e,d),E=a.a.lowLatencyMode?_.DA:_.CA;let fa=m;e!==_.J||m||(fa=_.MA);const Uc=qJ(c.aa);m=D.map($b=>{const Ib=$b.S,Nd=$b.sh,Jb=$b.mimeType,ac=$b.ra,bc=Ib[0].startTime,zb=Ib[Ib.length-1].endTime,db=zb-bc,ua=new _.qI(Ib),qb=Ib[0].initSegment||null;return{id:null===
50
- g?_.lI++:g,originalId:n,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:ua.f.bind(ua),getSegmentReference:ua.get.bind(ua),adjustSegmentDurations:ua.h.bind(ua),getDuration:ua.getDuration.bind(ua),segmentIndex:ua,segmentLookupStrategy:E,initSegmentReference:qb,mimeType:Jb,codecs:d,kind:fa,Uf:Nd.type,encrypted:Nd.type===XI,aesEncrypted:$b.aesEncrypted,keyId:Nd.keyId,language:A,originalLanguage:f||_.jg,label:n,type:e,primary:l,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:y?
51
- y.frameRate:void 0,width:y?y.width:void 0,height:y?y.height:void 0,bandwidth:void 0,roles:[],channelsCount:p,spatialAudio:u,closedCaptions:v,S:Ib,drmInfos:Nd.drmInfos,ra:ac,Ca:c.verbatimUri,se:c.a,Pc:bc,Ke:zb,duration:db,groupId:h,pj:Uc,muxedAudioId:k}});return new xL(m)})},uL=function(a,b){b.forEach(c=>{a.j.a.set(EJ(c).Ca,c)})},nL=function(a,b){const c=new Map;for(const f of b){var d=_.K(f,_.gA);b=_.K(f,_.Cb);var e=_.K(f,TI);const g=yL(a,f);if(e){const h=_.Ar(_.J,g);c.set(`${_.J}:${e}`,h);e=g.indexOf(h);
52
- -1<e&&g.splice(e,1)}d&&(e=zL(_.q,g),c.set(`${"audio"}:${d}`,e));b&&(d=zL(_.t,g),c.set(`${"video"}:${b}`,d))}return c},oL=function(a,b){return _.w(function*(){const c=yield Promise.all([AL(a,b.zc.Ff),AL(a,b.zc.Ni),AL(a,b.Dd),AL(a,b.He)]),[d,e,f,g]=c;return{Gf:d,Mi:e,Dd:f,He:g}})},pL=function(a,b,c){return _.w(function*(){if(0===b.length)return new Map;var d=[BL(a,b[0],c)];yield d[0];d=d.concat(b.slice(1).map(e=>BL(a,e,c)));d=yield Promise.all(d);return FJ(d)})},qL=function(a,b,c,d){return _.w(function*(){const e=
53
- new Set;var f=[...b];let g=0;var h=Infinity;for(let k=0;k<f.length;++k){const l=Number(YI(f[k].tag,_.ma));l<h&&(h=l,g=k)}h=f.splice(g,1).pop();h=yield CL(a,h,c,d,e);f=f.map(k=>CL(a,k,c,d,e));f=yield Promise.all(f);f.splice(g,0,h);return f.reduce(_.fB,[])})},rL=function(a,b,c){return Promise.all(b.map(d=>BL(a,d,c)))},sL=function(a,b){return Promise.all(b.map(c=>DL(a,c)))},EL=function(a,b){return _.w(function*(){const c=_.Lm(b.verbatimUri,a.w),{response:d,text:e}=yield SK(a,c);return TK(a,e,d.uri,b.verbatimUri)})},
54
- FL=function(a,b,c){return _.w(function*(){const d=yield tL(a,{playlist:c,codecs:b.codecs,type:b.type,Nc:b.originalLanguage,gc:b.id,groupId:b.groupId,primary:b.primary,kind:b.kind||null,name:b.label,channelsCount:b.channelsCount,spatialAudio:b.spatialAudio||!1,closedCaptions:b.closedCaptions,Ed:{width:b.width,height:b.height,frameRate:b.frameRate}});b.bandwidth&&zK(d,b.bandwidth);return d})},ZK=function(a){return a.A===_.Db},AL=function(a,b){return _.w(function*(){return(yield Promise.all(b.map(c=>
55
- _.w(function*(){const d=yield GL(a,c);return d?{tag:c,playlist:d}:null})))).filter(Boolean)})},dL=function(a,b){return _.w(function*(){var c=new URL(EJ(b).se);if(a.a.lowLatencyMode&&a.K&&a.K.Lf){var d=b.streams[b.streams.length-1].segmentIndex;if(d=d.a[d.a.length-1]){var e=d.a,f=e.length-1;d={ai:d.position,hi:e&&0<e.length?f:null}}else d=null;if(e=d)d=c.searchParams,f=e.hi,d.set("_HLS_msn",e.ai.toString()),null===f&&d.get(UI)&&d.delete(UI),null!==f&&d.set(UI,f.toString())}const {response:g,text:h}=
56
- yield SK(a,c.toString());c=EJ(b).Ca;d=EJ(b).se;e=g.uri;d!==e&&(d=e,vK(b,d));c=TK(a,h,d,c);return{stream:b,playlist:c}})},yL=function(a,b){var c=_.K(b,_.pa,a.a.hlsDefaultCodecs||"avc1.42E01E,mp4a.40.2").split(/\s*,\s*/);c=HJ(c);b=new Set;const d=[];for(const e of c)c=_.lB(e),b.has(c)?a.g.debug("Ignoring duplicate codec"):(d.push(e),b.add(c));return d},zL=function(a,b){if(1===b.length)return b[0];a=_.Ar(a,b);if(null!=a)return a;throw new _.H(_.C,4,4025,{codecList:b});},BL=function(a,b,c){return _.w(function*(){const d=
57
- b.tag,e=b.playlist;return HL(a,e.verbatimUri,()=>_.w(function*(){const f=YI(d,_.Ea),g=rJ(YI(d,_.sb));var h=YI(d,_.sb).toUpperCase();if(rJ(h)!==_.J)h=null;else{var k=d.getAttribute("FORCED");k=!(!k||!k.value||"YES"!==k.value.toUpperCase());var l=_.MA;h===EI&&(l=_.xA);k&&(l=_.Yd);h=l}k=c.get(`${g}:${f}`)||"";l=_.K(d,_.La);const m=_.K(d,_.Sa),n=_.K(d,"DEFAULT"),p=g===_.q?JJ(d):null;var u=g===_.q?(u=_.K(d,"CHANNELS"))?u.includes("/JOC"):!1:!1;return yield tL(a,{playlist:e,codecs:k,type:g,Nc:l,primary:"YES"===
58
- n,name:m,channelsCount:p,spatialAudio:u,groupId:f,kind:h,gc:null,closedCaptions:null,Ed:null})}))})},DL=function(a,b){return _.w(function*(){const c=b.tag,d=b.playlist;return HL(a,d.verbatimUri,()=>_.w(function*(){var e=_.K(c,_.pa)||"jpg",f=_.K(c,_.La);const g=_.K(c,_.Sa);e=yield tL(a,{playlist:d,codecs:e,type:_.fe,Nc:f,name:g,primary:!1,kind:null,channelsCount:null,spatialAudio:!1,closedCaptions:null,gc:null,groupId:null,Ed:null});(f=_.K(c,_.ma))&&zK(e,Number(f));return e}))})},CL=function(a,b,c,
59
- d,e){return _.w(function*(){var f=b.tag,g=Number(YI(f,_.ma));if(f.hasAttribute("FRAME-RATE")||f.hasAttribute(_.kb)){var h=_.K(f,"FRAME-RATE");f=_.K(f,_.kb);var [k,l]=f?f.split("x"):[null,null];h={frameRate:cJ(h),width:cJ(k),height:cJ(l)}}else h=null;if(f=yield IL(a,b,h,c,d)){h=f.video;f=f.audio;var m=0<f.length?f:[null];h=0<h.length?h:[null];f=[];for(const n of m)for(const p of h){m=(p?EJ(p).Ca:"")+" - "+(n?EJ(n).Ca:"");if(e.has(m)){a.g.debug("Skipping variant which only differs in text streams.");
60
- continue}const u=iL(a,n,p,g);null==u?a.g.warn("Incompatible DRM info in HLS variant. Skipping."):(f.push(u),e.add(m))}g=f}else g=[];return g})},JL=function(a,b,c,d,e,f){let g=yL(a,b);a.g.debug("Guessing stream type for",b.toString());b=!1;const h=_.Ar(_.t,g),k=d+e;1!==g.length||c||h?!k&&1<g.length?(a.g.debug("Guessing multiplexed audio+video"),c=_.t,g=[g.join(",")]):d&&f?(a.g.debug(QI),c=_.q,b=!0):e?(a.g.debug(QI),c=_.q):(a.g.debug("Guessing video-only"),c=_.t):(c=_.q,a.g.debug(QI));return{type:c,
61
- fh:g,Rh:b}},HL=function(a,b,c){if(a.j.has(b))return a=a.j.get(b),Promise.resolve(a);if(a.j.f.has(b))return a.j.f.get(b)||null;c=c();a.j.set(b,c);return c},IL=function(a,b,c,d,e){return _.w(function*(){var f=b.tag,g=b.playlist,h=_.K(f,_.gA),k=_.K(f,_.Cb);h=h?d.get(`${"audio"}:${h}`)||[]:[];k=k?d.get(`${"video"}:${k}`)||[]:[];k={audio:h,video:k};const l=g.verbatimUri;g=k.audio.find(u=>EJ(u).Ca===l);const {type:m,fh:n,Rh:p}=JL(a,f,c,k.audio.length,k.video.length,g);f=null;p||(f=yield KL(a,b,n,m,e,c));
62
- if(null==f)return null;k[m]=[f];m===_.q&&c&&k.video.forEach(u=>{wK(u,c.width);xK(u,c.height);yK(u,c.frameRate)});return k})},KL=function(a,b,c,d,e,f){return _.w(function*(){const g=b.tag,h=b.playlist;return HL(a,h.verbatimUri,()=>_.w(function*(){var k=_.K(g,EI);let l=null;d===_.t&&k&&"NONE"!==k&&(l=e.get(k));k=(k=_.K(g,_.gA)||void 0)&&a.J.has(k)?k:void 0;var m=zL(d,c);if(k){const n=zL(_.q,c);m+=`,${n}`}return yield tL(a,{playlist:h,codecs:m,type:d,closedCaptions:l,primary:!1,kind:null,Nc:null,name:null,
63
- channelsCount:null,spatialAudio:!1,gc:null,groupId:null,muxedAudioId:k,Ed:f})}))})},wL=function(a,b,c,d){return _.w(function*(){var e=b.verbatimUri,f=b.S;var g=void 0===g?0:g;var h=(h=kJ(b.aa,MI))?Number(h.value):g;g=[];e=yield LL(a,b.a,e,f,h,c,d);if(0===f.length)f=[];else{var k=[],l=[];for(var m of f)jJ(m.aa,II)&&0<l.length&&(k.push(l),l=[]),l.push(m);k.push(l);f=k}for(m=0;m<f.length;m++)k=f[m],l=yield ML(a,b.a,k,h,e,c,d,g[g.length-1]||null),g.push(l),h+=k.length;NL(g);return g})},GL=function(a,
64
- b){return _.w(function*(){var c=b.name!==LI?!0:_.K(b,_.sb)===TI;c=_.K(b,_.ub,void 0,{required:c});if(!c)return null;const d=_.Lm(c,a.w),e=Date.now(),{response:f,text:g}=yield SK(a,d);a.D.onEvent(new _.G(WI,{detail:{duration:Date.now()-e,type:"media"}}));return TK(a,g,f.uri,c)})},NL=function(a){if(1<(new Set(a.map(b=>b.mimeType))).size)throw new _.H(_.C,4,4045,"Media playlist contains discontinuities with different MIME types. This is valid, but not yet supported.");},OL=function(a,b,c){a=gJ(a.aa,
65
- KI);if(1<a.length)throw new _.H(_.C,4,4020);a=a[0];if(!a)return null;const d=YI(a,_.ub),e=_.Lm(d,b);b=wJ(a,null,!0);return new _.mI(()=>[e],b.ma,b.ja,c)},PL=function(a,b,c,d,e,f,g){const h=[];for(const p of bJ(b.f)){b=p.gg;const u=p.item;{var k=0===b,l=k?a:h[h.length-1],m=k?d:l.endTime,n=Number(_.K(u,GI));n=m+n;k=wJ(u,k?null:l.ja,k);l=_.K(u,_.ub);const v=(l=_.Lm(l,g))?[l]:[];m=new yJ(c,m,n,()=>v,k.ma,k.ja,e,f,!1,null,null,null,null);if("YES"===_.K(u,"INDEPENDENT")||0===b)m.h=!0;h.push(m)}}return h},
66
- QL=function(a,b,c,d,e,f,g,h,k,l,m){const n=c.aa;var p=c.a;0<gJ(n,KI).length&&(m=OL(c,k,g));const u=null!=p,v=p?[p]:[];if(!u&&!a.a.lowLatencyMode)return null;a=0;p={ma:0,ja:null};let y=null;u?({duration:c}=uJ(n),a=e+c,p=tJ(n,b?b.ja:null)):(b=PL(b,c,d,e,f,g,k),a=b[b.length-1].endTime,y=b);h=h===_.fe?lJ(n):null;d=new yJ(d,e,a,()=>v,p.ma,p.ja,f,g,!1,null,h?h.hd:null,h?h.Cd:null,h?h.durationPerTile:null,y,m);d.ra=l;return d},LL=function(a,b,c,d,e,f,g){return _.w(function*(){var h=d[0];if(null!=a.C)return a.C;
67
- if(!ZK(a)&&a.f)try{var k=a.j.get(c);var l=k?uK(k,e)||null:null;if(!l)throw new _.H(_.C,4,4030,"Segment not found in pervious playlist update.");var m=l.startTime+l.Ba;a.g.debug(`Setting playlist start time to ${m}.`);return a.C=m}catch(n){if(h=a.j.get(c))m=h.streams[h.streams.length-1].S,m=m[m.length-1],a.g.warn(`Last #EXT-X-MEDIA-SEQUENCE values ${h.streams[0].S[0].position} - ${m.position}`+`, new values ${e} - ${e+d.length-1}.`,b,h);throw new _.H(_.C,4,4047,{message:"The updated playlist does not share any segments with the previous one.",
68
- uri:c});}m=yield RL(a,f,g,h);l=qK(h.aa,a.w,e);k=OL(h,b,l);h=yield SL(a,k,h,l,m,g);a.g.debug(`Setting playlist start time to ${h}.`);return a.C=h})},ML=function(a,b,c,d,e,f,g,h){return _.w(function*(){var k=c[0],l=null==h;const m=yield RL(a,f,g,k);var n=h?h.Yh:null;if(jJ(c[0].aa,JI)||null===n)n=nK(c,m),n=0===n.length?[jK()]:n;else{var p=nK(c,m);n=[n,...p]}p=n;n=p[p.length-1];p=kK(p);let u=h?h.Zh:null;var v=TL(u,k.aa,a.w,d);let y=OL(k,b,v)||(h?h.Sh:null);const A=k.ra;k=l?e:yield UL(a,A,y,k,d,v,m,g);
69
- l=[];v=!1;for(let E=0;E<c.length;E++){var D=c[E];const fa=l[l.length-1]||null,Uc=0===E?0:fa.endTime,$b=d+E,Ib=TL(u,D.aa,a.w,$b);(u=Ib)&&(v=!0);if(D=QL(a,fa,D,$b,Uc,k,Ib,f,b,A,y))y=D.initSegment,l.push(D)}return{S:l,sh:p,Yh:n,aesEncrypted:v,mimeType:m,endTime:l[l.length-1].endTime,ra:A,Sh:y,Zh:u}})},RL=function(a,b,c,d){return _.w(function*(){const e=d.a;var f=kJ(d.aa,KI);f=f?YI(f,_.ub):null;return VL(a,b,c,e,f)})},SL=function(a,b,c,d,e,f){return _.w(function*(){if(null==c.a)return 0;const g=zJ(c,
70
- d);return sK(a.T,b,g,e,f,null!=d)})},TL=function(a,b,c,d){return b.some(e=>e.name===JI&&"NONE"===_.K(e,RI))?null:(b=qK(b,c,d))?b:a&&a.generatedIv?Object.assign({},a,{iv:_.am(new Uint8Array(12),eJ(d))}):a},UL=function(a,b,c,d,e,f,g,h){return _.w(function*(){if(a.L.has(b))return a.L.get(b);const k=yield SL(a,c,d,f,g,h);a.g.debug(`Segment #${e} has raw media timestamp `+`${k} s.`);a.L.set(b,k);return k})},VL=function(a,b,c,d,e){return _.w(function*(){const f=[d,e].filter(Boolean);var g=_.Dr(f,b,c);if(g)return g;
71
- g=_.nk([d],a.a.attemptParameters);g.method="HEAD";g.type=2;g=(yield a.H(g)).headers["content-type"];if(!g)throw new _.H(_.C,4,4021,"Unknown MIME type of: "+f.join(", "));return g.toLowerCase().split(";")[0]})},UK=a=>{a=_.Mm(a)||"";return null!=_.ru.video[a]?_.t:null!=_.ru.audio[a]?_.q:null},PJ=class{constructor(a,b,c,d){if(1===b){if(!d||0===d.length)throw new _.H(_.C,4,4043,"Media playlist must have at least one segment!");if(null==d[0].a)throw new _.H(_.C,4,4043,"Media playlist must have at least one full segment!");
72
- }this.a=a;this.verbatimUri="";this.type=b;this.aa=c;this.S=1===b?d:null}},YJ=class{constructor(a,b,c){c=void 0===c?[]:c;this.aa=b;this.a=a;this.f=c;this.ra=-1}},yJ=class extends _.pC{constructor(a,b,c,d,e,f,g,h,k,l,m,n,p,u,v){u=void 0===u?[]:u;super(a,b,c,d,e,f,g,void 0===h?null:h,void 0===k?!1:k,void 0===l?null:l,void 0===m?null:m,void 0===n?null:n,void 0===p?null:p,u,void 0===v?null:v);this.ra=0}},WJ=/^#EXT-X-DEFINE/,XJ=/^#(EXT-X-DISCONTINUITY-SEQUENCE|EXT-X-ENDLIST|EXT-X-I-FRAMES-ONLY|EXT-X-MEDIA-SEQUENCE|EXT-X-PART-INF|EXT-X-PLAYLIST-TYPE|EXT-X-SERVER-CONTROL|EXT-X-TARGETDURATION|EXT-X-DATERANGE|EXT-X-VERSION)/,
73
- WL=class{constructor(){this.h=0;this.a=new Map}},XL=class{constructor(){this.a=new Map;this.f=new Map}set(a,b){this.f.set(a,b);return b.then(c=>this.a.set(a,c)).catch(()=>{}).then(()=>this.f.delete(a))}has(a){return this.a.has(a)}get(a){return this.a.get(a)||null}values(){return Array.from(this.a.values())}clear(){this.f.clear();this.a.clear()}},fL=new _.S("clpp.hls.DiscontinuityUtils");var pK={"com.apple.streamingkeydelivery":function(a,b){if(b===_.xg)throw new _.H(_.C,4,4041);if(YI(a,RI)===SI)throw new _.H(_.C,4,4044,"EXT-X-KEY:METHOD SAMPLE-AES-CTR is not supported in FairPlay.");return _.iB(_.qd,[{initDataType:_.Lf,initData:new Uint8Array(0)}],"")},"com.microsoft.playready":iK,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":iK,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":function(a){var b=YI(a,RI);if(!gK.includes(b))return hK.error("Widevine in HLS is only supported with [",
74
- gK.join(", "),"], not",b),null;b=YI(a,_.ub);b=_.bm(b);b=_.F(b.data);b=_.iB(_.ud,[{initDataType:_.Tc,initData:b}],"");if(a=_.K(a,"KEYID"))b.keyIds=[a.substr(2).toLowerCase()];return b}},gK=["SAMPLE-AES",SI],hK=new _.S("clpp.hls.DrmParser");var oK=new _.S("clpp.hls.EncryptionUtils");var YL=class{constructor(a){this.g=new _.S("clpp.hls.MediaReader");this.f=a;this.a={attemptParameters:_.jk()}}};var xL=class{constructor(a){this.streams=a}length(){return this.streams.length}};var vL=class{constructor(a){this.a=a}length(){return this.a.length}};var NK=a=>{if(!a)return null;a=kJ(a.aa,NI);if(!a)return null;a=Date.parse(a.value);return isNaN(a)?null:a};var ZL=class{constructor(){this.a=this.D=null;this.h=1;this.j=new XL;this.w="";this.R=new WL;this.G=0;this.o=null;this.l=new _.Mi(()=>{this.Sb()});this.A=_.Db;this.f=null;this.F=new _.Tt;this.K=this.C=null;this.g=new _.S("clpp.hls.HlsParser");this.L=new Map;this.T=new YL(this.H.bind(this));this.P=!1;this.I=null;this.M=!1;this.B=new Map;this.J=new Set}configure(a){this.a=a;this.T.a=a}setCurrentVariant(a){this.o=a}start(a,b){const c=this;return _.w(function*(){if(c.P)throw Error("start() may be called only once!");
75
- c.P=!0;c.D=b;var d=Date.now();const {response:e,text:f}=yield SK(c,a);c.D.onEvent(new _.G(WI,{detail:{duration:Date.now()-d,type:"master"}}));c.w=e.uri;d=yield cL(c,f);c.f=d;const g=c.G;c.l&&0<g&&c.l.la(g);return d})}requestStop(){this.M=!0}stop(){this.l&&(this.l.stop(),this.l=null);const a=[];this.F&&(a.push(this.F.destroy()),this.F=null);this.j.clear();this.f=this.a=this.D=this.o=null;this.B.clear();this.J.clear();return Promise.all(a)}update(){const a=this;return _.w(function*(){const b=a.f;if(!ZK(a)&&
76
- b){var c=b.presentationTimeline;"LIVE"===a.A&&(a.C=null);var d=Array.from(a.j.values());if(a.a.lowLatencyMode&&null!==a.o){const g=RK(a);d=d.filter(h=>g.includes(EJ(h).Ca))}var e=yield eL(a,d);d=e.map(g=>g.playlist);gL(a,d);e=yield jL(a,e);BK(b.periods,e).forEach(g=>{a.D.filterNewPeriod(g)});XK(a,e);var f=kL(a,d);f=lL(a,d,f);b.cues=bL(a,f);DK(b.periods,e);QK(c,e);if(d=oJ(d))!0!==a.a.keepTimelineLive&&mL(a,c,e),a.l.stop(),a.l=null;if(a.D.onUpdate)a.D.onUpdate(b);if(d&&a.D.onTurnedStatic)a.D.onTurnedStatic();
77
- a.M&&(yield a.stop());return b}})}loadVariant(a,b){const c=this;return _.w(function*(){const d=a.id;var e=c.f.periods.find(k=>k.id===b);if(e&&(e=e.variants.find(k=>k.id===d)))return e;e=c.f.alternativeVariants.find(k=>k.id===d);if(!e)throw new _.kl(`No alternative variant with id: ${d}`);var f=null,g=null;if(e.audio){const k=e.audio;f=HL(c,k.verbatimUri,()=>_.w(function*(){const l=yield EL(c,k);return FL(c,k,l)}))}if(e.video){const k=e.video;g=HL(c,k.verbatimUri,()=>_.w(function*(){const l=yield EL(c,
78
- k);return FL(c,k,l)}))}f=yield f;g=yield g;e=iL(c,f,g,e.bandwidth,e.id);let h;e&&(e=IK(c.D.configurationId,[e],[],[],!ZK(c)),c.D.filterAllPeriods(e),e.forEach((k,l)=>{c.f.periods[l].variants.push(k.variants[0]);b===c.f.periods[l].id&&(h=k.variants[0])}));if(!h)throw new _.kl(`Could load variant with id: ${d}`);return h})}loadTextStream(a,b){const c=this;return _.w(function*(){let d;var e=c.f.periods.find(f=>f.id===b);e&&(e=e.textStreams.find(f=>f.id===a)||null)&&(d=e);if(!d&&c.f.alternativeTextStreams){const f=
79
- c.f.alternativeTextStreams.find(h=>h.id===a)||null;if(!f)throw new _.kl(`Could not load text stream with id: ${a}`);const g=yield HL(c,f.verbatimUri,()=>_.w(function*(){const h=yield EL(c,f);return FL(c,f,h)}));g&&c.f.periods.forEach((h,k)=>{h=g.streams[k];c.f.periods[k].textStreams.push(h);h.id===a&&(d=h)})}if(!d)throw new _.kl(`Could not load text stream with id: ${a}`);return d})}Sb(){const a=this;return _.w(function*(){a.g.debug(_.sA);if(a.D)try{yield a.update(),a.l&&0<a.G&&a.l.la(a.G)}catch(b){if(!(b instanceof
80
- _.H))throw b;a.D&&(a.D.onError(b),1===b.severity&&a.l&&a.l.la(.1))}})}H(a){if(!this.F)throw new _.H(_.C,7,7001);a=this.D.networkingEngine.fetch(a);_.xl(this.F,a);return a.U}};_.x("clpp.hls.HlsComponent",class extends _.rv{install(){_.yt.m3u8=ZL;_.xt[_.ll]=ZL;_.xt[VI]=ZL}uninstall(){_.NC("m3u8");_.OC(_.ll);_.OC(VI)}id(){return"hls"}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var HI="CLOSED-CAPTIONS",II="Could not parse MP4 segment start time.",JI="DURATION",KI="EXT-X-DATERANGE",LI="EXT-X-DISCONTINUITY",MI="EXT-X-KEY",NI="EXT-X-MAP",OI="EXT-X-MEDIA",PI="EXT-X-MEDIA-SEQUENCE",QI="EXT-X-PROGRAM-DATE-TIME",RI="EXT-X-STREAM-INF",SI="Failed to infer discontinuity number",TI="Guessing audio-only",UI="METHOD",VI="SAMPLE-AES-CTR",WI="SUBTITLES",XI="_HLS_part",YI="application/vnd.apple.mpegurl",ZI="manifestloaded",$I="sample",aJ=function(a,b){return _.L(a,b,void 0,
2
+ {required:!0})},bJ=function(a){if(1>a.a)throw _.To();--a.a},cJ=function(a,b){for(const c in a){if(!(c in b))return!1;const d=a[c],e=b[c];if(d&&typeof d===_.He&&e&&typeof e===_.He){if(!cJ(d,e))return!1}else if(void 0!==d&&void 0!==e&&d!==e)return!1}return!0},dJ=function(a,b){if(!cJ(a,b))return!1;for(const c in b){if(!(c in a))return!0;const d=a[c],e=b[c];if(!d&&e||d&&typeof d===_.He&&e&&typeof e===_.He&&dJ(d,e))return!0}return!1},eJ=function(a,b){if(a===b||_.z(a)||_.z(b))return!1;const c=Object.keys(a);
3
+ for(let e=0;e<c.length;e++){var d=c[e];if(!(d in b))continue;const f=a[d];d=b[d];if(f instanceof Date&&d instanceof Date&&f.getTime()!==d.getTime())return!0;if(typeof f===_.He&&typeof d===_.He){if(eJ(f,d))return!0}else{if(f instanceof Array&&d instanceof Array){if(f.length!==d.length)return!0;for(let g=0;g<f.length;g++)if(f[g]!==d[g])return!0}if(f!==d)return!0}}return!1},fJ=function(a){if(null!==a&&void 0!==a)return Number(a)},gJ=function(a){return 0>a?[]:Array.from({length:a},(b,c)=>c)},hJ=function(a){return new Uint8Array([a>>
4
+ 24&255,a>>16&255,a>>8&255,a&255])},iJ=function(a,b=0){return b+10<=a.length&&73===a[b]&&68===a[b+1]&&51===a[b+2]&&255>a[b+3]&&255>a[b+4]&&128>a[b+6]&&128>a[b+7]&&128>a[b+8]&&128>a[b+9]?!0:!1},jJ=function(a,b){return a.filter(c=>c.name===b)},kJ=function(a){const b=/^[a-zA-Z0-9_-]+$/,c=new Set;a.forEach(d=>{const e=_.L(d,"VALUE"),f=_.L(d,_.Sa),g=_.L(d,"IMPORT"),h=_.L(d,"QUERYPARAM");if(1!==[f,g,h].filter(Boolean).length||f&&null==e)throw new _.I(_.D,4,4044,{message:"Invalid tag.",text:d.toString()});
5
+ d=f||g||h;if(c.has(d))throw new _.I(_.D,4,4044,`EXT-X-DEFINE redefined variable "${d}".`);if(!b.test(d))throw new _.I(_.D,4,4044,`EXT-X-DEFINE invalid variable name "${d}".`);c.add(d)})},lJ=function(a,b){const c=Array.isArray(b)?b:[b];return a.filter(d=>{d=aJ(d,_.tb);return c.includes(d)})},mJ=function(a,b){return a.some(c=>c.name===b)},nJ=function(a,b,c){c=void 0===c?{}:c;a=a.find(d=>d.name===b)||null;if(!a&&c.required)throw new _.I(_.D,4,4024,{missingTag:b});return a},oJ=function(a){var b=nJ(a,
6
+ "EXT-X-TILES");if(!b)return{sd:1,Nd:1,durationPerTile:null};a=_.L(b,"LAYOUT")||"1x1";b=_.L(b,JI);a=_.zB(a);return{sd:a.sd,Nd:a.Nd,durationPerTile:b?Number(b):null}},pJ=function(a){const b=new Set;a.variants.forEach(c=>{c.audio&&b.add(c.audio);c.video&&b.add(c.video)});a.textStreams.forEach(c=>b.add(c));a.thumbStreams.forEach(c=>b.add(c));return Array.from(b)},qJ=function(a,b){Array.isArray(a)||(a=[a]);a.forEach(c=>{for(const d of pJ(c))b(d,c)})},rJ=function(a){return a.some(b=>mJ(b.aa,"EXT-X-ENDLIST"))},
7
+ sJ=function(a){return a.type===_.q||a.type===_.t},tJ=function(a){if(nJ(a,"EXT-X-ENDLIST"))return _.Fb;a=nJ(a,"EXT-X-PLAYLIST-TYPE");if(!a)return"LIVE";if(a.value===_.Fb)return _.Fb;if("EVENT"===a.value)return"EVENT";throw new _.I(_.D,4,4044,`Invalid EXT-X-PLAYLIST-TYPE value: ${a.value}`);},uJ=function(a){a={AUDIO:_.q,VIDEO:_.t,SUBTITLES:_.K,"CLOSED-CAPTIONS":_.K}[a.toUpperCase()];if(!a)throw new _.I(_.D,4,4044,"EXT-X-MEDIA tag has an invalid TYPE attribute.");return a},vJ=function(a,b,c){c=void 0===
8
+ c?!1:c;var d=0;let e=null;if(a){d=a.split("@");a=Number(d[0]);if(0>=a)throw new _.I(_.D,4,4044,"Byte range length must be positive.");if(d[1]){if(d=Number(d[1]),0>d)throw new _.I(_.D,4,4044,"Byte range start byte must not be negative.");}else{if(c)throw new _.I(_.D,4,4044,"Invalid byte range, offset is required but missing.");if(null==b)throw new _.I(_.D,4,4044,"Invalid byte range, cannot calculate offset based on previous byte ranges.");d=b+1}e=d+a-1}return{ma:d,ja:e}},wJ=function(a,b){a=nJ(a,"EXT-X-BYTERANGE");
9
+ return vJ(a?a.value:null,b)},xJ=function(a){a=nJ(a,"EXTINF",{required:!0}).value.split(",");const b=Number(a[0]);if(isNaN(b))throw new _.I(_.D,4,4044,"#EXTINF must be a number.");return{duration:b,title:a[1]||null}},yJ=function(a,b){b=void 0===b?{}:b;const c={Wf:!1,Ah:!1,Bh:null,di:null,Jg:null};a=nJ(a,"EXT-X-SERVER-CONTROL",{required:b.Sg});if(!a)return c;const d=e=>null==e?null:Number(e);c.Wf="YES"===_.L(a,"CAN-BLOCK-RELOAD");c.Ah="YES"===_.L(a,"CAN-SKIP-DATERANGES");c.Bh=d(_.L(a,"CAN-SKIP-UNTIL"));
10
+ c.di=d(_.L(a,"HOLD-BACK"));c.Jg=d(_.L(a,"PART-HOLD-BACK",void 0,{required:b.Sg}));return c},zJ=function(a,b,c){c=void 0===c?!1:c;a=_.L(a,"BYTERANGE");return vJ(a,b,c)},AJ=function(a){const b=jJ(a,OI),c=jJ(a,RI);a=jJ(a,"EXT-X-IMAGE-STREAM-INF");return{Ec:{Qf:lJ(b,[_.lA,_.Db]),closedCaptions:lJ(b,HI),Yi:lJ(b,WI)},Od:c,Qe:a}},CJ=function(a,b){const c=wJ(a.aa,null);return new BJ(0,0,0,()=>[a.a],c.ma,c.ja,0,b)},DJ=function(a){let b=Infinity,c=Infinity;pJ(a).filter(sJ).forEach(d=>{{d=d.S;var e=d[0].startTime;
11
+ const f=d[d.length-1].endTime;d=e;e=f-e}b=Math.min(b,d);c=Math.min(c,e)});return{Wc:b,duration:c}},EJ=function(a){return a.map(b=>{({duration:b}=DJ(b));return b}).reduce((b,c)=>b+c,0)},FJ=function(a){return(a.video?a.video.Da:"")+" - "+(a.audio?a.audio.Da:"")},GJ=function(a,b,c,d,e){if(b===_.Fb)return{delay:0,Md:0};b=nJ(a,"EXT-X-PART-INF");if(c&&b){e=Number(aJ(b,"PART-TARGET"));if(null!=d)return{delay:d,Md:e};({Jg:d}=yJ(a,{Sg:!0}));return{delay:d,Md:e}}a=nJ(a,"EXT-X-TARGETDURATION",{required:!0});
12
+ a=Number(a.value);e=e||a;return null!=d?{delay:d,Md:e}:{delay:3*a,Md:e}},IJ=function(a){const b=new Map;a.forEach(c=>{var d=`${HJ(c).type}:${HJ(c).groupId}`;b.has(d)?(d=b.get(d),d.includes(c)||d.push(c)):b.set(d,[c])});return b},JJ=function(a){const b=new Map;for(const c of a){a=_.L(c,_.Ka);a=_.Hn(a||_.kg);const d=aJ(c,_.Ea),e=aJ(c,"INSTREAM-ID");b.has(d)||b.set(d,new Map);b.get(d).set(e,a)}return b},KJ=function(a){return a.filter(b=>"mp4a.40.34"!==b)},LJ=function(a,b,c,d,e){var f=e&&e.Kd,g=e&&e.schemeIdUri,
13
+ h=_.L(a,"ID");f=_.L(a,"START-DATE")||f;if(null===h||!f)return _.fv.warn("Invalid EXT-X-DATERANGE missing mandatory ID or required START-DATE attribute, ignoring the EXT-X-DATERANGE tag.",a),null;b=d?c-b:-b;d=new Date(f);c=d.getTime()/1E3+b;h={id:h,startTime:c,startDate:d,Kd:f};f=fJ(_.L(a,JI));void 0!==f&&0<=f&&(h.duration=f);f=fJ(_.L(a,"PLANNED-DURATION"));void 0!==f&&0<=f&&(h.plannedDuration=f);g=_.L(a,"CLASS")||g||null;null!==g&&(h.schemeIdUri=g);f=(f=_.L(a,"END-DATE"))?new Date(f):null;null!==
14
+ f&&f.getTime()>=d.getTime()&&(h.endDate=f);f=a.attributes;if(null==f)var k=null;else{d={};for(k of f)k.name.trim().startsWith("X-")&&(d[k.name]=k.value);k=_.fh(d)?d:null}k=k||{};(d=_.L(a,"CUE"))&&(k.CUE=d.split(","));if(_.gk(g)){f=a.attributes;if(null==f)var l=null;else{d={};for(l of f)switch(l.name){case _.Mb:d[_.Mb]=l.value;break;case _.Lb:d[_.Lb]=l.value;break;case _.Rb:d[_.Rb]=fJ(l.value);break;case _.Pb:d[_.Pb]=fJ(l.value);break;case "X-SNAP":d["X-SNAP"]=l.value.split(",");break;case _.Qb:d[_.Qb]=
15
+ l.value.split(",")}l=_.fh(d)?d:null}l&&(k=Object.assign(k,l))}_.fh(k)&&(h.customAttributes=k);if(eJ(e,h))return _.fv.warn("EXT-X-DATERANGE augmented and previous values differ.Ignoring the EXT-X-DATERANGE tag.",a),null;h=_.ch(e,h);if(_.gk(g)&&!_.hk(h.customAttributes))return _.fv.warn("Invalid EXT-X-DATERANGE Interstitial attributes X-ASSET-URI, X-ASSET-LIST"),null;let m;h.endDate?m=h.endDate.getTime()/1E3+b:h.duration?m=c+h.duration:h.plannedDuration?m=c+h.plannedDuration:m=c;h.endTime=m;h.type=
16
+ _.de;return h},MJ=function(a,b){if(!a)return null;const c=a.Da;return b.find(d=>HJ(d).Da===c)||null},NJ=function(a){return(a=_.L(a,"CHANNELS"))?parseInt(a.split("/")[0],10):null},OJ=function(a){return a.some(b=>b.startsWith("#EXT-X-TARGETDURATION"))?1:0},PJ=function(a,b){const c=new Map,d=new URL(b);a.forEach(e=>{var f=_.L(e,_.Sa),g=_.L(e,"QUERYPARAM");if(f)g=aJ(e,"VALUE"),c.set(f,g);else if(g){f=d.searchParams.get(g);if(null==f)throw new _.I(_.D,4,4044,`Query param '${g}' missing in playlist URI.`);
17
+ if(!f)throw new _.I(_.D,4,4044,`Query param '${g}' has no associated value`+" in playlist URI.");c.set(g,decodeURIComponent(f))}});return c},QJ=function(a,b){return a.replace(/\{\$([a-zA-Z0-9_-]+)\}/g,(c,d)=>{c=b.get(d);if(null==c)throw new _.I(_.D,4,4044,`Undefined variable '${d}'`);return c})},RJ=function(a,b){a.forEach(c=>{c.attributes.forEach(d=>{d.value=QJ(d.value,b)})})},UJ=function(a,b,c){const d=[];for(let e=0;e<b.length;e++){const f=SJ(a,b[e]);d.push(f);if(f.name===RI){const g=b[e+1];if(!g)throw new _.I(_.D,
18
+ 4,4044,"EXT-X-STREAM-INF is not followed by a URI.");f.attributes.push(new _.lr(_.vb,g));e++}}b=jJ(d,"EXT-X-DEFINE");kJ(b);b=PJ(b,c);a.a=b;RJ(d,a.a);return new TJ(c,0,d)},YJ=function(a,b,c){const {Li:d,ci:e,ij:f}=VJ(b),g=WJ(a,f,c);b=e.map(k=>SJ(a,k,g));const h=XJ(a,c,d,g);return new TJ(c,1,b,h)},ZJ=function(a,b,c){b=b.trim().split(/\n+/m).map(d=>d.trim()).filter(d=>d.length&&!/^#(?!EXT)/m.test(d));if(!/^#EXTM3U($|[ \t\n])/m.test(b[0]))throw new _.I(_.D,4,4015);b=b.slice(1);return 0===OJ(b)?UJ(a,b,
19
+ c):YJ(a,b,c)},VJ=function(a){const b=[],c=[],d=[];for(const e of a)$J.test(e)?d.push(e):aK.test(e)?c.push(e):b.push(e);return{Li:b,ci:c,ij:d}},WJ=function(a,b,c){b=b.map(e=>SJ(a,e));kJ(b);const d=PJ(b,c);b.map(e=>_.L(e,"IMPORT")).filter(Boolean).forEach(e=>{const f=a.a.get(e);if(null==f)throw new _.I(_.D,4,4044,`Cannot import variable '${e}' as it is not defined `+"in the master playlist");d.set(e,f)});return d},SJ=function(a,b,c){a=_.nr(a.h++,b);c&&RJ([a],c);return a},XJ=function(a,b,c,d){const e=
20
+ [];let f=[],g=[];c.forEach(h=>{/^(#EXT)/.test(h)?(h=SJ(a,h,d),"EXT-X-PART"===h.name||"EXT-X-PRELOAD-HINT"===h.name&&"PART"===_.L(h,_.tb)?g.push(h):f.push(h)):(mJ(f,"EXT-X-GAP")||(h=QJ(h,d),h=_.Qm(h,b),e.push(new bK(h,f,g))),f=[],g=[])});0<g.length&&e.push(new bK(null,f,g));return e},cK=function(a,b,c){const d=[],e=[];e.push(new _.lr(_.ma,"0"));e.push(new _.lr(_.vb,b));c.length&&e.push(new _.lr(_.pa,c));d.push(new _.mr(a.h++,RI,e));return new TJ(b,0,d)},dK=function(a){function b(h,k,l){let m="";for(;k<
21
+ l;k++)m+="%"+("00"+h[k].toString(16)).slice(-2);return m}function c(h){return h[0]<<21|h[1]<<14|h[2]<<7|h[3]}function d(){throw new _.I(_.D,4,4030);}iJ(a)||d();let e=10;a[5]&64&&(e=e+4+c(a.subarray(10,14)));do{var f=c(a.subarray(e+4,e+8));1>f&&d();var g=String.fromCharCode(a[e],a[e+1],a[e+2],a[e+3]);if("PRIV"===g){g=a.subarray(e+10,e+f+10);for(let h=0;h<g.byteLength;h++)if(0===g[h]){if("com.apple.streaming.transportStreamTimestamp"===unescape(b(g,0,h)))return a=g.subarray(h+1),f=(a[3]&1)<<30|a[4]<<
22
+ 22|a[5]<<14|a[6]<<6|a[7]>>>2,f*=4,f+=a[7]&3,Math.round(f/9E4);break}}iJ(a,e)||d();e+=10;e+=f}while(e<a.byteLength);return d()},eK=function(a,b){let c=null,d=0;try{(new _.ip).N(_.De,_.bp).N(_.hg,_.bp).N(_.ye,_.bp).ea("mdhd",g=>{g.reader.skip(0===g.version?8:16);d=_.N(g.reader);g.parser.stop()}).parse(b,!0)}catch(g){c=g}if(c||!d)throw _.Mv.error("Unable to find timescale in init segment!"),new _.I(_.D,4,4030,II,c);let e=0,f=!1;try{(new _.ip).N("moof",_.bp).N("traf",_.bp).ea("tfdt",g=>{var h=d;if(0===
23
+ g.version)h=_.N(g.reader)/h;else{{const k=_.N(g.reader),l=_.N(g.reader);if(!(2097151>=k||h>=Math.pow(2,12)))throw Error("Cannot accurately parse MP4 timestamp, base time is too high and timescale is \x3c\x3d 2^12");h=k/h*Math.pow(2,32)+l/h}}e=h;f=!0;g.parser.stop()}).parse(a,!0)}catch(g){c=g}if(c||!f)throw new _.I(_.D,4,4030,II,c);return e},fK=function(a){for(;a.getPosition()<a.Oa()-1;){const b=a.getPosition();if(71===_.Uo(a))return bJ(a),b}return-1},gK=function(a){function b(){d.seek(e+188);f=_.Uo(d);
24
+ 71!==f&&(d.seek(e+192),f=_.Uo(d));71!==f&&(d.seek(e+204),f=_.Uo(d));71!==f&&c();bJ(d)}function c(){throw new _.I(_.D,4,4030);}const d=new _.aq(new DataView(a),!1);let e=0,f=0;e=fK(d);0>e&&(_.Mv.error("Unable to find sync byte in TS after scanning."),c());for(;;){e=d.getPosition();f=_.Uo(d);71!==f&&c();a=_.Vo(d);if(8191===(a&8191)){b();continue}if(!(a&16384)){b();continue}a=(_.Uo(d)&48)>>4;0!==a&&2!==a||c();3===a&&(a=_.Uo(d),d.skip(a));if(1!==_.N(d)>>8){b();continue}d.skip(3);a=_.Uo(d)>>6;0!==a&&1!==
25
+ a||c();0===_.Uo(d)&&c();a=_.Uo(d);const g=_.Vo(d),h=_.Vo(d);return(1073741824*((a&14)>>1)+((g&65534)<<14|(h&65534)>>1))/9E4}},jK=function(a){const b=hK(a),c=iK(a);a.forEach(d=>{const e=d.S,f=e.findIndex(h=>h.sa===b);let g=e.findIndex(h=>h.sa===c+1);-1===g&&(g=e.length);d.S=e.slice(f,g)})},iK=function(a){a=a.map(b=>b.S[b.S.length-1].sa);return Math.min(...a)},hK=function(a){a=a.map(b=>b.S[0].sa);return Math.max(...a)},mK=function(a){var b=aJ(a,UI);if(!kK.includes(b))return lK.error("PlayReady in HLS is only supported with [",
26
+ kK.join(", "),"], not",b),null;a=aJ(a,_.vb);b=_.gm(a);a=null;b=_.G(b.data);try{a=_.$A(_.hq(b))}catch(c){a=b}return _.nB(_.ud,[{initDataType:_.Wc,initData:a}],"")},oK=function(a){if(0===a.length)return nK();if(a.some(c=>"whole-segment"===c.type)||a.every(c=>c.type===_.Ge))return a[0];a=a.filter(c=>c.type===$I);const b=_.ci(a.flatMap(c=>c.drmInfos));return{keyId:a[a.length-1].keyId,type:$I,drmInfos:b}},rK=function(a,b){return pK(a).map(c=>qK(c.aa,b)).filter(Boolean)},pK=function(a){return a.filter(b=>
27
+ mJ(b.aa,MI))},qK=function(a,b){a=jJ(a,MI).filter(d=>"AES-128"!==aJ(d,UI));if(0===a.length)return null;var c=aJ(a[0],UI);if(1===a.length&&"NONE"===c)return nK();c=a.map(d=>aJ(d,UI));if(!c.every(d=>"SAMPLE-AES"===d)&&!c.every(d=>d===VI))throw sK.warn(`EXT-X-KEY methods ${c.join(", ")} are incompatible.`),new _.I(_.D,4,4044,"Multiple EXT-X-KEY tags with incompatible METHOD values.");a=a.map(d=>{const e=_.L(d,"KEYFORMAT","identity");{const f=tK[e]||null;d=f?f(d,b):null}d||sK.warn("Unsupported HLS KEYFORMAT",
28
+ e);return d}).filter(Boolean);if(0===a.length)throw new _.I(_.D,4,4026);return{keyId:a.map(d=>d.keyIds).reduce((d,e)=>d.concat(e),[]).reverse()[0]||null,type:$I,drmInfos:a}},nK=function(){return{type:_.Ge,drmInfos:[],keyId:null}},uK=function(a,b,c){a=jJ(a,MI)[0];if(!a||"AES-128"!==aJ(a,UI))return null;var d=_.L(a,"IV","");d?c={iv:_.cm((d||"0x").slice(2)),generatedIv:!1}:(d=_.L(a,"KEYFORMAT"),c=null==d||"identity"===d?{iv:_.fm(new Uint8Array(12),hJ(c)),generatedIv:!0}:{iv:null,generatedIv:!1});const {iv:e,
29
+ generatedIv:f}=c;return{method:"AES-128",url:_.Qm(aJ(a,_.vb),b),iv:e,generatedIv:f}},vK=function(a,b,c){return _.w(function*(){const d=b.f(),e=_.VB(b.Ea(),b.ma,b.ma+2048-1,a.a.attemptParameters);e.type=2;const f=_.VB(b.Ea(),b.ma,b.ja,a.a.attemptParameters);f.type=2;d&&(f.keyInfo=d);try{return yield a.f(c?f:e)}catch(g){if(7001===g.code||c)throw g;a.g.warn("Unable to fetch a partial HLS segment! Falling back to a full segment request, which is expensive! Your server should support Range requests and CORS pre-flights.",
30
+ e.uris[0]);try{return yield a.f(f)}catch(h){throw a.g.error("Failed to fetch media segment to parse its start timestamp.",f.uris[0],h),new _.I(_.D,4,4030,"Failed to fetch the media segment.");}}})},wK=function(a,b,c,d,e,f){return _.w(function*(){a.g.debug("Fetching segment to find start time");if("audio/mpeg"===d||d===_.Gc||d===_.Fc)return 0;if(d===_.Ec){var g=yield vK(a,c,f);g=_.G(g.data);if(!iJ(g))throw new _.I(_.D,4,4030,"AAC segment does not contain an ID3 tag.");return dK(g)}if(d===_.zg||d===
31
+ _.Hc)return g=[vK(a,c,f)],b&&g.push(vK(a,b,!0)),g=yield Promise.all(g),eK(g[0].data,(g[1]||g[0]).data);if(d===_.yg)return g=yield vK(a,c,f),gK(g.data);if(!_.gt(`${d.split("/")[0]||""}/mp4;codecs="${e}"`))return 0;throw new _.I(_.D,4,4030);})},xK=function(a,b){a=a.map(c=>c.streams[b]);return a.some(c=>null==c)?null:a},yK=function(a,b){a=a.streams.find(c=>{c=c.S;return c[0].position<=b&&b<=c[c.length-1].position});return null==a?null:a.S.find(c=>c.position===b)||null},HJ=function(a){return a.streams[0]},
32
+ zK=function(a,b){a.streams.forEach(c=>{c.Be=b})},AK=function(a,b){a.streams.forEach(c=>{c.width=b})},BK=function(a,b){a.streams.forEach(c=>{c.height=b})},CK=function(a,b){a.streams.forEach(c=>{c.frameRate=b})},DK=function(a,b){a.streams.forEach(c=>{c.bandwidth=b})},EK=function(a,b){a=a.map(c=>c.a[b]);return a.some(c=>null==c)?null:a},FK=function(a,b){const c=new Set(a.map(d=>d.sa));return b.filter(d=>!c.has(d.sa))},HK=function(a,b){for(;a[0].sa<b[0].sa;)a.splice(0,1);var c=a[0];let d=b[0];c.startTime===
33
+ d.startTime&&c.endTime===d.endTime||GK(c,d);const e=a.length-1;c=a[e];d=b[e];0<e&&(c.startTime!==d.startTime||c.endTime!==d.endTime)&&GK(c,d);for(c=e+1;c<b.length;)a.push(b[c]),c++},MK=function(a,b,c,d,e){var f=b[0].length();f=gJ(f).map(g=>{var h=EK(b,g)||[];const k=xK(c,g)||[];g=xK(d,g)||[];{const l=[...IK(h),...k,...g].filter(Boolean);JK(l);const {sa:m,duration:n}=l[0];h={configurationId:a,variants:h,textStreams:k,thumbStreams:g,startTime:0,id:`P${m}`,endTime:n,duration:n,sa:m}}return h});e&&KK(f[0]);
34
+ LK(f);return f},IK=function(a){a=new Set(a.flatMap(b=>[b.video,b.audio]).filter(Boolean));return Array.from(a)},KK=function(a){const b=IK(a.variants)[0].S[0].Ca;a.startTime+=b;a.endTime+=b},LK=function(a){for(let b=0;b<a.length;b++){const c=a[b],d=a[b-1];c.startTime=d?d.endTime:c.startTime;c.endTime=c.startTime+c.duration}},GK=function(a,b){a.startTime=b.startTime;a.endTime=b.endTime;a.duration=b.duration;NK(a.variants,b.variants);OK(pJ(a),pJ(b))},NK=function(a,b){const c=new Map(a.map(d=>[FJ(d),
35
+ d]));b.forEach(d=>{c.get(FJ(d)).drmInfos=d.drmInfos})},OK=function(a,b){const c=new Map(a.map(d=>[d.Da,d]));b.forEach(d=>{const e=c.get(d.Da);e.S=d.S;d.S.forEach(f=>{f.initSegment=e.initSegmentReference});e.segmentIndex.replace(d.S);e.Wc=d.Wc;e.Ue=d.Ue;e.duration=d.duration;e.eg=d.eg;e.encrypted=d.encrypted;e.drmInfos=d.drmInfos;e.keyId=d.keyId})},JK=function(a){const b=PK(a);a.forEach(c=>{_.RB(c.segmentIndex,b);c.duration=b;c.Ue=c.Wc+b})},PK=function(a){let b=Infinity;a.filter(sJ).forEach(c=>{b=
36
+ Math.min(b,c.duration)});return b},TK=function(a){if(!(2>a.length)&&QK(a)){a=a.map(e=>({playlist:e,ag:RK(e.S[0])}));var b=a.map(e=>e.ag),c=Math.max(...b);b=Math.min(...b);if(!(1E3>c-b)){a.forEach(e=>{const f=e.playlist;for(e=e.ag;0<f.S.length&&1E3<c-e;){var g=f.S.shift(),h=f.S[0];if(!h)break;SK(g,h);h=RK(h);null!=h?e=h:({duration:h}=xJ(g.aa),e+=1E3*h)}});a=a.map(e=>e.playlist);if(a.some(e=>0===e.S.length))throw new _.I(_.D,4,4048,"Media playlists are completely out of sync.");var d=Math.min(...a.map(e=>
37
+ e.S.length));a.forEach(e=>{for(;e.S.length>d;)e.S.pop()})}}},QK=function(a){return a.every(b=>!!RK(b.S[0]))},SK=function(a,b){a&&b&&[NI,MI].forEach(c=>{if(!mJ(b.aa,c)){var d=a.aa.filter(e=>e.name===c);0!==d.length&&d.forEach(e=>{b.aa.push(e)})}})},UK=function(a,b){qJ(b,(c,d)=>{_.hC(a,c.S,d.startTime)});_.$B(a.a,b[0].startTime,b[b.length-1].endTime)},VK=function(a){return null===a.o?[]:[a.o.audio,a.o.video].filter(b=>b).map(b=>b.Da)},WK=function(a,b){return _.w(function*(){var c=_.wk([b],a.a.attemptParameters);
38
+ c.type=1;c=yield a.H(c);let d="";try{d=_.ni(c.data)}catch(e){throw new _.I(_.D,4,4042);}d=d.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");d=d.trim();return{text:d,response:c}})},gL=function(a,b){return _.w(function*(){var c=XK(a,b,a.w,"");if(1===c.type){var d=c.S[0].a;c=YK(d);if(!c)throw new _.I(_.D,4,4021,`Unknown file extension ${d}`);d="";c===_.t?d="avc1.42E01E":c===_.q&&(d="mp4a.40.2");c=cK(a.R,a.w,a.a.hlsDefaultCodecs||d)}d=AJ(c.aa);c=ZK(d.Ec.Qf);c.forEach(m=>{a.J.add(m.groupId)});var e=yield $K(a,d);
39
+ var f=e.mi;const g=e.periods;var h=e.Fi;const k=e.$i;d=e.alternativeVariants;const l=e.alternativeTextStreams;e=e.alternativeImageStreams;if(!a.D)throw new _.I(_.D,7,7001);aL(a,g);h=bL(a,f.delay,g,h);cL(a)||(a.G=f.Md,dL(a));eL(a,h,g);f=fL(a,k);c={presentationTimeline:h,periods:g,minBufferTime:0,cues:f,muxedAudioTracks:c};d&&(c.alternativeVariants=d);l&&(c.alternativeTextStreams=l);e&&(c.alternativeImageStreams=e);a.g.debug("HLS playlist parsed",c);return c})},iL=function(a,b){return Promise.all(b.map(c=>
40
+ hL(a,c)))},kL=function(a,b){b.forEach(c=>{a:{var d=a.j.get(c.verbatimUri),e=!cL(a),f=nJ(c.aa,"EXT-X-DISCONTINUITY-SEQUENCE");if(f)var g=Number(f.value);else{d?(f=d.streams[d.streams.length-1].S,f=f[f.length-1].sa):f=0;if(e&&0<f)try{{const k=nJ(c.aa,PI);if(!k)throw jL.error("Failed to infer discontinuity number, because EXT-X-MEDIA-SEQUENCE tag is missing."),Error(SI);const l=Number(k.value),m=yK(d,l);if(!m)throw jL.error("Failed to infer discontinuity number, could not find the appropriate segment in the previous playlist"+
41
+ ` (segment position = ${l})`),Error(SI);var h=m.sa}g=h;break a}catch(k){throw new _.I(_.D,4,4024,"EXT-X-DISCONTINUITY-SEQUENCE tag is required for discontinuous HLS live streams.");}g=0}}c=c.S||[];for(const k of c)mJ(k.aa,LI)&&g++,k.sa=g});jK(b)},nL=function(a,b){return _.w(function*(){const {textStreams:c,thumbStreams:d,vh:e}=yield lL(a,b);var f=a.f.periods[0].variants;a.a.lowLatencyMode&&null!==a.o&&(f=f.filter(g=>g.id===a.o.id));f=f.map(g=>{const h=MJ(g.audio,e),k=MJ(g.video,e);g=mL(a,h,k,g.bandwidth);
42
+ if(!g)throw new _.I(_.D,4,4047,{message:"Video and audio are encrypted in an incompatible way.",Lj:k?HJ(k).Da:void 0,audio:h?HJ(h).Da:void 0});return g});return MK(a.D.configurationId,f,c,d,!0)})},aL=function(a,b){cL(a)||2!==a.a.timeline.version||(a.I||(a.I=b[0].startTime),_.hD(b,-a.I))},oL=function(a,b){b=b.flatMap(d=>d.S[0].aa);b=nJ(b,QI);if(!b)return null;const c=(new Date(b.value)).getTime();return isNaN(c)?(a.g.warn("Failed to parse EXT-X-PROGRAM-DATE-TIME tag "+`value (value: ${b.value}).`),
43
+ null):c/1E3},pL=function(a,b,c){b=b.find(e=>null!==nJ(e.aa,KI));if(!b)return[];if(null===c)throw new _.I(_.D,4,4024,"EXT-X-PROGRAM-DATE-TIME tag is required when EXT-X-DATERANGE tags are present");var d=b.aa.filter(e=>e.name===KI);b=new Map;for(const e of d)d=(d=_.L(e,"ID"))?b.get(d):void 0,(d=LJ(e,c,a.C,!cL(a),d))&&b.set(d.id,d);return Array.from(b.values())},fL=function(a,b){const c=new Set(b.map(d=>d.id));a.B.forEach((d,e)=>{c.has(e)||a.B.delete(e)});for(const d of b){if((b=a.B.get(d.id))&&b.Kd!==
44
+ d.Kd)a.D.onError(new _.I(1,4,4044,"EXT-X-DATERANGE START-DATE has changed for"+` ID=${d.id}`));const e={configurationId:a.D.configurationId,schemeIdUri:d.schemeIdUri,customAttributes:d.customAttributes,value:"",startTime:d.startTime,Kd:d.Kd,endTime:d.endTime,id:d.id,type:_.de,eventElement:null};b&&!dJ(b,e)||a.B.set(d.id,e)}return Array.from(a.B.values())},qL=function(a,b,c){a.A=_.Fb;_.dC(b,!0);b.f=c[c.length-1].endTime},XK=function(a,b,c,d){a=ZJ(a.R,b,c);a.verbatimUri=d;return a},ZK=function(a){return a.filter(b=>
45
+ b.name===OI&&_.L(b,_.tb)===_.lA&&!_.L(b,_.vb)).map(b=>{const c=NJ(b),d=_.L(b,_.Ka)||_.kg;return{groupId:aJ(b,_.Ea),id:_.oI++,label:aJ(b,_.Sa),language:d,channelsCount:c,primary:"YES"===_.L(b,"DEFAULT")}})},$K=function(a,b){return _.w(function*(){var c=JJ(b.Ec.closedCaptions),d=rL(a,b.Od),e=yield sL(a,b),f=Object.values(e).flat().map(k=>k.playlist),g=f[0];const h=tJ(g.aa);a.A=h;kL(a,f);!cL(a)&&TK(f);a.K=yJ(g.aa);f=GJ(g.aa,h,a.a.lowLatencyMode||!1,a.a.suggestedPresentationDelay,a.a.liveRefreshPeriod);
46
+ g=yield tL(a,e.Rf,d);c=yield uL(a,e.Od,g,c);d=yield vL(a,e.Xi,d);g=yield wL(a,e.Qe);d=MK(a.D.configurationId,c,d,g,!cL(a));a.D.filterAllPeriods(d);c=[...e.Od,...e.Rf].map(k=>k.playlist);e=oL(a,c);c=pL(a,c,e);return{periods:d,Fi:e,$i:c,mi:f}})},bL=function(a,b,c,d){let e=!0,f=null,g=0;cL(a)||(e=!1,f=0,g=b);b=a.a.timeline||{};b.type=void 0;a=new _.sI(b,f,g,!0,void 0,!!a.a.lowLatencyMode);_.dC(a,e);UK(a,c);d&&_.cC(a,d);return a},dL=function(a){var b=0;for(var c of a.j.values())b=Math.max(b,c.streams[0].Wc);
47
+ for(c=0;95443.7176888889<=b;)c+=95443.7176888889,b-=95443.7176888889;if(c){a.g.debug("Offsetting live streams by",c,"to compensate for rollover");for(const d of a.j.values())b=d.streams[0],95443.7176888889>b.Wc?(a.g.debug("Offset applied to",b.type),b.segmentIndex.offset(c)):a.g.debug("Offset NOT applied to",b.type)}},eL=function(a,b,c){c=EJ(c);"LIVE"===a.A||"EVENT"===a.A?(c=Math.max(c,b.J),isNaN(a.a.availabilityWindowOverride)||(c=a.a.availabilityWindowOverride),b.A=c):a.A===_.Fb&&(b.f=c)},lL=function(a,
48
+ b){return _.w(function*(){const c=g=>HJ(g.stream).type===_.t||HJ(g.stream).type===_.q;var d=b.filter(c),e=b.filter(g=>!c(g)),f=g=>{g=g.map(h=>{var k=HJ(h.stream);k={language:k.language,channelsCount:k.channelsCount,spatialAudio:k.spatialAudio,closedCaptions:k.closedCaptions,primary:k.primary,kind:k.kind||null,groupId:k.groupId,type:k.type,codecs:k.codecs,name:k.originalId,uri:k.Da,Pd:{width:k.width,height:k.height,frameRate:k.frameRate}};h=Object.assign({},{playlist:h.playlist},k);return xL(a,h)});
49
+ return Promise.all(g)};d=yield f(d);f=yield f(e);yL(a,d.concat(f));e=f.filter(g=>HJ(g).type===_.RA);f=f.filter(g=>HJ(g).type===_.ge);return{textStreams:e,thumbStreams:f,vh:d}})},mL=function(a,b,c,d,e){const f=[],g=(c||b).length();for(let n=0;n<g;n++){var h=b?b.streams[n]||null:null,k=c?c.streams[n]||null:null,l=h,m=k;l=l&&m?_.GB(l.drmInfos,m.drmInfos)?_.FB(l.drmInfos,m.drmInfos):null:l?l.drmInfos:m?m.drmInfos:null;if(!l)return null;m=d;h={id:e?e:a.h++,language:h?h.language:_.kg,primary:!!h&&h.primary||
50
+ !!k&&k.primary,audio:h,video:k,bandwidth:m,drmInfos:l,allowedByApplication:!0,allowedByKeySystem:!0};f.push(h)}return new zL(f)},xL=function(a,b){return _.w(function*(){const c=b.playlist,d=b.codecs,e=b.type,f=b.Uc,g=b.lc,h=b.groupId,k=b.muxedAudioId,l=b.primary;var m=b.kind;const n=b.name,p=b.channelsCount,u=b.spatialAudio,v=b.closedCaptions,y=b.Pd,A=_.Hn(f||_.kg);if(1!==c.type)throw new _.I(_.D,4,4017);const E=yield AL(a,c,e,d),B=a.a.lowLatencyMode?_.IA:_.HA;let F=m;e!==_.K||m||(F=_.RA);const ia=
51
+ tJ(c.aa);m=E.map(Xa=>{const cb=Xa.S,rc=Xa.Gh,Ob=Xa.mimeType,cc=Xa.sa,dc=cb[0].startTime,Eb=cb[cb.length-1].endTime,ib=Eb-dc,wa=new _.tI(cb),wb=cb[0].initSegment||null;return{id:null===g?_.oI++:g,originalId:n,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:wa.f.bind(wa),getSegmentReference:wa.get.bind(wa),adjustSegmentDurations:wa.h.bind(wa),getDuration:wa.getDuration.bind(wa),segmentIndex:wa,segmentLookupStrategy:B,initSegmentReference:wb,mimeType:Ob,codecs:d,kind:F,eg:rc.type,
52
+ encrypted:rc.type===$I,aesEncrypted:Xa.aesEncrypted,keyId:rc.keyId,language:A,originalLanguage:f||_.kg,label:n,type:e,primary:l,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:y?y.frameRate:void 0,width:y?y.width:void 0,height:y?y.height:void 0,bandwidth:void 0,roles:[],channelsCount:p,spatialAudio:u,closedCaptions:v,S:cb,drmInfos:rc.drmInfos,sa:cc,Da:c.verbatimUri,Be:c.a,Wc:dc,Ue:Eb,duration:ib,groupId:h,Cj:ia,muxedAudioId:k}});return new BL(m)})},yL=function(a,b){b.forEach(c=>{a.j.a.set(HJ(c).Da,
53
+ c)})},rL=function(a,b){const c=new Map;for(const f of b){var d=_.L(f,_.lA);b=_.L(f,_.Db);var e=_.L(f,WI);const g=CL(a,f);if(e){const h=_.Fr(_.K,g);c.set(`${_.K}:${e}`,h);e=g.indexOf(h);-1<e&&g.splice(e,1)}d&&(e=DL(_.q,g),c.set(`${"audio"}:${d}`,e));b&&(d=DL(_.t,g),c.set(`${"video"}:${b}`,d))}return c},sL=function(a,b){return _.w(function*(){const c=yield Promise.all([EL(a,b.Ec.Qf),EL(a,b.Ec.Yi),EL(a,b.Od),EL(a,b.Qe)]),[d,e,f,g]=c;return{Rf:d,Xi:e,Od:f,Qe:g}})},tL=function(a,b,c){return _.w(function*(){if(0===
54
+ b.length)return new Map;var d=[FL(a,b[0],c)];yield d[0];d=d.concat(b.slice(1).map(e=>FL(a,e,c)));d=yield Promise.all(d);return IJ(d)})},uL=function(a,b,c,d){return _.w(function*(){const e=new Set;var f=[...b];let g=0;var h=Infinity;for(let k=0;k<f.length;++k){const l=Number(aJ(f[k].tag,_.ma));l<h&&(h=l,g=k)}h=f.splice(g,1).pop();h=yield GL(a,h,c,d,e);f=f.map(k=>GL(a,k,c,d,e));f=yield Promise.all(f);f.splice(g,0,h);return f.reduce(_.kB,[])})},vL=function(a,b,c){return Promise.all(b.map(d=>FL(a,d,c)))},
55
+ wL=function(a,b){return Promise.all(b.map(c=>HL(a,c)))},IL=function(a,b){return _.w(function*(){const c=_.Qm(b.verbatimUri,a.w),{response:d,text:e}=yield WK(a,c);return XK(a,e,d.uri,b.verbatimUri)})},JL=function(a,b,c){return _.w(function*(){const d=yield xL(a,{playlist:c,codecs:b.codecs,type:b.type,Uc:b.originalLanguage,lc:b.id,groupId:b.groupId,primary:b.primary,kind:b.kind||null,name:b.label,channelsCount:b.channelsCount,spatialAudio:b.spatialAudio||!1,closedCaptions:b.closedCaptions,Pd:{width:b.width,
56
+ height:b.height,frameRate:b.frameRate}});b.bandwidth&&DK(d,b.bandwidth);return d})},cL=function(a){return a.A===_.Fb},EL=function(a,b){return _.w(function*(){return(yield Promise.all(b.map(c=>_.w(function*(){const d=yield KL(a,c);return d?{tag:c,playlist:d}:null})))).filter(Boolean)})},hL=function(a,b){return _.w(function*(){var c=new URL(HJ(b).Be);if(a.a.lowLatencyMode&&a.K&&a.K.Wf){var d=b.streams[b.streams.length-1].segmentIndex;if(d=d.a[d.a.length-1]){var e=d.a,f=e.length-1;d={ni:d.position,Ai:e&&
57
+ 0<e.length?f:null}}else d=null;if(e=d)d=c.searchParams,f=e.Ai,d.set("_HLS_msn",e.ni.toString()),null===f&&d.get(XI)&&d.delete(XI),null!==f&&d.set(XI,f.toString())}const {response:g,text:h}=yield WK(a,c.toString());c=HJ(b).Da;d=HJ(b).Be;e=g.uri;d!==e&&(d=e,zK(b,d));c=XK(a,h,d,c);return{stream:b,playlist:c}})},CL=function(a,b){var c=_.L(b,_.pa,a.a.hlsDefaultCodecs||"avc1.42E01E,mp4a.40.2").split(/\s*,\s*/);c=KJ(c);b=new Set;const d=[];for(const e of c)c=_.qB(e),b.has(c)?a.g.debug("Ignoring duplicate codec"):
58
+ (d.push(e),b.add(c));return d},DL=function(a,b){if(1===b.length)return b[0];a=_.Fr(a,b);if(null!=a)return a;throw new _.I(_.D,4,4025,{codecList:b});},FL=function(a,b,c){return _.w(function*(){const d=b.tag,e=b.playlist;return LL(a,e.verbatimUri,()=>_.w(function*(){const f=aJ(d,_.Ea),g=uJ(aJ(d,_.tb));var h=aJ(d,_.tb).toUpperCase();if(uJ(h)!==_.K)h=null;else{var k=d.getAttribute("FORCED");k=!(!k||!k.value||"YES"!==k.value.toUpperCase());var l=_.RA;h===HI&&(l=_.CA);k&&(l=_.Zd);h=l}k=c.get(`${g}:${f}`)||
59
+ "";l=_.L(d,_.Ka);const m=_.L(d,_.Sa),n=_.L(d,"DEFAULT"),p=g===_.q?NJ(d):null;var u=g===_.q?(u=_.L(d,"CHANNELS"))?u.includes("/JOC"):!1:!1;return yield xL(a,{playlist:e,codecs:k,type:g,Uc:l,primary:"YES"===n,name:m,channelsCount:p,spatialAudio:u,groupId:f,kind:h,lc:null,closedCaptions:null,Pd:null})}))})},HL=function(a,b){return _.w(function*(){const c=b.tag,d=b.playlist;return LL(a,d.verbatimUri,()=>_.w(function*(){var e=_.L(c,_.pa)||"jpg",f=_.L(c,_.Ka);const g=_.L(c,_.Sa);e=yield xL(a,{playlist:d,
60
+ codecs:e,type:_.ge,Uc:f,name:g,primary:!1,kind:null,channelsCount:null,spatialAudio:!1,closedCaptions:null,lc:null,groupId:null,Pd:null});(f=_.L(c,_.ma))&&DK(e,Number(f));return e}))})},GL=function(a,b,c,d,e){return _.w(function*(){var f=b.tag,g=Number(aJ(f,_.ma));if(f.hasAttribute("FRAME-RATE")||f.hasAttribute(_.mb)){var h=_.L(f,"FRAME-RATE");f=_.L(f,_.mb);var [k,l]=f?f.split("x"):[null,null];h={frameRate:fJ(h),width:fJ(k),height:fJ(l)}}else h=null;if(f=yield ML(a,b,h,c,d)){h=f.video;f=f.audio;var m=
61
+ 0<f.length?f:[null];h=0<h.length?h:[null];f=[];for(const n of m)for(const p of h){m=(p?HJ(p).Da:"")+" - "+(n?HJ(n).Da:"");if(e.has(m)){a.g.debug("Skipping variant which only differs in text streams.");continue}const u=mL(a,n,p,g);null==u?a.g.warn("Incompatible DRM info in HLS variant. Skipping."):(f.push(u),e.add(m))}g=f}else g=[];return g})},NL=function(a,b,c,d,e,f){let g=CL(a,b);a.g.debug("Guessing stream type for",b.toString());b=!1;const h=_.Fr(_.t,g),k=d+e;1!==g.length||c||h?!k&&1<g.length?(a.g.debug("Guessing multiplexed audio+video"),
62
+ c=_.t,g=[g.join(",")]):d&&f?(a.g.debug(TI),c=_.q,b=!0):e?(a.g.debug(TI),c=_.q):(a.g.debug("Guessing video-only"),c=_.t):(c=_.q,a.g.debug(TI));return{type:c,th:g,ei:b}},LL=function(a,b,c){if(a.j.has(b))return a=a.j.get(b),Promise.resolve(a);if(a.j.f.has(b))return a.j.f.get(b)||null;c=c();a.j.set(b,c);return c},ML=function(a,b,c,d,e){return _.w(function*(){var f=b.tag,g=b.playlist,h=_.L(f,_.lA),k=_.L(f,_.Db);h=h?d.get(`${"audio"}:${h}`)||[]:[];k=k?d.get(`${"video"}:${k}`)||[]:[];k={audio:h,video:k};
63
+ const l=g.verbatimUri;g=k.audio.find(u=>HJ(u).Da===l);const {type:m,th:n,ei:p}=NL(a,f,c,k.audio.length,k.video.length,g);f=null;p||(f=yield OL(a,b,n,m,e,c));if(null==f)return null;k[m]=[f];m===_.q&&c&&k.video.forEach(u=>{AK(u,c.width);BK(u,c.height);CK(u,c.frameRate)});return k})},OL=function(a,b,c,d,e,f){return _.w(function*(){const g=b.tag,h=b.playlist;return LL(a,h.verbatimUri,()=>_.w(function*(){var k=_.L(g,HI);let l=null;d===_.t&&k&&"NONE"!==k&&(l=e.get(k));k=(k=_.L(g,_.lA)||void 0)&&a.J.has(k)?
64
+ k:void 0;var m=DL(d,c);if(k){const n=DL(_.q,c);m+=`,${n}`}return yield xL(a,{playlist:h,codecs:m,type:d,closedCaptions:l,primary:!1,kind:null,Uc:null,name:null,channelsCount:null,spatialAudio:!1,lc:null,groupId:null,muxedAudioId:k,Pd:f})}))})},AL=function(a,b,c,d){return _.w(function*(){var e=b.verbatimUri,f=b.S;var g=void 0===g?0:g;var h=(h=nJ(b.aa,PI))?Number(h.value):g;g=[];e=yield PL(a,b.a,e,f,h,c,d);if(0===f.length)f=[];else{var k=[],l=[];for(var m of f)mJ(m.aa,LI)&&0<l.length&&(k.push(l),l=
65
+ []),l.push(m);k.push(l);f=k}for(m=0;m<f.length;m++)k=f[m],l=yield QL(a,b.a,k,h,e,c,d,g[g.length-1]||null),g.push(l),h+=k.length;RL(g);return g})},KL=function(a,b){return _.w(function*(){var c=b.name!==OI?!0:_.L(b,_.tb)===WI;c=_.L(b,_.vb,void 0,{required:c});if(!c)return null;const d=_.Qm(c,a.w),e=Date.now(),{response:f,text:g}=yield WK(a,d);a.D.onEvent(new _.H(ZI,{detail:{duration:Date.now()-e,type:"media"}}));return XK(a,g,f.uri,c)})},RL=function(a){if(1<(new Set(a.map(b=>b.mimeType))).size)throw new _.I(_.D,
66
+ 4,4045,"Media playlist contains discontinuities with different MIME types. This is valid, but not yet supported.");},SL=function(a,b,c){a=jJ(a.aa,NI);if(1<a.length)throw new _.I(_.D,4,4020);a=a[0];if(!a)return null;const d=aJ(a,_.vb),e=_.Qm(d,b);b=zJ(a,null,!0);return new _.pI(()=>[e],b.ma,b.ja,c)},TL=function(a,b,c,d,e,f,g){const h=[];for(let p=0;p<b.f.length;p++){const u=b.f[p];var k=0===p,l=k?a:h[h.length-1],m=k?d:l.endTime,n=Number(_.L(u,JI));n=m+n;k=zJ(u,k?null:l.ja,k);l=String(_.L(u,_.vb));
67
+ const v=(l=_.Qm(l,g))?[l]:[];m=new BJ(c,m,n,()=>v,k.ma,k.ja,e,f,!1,null,null,null,null);if("YES"===_.L(u,"INDEPENDENT")||0===p)m.h=!0;h.push(m)}return h},UL=function(a,b,c,d,e,f,g,h,k,l,m){const n=c.aa;var p=c.a;0<jJ(n,NI).length&&(m=SL(c,k,g));const u=null!=p,v=p?[p]:[];if(!u&&!a.a.lowLatencyMode)return null;a=0;p={ma:0,ja:null};let y=null;u?({duration:c}=xJ(n),a=e+c,p=wJ(n,b?b.ja:null)):(b=TL(b,c,d,e,f,g,k),a=b[b.length-1].endTime,y=b);h=h===_.ge?oJ(n):null;d=new BJ(d,e,a,()=>v,p.ma,p.ja,f,g,!1,
68
+ null,h?h.sd:null,h?h.Nd:null,h?h.durationPerTile:null,y,m);d.sa=l;return d},PL=function(a,b,c,d,e,f,g){return _.w(function*(){var h=d[0];if(null!=a.C)return a.C;if(!cL(a)&&a.f)try{var k=a.j.get(c);var l=k?yK(k,e)||null:null;if(!l)throw new _.I(_.D,4,4030,"Segment not found in pervious playlist update.");var m=l.startTime+l.Ca;a.g.debug(`Setting playlist start time to ${m}.`);return a.C=m}catch(n){if(h=a.j.get(c))m=h.streams[h.streams.length-1].S,m=m[m.length-1],a.g.warn(`Last #EXT-X-MEDIA-SEQUENCE values ${h.streams[0].S[0].position} - ${m.position}`+
69
+ `, new values ${e} - ${e+d.length-1}.`,b,h);throw new _.I(_.D,4,4047,{message:"The updated playlist does not share any segments with the previous one.",uri:c});}m=yield VL(a,f,g,h);l=uK(h.aa,a.w,e);k=SL(h,b,l);h=yield WL(a,k,h,l,m,g);a.g.debug(`Setting playlist start time to ${h}.`);return a.C=h})},QL=function(a,b,c,d,e,f,g,h){return _.w(function*(){var k=c[0],l=null==h;const m=yield VL(a,f,g,k);var n=h?h.ki:null;if(mJ(c[0].aa,MI)||null===n)n=rK(c,m),n=0===n.length?[nK()]:n;else{var p=rK(c,m);n=[n,
70
+ ...p]}p=n;n=p[p.length-1];p=oK(p);let u=h?h.li:null;var v=XL(u,k.aa,a.w,d);let y=SL(k,b,v)||(h?h.fi:null);const A=k.sa;k=l?e:yield YL(a,A,y,k,d,v,m,g);l=[];v=!1;for(let B=0;B<c.length;B++){var E=c[B];const F=l[l.length-1]||null,ia=0===B?0:F.endTime,Xa=d+B,cb=XL(u,E.aa,a.w,Xa);(u=cb)&&(v=!0);if(E=UL(a,F,E,Xa,ia,k,cb,f,b,A,y))y=E.initSegment,l.push(E)}return{S:l,Gh:p,ki:n,aesEncrypted:v,mimeType:m,endTime:l[l.length-1].endTime,sa:A,fi:y,li:u}})},VL=function(a,b,c,d){return _.w(function*(){const e=d.a;
71
+ var f=nJ(d.aa,NI);f=f?aJ(f,_.vb):null;return ZL(a,b,c,e,f)})},WL=function(a,b,c,d,e,f){return _.w(function*(){if(null==c.a)return 0;const g=CJ(c,d);return wK(a.T,b,g,e,f,null!=d)})},XL=function(a,b,c,d){return b.some(e=>e.name===MI&&"NONE"===_.L(e,UI))?null:(b=uK(b,c,d))?b:a&&a.generatedIv?Object.assign({},a,{iv:_.fm(new Uint8Array(12),hJ(d))}):a},YL=function(a,b,c,d,e,f,g,h){return _.w(function*(){if(a.L.has(b))return a.L.get(b);const k=yield WL(a,c,d,f,g,h);a.g.debug(`Segment #${e} has raw media timestamp `+
72
+ `${k} s.`);a.L.set(b,k);return k})},ZL=function(a,b,c,d,e){return _.w(function*(){const f=[d,e].filter(Boolean);var g=_.Ir(f,b,c);if(g)return g;g=_.wk([d],a.a.attemptParameters);g.method="HEAD";g.type=2;g=(yield a.H(g)).headers["content-type"];if(!g)throw new _.I(_.D,4,4021,"Unknown MIME type of: "+f.join(", "));return g.toLowerCase().split(";")[0]})},YK=a=>{a=_.Rm(a)||"";return null!=_.wu.video[a]?_.t:null!=_.wu.audio[a]?_.q:null},TJ=class{constructor(a,b,c,d){if(1===b){if(!d||0===d.length)throw new _.I(_.D,
73
+ 4,4043,"Media playlist must have at least one segment!");if(null==d[0].a)throw new _.I(_.D,4,4043,"Media playlist must have at least one full segment!");}this.a=a;this.verbatimUri="";this.type=b;this.aa=c;this.S=1===b?d:null}},bK=class{constructor(a,b,c){c=void 0===c?[]:c;this.aa=b;this.a=a;this.f=c;this.sa=-1}},BJ=class extends _.uC{constructor(a,b,c,d,e,f,g,h,k,l,m,n,p,u,v){u=void 0===u?[]:u;super(a,b,c,d,e,f,g,void 0===h?null:h,void 0===k?!1:k,void 0===l?null:l,void 0===m?null:m,void 0===n?null:
74
+ n,void 0===p?null:p,u,void 0===v?null:v);this.sa=0}},$J=/^#EXT-X-DEFINE/,aK=/^#(EXT-X-DISCONTINUITY-SEQUENCE|EXT-X-ENDLIST|EXT-X-I-FRAMES-ONLY|EXT-X-MEDIA-SEQUENCE|EXT-X-PART-INF|EXT-X-PLAYLIST-TYPE|EXT-X-SERVER-CONTROL|EXT-X-TARGETDURATION|EXT-X-DATERANGE|EXT-X-VERSION)/,$L=class{constructor(){this.h=0;this.a=new Map}},aM=class{constructor(){this.a=new Map;this.f=new Map}set(a,b){this.f.set(a,b);return b.then(c=>this.a.set(a,c)).catch(()=>{}).then(()=>this.f.delete(a))}has(a){return this.a.has(a)}get(a){return this.a.get(a)||
75
+ null}values(){return Array.from(this.a.values())}clear(){this.f.clear();this.a.clear()}},jL=new _.T("clpp.hls.DiscontinuityUtils");var tK={"com.apple.streamingkeydelivery":function(a,b){if(b===_.yg)throw new _.I(_.D,4,4041);if(aJ(a,UI)===VI)throw new _.I(_.D,4,4044,"EXT-X-KEY:METHOD SAMPLE-AES-CTR is not supported in FairPlay.");return _.nB(_.sd,[{initDataType:_.Mf,initData:new Uint8Array(0)}],"")},"com.microsoft.playready":mK,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":mK,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":function(a){var b=aJ(a,UI);if(!kK.includes(b))return lK.error("Widevine in HLS is only supported with [",
76
+ kK.join(", "),"], not",b),null;b=aJ(a,_.vb);b=_.gm(b);b=_.G(b.data);b=_.nB(_.wd,[{initDataType:_.Wc,initData:b}],"");if(a=_.L(a,"KEYID"))b.keyIds=[a.substr(2).toLowerCase()];return b}},kK=["SAMPLE-AES",VI],lK=new _.T("clpp.hls.DrmParser");var sK=new _.T("clpp.hls.EncryptionUtils");var bM=class{constructor(a){this.g=new _.T("clpp.hls.MediaReader");this.f=a;this.a={attemptParameters:_.sk()}}};var BL=class{constructor(a){this.streams=a}length(){return this.streams.length}};var zL=class{constructor(a){this.a=a}length(){return this.a.length}};var RK=a=>{if(!a)return null;a=nJ(a.aa,QI);if(!a)return null;a=Date.parse(a.value);return isNaN(a)?null:a};var cM=class{constructor(){this.a=this.D=null;this.h=1;this.j=new aM;this.w="";this.R=new $L;this.G=0;this.o=null;this.l=new _.Li(()=>{this.Wb()});this.A=_.Fb;this.f=null;this.F=new _.Zt;this.K=this.C=null;this.g=new _.T("clpp.hls.HlsParser");this.L=new Map;this.T=new bM(this.H.bind(this));this.P=!1;this.I=null;this.M=!1;this.B=new Map;this.J=new Set}configure(a){this.a=a;this.T.a=a}setCurrentVariant(a){this.o=a}start(a,b){const c=this;return _.w(function*(){if(c.P)throw Error("start() may be called only once!");
77
+ c.P=!0;c.D=b;var d=Date.now();const {response:e,text:f}=yield WK(c,a);c.D.onEvent(new _.H(ZI,{detail:{duration:Date.now()-d,type:"master"}}));c.w=e.uri;d=yield gL(c,f);c.f=d;const g=c.G;c.l&&0<g&&c.l.la(g);return d})}requestStop(){this.M=!0}stop(){this.l&&(this.l.stop(),this.l=null);const a=[];this.F&&(a.push(this.F.destroy()),this.F=null);this.j.clear();this.f=this.a=this.D=this.o=null;this.B.clear();this.J.clear();return Promise.all(a)}update(){const a=this;return _.w(function*(){const b=a.f;if(!cL(a)&&
78
+ b){var c=b.presentationTimeline;"LIVE"===a.A&&(a.C=null);var d=Array.from(a.j.values());if(a.a.lowLatencyMode&&null!==a.o){const g=VK(a);d=d.filter(h=>g.includes(HJ(h).Da))}var e=yield iL(a,d);d=e.map(g=>g.playlist);kL(a,d);e=yield nL(a,e);FK(b.periods,e).forEach(g=>{a.D.filterNewPeriod(g)});aL(a,e);var f=oL(a,d);f=pL(a,d,f);b.cues=fL(a,f);HK(b.periods,e);UK(c,e);if(d=rJ(d))!0!==a.a.keepTimelineLive&&qL(a,c,e),a.l.stop(),a.l=null;if(a.D.onUpdate)a.D.onUpdate(b);if(d&&a.D.onTurnedStatic)a.D.onTurnedStatic();
79
+ a.M&&(yield a.stop());return b}})}loadVariant(a,b){const c=this;return _.w(function*(){const d=a.id;var e=c.f.periods.find(k=>k.id===b);if(e&&(e=e.variants.find(k=>k.id===d)))return e;e=c.f.alternativeVariants.find(k=>k.id===d);if(!e)throw new _.ql(`No alternative variant with id: ${d}`);var f=null,g=null;if(e.audio){const k=e.audio;f=LL(c,k.verbatimUri,()=>_.w(function*(){const l=yield IL(c,k);return JL(c,k,l)}))}if(e.video){const k=e.video;g=LL(c,k.verbatimUri,()=>_.w(function*(){const l=yield IL(c,
80
+ k);return JL(c,k,l)}))}f=yield f;g=yield g;e=mL(c,f,g,e.bandwidth,e.id);let h;e&&(e=MK(c.D.configurationId,[e],[],[],!cL(c)),c.D.filterAllPeriods(e),e.forEach((k,l)=>{c.f.periods[l].variants.push(k.variants[0]);b===c.f.periods[l].id&&(h=k.variants[0])}));if(!h)throw new _.ql(`Could load variant with id: ${d}`);return h})}loadTextStream(a,b){const c=this;return _.w(function*(){let d;var e=c.f.periods.find(f=>f.id===b);e&&(e=e.textStreams.find(f=>f.id===a)||null)&&(d=e);if(!d&&c.f.alternativeTextStreams){const f=
81
+ c.f.alternativeTextStreams.find(h=>h.id===a)||null;if(!f)throw new _.ql(`Could not load text stream with id: ${a}`);const g=yield LL(c,f.verbatimUri,()=>_.w(function*(){const h=yield IL(c,f);return JL(c,f,h)}));g&&c.f.periods.forEach((h,k)=>{h=g.streams[k];c.f.periods[k].textStreams.push(h);h.id===a&&(d=h)})}if(!d)throw new _.ql(`Could not load text stream with id: ${a}`);return d})}Wb(){const a=this;return _.w(function*(){a.g.debug(_.xA);if(a.D)try{yield a.update(),a.l&&0<a.G&&a.l.la(a.G)}catch(b){if(!(b instanceof
82
+ _.I))throw b;a.D&&(a.D.onError(b),1===b.severity&&a.l&&a.l.la(.1))}})}H(a){if(!this.F)throw new _.I(_.D,7,7001);a=this.D.networkingEngine.fetch(a);_.Gl(this.F,a);return a.U}};_.x("clpp.hls.HlsComponent",class extends _.yv{install(){_.Et.m3u8=cM;_.Dt[_.ul]=cM;_.Dt[YI]=cM}uninstall(){_.QC("m3u8");_.RC(_.ul);_.RC(YI)}id(){return"hls"}});};f.call(g, window);
package/cl.hlssmpte.js CHANGED
@@ -1,5 +1,5 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var PT=function(a){a.a.one(a.m,_.se,()=>OT(a))},OT=function(a){const b=a.m.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.nc,d=>QT(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.ze).forEach(d=>{QT(a,{track:d})});!RT(c)&&a.l&&(a.g.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),ST(a,b))}else a.g.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
- else a.g.warn("A video element is not available. Skipping.")},QT=function(a,b){b=b.track;b.kind===_.ze&&(a.g.info("The metadata track has been added."),b.mode=_.be,a.a.on(b,_.zd,c=>TT(a,c)))},RT=function(a){return a.some(b=>b.kind===_.ze)},ST=function(a,b){const c=a.m.getTrackManager(),d=c.oa(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.xa(d);a.a.on(b.textTracks,_.nc,g=>{g.track.kind===_.ze&&(a.a.off(b.textTracks,_.nc,f),c.xa(d))});c.xa(e)}else a.g.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
- TT=function(a,b){const c=UT(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.f&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new VT(d);if(e.f===c&&null!==e.a){a.f=d;d=a.h.parseMedia(_.si(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.m.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},UT=function(a){return(a=a.m.getTrackManager().ta())&&a.language&&a.language.toLowerCase()},
4
- VT=class{constructor(a){this.startTime=a.startTime;this.endTime=a.endTime;this.a=this.f=null;a=a.value;if(!_.z(a)){a:{var b=a.info;if(_.ih(b)&&(b=b.toLowerCase().match(/lang:(\w+)/))&&b[1]){b=b[1].toLowerCase();break a}b=null}this.f=b;a=a.data;this.a=a=_.ih(a)?a:null}}};var WT=class{constructor(a,b,c){this.m=a;this.l=b;this.j=c;this.a=new _.Gt;this.h=(a=_.ot(_.zc))?new a(this.m.getConfiguration()):null;this.g=new _.S("clpp.hlssmpte.ImageCueHandler");this.f=null;PT(this)}destroy(){this.a.release();this.f=null;return Promise.resolve()}};var XT=class extends _.Iv{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.$i()){var b=a.getConfiguration();b=_.ch(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.Lc&&(b.patchMetadataTrack=!1);_.jh(b.timestampOffset)||(b.timestampOffset=0);this.a=new WT(a,b.patchMetadataTrack,b.timestampOffset)}}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.a&&(yield a.a.destroy(),a.a=null)})}id(){return"hlssmpte"}};_.x("clpp.hlssmpte.HlsSmptePlugin",XT);
5
- XT.Id="hlssmpte";_.Ln(new class{create(){return new XT}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var JT=function(a){a.a.one(a.m,_.te,()=>IT(a))},IT=function(a){const b=a.m.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.oc,d=>KT(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.Ae).forEach(d=>{KT(a,{track:d})});!LT(c)&&a.l&&(a.g.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),MT(a,b))}else a.g.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
+ else a.g.warn("A video element is not available. Skipping.")},KT=function(a,b){b=b.track;b.kind===_.Ae&&(a.g.info("The metadata track has been added."),b.mode=_.ce,a.a.on(b,_.Bd,c=>NT(a,c)))},LT=function(a){return a.some(b=>b.kind===_.Ae)},MT=function(a,b){const c=a.m.getTrackManager(),d=c.pa(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.za(d);a.a.on(b.textTracks,_.oc,g=>{g.track.kind===_.Ae&&(a.a.off(b.textTracks,_.oc,f),c.za(d))});c.za(e)}else a.g.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
+ NT=function(a,b){const c=OT(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.f&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new PT(d);if(e.f===c&&null!==e.a){a.f=d;d=a.h.parseMedia(_.ri(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.m.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},OT=function(a){return(a=a.m.getTrackManager().va())&&a.language&&a.language.toLowerCase()},
4
+ PT=class{constructor(a){this.startTime=a.startTime;this.endTime=a.endTime;this.a=this.f=null;a=a.value;if(!_.z(a)){a:{var b=a.info;if(_.jh(b)&&(b=b.toLowerCase().match(/lang:(\w+)/))&&b[1]){b=b[1].toLowerCase();break a}b=null}this.f=b;a=a.data;this.a=a=_.jh(a)?a:null}}};var QT=class{constructor(a,b,c){this.m=a;this.l=b;this.j=c;this.a=new _.Kt;this.h=(a=_.ut(_.Bc))?new a(this.m.getConfiguration()):null;this.g=new _.T("clpp.hlssmpte.ImageCueHandler");this.f=null;JT(this)}destroy(){this.a.release();this.f=null;return Promise.resolve()}};var RT=class extends _.Ov{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.Zi()){var b=a.getConfiguration();b=_.dh(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.Nc&&(b.patchMetadataTrack=!1);_.kh(b.timestampOffset)||(b.timestampOffset=0);this.a=new QT(a,b.patchMetadataTrack,b.timestampOffset)}}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.a&&(yield a.a.destroy(),a.a=null)})}id(){return"hlssmpte"}};_.x("clpp.hlssmpte.HlsSmptePlugin",RT);
5
+ RT.Id="hlssmpte";_.Qn(new class{create(){return new RT}});};f.call(g, window);