PageSourceSearch

https://undiscord.gg/_next/static/chunks/06y8e-3qhvwi6.js?dpl=dpl_3zvPYQ2tXeiAzWnRpmvDdUxcTa8S

js undiscord.gg collected 2026-10-02 00:09:20 UTC 1,041,060 bytes, 3,351 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,61564,e=>{"use strict";var t=e.i(43476),i=e.i(19455),r=e.i(87280);e.s(["Hero",0,function(){return(0,t.jsxs)("section",{"aria-labelledby":"hero-heading",className:"flex flex-col items-center gap-6 px-4 py-12 text-center md:gap-8 md:px-6 md:py-24",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:gap-2",children:[(0,t.jsxs)("p",{className:"relative overflow-hidden text-xs text-muted-foreground","aria-hidden":"true",children:[(0,t.jsx)("span",{children:"No tracking. No login. Free forever."}),(0,t.jsx)("span",{className:"pointer-events-none absolute inset-0 animate-shine bg-gradient-to-r from-transparent via-white to-transparent mix-blend-overlay"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("h1",{id:"hero-heading",className:"text-2xl font-medium tracking-tight md:text-5xl",children:"Your sidebar deserves better."}),(0,t.jsx)("p",{className:"max-w-xl text-base text-muted-foreground md:text-lg",children:"Undiscord shows you all your Discord servers in one place and lets you bulk leave the ones you no longer need, quickly and safely."})]})]}),(0,t.jsxs)("div",{className:"flex gap-3",role:"group","aria-label":"Call to action",children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{document.getElementById("trailer")?.scrollIntoView({behavior:"smooth"})},children:"Learn more"}),(0,t.jsx)(r.GetExtensionButton,{})]})]})}])},42033,e=>{"use strict";let t,i,r,a;var s=e.i(71645),n=Object.create,o=Object.defineProperty,l=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,c=function(e,t){return function(){return e&&(t=e(e=0)),t}},m=function(e,t){return function(){return t||e((t={exports:{}}).exports,t),t.exports}},f=function(e,t,i,r){if(t&&"object"==typeof t||"function"==typeof t)for(var a,s=d(t),n=0,u=s.length;n<u;n++)a=s[n],h.call(e,a)||a===i||o(e,a,{get:(function(e){return t[e]}).bind(null,a),enumerable:!(r=l(t,a))||r.enumerable});return e},p=function(e,t,i){return i=null!=e?n(u(e)):{},f(!t&&e&&e.__esModule?i:o(i,"default",{value:e,enumerable:!0}),e)},g=m(function(t,i){i.exports="u">typeof window?window:e.g});function E(e,t){return null!=t&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):E(e,t)}var y=c(function(){y()});function b(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var T=c(function(){}),A=m(function(e,t){var i=Array.prototype.slice;t.exports=function(e,t){for(("length"in e)||(e=[e]),e=i.call(e);e.length;){var r=e.shift(),a=t(r);if(a)return a;r.childNodes&&r.childNodes.length&&(e=i.call(r.childNodes).concat(e))}}}),_=m(function(e,t){function i(e,t){if(!E(this,i))return new i(e,t);this.data=e,this.nodeValue=e,this.length=e.length,this.ownerDocument=t||null}y(),t.exports=i,i.prototype.nodeType=8,i.prototype.nodeName="#comment",i.prototype.toString=function(){return"[object Comment]"}}),S=m(function(e,t){function i(e,t){if(!E(this,i))return new i(e);this.data=e||"",this.length=this.data.length,this.ownerDocument=t||null}y(),t.exports=i,i.prototype.type="DOMTextNode",i.prototype.nodeType=3,i.prototype.nodeName="#text",i.prototype.toString=function(){return this.data},i.prototype.replaceData=function(e,t,i){var r=this.data,a=r.substring(0,e),s=r.substring(e+t,r.length);this.data=a+i+s,this.length=this.data.length}}),k=m(function(e,t){t.exports=function(e){var t=this,i=e.type;e.target||(e.target=t),t.listeners||(t.listeners={});var r=t.listeners[i];if(r)return r.forEach(function(i){e.currentTarget=t,"function"==typeof i?i(e):i.handleEvent(e)});t.parentNode&&t.parentNode.dispatchEvent(e)}}),L=m(function(e,t){t.exports=function(e,t){this.listeners||(this.listeners={}),this.listeners[e]||(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)}}),R=m(function(e,t){t.exports=function(e,t){if(this.listeners&&this.listeners[e]){var i=this.listeners[e],r=i.indexOf(t);-1!==r&&i.splice(r,1)}}}),I=m(function(e,t){T(),t.exports=function e(t){switch(t.nodeType){case 3:return a(t.data);case 8:return"<!--"+t.data+"-->";default:var s,n,o;return n=[],o=(s=t).tagName,"http://www.w3.org/1999/xhtml"===s.namespaceURI&&(o=o.toLowerCase()),n.push("<"+o+function(e){var t=[];for(var i in e)(function(e,t){var i=b(e[t]);return"style"===t&&Object.keys(e.style).length>0||e.hasOwnProperty(t)&&("string"===i||"boolean"===i||"number"===i)&&"nodeName"!==t&&"className"!==t&&"tagName"!==t&&"textContent"!==t&&"innerText"!==t&&"namespaceURI"!==t&&"innerHTML"!==t}
1)(e,i)&&t.push({name:i,value:e[i]});for(var a in e._attributes)for(var s in e._attributes[a]){var n=e._attributes[a][s],o=(n.prefix?n.prefix+":":"")+s;t.push({name:o,value:n.value})}return e.className&&t.push({name:"class",value:e.className}),t.length?r(t):""}(s)+function(e){var t=e.dataset,i=[];for(var a in t)i.push({name:"data-"+a,value:t[a]});return i.length?r(i):""}(s)),i.indexOf(o)>-1?n.push(" />"):(n.push(">"),s.childNodes.length?n.push.apply(n,s.childNodes.map(e)):s.textContent||s.innerText?n.push(a(s.textContent||s.innerText)):s.innerHTML&&n.push(s.innerHTML),n.push("</"+o+">")),n.join("")}};var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(e){var t=[];return e.forEach(function(e){var i=e.name,r=e.value;"style"===i&&(r=function(e){if("string"==typeof e)return e;var t="";return Object.keys(e).forEach(function(i){var r=e[i];i=i.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),t+=i+":"+r+";"}),t}(r)),t.push(i+'="'+a(r).replace(/"/g,"&quot;")+'"')}),t.length?" "+t.join(" "):""}function a(e){var t="";return"string"==typeof e?t=e:e&&(t=e.toString()),t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}}),w=m(function(e,t){y();var i=A(),r=k(),a=L(),s=R(),n=I(),o="http://www.w3.org/1999/xhtml";function l(e,t,i){if(!E(this,l))return new l(e);var r=void 0===i?o:i||null;this.tagName=r===o?String(e).toUpperCase():e,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=t||null,this.namespaceURI=r,this._attributes={},"INPUT"===this.tagName&&(this.type="text")}t.exports=l,l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e},l.prototype.replaceChild=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=this.childNodes.indexOf(t);return t.parentNode=null,this.childNodes[i]=e,e.parentNode=this,t},l.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e},l.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=null==t?-1:this.childNodes.indexOf(t);return i>-1?this.childNodes.splice(i,0,e):this.childNodes.push(e),e.parentNode=this,e},l.prototype.setAttributeNS=function(e,t,i){var r=null,a=t,s=t.indexOf(":");(s>-1&&(r=t.substr(0,s),a=t.substr(s+1)),"INPUT"===this.tagName&&"type"===t)?this.type=i:(this._attributes[e]||(this._attributes[e]={}))[a]={value:i,prefix:r}},l.prototype.getAttributeNS=function(e,t){var i=this._attributes[e],r=i&&i[t]&&i[t].value;return"INPUT"===this.tagName&&"type"===t?this.type:"string"!=typeof r?null:r},l.prototype.removeAttributeNS=function(e,t){var i=this._attributes[e];i&&delete i[t]},l.prototype.hasAttributeNS=function(e,t){var i=this._attributes[e];return!!i&&t in i},l.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t)},l.prototype.getAttribute=function(e){return this.getAttributeNS(null,e)},l.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e)},l.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e)},l.prototype.removeEventListener=s,l.prototype.addEventListener=a,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return n(this)},l.prototype.getElementsByClassName=function(e){var t=e.split(" "),r=[];return i(this,function(e){if(1===e.nodeType){var i=(e.className||"").split(" ");t.every(function(e){return -1!==i.indexOf(e)})&&r.push(e)}}),r},l.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return i(this.childNodes,function(i){1===i.nodeType&&("*"===e||i.tagName.toLowerCase()===e)&&t.push(i)}),t},l.prototype.contains=function(e){return i(this,function(t){return e===t})||!1}}),C=m(function(e,t){y();var i=w();function r(e){if(!E(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=e||null}t.exports=r,r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=i.prototype.appendChild,r.prototype.replaceChild=i.prototype.replaceChild,r.prototype.removeChild=i.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(e){return String(e)}).join("")}}),D=m(function(e,t){function i(e){}t.exports=i,i.prototype.initEvent=function(e,t,i){this.type=e,this.bubbles=t,this.cancelable=i},i.prototype.preventDefault=function(){}}),x=m(function(e,t){y();var i=A(),r=_(),a=S(),s=w(),n=C(),o=D(),l=k(),d=L(),u=R();function h(){if(!E(this,h))return new h;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}t.exports=h;var c=h.prototype;c.createTextNode=function(e){return new a(e,this)},c.createElementNS=function(e,t){return new s(t,this,null===e?null:String(e))},c.createElement=function(e){return new s(e,this)},c.createDocumentFragment=function(){return new n(this)},c.createEvent=function(e){return new o(e)},c.createComment=function(e){return new r(e,this)},c.getElementById=function(e){return e=String(e),i(this.childNodes,function(t){if(String(t.id)===e)return t})||null},c.getElementsByClassName=s.prototype.getElementsByClassName,c.getElementsByTagName=s.prototype.getElementsByTagName,c.contains=s.prototype.contains,c.removeEventListener=u,c.addEventListener=d,c.dispatchEvent=l}),M=m(function(e,t){t.exports=new(x())}),P=m(function(t,i){var r,a=e.g,s=M();"u">typeof document?r=document:(r=a["__GLOBAL_DOCUMENT_CACHE@4"])||(r=a["__GLOBAL_DOCUMENT_CACHE@4"]=s),i.exports=r});function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=Array(t);i<t;i++)r[i]=e[i];return r}function N(e,t){if(e){if("string"==typeof e)return O(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if("Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return O(e,t)}}function U(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r,a,s=[],n=!0,o=!1;try{for(i=i.call(e);!(n=(r=i.next()).done)&&(s.push(r.value),!(t&&s.length===t));n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return s}}(e,t)||N(e,t)||function(){throw TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var F=p(g()),B=p(g()),$=p(g()),H=function(){var e=$.default.performance,t=e&&e.timing,i=t&&t.navigationStart;return Math.round("number"==typeof i&&"function"==typeof e.now?i+e.now():Date.now())},G=function(){if("function"==typeof(null==(e=B.default.crypto)?void 0:e.getRandomValues)){i=new Uint8Array(32),B.default.crypto.getRandomValues(i);for(var e,t,i,r=0;r<32;r++)i[r]=i[r]%16}else{i=[];for(var a=0;a<32;a++)i[a]=16*Math.random()|0}var s=0;t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t="x"===e?i[s]:3&i[s]|8;return s++,t.toString(16)});var n=H(),o=null==n?void 0:n.toString(16).substring(3);return o?t.substring(0,28)+o:t},V=function(){return("000000"+(0x81bf1000*Math.random()|0).toString(36)).slice(-6)},K=function(e){var t;if(e&&void 0!==e.nodeName)return e.muxId||(e.muxId=V()),e.muxId;try{t=document.querySelector(e)}catch(e){}return t&&!t.muxId&&(t.muxId=e),(null==t?void 0:t.muxId)||e},W=function(e){e&&void 0!==e.nodeName?e=K(t=e):t=document.querySelector(e);var t,i=t&&t.nodeName?t.nodeName.toLowerCase():"";return[t,e,i]};function q(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var j=function(e){var t,i,r,a,s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,o=e?[console,e]:[console],l=(t=console.trace).bind.apply(t,q(o)),d=(i=console.info).bind.apply(i,q(o)),u=(r=console.debug).bind.apply(r,q(o)),h=(a=console.warn).bind.apply(a,q(o)),c=(s=console.error).bind.apply(s,q(o)),m=n;return{trace:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>0))return l.apply(void 0,q(t))},debug:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>1))return u.apply(void 0,q(t))},info:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>2))return d.apply(void 0,q(t))},warn:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>3))return h.apply(void 0,q(t))},error:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>4))return c.apply(void 0,q(t))},get level(){return m},set level(v){v!==this.level&&(m=null!=v?v:n)}}}("[mux]"),Y=p(g());function z(){return"1"===(Y.default.doNotTrack||Y.default.navigator&&Y.default.navigator.doNotTrack)}function Q(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e,t){if(!E(e,t))throw TypeError("Cannot call a class as a function")}function Z(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function J(e,t,i){return t&&Z(e.prototype,t),i&&Z(e,i),e}function ee(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function et(e){return(et=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ei(e,t,i){return(ei="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,i){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=et(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(i||e):a.value}})(e,t,i||e)}function er(e,t){return(er=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}y(),T();var ea=function(e){return es(e)[0]},es=function(e){if("string"!=typeof e||""===e)return["localhost"];var t,i=(e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return i&&(t=(i.match(/[^\.]+\.[^\.]+$/)||[])[0]),[i,t]},en=p(g()),eo=function(){var e=en.default.performance;return void 0!==(e&&e.timing)}
1,el=function(){var e=en.default.performance,t=e&&e.timing;return t&&t.domContentLoadedEventEnd},ed=function(){var e=en.default.performance,t=e&&e.timing;return t&&t.navigationStart};function eu(e,t,i){i=void 0===i?1:i,e[t]=e[t]||0,e[t]+=i}function eh(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},r=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),r.forEach(function(t){ee(e,t,i[t])})}return e}function ec(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t.push.apply(t,i)}return t})(Object(t)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))}),e}var em=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],ef=["x-cdn","content-type"].concat(em);function ep(e){var t={};return(e=e||"").trim().split(/[\r\n]+/).forEach(function(e){if(e){var i=e.split(": "),r=i.shift();r&&(ef.indexOf(r.toLowerCase())>=0||0===r.toLowerCase().indexOf("x-litix-"))&&(t[r]=i.join(": "))}}),t}function eg(e){if(e){var t=em.find(function(t){return void 0!==e[t]});return t?e[t]:void 0}}var ev=function(e){var t={};for(var i in e){var r=e[i];-1!==r["DATA-ID"].search("io.litix.data.")&&(t[r["DATA-ID"].replace("io.litix.data.","")]=r.VALUE)}return t},eE=function(e){if(!e)return{};var t=ed(),i=e.loading,r=i?i.start:e.trequest,a=i?i.first:e.tfirst,s=i?i.end:e.tload;return{bytesLoaded:e.total,requestStart:Math.round(t+r),responseStart:Math.round(t+a),responseEnd:Math.round(t+s)}},ey=function(e){if(!(!e||"function"!=typeof e.getAllResponseHeaders))return ep(e.getAllResponseHeaders())},eb=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=arguments.length>4?arguments[4]:void 0,a=e.log,s=e.utils.secondsToMs,n=function(e){var t,i=parseInt(r.version);return 1===i&&null!==e.programDateTime&&(t=e.programDateTime),0===i&&null!==e.pdt&&(t=e.pdt),t};if(!eo())return void a.warn("performance timing not supported. Not tracking HLS.js.");var o=function(i,r){return e.emit(t,i,r)},l=function(e,t){var i=t.levels,r=t.audioTracks,a=t.url,s=t.stats,n=t.networkDetails,l=t.sessionData,d={},u={};i.forEach(function(e,t){d[t]={width:e.width,height:e.height,bitrate:e.bitrate,attrs:e.attrs}}),r.forEach(function(e,t){u[t]={name:e.name,language:e.lang,bitrate:e.bitrate}});var h=eE(s),c=h.bytesLoaded,m=h.requestStart,f=h.responseStart,p=h.responseEnd;o("requestcompleted",ec(eh({},ev(l)),{request_event_type:e,request_bytes_loaded:c,request_start:m,request_response_start:f,request_response_end:p,request_type:"manifest",request_hostname:ea(a),request_response_headers:ey(n),request_rendition_lists:{media:d,audio:u,video:{}}}))};i.on(r.Events.MANIFEST_LOADED,l);var d=function(e,t){var i=t.details,r=t.level,a=t.networkDetails,l=eE(t.stats),d=l.bytesLoaded,u=l.requestStart,h=l.responseStart,c=l.responseEnd,m=i.fragments[i.fragments.length-1],f=n(m)+s(m.duration);o("requestcompleted",{request_event_type:e,request_bytes_loaded:d,request_start:u,request_response_start:h,request_response_end:c,request_current_level:r,request_type:"manifest",request_hostname:ea(i.url),request_response_headers:ey(a),video_holdback:i.holdBack&&s(i.holdBack),video_part_holdback:i.partHoldBack&&s(i.partHoldBack),video_part_target_duration:i.partTarget&&s(i.partTarget),video_target_duration:i.targetduration&&s(i.targetduration),video_source_is_live:i.live,player_manifest_newest_program_time:isNaN(f)?void 0:f})};i.on(r.Events.LEVEL_LOADED,d);var u=function(e,t){var i=t.details,r=t.networkDetails,a=eE(t.stats);o("requestcompleted",{request_event_type:e,request_bytes_loaded:a.bytesLoaded,request_start:a.requestStart,request_response_start:a.responseStart,request_response_end:a.responseEnd,request_type:"manifest",request_hostname:ea(i.url),request_response_headers:ey(r)})};i.on(r.Events.AUDIO_TRACK_LOADED,u);var h=function(e,t){var r=t.stats,a=t.networkDetails,s=t.frag,n=eE(r=r||s.stats),l=n.bytesLoaded,d=n.requestStart,u=n.responseStart,h=n.responseEnd,c=a?ey(a):void 0,m={request_event_type:e,request_bytes_loaded:l,request_start:d,request_response_start:u,request_response_end:h,request_hostname:a?ea(a.responseURL):void 0,request_id:c?eg(c):void 0,request_response_headers:c,request_media_duration:s.duration,request_url:null==a?void 0:a.responseURL};"main"===s.type?(m.request_type="media",m.request_current_level=s.level,m.request_video_width=(i.levels[s.level]||{}).width,m.request_video_height=(i.levels[s.level]||{}).height,m.request_labeled_bitrate=(i.levels[s.level]||{}).bitrate):m.request_type=s.type,o("requestcompleted",m)};i.on(r.Events.FRAG_LOADED,h);var c=function(e,t){var i=t.frag,r=i.start;o("fragmentchange",{currentFragmentPDT:n(i),currentFragmentStart:s(r)})};i.on(r.Events.FRAG_CHANGED,c);var m=function(e,t){var i,a=t.type,s=t.details,n=t.response,l=t.fatal,d=t.frag,u=t.networkDetails,h=(null==d?void 0:d.url)||t.url||"",c=u?ey(u):void 0;(s===r.ErrorDetails.MANIFEST_LOAD_ERROR||s===r.ErrorDetails.MANIFEST_LOAD_TIMEOUT||s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT||s===r.ErrorDetails.LEVEL_LOAD_ERROR||s===r.ErrorDetails.LEVEL_LOAD_TIMEOUT||s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT)&&o("requestfailed",{request_error:s,request_url:h,request_hostname:ea(h),request_id:c?eg(c):void 0,request_type:s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:null==n?void 0:n.code,request_error_text:null==n?void 0:n.text}),l&&o("error",{player_error_code:a,player_error_message:s,player_error_context:"".concat(h?"url: ".concat(h,"\n"):"")+"".concat(n&&(n.code||n.text)?"response: ".concat(n.code,", ").concat(n.text,"\n"):"")+"".concat(t.reason?"failure reason: ".concat(t.reason,"\n"):"")+"".concat(t.level?"level: ".concat(t.level,"\n"):"")+"".concat(t.parent?"parent stream controller: ".concat(t.parent,"\n"):"")+"".concat(t.buffer?"buffer length: ".concat(t.buffer,"\n"):"")+"".concat(t.error?"error: ".concat(t.error,"\n"):"")+"".concat(t.event?"event: ".concat(t.event,"\n"):"")+"".concat(t.err?"error message: ".concat(null==(i=t.err)?void 0:i.message,"\n"):"")})};i.on(r.Events.ERROR,m);var f=function(e,t){var i=t.frag,r=i&&i._url||"";o("requestcanceled",{request_event_type:e,request_url:r,request_type:"media",request_hostname:ea(r)})};i.on(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f);var p=function(e,t){var r=t.level,s=i.levels[r];if(s&&s.attrs&&s.attrs.BANDWIDTH){var n,l=s.attrs.BANDWIDTH,d=parseFloat(s.attrs["FRAME-RATE"]);isNaN(d)||(n=d),l?o("renditionchange",{video_source_fps:n,video_source_bitrate:l,video_source_width:s.width,video_source_height:s.height,video_source_rendition_name:s.name,video_source_codec:null==s?void 0:s.videoCodec}):a.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};i.on(r.Events.LEVEL_SWITCHED,p),i._stopMuxMonitor=function(){i.off(r.Events.MANIFEST_LOADED,l),i.off(r.Events.LEVEL_LOADED,d),i.off(r.Events.AUDIO_TRACK_LOADED,u),i.off(r.Events.FRAG_LOADED,h),i.off(r.Events.FRAG_CHANGED,c),i.off(r.Events.ERROR,m),i.off(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f),i.off(r.Events.LEVEL_SWITCHED,p),i.off(r.Events.DESTROYING,i._stopMuxMonitor),delete i._stopMuxMonitor},i.on(r.Events.DESTROYING,i._stopMuxMonitor)},eT=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eA=function(e,t){if(!e||!e.requestEndDate)return{};var i,r=ea(e.url),a=e.url,s=e.bytesLoaded,n=new Date(e.requestStartDate).getTime(),o=new Date(e.firstByteDate).getTime(),l=new Date(e.requestEndDate).getTime(),d=isNaN(e.duration)?0:e.duration,u="function"==typeof t.getMetricsFor?t.getMetricsFor(e.mediaType).HttpList:t.getDashMetrics().getHttpRequests(e.mediaType);u.length>0&&(i=ep(u[u.length-1]._responseHeaders||""));var h=i?eg(i):void 0;return{requestStart:n,requestResponseStart:o,requestResponseEnd:l,requestBytesLoaded:s,requestResponseHeaders:i,requestMediaDuration:d,requestHostname:r,requestUrl:a,requestId:h}},e_=function(e,t){var i=t.getQualityFor(e),r=t.getCurrentTrackFor(e).bitrateList;return r?{currentLevel:i,renditionWidth:r[i].width||null,renditionHeight:r[i].height||null,renditionBitrate:r[i].bandwidth}:{}},eS=function(e){var t;return null==(t=e.match(/.*codecs\*?="(.*)"/))?void 0:t[1]},ek=function(e){try{var t,i;return null==(i=e.getVersion)||null==(t=i.call(e))?void 0:t.split(".").map(function(e){return parseInt(e)})[0]}catch(e){return!1}},eL=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=e.log;if(!i||!i.on)return void r.warn("Invalid dash.js player reference. Monitoring blocked.");var a=ek(i),s=function(i,r){return e.emit(t,i,r)},n=function(e){var t=e.type,i=(e.data||{}).url;s("requestcompleted",{request_event_type:t,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ea(i),request_url:i})};i.on("manifestLoaded",n);var o={},l=function(e){if("function"!=typeof e.getRequests)return null;var t=e.getRequests({state:"executed"});return 0===t.length?null:t[t.length-1]},d=function(e){var t=e.type,r=e.chunk,a=e.request,n=(r||{}).mediaInfo||{},l=n.type,d=n.bitrateList,u={};
1(d=d||[]).forEach(function(e,t){u[t]={},u[t].width=e.width,u[t].height=e.height,u[t].bitrate=e.bandwidth,u[t].attrs={}}),"video"===l?o.video=u:"audio"===l?o.audio=u:o.media=u;var h=eA(a,i),c=h.requestStart,m=h.requestResponseStart,f=h.requestResponseEnd,p=h.requestResponseHeaders,g=h.requestMediaDuration,E=h.requestHostname,y=h.requestUrl;s("requestcompleted",{request_event_type:t,request_start:c,request_response_start:m,request_response_end:f,request_bytes_loaded:-1,request_type:l+"_init",request_response_headers:p,request_hostname:E,request_id:h.requestId,request_url:y,request_media_duration:g,request_rendition_lists:o})};a>=4?i.on("initFragmentLoaded",d):i.on("initFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;d({type:t,request:l(i),chunk:r})});var u=function(e){var t=e.type,r=e.chunk,a=e.request,n=r||{},o=n.mediaInfo,l=n.start,d=(o||{}).type,u=eA(a,i),h=u.requestStart,c=u.requestResponseStart,m=u.requestResponseEnd,f=u.requestBytesLoaded,p=u.requestResponseHeaders,g=u.requestMediaDuration,E=u.requestHostname,y=u.requestUrl,b=u.requestId,T=e_(d,i),A=T.currentLevel,_=T.renditionWidth,S=T.renditionHeight;s("requestcompleted",{request_event_type:t,request_start:h,request_response_start:c,request_response_end:m,request_bytes_loaded:f,request_type:d,request_response_headers:p,request_hostname:E,request_id:b,request_url:y,request_media_start_time:l,request_media_duration:g,request_current_level:A,request_labeled_bitrate:T.renditionBitrate,request_video_width:_,request_video_height:S})};a>=4?i.on("mediaFragmentLoaded",u):i.on("mediaFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;u({type:t,request:l(i),chunk:r})});var h={video:void 0,audio:void 0,totalBitrate:void 0},c=function(){if(h.video&&"number"==typeof h.video.bitrate){if(!(h.video.width&&h.video.height))return void r.warn("have bitrate info for video but missing width/height");var e=h.video.bitrate;if(h.audio&&"number"==typeof h.audio.bitrate&&(e+=h.audio.bitrate),e!==h.totalBitrate)return h.totalBitrate=e,{video_source_bitrate:e,video_source_height:h.video.height,video_source_width:h.video.width,video_source_codec:eS(h.video.codec)}}},m=function(e,t,a){if("number"!=typeof e.newQuality)return void r.warn("missing evt.newQuality in qualityChangeRendered event",e);var n=e.mediaType;if("audio"===n||"video"===n){var o=i.getBitrateInfoListFor(n).find(function(t){return t.qualityIndex===e.newQuality});if(!(o&&"number"==typeof o.bitrate))return void r.warn("missing bitrate info for ".concat(n));h[n]=ec(eh({}
1,o),{codec:i.getCurrentTrackFor(n).codec});var l=c();l&&s("renditionchange",l)}};i.on("qualityChangeRendered",m);var f=function(e){var t=e.request,i=e.mediaType;s("requestcanceled",{request_event_type:(t=t||{}).type+"_"+t.action,request_url:t.url,request_type:i,request_hostname:ea(t.url)})};i.on("fragmentLoadingAbandoned",f);var p=function(e){var t,i,r=e.error,a=(null==r||null==(t=r.data)?void 0:t.request)||{},n=(null==r||null==(i=r.data)?void 0:i.response)||{};(null==r?void 0:r.code)===27&&s("requestfailed",{request_error:a.type+"_"+a.action,request_url:a.url,request_hostname:ea(a.url),request_type:a.mediaType,request_error_code:n.status,request_error_text:n.statusText});var o="".concat(null!=a&&a.url?"url: ".concat(a.url,"\n"):"")+"".concat(null!=n&&n.status||null!=n&&n.statusText?"response: ".concat(null==n?void 0:n.status,", ").concat(null==n?void 0:n.statusText,"\n"):"");s("error",{player_error_code:null==r?void 0:r.code,player_error_message:null==r?void 0:r.message,player_error_context:o})};i.on("error",p),i._stopMuxMonitor=function(){i.off("manifestLoaded",n),i.off("initFragmentLoaded",d),i.off("mediaFragmentLoaded",u),i.off("qualityChangeRendered",m),i.off("error",p),i.off("fragmentLoadingAbandoned",f),delete i._stopMuxMonitor}},eR=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eI=0,ew=function(){function e(){X(this,e),ee(this,"_listeners",void 0)}return J(e,[{key:"on",value:function(e,t,i){return t._eventEmitterGuid=t._eventEmitterGuid||++eI,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],i&&(t=t.bind(i)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var i=this._listeners&&this._listeners[e];i&&i.forEach(function(e,r){e._eventEmitterGuid===t._eventEmitterGuid&&i.splice(r,1)})}},{key:"one",value:function(e,t,i){var r=this;t._eventEmitterGuid=t._eventEmitterGuid||++eI;var a=function(){r.off(e,a),t.apply(i||this,arguments)};a._eventEmitterGuid=t._eventEmitterGuid,this.on(e,a)}},{key:"emit",value:function(e,t){var i=this;if(this._listeners){t=t||{};var r=this._listeners["before*"]||[],a=this._listeners[e]||[],s=this._listeners["after"+e]||[],n=function(t,r){(t=t.slice()).forEach(function(t){t.call(i,{type:e},r)})};n(r,t),n(a,t),n(s,t)}}}]),e}(),eC=p(g()),eD=function(){function e(t){var i=this;X(this,e),ee(this,"_playbackHeartbeatInterval",void 0),ee(this,"_playheadShouldBeProgressing",void 0),ee(this,"pm",void 0),this.pm=t,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,t.on("playing",function(){i._playheadShouldBeProgressing=!0}),t.on("play",this._startPlaybackHeartbeatInterval.bind(this)),t.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),t.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),t.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("seeked",function(){t.data.player_is_paused?i._stopPlaybackHeartbeatInterval():i._startPlaybackHeartbeatInterval()}),t.on("timeupdate",function(){null!==i._playbackHeartbeatInterval&&t.emit("playbackheartbeat")}),t.on("devicesleep",function(e,r){null!==i._playbackHeartbeatInterval&&(eC.default.clearInterval(i._playbackHeartbeatInterval),t.emit("playbackheartbeatend",{viewer_time:r.viewer_time}),i._playbackHeartbeatInterval=null)})}return J(e,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;null===this._playbackHeartbeatInterval&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=eC.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,null!==this._playbackHeartbeatInterval&&(eC.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),e}(),ex=function e(t){var i=this;X(this,e),ee(this,"viewErrored",void 0),t.on("viewinit",function(){i.viewErrored=!1}),t.on("error",function(e,r){try{var a=t.errorTranslator({player_error_code:r.player_error_code,player_error_message:r.player_error_message,player_error_context:r.player_error_context,player_error_severity:r.player_error_severity,player_error_business_exception:r.player_error_business_exception});a&&(t.data.player_error_code=a.player_error_code||r.player_error_code,t.data.player_error_message=a.player_error_message||r.player_error_message,t.data.player_error_context=a.player_error_context||r.player_error_context,t.data.player_error_severity=a.player_error_severity||r.player_error_severity,t.data.player_error_business_exception=a.player_error_business_exception||r.player_error_business_exception,i.viewErrored=!0)}catch(e){t.mux.log.warn("Exception in error translator callback.",e),i.viewErrored=!0}}),t.on("aftererror",function(){var e,i,r,a,s;null==(e=t.data)||delete e.player_error_code,null==(i=t.data)||delete i.player_error_message,null==(r=t.data)||delete r.player_error_context,null==(a=t.data)||delete a.player_error_severity,null==(s=t.data)||delete s.player_error_business_exception})},eM=function(){function e(t){X(this,e),ee(this,"_watchTimeTrackerLastCheckedTime",void 0),ee(this,"pm",void 0),this.pm=t,this._watchTimeTrackerLastCheckedTime=null,t.on("playbackheartbeat",this._updateWatchTime.bind(this)),t.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return J(e,[{key:"_updateWatchTime",value:function(e,t){var i=t.viewer_time;null===this._watchTimeTrackerLastCheckedTime&&(this._watchTimeTrackerLastCheckedTime=i),eu(this.pm.data,"view_watch_time",i-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=i}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),e}(),eP=function(){function e(t){var i=this;X(this,e),ee(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),ee(this,"_lastTime",void 0),ee(this,"_isAdPlaying",void 0),ee(this,"_callbackUpdatePlaybackTime",void 0),ee(this,"pm",void 0),this.pm=t,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=H(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);t.on("playing",r),t.on("adplaying",r),t.on("seeked",r);var a=this._stopPlaybackTimeTracking.bind(this);t.on("playbackheartbeatend",a),t.on("seeking",a),t.on("adplaying",function(){i._isAdPlaying=!0}),t.on("adended",function(){i._isAdPlaying=!1}),t.on("adpause",function(){i._isAdPlaying=!1}),t.on("adbreakstart",function(){i._isAdPlaying=!1}),t.on("adbreakend",function(){i._isAdPlaying=!1}),t.on("adplay",function(){i._isAdPlaying=!1}),t.on("viewinit",function(){i._playbackTimeTrackerLastPlayheadPosition=-1,i._lastTime=H(),i._isAdPlaying=!1,i._callbackUpdatePlaybackTime=null})}return J(e,[{key:"_startPlaybackTimeTracking",value:function(){null===this._callbackUpdatePlaybackTime&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=H(),i=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?i=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(i=t-this._lastTime),i>0&&i<=1e3&&eu(this.pm.data,"view_content_playback_time",i),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),e}(),eO=function(){function e(t){X(this,e),ee(this,"pm",void 0),this.pm=t;var i=this._updatePlayheadTime.bind(this);t.on("playbackheartbeat",i),t.on("playbackheartbeatend",i),t.on("timeupdate",i),t.on("destroy",function(){t.off("timeupdate",i)})}return J(e,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=void 0===this.pm.data.view_max_playhead_position?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var i=this,r=function(){i.pm.currentFragmentPDT&&i.pm.currentFragmentStart&&(i.pm.data.player_program_time=i.pm.currentFragmentPDT+i.pm.data.player_playhead_time-i.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,r(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var a=this.pm.getPlayheadTime();void 0!==a&&(this.pm.data.player_playhead_time=a,r(),this._updateMaxPlayheadPosition())}}}]),e}(),eN=function e(t){if(X(this,e),!t.disableRebufferTracking){var i,r=function(e,t){a(t),i=void 0},a=function(e){if(i){var r=e.viewer_time-i;eu(t.data,"view_rebuffer_duration",r),i=e.viewer_time,t.data.view_rebuffer_duration>3e5&&(t.emit("viewend"),t.send("viewend"),t.mux.log.warn("Ending view after rebuffering for longer than ".concat(3e5,"ms, future events will be ignored unless a programchange or videochange occurs.")))}t.data.view_watch_time>=0&&t.data.view_rebuffer_count>0&&(t.data.view_rebuffer_frequency=t.data.view_rebuffer_count/t.data.view_watch_time,t.data.view_rebuffer_percentage=t.data.view_rebuffer_duration/t.data.view_watch_time)};t.on("playbackheartbeat",function(e,t){return a(t)}),t.on("rebufferstart",function(e,a){i||(eu(t.data,"view_rebuffer_count",1),i=a.viewer_time,t.one("rebufferend",r))}),t.on("viewinit",function(){i=void 0,t.off("rebufferend",r)})}},eU=function(){function e(t){var i=this;X(this,e),ee(this,"_lastCheckedTime",void 0),ee(this,"_lastPlayheadTime",void 0),ee(this,"_lastPlayheadTimeUpdatedTime",void 0),ee(this,"_rebuffering",void 0),ee(this,"pm",void 0),this.pm=t,t.disableRebufferTracking||t.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,t.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),t.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),t.on("seeking",function(){i._cleanupRebufferTracker(null,{viewer_time:H()})}))}return J(e,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)return void this._cleanupRebufferTracker(e,t);if(null===this._lastCheckedTime)return void this._prepareRebufferTrackerState(t.viewer_time);if(this._lastPlayheadTime!==this.pm.data.player_playhead_time)return void this._cleanupRebufferTracker(e,t,!0);var i=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.sustainedRebufferThreshold&&i>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(null===this._lastCheckedTime)return;var r=this.pm.data.player_playhead_time-this._lastPlayheadTime,a=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.minimumRebufferDuration&&r>0&&a-r>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+a-r}))}i?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),e}(),eF=function(){function e(t){var i=this;X(this,e),ee(this,"NAVIGATION_START",void 0),ee(this,"pm",void 0),this.pm=t,t.on("viewinit",function(){var e=t.data,r=e.view_id;if(!e.view_program_changed){var a=function(e,a){var s=a.viewer_time;"playing"===e.type&&void 0===t.data.view_time_to_first_frame?i.calculateTimeToFirstFrame(s||H(),r):"adplaying"===e.type&&(void 0===t.data.view_time_to_first_frame||i._inPrerollPosition())&&i.calculateTimeToFirstFrame(s||H(),r)};t.one("playing",a),t.one("adplaying",a),t.one("viewend",function(){t.off("playing",a),t.off("adplaying",a)})}})}return J(e,[{key:"_inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),e}(),eB=function e(t){var i=this;X(this,e),ee(this,"_lastPlayerHeight",void 0),ee(this,"_lastPlayerWidth",void 0),ee(this,"_lastPlayheadPosition",void 0),ee(this,"_lastSourceHeight",void 0),ee(this,"_lastSourceWidth",void 0),t.on("viewinit",function(){i._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb","renditionchange","orientationchange","viewend"].forEach(function(e){t.on(e,function(){if(i._lastPlayheadPosition>=0&&t.data.player_playhead_time>=0&&i._lastPlayerWidth>=0&&i._lastSourceWidth>0&&i._lastPlayerHeight>=0&&i._lastSourceHeight>0){var e=t.data.player_playhead_time-i._lastPlayheadPosition;if(e<0){i._lastPlayheadPosition=-1;return}var r=Math.min(i._lastPlayerWidth/i._lastSourceWidth,i._lastPlayerHeight/i._lastSourceHeight),a=Math.max(0,r-1),s=Math.max(0,1-r);t.data.view_max_upscale_percentage=Math.max(t.data.view_max_upscale_percentage||0,a),t.data.view_max_downscale_percentage=Math.max(t.data.view_max_downscale_percentage||0,s),eu(t.data,"view_total_content_playback_time",e),eu(t.data,"view_total_upscaling",a*e),eu(t.data,"view_total_downscaling",s*e)}i._lastPlayheadPosition=-1})}),["playing","hb","renditionchange","orientationchange"].forEach(function(e){t.on(e,function(){i._lastPlayheadPosition=t.data.player_playhead_time,i._lastPlayerWidth=t.data.player_width,i._lastPlayerHeight=t.data.player_height,i._lastSourceWidth=t.data.video_source_width,i._lastSourceHeight=t.data.video_source_height})})},e$=function e(t){var i=this;X(this,e),ee(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,a=function(){var e=H(),a=(t.data.viewer_time||e)-(r||e);eu(t.data,"view_seek_duration",a),t.data.view_max_seek_time=Math.max(t.data.view_max_seek_time||0,a),i.isSeeking=!1,r=-1};t.on("seeking",function(e,s){if(Object.assign(t.data,s),i.isSeeking&&s.viewer_time-r<=2e3){r=s.viewer_time;return}i.isSeeking&&a(),i.isSeeking=!0,r=s.viewer_time,eu(t.data,"view_seek_count",1),t.send("seeking")}),t.on("seeked",function(){a()}),t.on("viewend",function(){i.isSeeking&&(a(),t.send("seeked")),i.isSeeking=!1,r=-1})},eH=function(e,t){e.push(t),e.sort(function(e,t){return e.viewer_time-t.viewer_time})},eG=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],eV=function(){function e(t){var i=this;X(this,e),ee(this,"_adHasPlayed",void 0),ee(this,"_adRequ
1ests",void 0),ee(this,"_adResponses",void 0),ee(this,"_currentAdRequestNumber",void 0),ee(this,"_currentAdResponseNumber",void 0),ee(this,"_prerollPlayTime",void 0),ee(this,"_wouldBeNewAdPlay",void 0),ee(this,"isAdBreak",void 0),ee(this,"pm",void 0),this.pm=t,t.on("viewinit",function(){i.isAdBreak=!1,i._currentAdRequestNumber=0,i._currentAdResponseNumber=0,i._adRequests=[],i._adResponses=[],i._adHasPlayed=!1,i._wouldBeNewAdPlay=!0,i._prerollPlayTime=void 0}),eG.forEach(function(e){return t.on(e,i._updateAdData.bind(i))});var r=function(){i.isAdBreak=!1};t.on("adbreakstart",function(){i.isAdBreak=!0}),t.on("play",r),t.on("playing",r),t.on("viewend",r),t.on("adrequest",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdRequestNumber++},r),eH(i._adRequests,r),eu(t.data,"view_ad_request_count"),i.inPrerollPosition()&&(t.data.view_preroll_requested=!0,i._adHasPlayed||eu(t.data,"view_preroll_request_count"))}),t.on("adresponse",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdResponseNumber++},r),eH(i._adResponses,r);var a=i.findAdRequest(r.ad_request_id);a&&eu(t.data,"view_ad_request_time",Math.max(0,r.viewer_time-a.viewer_time))}),t.on("adplay",function(e,r){i._adHasPlayed=!0,i._wouldBeNewAdPlay&&(i._wouldBeNewAdPlay=!1,eu(t.data,"view_ad_played_count")),i.inPrerollPosition()&&!t.data.view_preroll_played&&(t.data.view_preroll_played=!0,i._adRequests.length>0&&(t.data.view_preroll_request_time=Math.max(0,r.viewer_time-i._adRequests[0].viewer_time)),t.data.view_start&&(t.data.view_startup_preroll_request_time=Math.max(0,r.viewer_time-t.data.view_start)),i._prerollPlayTime=r.viewer_time)}),t.on("adplaying",function(e,r){i.inPrerollPosition()&&void 0===t.data.view_preroll_load_time&&void 0!==i._prerollPlayTime&&(t.data.view_preroll_load_time=r.viewer_time-i._prerollPlayTime,t.data.view_startup_preroll_load_time=r.viewer_time-i._prerollPlayTime)}),t.on("adclicked",function(e,r){i._wouldBeNewAdPlay||eu(t.data,"view_ad_clicked_count")}),t.on("adskipped",function(e,r){i._wouldBeNewAdPlay||eu(t.data,"view_ad_skipped_count")}),t.on("adended",function(){i._wouldBeNewAdPlay=!0}),t.on("aderror",function(){i._wouldBeNewAdPlay=!0})}return J(e,[{key:"inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var i=U(es(t.ad_tag_url),2),r=i[0],a=i[1];this.pm.data.view_preroll_ad_tag_domain=a,this.pm.data.view_preroll_ad_tag_hostname=r}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var s=U(es(t.ad_asset_url),2),n=s[0],o=s[1];this.pm.data.view_preroll_ad_asset_domain=o,this.pm.data.view_preroll_ad_asset_hostname=n}}this.pm.data.ad_asset_url=null==t?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=null==t?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=null==t?void 0:t.ad_creative_id,this.pm.data.ad_id=null==t?void 0:t.ad_id,this.pm.data.ad_universal_id=null==t?void 0:t.ad_universal_id}}]),e}(),eK=p(g()),eW=function e(t){X(this,e);var i,r,a=function(){t.disableRebufferTracking||(eu(t.data,"view_waiting_rebuffer_count",1),i=H(),r=eK.default.setInterval(function(){if(i){var e=H();eu(t.data,"view_waiting_rebuffer_duration",e-i),i=e}},250))},s=function(){t.disableRebufferTracking||i&&(eu(t.data,"view_waiting_rebuffer_duration",H()-i),i=!1,eK.default.clearInterval(r))},n=!1,o=function(){n=!0},l=function(){n=!1,s()};t.on("waiting",function(){n&&a()}),t.on("playing",function(){s(),o()}),t.on("pause",l),t.on("seeking",l)},eq=function e(t){var i=this;X(this,e),ee(this,"lastWallClockTime",void 0);var r=function(){i.lastWallClockTime=H(),t.on("before*",a)},a=function(e){var r=H(),a=i.lastWallClockTime;i.lastWallClockTime=r,r-a>3e4&&(t.emit("devicesleep",{viewer_time:a}),Object.assign(t.data,{viewer_time:a}),t.send("devicesleep"),t.emit("devicewake",{viewer_time:r}),Object.assign(t.data,{viewer_time:r}),t.send("devicewake"))};t.one("playbackheartbeat",r),t.on("playbackheartbeatend",function(){t.off("before*",a),t.one("playbackheartbeat",r)})},ej=p(g()),eY=(ti=function(){for(var e=0,t={};e<arguments.length;e++){var i=arguments[e];for(var r in i)t[r]=i[r]}return t},function e(t){function i(e,r,a){var s;if("u">typeof document){if(arguments.length>1){if("number"==typeof(a=ti({path:"/"},i.defaults,a)).expires){var n=new Date;n.setMilliseconds(n.getMilliseconds()+864e5*a.expires),a.expires=n}try{s=JSON.stringify(r),/^[\{\[]/.test(s)&&(r=s)}catch(e){}return r=t.write?t.write(r,e):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decode
1URIComponent),e=(e=(e=encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=e+"="+r+(a.expires?"; expires="+a.expires.toUTCString():"")+(a.path?"; path="+a.path:"")+(a.domain?"; domain="+a.domain:"")+(a.secure?"; secure":"")}e||(s={});for(var o=document.cookie?document.cookie.split("; "):[],l=/(%[0-9A-Z]{2})+/g,d=0;d<o.length;d++){var u=o[d].split("="),h=u.slice(1).join("=");'"'===h.charAt(0)&&(h=h.slice(1,-1));try{var c=u[0].replace(l,decodeURIComponent);if(h=t.read?t.read(h,c):t(h,c)||h.replace(l,decodeURIComponent),this.json)try{h=JSON.parse(h)}catch(e){}if(e===c){s=h;break}e||(s[c]=h)}catch(e){}}return s}}return i.set=i,i.get=function(e){return i.call(i,e)},i.getJSON=function(){return i.apply({json:!0},[].slice.call(arguments))},i.defaults={},i.remove=function(e,t){i(e,"",ti(t,{expires:-1}))},i.withConverter=e,i}(function(){})),ez="muxData",eQ=function(){var e;try{e=(eY.get(ez)||"").split("&").reduce(function(e,t){var i=U(t.split("="),2),r=i[0],a=i[1],s=+a;return e[r]=a&&s==a?s:a,e},{})}catch(t){e={}}return e},eX=function(e){try{eY.set(ez,Object.entries(e).map(function(e){var t=U(e,2),i=t[0],r=t[1];return"".concat(i,"=").concat(r)}).join("&"),{expires:365})}catch(e){}},eZ=function(){var e=eQ();return e.mux_viewer_id=e.mux_viewer_id||G(),e.msn=e.msn||Math.random(),eX(e),{mux_viewer_id:e.mux_viewer_id,mux_sample_number:e.msn}},eJ=function(){var e=eQ(),t=H();return e.session_start&&(e.sst=e.session_start,delete e.session_start),e.session_id&&(e.sid=e.session_id,delete e.session_id),e.session_expires&&(e.sex=e.session_expires,delete e.session_expires),(!e.sex||e.sex<t)&&(e.sid=G(),e.sst=t),e.sex=t+15e5,eX(e),{session_id:e.sid,session_start:e.sst,session_expires:e.sex}},e0=p(g()),e1=function(){var e;switch(e2()){case"cellular":e="cellular";break;case"ethernet":e="wired";break;case"wifi":e="wifi";break;case void 0:break;default:e="other"}return e},e2=function(){var e=e0.default.navigator,t=e&&(e.connection||e.mozConnection||e.webkitConnection);return t&&t.type};e1.getConnectionFromAPI=e2;var e3=e5({a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"}),e4=e5({ad:"ad",af:"affiliate",ag:"aggregate",ap:"api",al:"application",ao:"audio",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",bn:"brand",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ci:"client",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cq:"creator",cr:"creative",cs:"captions",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",dy:"dynamic",eb:"enabled",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",or:"origin",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pp:"pip",pr:"preload",ps:"position",pt:"part",py:"property",px:"pop",pz:"plan",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rg:"range",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sh:"shift",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",ss:"status",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"});function e5(e){var t={};for(var i in e)e.hasOwnProperty(i)&&(t[e[i]]=i);return t}function e8(e){var t={},i={};return Object.keys(e).forEach(function(r){var a=!1;if(e.hasOwnProperty(r)&&void 0!==e[r]){var s=r.split("_"),n=s[0],o=e3[n];o||(j.info("Data key word `"+s[0]+"` not expected in "+r),o=n+"_"),s.splice(1).forEac
1h(function(e){"url"===e&&(a=!0),e4[e]?o+=e4[e]:Number.isInteger(Number(e))?o+=e:(j.info("Data key word `"+e+"` not expected in "+r),o+="_"+e+"_")}),a?i[o]=e[r]:t[o]=e[r]}}),Object.assign(t,i)}var e9=p(g()),e6=p(P()),e7={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},te=["hb","requestcompleted","requestfailed","requestcanceled"],tt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._beaconUrl=e||"https://img.litix.io",this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},e7,t)};tt.prototype.queueEvent=function(e,t){var i=Object.assign({},t);return(this._eventQueue.length<=this._options.maxQueueLength||"eventrateexceeded"===e)&&(this._eventQueue.push(i),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},tt.prototype.flushEvents=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&1===this._eventQueue.length?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},tt.prototype.destroy=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.destroyed=!0,e?this._clearBeaconQueue():this.flushEvents(),e9.default.clearTimeout(this._sendTimeout)},tt.prototype._clearBeaconQueue=function(){var e=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,t=this._eventQueue.slice(e);e>0&&Object.assign(t[t.length-1],e8({mux_view_message:"event queue truncated"}));var i=this._createPayload(t);ts(this._beaconUrl,i,!0,function(){})},tt.prototype._sendBeaconQueue=function(){var e=this;if(this._postInFlight){this._resendAfterPost=!0;return}var t=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var i=this._createPayload(t),r=H();ts(this._beaconUrl,i,!1,function(i,a){a?(e._eventQueue=t.concat(e._eventQueue),e._failureCount+=1,j.info("Error sending beacon: "+a)):e._failureCount=0,e._roundTripTime=H()-r,e._postInFlight=!1,e._resendAfterPost&&(e._resendAfterPost=!1,e._eventQueue.length>0&&e._sendBeaconQueue())})},tt.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var e=Math.pow(2,this._failureCount-1);return(1+(e*=Math.random()))*this._options.baseTimeBetweenBeacons},tt.prototype._startBeaconSending=function(){var e=this;e9.default.clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=e9.default.setTimeout(function(){e._eventQueue.length&&e._sendBeaconQueue(),e._startBeaconSending()},this._getNextBeaconTime()))},tt.prototype._createPayload=function(e){var t=this,i={transmission_timestamp:Math.round(H())};this._roundTripTime&&(i.rtt_ms=Math.round(this._roundTripTime));var r,a,s,n=function(){s=(r=JSON.stringify({metadata:i,events:a||e})).length/1024},o=function(){return s<=t._options.maxPayloadKBSize};return n(),o()||(j.info("Payload size is too big ("+s+" kb). Removing unnecessary events."),a=e.filter(function(e){return -1===te.indexOf(e.e)}),n()),o()||(j.info("Payload size still too big ("+s+" kb). Cropping fields.."),a.forEach(function(e){for(var t in e){var i=e[t];"string"==typeof i&&i.length>51200&&(e[t]=i.substring(0,51200))}}),n()),r};var ti,tr,ta="function"==typeof e6.default.exitPictureInPicture?function(e){return e.length<=57344}:function(e){return!1},ts=function(e,t,i,r){if(i&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(e,t))return void r();if(e9.default.fetch)return void e9.default.fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},keepalive:ta(t)}).then(function(e){return r(null,e.ok?null:"Error")}).catch(function(e){return r(null,e)});if(e9.default.XMLHttpRequest){var a=new e9.default.XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState)return r(null,200!==a.status?"error":void 0)},a.open("POST",e),a.setRequestHeader("Content-Type","text/plain"),a.send(t);return}r()},tn=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],to=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],tl=["ad_id","ad_creative_id","ad_universal_id"],td=["viewstart","error","ended","viewend"],tu=function(){function e(t,i){var r,a,s,n,o,l,d,u,h,c,m,f,p,g,E,y,b,T,A,_=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};X(this,e),ee(this,"mux",void 0),ee(this,"envKey",void 0),ee(this,"options",void 0),ee(this,"eventQueue",void 0),ee(this,"sampleRate",void 0),ee(this,"disableCookies",void 0),ee(this,"respectDoNotTrack",void 0),ee(this,"previousBeaconData",void 0),ee(this,"lastEventTime",void 0),ee(this,"rateLimited",void 0),ee(this,"pageLevelData",void 0),ee(this,"viewerData",void 0),this.mux=t,this.envKey=i,this.options=_,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new tt((r=this.envKey,s=(a=this.options).beaconCollectionDomain,n=a.beaconDomain,s?"https://"+s:(r=r||"inferred").match(/^[a-z0-9]+$/)?"https://"+r+"."+(n||"litix.io"):"https://img.litix.io/a.gif")),this.sampleRate=null!=(b=this.options.sampleRate)?b:1,this.disableCookies=null!=(T=this.options.disableCookies)&&T,this.respectDoNotTrack=null!=(A=this.options.respectDoNotTrack)&&A,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:null==(o=this.options.platform)?void 0:o.name,viewer_application_version:null==(l=this.options.platform)?void 0:l.version,viewer_application_engine:null==(d=this.options.platform)?void 0:d.layout,viewer_device_name:null==(u=this.options.platform)?void 0:u.product,viewer_device_category:"",viewer_device_manufacturer:null==(h=this.options.platform)?void 0:h.manufacturer,viewer_os_family:null==(m=this.options.platform)||null==(c=m.os)?void 0:c.family,viewer_os_architecture:null==(p=this.options.platform)||null==(f=p.os)?void 0:f.architecture,viewer_os_version:null==(E=this.options.platform)||null==(g=E.os)?void 0:g.version,viewer_connection_type:e1(),page_url:null===ej.default||void 0===ej.default||null==(y=ej.default.location)?void 0:y.href},this.viewerData=this.disableCookies?{}:eZ()}return J(e,[{key:"send",value:function(e,t){if(!(!e||!(null!=t&&t.view_id))){if(this.respectDoNotTrack&&z())return j.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||"object"!=typeof t)return j.error("A data object was expected in send() but was not provided");var i=this.disableCookies?{}:eJ(),r=ec(eh({},this.pageLevelData,t,i,this.viewerData),{event:e,env_key:this.envKey});r.user_id&&(r.viewer_user_id=r.user_id,delete r.user_id);var a,s=(null!=(a=r.mux_sample_number)?a:0)>=this.sampleRate,n=e8(this._deduplicateBeaconData(e,r));if(this.lastEventTime=this.mux.utils.now(),s)return j.info("Not sending event due to sample rate restriction",e,r,n);if(this.envKey||j.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,r,n),!this.rateLimited){if(j.info("Sending event",e,r,n),this.rateLimited=!this.eventQueue.queueEvent(e,n),this.mux.WINDOW_UNLOADING&&"viewend"===e)this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&"hb"===e?this.eventQueue.flushEvents(!0):td.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return r.event="eventrateexceeded",n=e8(r),this.eventQueue.queueEvent(r.event,n),j.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var i=this,r={},a=t.view_id;if("-1"===a||"viewstart"===e||"viewend"===e||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)r=eh({},t),a&&(this.previousBeaconData=r),a&&"viewend"===e&&(this.previousBeaconData=null);else{var s=0===e.indexOf("request");Object.entries(t).forEach(function(t){var a=U(t,2),n=a[0],o=a[1];i.previousBeaconData&&(o!==i.previousBeaconData[n]||tn.indexOf(n)>-1||i.objectHasChanged(s,n,o,i.previousBeaconData[n])||i.eventRequiresKey(e,n))&&
1(r[n]=o,i.previousBeaconData[n]=o)})}return r}},{key:"objectHasChanged",value:function(e,t,i,r){return!!e&&0===t.indexOf("request_")&&("request_response_headers"===t||"object"!=typeof i||"object"!=typeof r||Object.keys(i||{}).length!==Object.keys(r||{}).length)}},{key:"eventRequiresKey",value:function(e,t){return!!("renditionchange"===e&&0===t.indexOf("video_source_")||tl.includes(t)&&to.includes(e))}}]),e}(),th=function e(t){X(this,e);var i=0,r=0,a=0,s=0,n=0,o=0,l=0;t.on("requestcompleted",function(e,o){var l,d,u=o.request_start,h=o.request_response_start,c=o.request_response_end,m=o.request_bytes_loaded;if(s++,h?(l=h-(null!=u?u:0),d=(null!=c?c:0)-h):d=(null!=c?c:0)-(null!=u?u:0),d>0&&m&&m>0){var f=m/d*8e3;n++,r+=m,a+=d,t.data.view_min_request_throughput=Math.min(t.data.view_min_request_throughput||1/0,f),t.data.view_average_request_throughput=r/a*8e3,t.data.view_request_count=s,l>0&&(i+=l,t.data.view_max_request_latency=Math.max(t.data.view_max_request_latency||0,l),t.data.view_average_request_latency=i/n)}}),t.on("requestfailed",function(e,i){s++,o++,t.data.view_request_count=s,t.data.view_request_failed_count=o}),t.on("requestcanceled",function(e,i){s++,l++,t.data.view_request_count=s,t.data.view_request_canceled_count=l})},tc=function e(t){var i=this;X(this,e),ee(this,"_lastEventTime",void 0),t.on("before*",function(e,r){var a=r.viewer_time,s=H(),n=i._lastEventTime;if(i._lastEventTime=s,n&&s-n>36e5){var o=Object.keys(t.data).reduce(function(e,i){return 0===i.indexOf("video_")?Object.assign(e,ee({},i,t.data[i])):e},{});t.mux.log.info("Received event after at least an hour inactivity, creating a new view");var l=t.playbackHeartbeat._playheadShouldBeProgressing;t._resetView(Object.assign({viewer_time:a},o)),t.playbackHeartbeat._playheadShouldBeProgressing=l,t.playbackHeartbeat._playheadShouldBeProgressing&&"play"!==e.type&&"adbreakstart"!==e.type&&(t.emit("play",{viewer_time:a}),"playing"!==e.type&&t.emit("playing",{viewer_time:a}))}})},tm=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],tf=new Set(["requestcompleted","requestfailed","requestcanceled"]),tp=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&er(r,e);var t,i=(t=function(){if("u"<typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,i=et(r);return e=t?Reflect.construct(i,arguments,et(this).constructor):i.apply(this,arguments),e&&("object"===b(e)||"function"==typeof e)?e:Q(this)});function r(e,t,a){X(this,r),ee(Q(s=i.call(this)),"DOM_CONTENT_LOADED_EVENT_END",void 0),ee(Q(s),"NAVIGATION_START",void 0),ee(Q(s),"_destroyed",void 0),ee(Q(s),"_heartBeatTimeout",void 0),ee(Q(s),"adTracker",void 0),ee(Q(s),"dashjs",void 0),ee(Q(s),"data",void 0),ee(Q(s),"disablePlayheadRebufferTracking",void 0),ee(Q(s),"disableRebufferTracking",void 0),ee(Q(s),"errorTracker",void 0),ee(Q(s),"errorTranslator",void 0),ee(Q(s),"emitTranslator",void 0),ee(Q(s),"getAdData",void 0),ee(Q(s),"getPlayheadTime",void 0),ee(Q(s),"getStateData",void 0),ee(Q(s),"stateDataTranslator",void 0),ee(Q(s),"hlsjs",void 0),ee(Q(s),"id",void 0),ee(Q(s),"longResumeTracker",void 0),ee(Q(s),"minimumRebufferDuration",void 0),ee(Q(s),"mux",void 0),ee(Q(s),"playbackEventDispatcher",void 0),ee(Q(s),"playbackHeartbeat",void 0),ee(Q(s),"playbackHeartbeatTime",void 0),ee(Q(s),"playheadTime",void 0),ee(Q(s),"seekingTracker",void 0),ee(Q(s),"sustainedRebufferThreshold",void 0),ee(Q(s),"watchTimeTracker",void 0),ee(Q(s),"currentFragmentPDT",void 0),ee(Q(s),"currentFragmentStart",void 0),s.DOM_CONTENT_LOADED_EVENT_END=el(),s.NAVIGATION_START=ed(),s.mux=e,s.id=t,null!=a&&a.beaconDomain&&s.mux.log.warn("The `beaconDomain` setting has been deprecated 
1in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),(a=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(e){return e},emitTranslator:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t},stateDataTranslator:function(e){return e}},a)).data=a.data||{},a.data.property_key&&(a.data.env_key=a.data.property_key,delete a.data.property_key),j.level=a.debug?1:3,s.getPlayheadTime=a.getPlayheadTime,s.getStateData=a.getStateData||function(){return{}},s.getAdData=a.getAdData||function(){},s.minimumRebufferDuration=a.minimumRebufferDuration,s.sustainedRebufferThreshold=a.sustainedRebufferThreshold,s.playbackHeartbeatTime=a.playbackHeartbeatTime,s.disableRebufferTracking=a.disableRebufferTracking,s.disableRebufferTracking&&s.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),s.disablePlayheadRebufferTracking=a.disablePlayheadRebufferTracking,s.errorTranslator=a.errorTranslator,s.emitTranslator=a.emitTranslator,s.stateDataTranslator=a.stateDataTranslator,s.playbackEventDispatcher=new tu(e,a.data.env_key,a),s.data={player_instance_id:G(),mux_sample_rate:a.sampleRate,beacon_domain:a.beaconCollectionDomain||a.beaconDomain},s.data.view_sequence_number=1,s.data.player_sequence_number=1;var s,n=(function(){void 0===this.data.view_start&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}).bind(Q(s));if(s.on("viewinit",function(e,t){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,t),this._initializeViewData(),this.one("play",n),this.one("adbreakstart",n)}),s.on("videochange",function(e,t){this._resetView(t)}),s.on("programchange",function(e,t){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),this._resetView(Object.assign(t,{view_program_changed:!0})),n(),this.emit("play"),this.emit("playing")}),s.on("fragmentchange",function(e,t){this.currentFragmentPDT=t.currentFragmentPDT,this.currentFragmentStart=t.currentFragmentStart}),s.on("destroy",s.destroy),"u">typeof window&&"function"==typeof window.addEventListener&&"function"==typeof window.removeEventListener){var o=function(){var e=void 0!==s.data.view_start;s.mux.WINDOW_HIDDEN="hidden"===document.visibilityState,e&&s.mux.WINDOW_HIDDEN&&(s.data.player_is_paused||s.emit("hb"))};window.addEventListener("visibilitychange",o,!1);var l=function(e){e.persisted||s.destroy()};window.addEventListener("pagehide",l,!1),s.on("destroy",function(){window.removeEventListener("visibilitychange",o),window.removeEventListener("pagehide",l)})}return s.on("playerready",function(e,t){Object.assign(this.data,t)}),tm.forEach(function(e){s.on(e,function(t,i){0!==e.indexOf("ad")&&this._updateStateData(),Object.assign(this.data,i),this._sanitizeData()}),s.on("after"+e,function(){("error"!==e||this.errorTracker.viewErrored)&&this.send(e)})}),s.on("viewend",function(e,t){Object.assign(s.data,t)}),s.one("playerready",function(e){var t=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=t-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time}),s.longResumeTracker=new tc(Q(s)),s.errorTracker=new ex(Q(s)),new eq(Q(s)),s.seekingTracker=new e$(Q(s)),s.playheadTime=new eO(Q(s)),s.playbackHeartbeat=new eD(
1Q(s)),new eB(Q(s)),s.watchTimeTracker=new eM(Q(s)),new eP(Q(s)),s.adTracker=new eV(Q(s)),new eU(Q(s)),new eN(Q(s)),new eF(Q(s)),new eW(Q(s)),new th(Q(s)),a.hlsjs&&s.addHLSJS(a),a.dashjs&&s.addDashJS(a),s.emit("viewinit",a.data),s}return J(r,[{key:"emit",value:function(e,t){var i,a=Object.assign({viewer_time:this.mux.utils.now()},t),s=[e,a];if(this.emitTranslator)try{s=this.emitTranslator(e,a)}catch(e){this.mux.log.warn("Exception in emit translator callback.",e)}null!=s&&s.length&&(i=ei(et(r.prototype),"emit",this)).call.apply(i,[this].concat(q(s)))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,void 0!==this.data.view_start&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(e){if(this.data.view_id){var t=Object.assign({},this.data);if(void 0===t.video_source_is_live&&(t.player_source_duration===1/0||t.video_source_duration===1/0?t.video_source_is_live=!0:(t.player_source_duration>0||t.video_source_duration>0)&&(t.video_source_is_live=!1)),t.video_source_is_live||["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"].forEach(function(e){t[e]=void 0}),t.video_source_url=t.video_source_url||t.player_source_url,t.video_source_url){var i=U(es(t.video_source_url),2),r=i[0];t.video_source_domain=i[1],t.video_source_hostname=r}delete t.ad_request_id,this.playbackEventDispatcher.send(e,t),this.data.view_sequence_number++,this.data.player_sequence_number++,tf.has(e)||this._restartHeartBeat(),"viewend"===e&&delete this.data.view_id}}},{key:"_resetView",value:function(e){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",e)}},{key:"_updateStateData",value:function(){var e=this.getStateData();if("function"==typeof this.stateDataTranslator)try{e=this.stateDataTranslator(e)}catch(e){this.mux.log.warn("Exception in stateDataTranslator translator callback.",e)}Object.assign(this.data,e),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var e=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(t){var i=parseInt(e.data[t],10);e.data[t]=isNaN(i)?void 0:i}),["player_source_url","video_source_url"].forEach(function(t){if(e.data[t]){var i=e.data[t].toLowerCase();(0===i.indexOf("data:")||0===i.indexOf("blob:"))&&(e.data[t]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("video_")&&delete e.data[t]})}},{key:"_resetViewData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("view_")&&delete e.data[t]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var e=this,t=this.data.view_id=G(),i=function(){t===e.data.view_id&&eu(e.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",i):i()}},{key:"_restartHeartBeat",value:function(){var e=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){e.data.player_is_paused||e.emit("hb")},1e4)}},{key:"addHLSJS",value:function(e){e.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=e.hlsjs,eb(this.mux,this.id,e.hlsjs,{},e.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){this.hlsjs&&(eT(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(e){e.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=e.dashjs,eL(this.mux,this.id,e.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){this.dashjs&&(eR(this.dashjs),this.dashjs=void 0)}}]),r}(ew),tg=p(P()),tv=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],tE={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"},ty=p(g());ty.default&&ty.default.WeakMap&&(tr=new WeakMap);var tb=function(e){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(e),this.manifest};tb.prototype.process=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf("\n");t>-1;t=this.buffer.indexOf("\n"))this.processLine(this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}
1,tb.prototype.processLine=function(e){var t=e.indexOf(":"),i=tR(e,t),r=i[0],a=2===i.length?t_(i[1]):void 0;if("#"!==r[0])this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),!this.manifest.targetDuration||"duration"in this.currentUri||(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case"#EXT-X-TARGETDURATION":if(!isFinite(a)||a<0)return;this.manifest.targetDuration=a,this.setHoldBack();break;case"#EXT-X-PART-INF":tT(this.manifest,i),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case"#EXT-X-SERVER-CONTROL":tT(this.manifest,i),this.setHoldBack();break;case"#EXTINF":0===a?this.currentUri.duration=.01:a>0&&(this.currentUri.duration=a);break;case"#EXT-X-PROGRAM-DATE-TIME":var s=new Date(a);this.manifest.dateTimeString||(this.manifest.dateTimeString=a,this.manifest.dateTimeObject=s),this.currentUri.dateTimeString=a,this.currentUri.dateTimeObject=s;break;case"#EXT-X-VERSION":tT(this.manifest,i);break;case"#EXT-X-SESSION-DATA":var n=ev(tI(i[1]));Object.assign(this.manifest.sessionData,n)}},tb.prototype.setHoldBack=function(){var e=this.manifest,t=e.serverControl,i=e.targetDuration,r=e.partTargetDuration;if(t){var a="holdBack",s="partHoldBack",n=i&&3*i,o=r&&2*r;i&&!t.hasOwnProperty(a)&&(t[a]=n),n&&t[a]<n&&(t[a]=n),r&&!t.hasOwnProperty(s)&&(t[s]=3*r),r&&t[s]<o&&(t[s]=o)}};var tT=function(e,t){var i,r=tA(t[0].replace("#EXT-X-",""));
1tL(t[1])?(i={},i=Object.assign(tk(t[1]),i)):i=t_(t[1]),e[r]=i},tA=function(e){return e.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},t_=function(e){if("yes"===e.toLowerCase()||"no"===e.toLowerCase())return"yes"===e.toLowerCase();var t=-1!==e.indexOf(":")?e:parseFloat(e);return isNaN(t)?e:t},tS=function(e){var t={},i=e.split("=");return i.length>1&&(t[tA(i[0])]=t_(i[1])),t},tk=function(e){for(var t=e.split(","),i={},r=0;t.length>r;r++)i=Object.assign(tS(t[r]),i);return i},tL=function(e){return e.indexOf("=")>-1},tR=function(e,t){return -1===t?[e]:[e.substring(0,t),e.substring(t+1)]},tI=function(e){var t={};if(e){var i=e.search(",");return[e.slice(0,i),e.slice(i+1)].forEach(function(e,i){for(var r=e.replace(/['"]+/g,"").split("="),a=0;a<r.length;a++)"DATA-ID"===r[a]&&(t["DATA-ID"]=r[1-a]),"VALUE"===r[a]&&(t.VALUE=r[1-a])}),{data:t}}},tw={safeCall:function(e,t,i,r){var a=r;if(e&&"function"==typeof e[t])try{a=e[t].apply(e,i)}catch(e){j.info("safeCall error",e)}return a},safeIncrement:eu,getComputedStyle:function(e,t){var i;return e&&t&&ty.default&&"function"==typeof ty.default.getComputedStyle?(tr&&tr.has(e)&&(i=tr.get(e)),i||(i=ty.default.getComputedStyle(e,null),tr&&tr.set(e,i)),i.getPropertyValue(t)):""},secondsToMs:function(e){return Math.floor(1e3*e)},assign:Object.assign,headersStringToObject:ep,cdnHeadersToRequestId:eg,extractHostnameAndDomain:es,extractHostname:ea,manifestParser:tb,generateShortID:V,generateUUID:G,now:H,findMediaElement:W},tC={},tD=function(e){var t=arguments;"string"==typeof e?tD.hasOwnProperty(e)?F.default.setTimeout(function(){t=Array.prototype.splice.call(t,1),tD[e].apply(null,t)},0):j.warn("`"+e+"` is an unknown task"):"function"==typeof e?F.default.setTimeout(function(){e(tD)},0):j.warn("`"+e+"` is invalid.")},tx={loaded:H(),NAME:"mux-embed",VERSION:"5.9.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(e,t){return function(e,t,i){var r=U(W(t),3),a=r[0],s=r[1],n=r[2],o=e.log,l=e.utils.getComputedStyle,d=e.utils.secondsToMs;if(!a)return o.error("No element was found with the `"+s+"` query selector.");if("video"!==n&&"audio"!==n)return o.error("The element of `"+s+"` was not a media element.");a.mux&&(a.mux.destroy(),delete a.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),(i=Object.assign({automaticErrorTracking:!0},i,{getPlayheadTime:function(){return d(a.currentTime)},getStateData:function(){var e,t,i=(null==(e=this.getPlayheadTime)?void 0:e.call(this))||d(a.currentTime),r=this.hlsjs&&this.hlsjs.url,s=this.dashjs&&"function"==typeof this.dashjs.getSource&&this.dashjs.getSource(),n={player_is_paused:a.paused,player_width:parseInt(l(a,"width")),player_height:parseInt(l(a,"height")),player_autoplay_on:a.autoplay,player_preload_on:a.preload,player_language_code:a.lang,player_is_fullscreen:tg.default&&!!(tg.default.fullscreenElement||tg.default.webkitFullscreenElement||tg.default.mozFullScreenElement||tg.default.msFullscreenElement),video_poster_url:a.poster,video_source_url:r||s||a.currentSrc,video_source_duration:d(a.duration),video_source_height:a.videoHeight,video_source_width:a.videoWidth,view_dropped_frame_count:null==a||null==(t=a.getVideoPlaybackQuality)?void 0:t.call(a).droppedVideoFrames};if(a.getStartDate&&i>0){var o=a.getStartDate();if(o&&"function"==typeof o.getTime&&o.getTime()){var u=o.getTime();n.player_program_time=u+i,a.seekable.length>0&&(n.player_live_edge_program_time=u+a.seekable.end(a.seekable.length-1))}}return n}})).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:e.VERSION},i.data),a.mux=a.mux||{},a.mux.deleted=!1,a.mux.emit=function(t,i){e.emit(s,t,i)},a.mux.updateData=function(e){a.mux.emit("hb",e)};var u=function(){o.error("The monitor for this video element has already been destroyed.")};a.mux.destroy=function(){Object.keys(a.mux.listeners).forEach(function(e){a.removeEventListener(e,a.mux.listeners[e],!1)}),delete a.mux.listeners,a.mux.destroy=u,a.mux.swapElement=u,a.mux.emit=u,a.mux.addHLSJS=u,a.mux.addDashJS=u,a.mux.removeHLSJS=u,a.mux.removeDashJS=u,a.mux.updateData=u,a.mux.setEmitTranslator=u,a.mux.setStateDataTranslator=u,a.mux.setGetPlayheadTime=u,a.mux.deleted=!0,e.emit(s,"destroy")},a.mux.swapElement=function(t){var i=U(W(t),3),r=i[0],s=i[1],n=i[2];return r?"video"!==n&&"audio"!==n?e.log.error("The element of `"+s+"` was not a media element."):void(r.muxId=a.muxId,delete a.muxId,r.mux=r.mux||{},r.mux.listeners=Object.assign({},a.mux.listeners),delete a.mux.listeners,Object.keys(r.mux.listeners).forEac
1h(function(e){a.removeEventListener(e,r.mux.listeners[e],!1),r.addEventListener(e,r.mux.listeners[e],!1)}),r.mux.swapElement=a.mux.swapElement,r.mux.destroy=a.mux.destroy,delete a.mux,a=r):e.log.error("No element was found with the `"+s+"` query selector.")},a.mux.addHLSJS=function(t){e.addHLSJS(s,t)},a.mux.addDashJS=function(t){e.addDashJS(s,t)},a.mux.removeHLSJS=function(){e.removeHLSJS(s)},a.mux.removeDashJS=function(){e.removeDashJS(s)},a.mux.setEmitTranslator=function(t){e.setEmitTranslator(s,t)},a.mux.setStateDataTranslator=function(t){e.setStateDataTranslator(s,t)},a.mux.setGetPlayheadTime=function(t){t||(t=i.getPlayheadTime),e.setGetPlayheadTime(s,t)},e.init(s,i),e.emit(s,"playerready"),a.paused||(e.emit(s,"play"),a.readyState>2&&e.emit(s,"playing")),a.mux.listeners={},tv.forEach(function(t){("error"!==t||i.automaticErrorTracking)&&(a.mux.listeners[t]=function(){var i={};if("error"===t){if(!a.error||1===a.error.code)return;i.player_error_code=a.error.code,i.player_error_message=tE[a.error.code]||a.error.message}e.emit(s,t,i)},a.addEventListener(t,a.mux.listeners[t],!1))})}(tD,e,t)},destroyMonitor:function(e){var t=U(W(e),1)[0];t&&t.mux&&"function"==typeof t.mux.destroy?t.mux.destroy():j.error("A video element monitor for `"+e+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(e,t){var i=K(e);tC[i]?tC[i].addHLSJS(t):j.error("A monitor for `"+i+"` has not been initialized.")},addDashJS:function(e,t){var i=K(e);tC[i]?tC[i].addDashJS(t):j.error("A monitor for `"+i+"` has not been initialized.")},removeHLSJS:function(e){var t=K(e);tC[t]?tC[t].removeHLSJS():j.error("A monitor for `"+t+"` has not been initialized.")},removeDashJS:function(e){var t=K(e);tC[t]?tC[t].removeDashJS():j.error("A monitor for `"+t+"` has not been initialized.")},init:function(e,t){z()&&t&&t.respectDoNotTrack&&j.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var i=K(e);tC[i]=new tp(tD,i,t)},emit:function(e,t,i){var r=K(e);tC[r]?(tC[r].emit(t,i),"destroy"===t&&delete tC[r]):j.error("A monitor for `"+r+"` has not been initialized.")},updateData:function(e,t){var i=K(e);tC[i]?tC[i].emit("hb",t):j.error("A monitor for `"+i+"` has not been initialized.")},setEmitTranslator:function(e,t){var i=K(e);tC[i]?tC[i].emitTranslator=t:j.error("A monitor for `"+i+"` has not been initialized.")},setStateDataTranslator:function(e,t){var i=K(e);tC[i]?tC[i].stateDataTranslator=t:j.error("A monitor for `"+i+"` has not been initialized.")},setGetPlayheadTime:function(e,t){var i=K(e);tC[i]?tC[i].getPlayheadTime=t:j.error("A monitor for `"+i+"` has not been initialized.")},checkDoNotTrack:z,log:j,utils:tw,events:{PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled",HEARTBEAT:"hb",DESTROY:"destroy"},WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(tD,tx),void 0!==F.default&&"function"==typeof F.default.addEventListener&&F.default.addEventListener("pagehide",function(e){e.persisted||(tD.WINDOW_UNLOADING=!0)},!1);let tM=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},tP=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=tO},tO=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,tN=((l5={}).NETWORK_ERROR="networkError",l5.MEDIA_ERROR="mediaError",l5.KEY_SYSTEM_ERROR="keySystemError",l5.MUX_ERROR="muxError",l5.OTHER_ERROR="otherError",l5),tU=((l8={}).KEY_SYSTEM_NO_KEYS="keySystemNoKeys",l8.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",l8.KEY_SYSTEM_NO_SESSION="keySystemNoSession",l8.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",l8.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",l8.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",l8.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",l8.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",l8.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",l8.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",l8.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",l8.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",l8.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",l8.MANIFEST_LOAD_ERROR="manifestLoadError",l8.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",l8.MANIFEST_PARSING_ERROR="manifestParsingError",l8.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",l8.LEVEL_EMPTY_ERROR="levelEmptyError",l8.LEVEL_LOAD_ERROR="levelLoadError",l8.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",l8.LEVEL_PARSING_ERROR="levelParsingError",l8.LEVEL_SWITCH_ERROR="levelSwitchError",l8.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",l8.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",l8.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",l8.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",l8.FRAG_LOAD_ERROR="fragLoadError",l8.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",l8.FRAG_DECRYPT_ERROR="fragDecryptError",l8.FRAG_PARSING_ERROR="fragParsingError",l8.FRAG_GAP="fragGap",l8.REMUX_ALLOC_ER
1ROR="remuxAllocError",l8.KEY_LOAD_ERROR="keyLoadError",l8.KEY_LOAD_TIMEOUT="keyLoadTimeOut",l8.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",l8.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",l8.BUFFER_APPEND_ERROR="bufferAppendError",l8.BUFFER_APPENDING_ERROR="bufferAppendingError",l8.BUFFER_STALLED_ERROR="bufferStalledError",l8.BUFFER_FULL_ERROR="bufferFullError",l8.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",l8.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",l8.ASSET_LIST_LOAD_ERROR="assetListLoadError",l8.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",l8.ASSET_LIST_PARSING_ERROR="assetListParsingError",l8.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",l8.INTERNAL_EXCEPTION="internalException",l8.INTERNAL_ABORTED="aborted",l8.ATTACH_MEDIA_ERROR="attachMediaError",l8.UNKNOWN="unknown",l8),tF=((l9={}).MEDIA_ATTACHING="hlsMediaAttaching",l9.MEDIA_ATTACHED="hlsMediaAttached",l9.MEDIA_DETACHING="hlsMediaDetaching",l9.MEDIA_DETACHED="hlsMediaDetached",l9.MEDIA_ENDED="hlsMediaEnded",l9.STALL_RESOLVED="hlsStallResolved",l9.BUFFER_RESET="hlsBufferReset",l9.BUFFER_CODECS="hlsBufferCodecs",l9.BUFFER_CREATED="hlsBufferCreated",l9.BUFFER_APPENDING="hlsBufferAppending",l9.BUFFER_APPENDED="hlsBufferAppended",l9.BUFFER_EOS="hlsBufferEos",l9.BUFFERED_TO_END="hlsBufferedToEnd",l9.BUFFER_FLUSHING="hlsBufferFlushing",l9.BUFFER_FLUSHED="hlsBufferFlushed",l9.MANIFEST_LOADING="hlsManifestLoading",l9.MANIFEST_LOADED="hlsManifestLoaded",l9.MANIFEST_PARSED="hlsManifestParsed",l9.LEVEL_SWITCHING="hlsLevelSwitching",l9.LEVEL_SWITCHED="hlsLevelSwitched",l9.LEVEL_LOADING="hlsLevelLoading",l9.LEVEL_LOADED="hlsLevelLoaded",l9.LEVEL_UPDATED="hlsLevelUpdated",l9.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",l9.LEVELS_UPDATED="hlsLevelsUpdated",l9.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",l9.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",l9.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",l9.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",l9.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",l9.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",l9.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",l9.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",l9.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",l9.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",l9.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",l9.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",l9.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",l9.CUES_PARSED="hlsCuesParsed",l9.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",l9.INIT_PTS_FOUND="hlsInitPtsFound",l9.FRAG_LOADING="hlsFragLoading",l9.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",l9.FRAG_LOADED="hlsFragLoaded",l9.FRAG_DECRYPTED="hlsFragDecrypted",l9.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",l9.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",l9.FRAG_PARSING_METADATA="hlsFragParsingMetadata",l9.FRAG_PARSED="hlsFragParsed",l9.FRAG_BUFFERED="hlsFragBuffered",l9.FRAG_CHANGED="hlsFragChanged",l9.FPS_DROP="hlsFpsDrop",l9.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",l9.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",l9.ERROR="hlsError",l9.DESTROYING="hlsDestroying",l9.KEY_LOADING="hlsKeyLoading",l9.KEY_LOADED="hlsKeyLoaded",l9.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",l9.BACK_BUFFER_REACHED="hlsBackBufferReached",l9.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",l9.ASSET_LIST_LOADING="hlsAssetListLoading",l9.ASSET_LIST_LOADED="hlsAssetListLoaded",l9.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",l9.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",l9.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",l9.INTERSTITIAL_STARTED="hlsInterstitialStarted",l9.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",l9.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",l9.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",l9.INTERSTITIAL_ENDED="hlsInterstitialEnded",l9.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",l9.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",l9.EVENT_CUE_ENTER="hlsEventCueEnter",l9);var tB="manifest",t$="level",tH="audioTrack",tG="subtitleTrack",tV="main",tK="audio",tW="subtitle";class tq{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i}sample(e,t){let i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}
1getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class tj{constructor(e,t,i,r=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new tq(e),this.fast_=new tq(t),this.defaultTTFB_=r,this.ttfb_=new tq(e)}update(e,t){let{slow_:i,fast_:r,ttfb_:a}=this;i.halfLife!==e&&(this.slow_=new tq(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.fast_=new tq(t,r.getEstimate(),r.getTotalWeight())),a.halfLife!==e&&(this.ttfb_=new tq(e,a.getEstimate(),a.getTotalWeight()))}sample(e,t){let i=(e=Math.max(e,this.minDelayMs_))/1e3,r=8*t/i;this.fast_.sample(i,r),this.slow_.sample(i,r)}sampleTTFB(e){let t=Math.sqrt(2)*Math.exp(-Math.pow(e/1e3,2)/2);this.ttfb_.sample(t,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function tY(){return(tY=Object.assign.bind()).apply(null,arguments)}function tz(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,r)}return i}function tQ(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?tz(Object(i),!0).forEach(function(t){var r,a;r=t,a=i[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t);if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):tz(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}class tX{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const i=`[${e}]:`;this.trace=tZ,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i)}}let tZ=function(){},tJ={trace:tZ,debug:tZ,log:tZ,warn:tZ,info:tZ,error:tZ};function t0(){return tY({},tJ)}function t1(e,t,i){let r;return t[e]?t[e].bind(t):(r=self.console[e])?r.bind(self.console,`${i?"["+i+"] ":""}[${e}] >`):tZ}let t2=t0();function t3(e=!0){if(!("u"<typeof self))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function t4(e,t){let i=Object.keys(e),r=Object.keys(t),a=i.length,s=r.length;return!a||!s||a===s&&!i.some(e=>-1===r.indexOf(e))}function t5(e,t=!1){let i,r;if("u">typeof TextDecoder){let i=new TextDecoder("utf-8").decode(e);if(t){let e=i.indexOf("\0");return -1!==e?i.substring(0,e):i}return i.replace(/\0/g,"")}let a=e.length,s="",n=0;for(;n<a&&(0!==(i=e[n++])||!t);)if(0!==i&&3!==i)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:s+=String.fromCharCode(i);break;case 12:case 13:s+=String.fromCharCode((31&i)<<6|63&(r=e[n++]));break;case 14:s+=String.fromCharCode((15&i)<<12|(63&(r=e[n++]))<<6|63&e[n++])}return s}function t8(e){let t="";for(let i=0;i<e.length;i++){let r=e[i].toString(16);r.length<2&&(r="0"+r),t+=r}return t}function t9(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var t6={exports:{}},t7=di?t6.exports:(di=1,l0=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,l1=/^(?=([^\/?#]*))\1([^]*)$/,l2=/(?:\/|^)\.(?=\/)/g,l3=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,t6.exports=l4={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=l4.parseURL(e);if(!r)throw Error("Error trying to parse base URL.");return r.path=l4.normalizePath(r.path),l4.buildURLFromParts(r)}var a=l4.parseURL(t);if(!a)throw Error("Error trying to parse relative URL.");
1if(a.scheme)return i.alwaysNormalize?(a.path=l4.normalizePath(a.path),l4.buildURLFromParts(a)):t;var s=l4.parseURL(e);if(!s)throw Error("Error trying to parse base URL.");if(!s.netLoc&&s.path&&"/"!==s.path[0]){var n=l1.exec(s.path);s.netLoc=n[1],s.path=n[2]}s.netLoc&&!s.path&&(s.path="/");var o={scheme:s.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(o.netLoc=s.netLoc,"/"!==a.path[0]))if(a.path){var l=s.path,d=l.substring(0,l.lastIndexOf("/")+1)+a.path;o.path=l4.normalizePath(d)}else o.path=s.path,!a.params&&(o.params=s.params,a.query||(o.query=s.query));return null===o.path&&(o.path=i.alwaysNormalize?l4.normalizePath(a.path):a.path),l4.buildURLFromParts(o)},parseURL:function(e){var t=l0.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(l2,"");e.length!==(e=e.replace(l3,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},t6.exports);class ie{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var it="audio",ii="video",ir="audiovideo";class ia{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,"string"==typeof e&&(e={url:e}),this.base=e,function(e,t){let i=function e(t,i){let r=Object.getPrototypeOf(t);if(r){let t=Object.getOwnPropertyDescriptor(r,i);return t||e(r,i)}}(e,t);i&&(i.enumerable=!0,Object.defineProperty(e,t,i))}(this,"stats")}setByteRange(e,t){let i,r=e.split("@",2);i=1===r.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(r[1]),this._byteRange=[i,parseInt(r[0])+i]}get baseurl(){return this.base.url}get byteRange(){return null===this._byteRange?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return null===this._streams&&(this._streams={[it]:null,[ii]:null,[ir]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return null!==this._stats}get hasStreams(){return null!==this._streams}get stats(){return null===this._stats&&(this._stats=new ie),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=t7.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[it]=null,e[ii]=null,e[ir]=null}}function is(e){return"initSegment"!==e.sn}class io extends ia{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(tM(e)&&tM(t))return t-e}return null}get bitrate(){return this.byteLength?8*this.byteLength/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!(null!=(e=this._decryptdata)&&e.keyId)){let e=Object.keys(t);if(1===e.length){let i=this._decryptdata=t[e[0]]||null;i&&(this._decryptdata=i.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;let e=tM(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e,t;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;
1if(this.levelkeys){let e=Object.keys(this.levelkeys),i=e.length;if(i>1||1===i&&null!=(t=this.levelkeys[e[0]])&&t.encrypted)return!0}return!1}get programDateTime(){return null===this._programDateTime&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!tM(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return is(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){let t=this.levelkeys;if(t){var i;let r=t[e];r&&!(null!=(i=this._decryptdata)&&i.keyId)&&(this._decryptdata=r.getDecryptData(this.sn,t))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,r,a,s=!1){let{elementaryStreams:n}=this,o=n[e];if(!o){n[e]={startPTS:t,endPTS:i,startDTS:r,endDTS:a,partial:s};return}o.startPTS=Math.min(o.startPTS,t),o.endPTS=Math.max(o.endPTS,i),o.startDTS=Math.min(o.startDTS,r),o.endDTS=Math.max(o.endDTS,a)}}class il extends ia{constructor(e,t,i,r,a){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=r;const s=e.enumeratedString("BYTERANGE");s&&this.setByteRange(s,a),a&&(this.fragOffset=a.fragOffset+a.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}let id=[].push,iu={video:1,audio:2,id3:3,text:4};function ih(e){return String.fromCharCode.apply(null,e)}function ic(e,t){let i=e[t]<<8|e[t+1];return i<0?65536+i:i}function im(e,t){let i=ig(e,t);return i<0?0x100000000+i:i}function ip(e,t){let i=im(e,t);return i*=0x100000000,i+=im(e,t+4)}function ig(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function iv(e,t){let i=[];if(!t.length)return i;let r=e.byteLength;for(let a=0;a<r;){let s=im(e,a),n=ih(e.subarray(a+4,a+8)),o=s>1?a+s:r;if(n===t[0])if(1===t.length)i.push(e.subarray(a+8,o));else{let r=iv(e.subarray(a+8,o),t.slice(1));r.length&&id.apply(i,r)}a=o}return i}function iE(e){let t=[],i=iv(e,["moov","trak"]);for(let e=0;e<i.length;e++){let r=i[e],a=iv(r,["tkhd"])[0];if(a){let e=a[0],i=im(a,0===e?12:20),s=iv(r,["mdia","mdhd"])[0];if(s){e=s[0];let a=im(s,0===e?12:20),n=iv(r,["mdia","hdlr"])[0];if(n){let e=ih(n.subarray(8,12)),s={soun:it,vide:ii}[e],o=function(e){let t,i=e.subarray(8),r=i.subarray(86),a=ih(i.subarray(4,8)),s=a,n="enca"===a||"encv"===a;if(n){let e=iv(i,[a])[0].subarray("enca"===a?28:78);iv(e,["sinf"]).forEach(e=>{let t=iv(e,["schm"])[0];if(t){let i=ih(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iv(e,["frma"])[0];t&&(s=ih(t))}}})}let o=s;switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let e=iv(r,["avcC"])[0];e&&e.length>3&&(s+="."+iT(e[1])+iT(e[2])+iT(e[3]),t=iy("avc1"===o?"dva1":"dvav",r));break}case"mp4a":{let e=iv(i,[a])[0],t=iv(e.subarray(28),["esds"])[0];if(t&&t.length>7){let e=4;if(3!==t[e++])break;e=ib(t,e)+2;let i=t[e++];if(128&i&&(e+=2),64&i&&(e+=t[e++]),4!==t[e++])break;e=ib(t,e);let r=t[e++];if(64===r)s+="."+iT(r);else break;if(e+=12,5!==t[e++])break;e=ib(t,e);let a=t[e++],n=(248&a)>>3;31===n&&(n+=1+((7&a)<<3)+((224&t[e])>>5)),s+="."+n}break}case"hvc1":case"hev1":{let e=iv(r,["hvcC"])[0];if(e&&e.length>12){let t=e[1],i=["","A","B","C"][t>>6],r=im(e,2),a=e[12],n=e.subarray(6,12);s+="."+i+(31&t),s+="."+(function(e){let t=0;for(let i=0;i<32;i++)t|=(e>>i&1)<<31-i;return t>>>0})(r).toString(16).toUpperCase(),s+="."+((32&t)>>5?"H":"L")+a;let o="";for(let e=n.length;e--;){let t=n[e];(t||o)&&(o="."+t.toString(16).toUpperCase()+o)}s+=o}t=iy("hev1"==o?"dvhe":"dvh1",r);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":s=iy(s,r)||s;break;case"vp09":{let e=iv(r,["vpcC"])[0];if(e&&e.length>6){let t=e[4],i=e[5],r=e[6]>>4&15;s+="."+iA(t)+"."+iA(i)+"."+iA(r)}break}case"av01":{let e=iv(r,["av1C"])[0];if(e&&e.length>2){let i=e[1]>>>5,a=31&e[1],n=e[2]>>>7?"H":"M",o=(64&e[2])>>6,l=(32&e[2])>>5,d=(16&e[2])>>4,u=(8&e[2])>>3,h=(4&e[2])>>2,c=3&e[2];s+="."+i+"."+iA(a)+n+"."+iA(2===i&&o?l?12:10:o?10:8)+"."+d+"."+u+h+c+"."+iA(1)+"."+iA(1)+"."+iA(1)+".0",t=iy("dav1",r)}}}return{codec:s,encrypted:n,supplemental:t}}(iv(r,["mdia","minf","stbl","stsd"])[0]);s?(t[i]={timescale:a,type:s,stsd:o},t[s]=tQ({timescale:a,id:i},o)):t[i]={timescale:a,type:e,stsd:o}}}}}
1return iv(e,["moov","mvex","trex"]).forEach(e=>{let i=t[im(e,4)];i&&(i.default={duration:im(e,12),flags:im(e,20)})}),t}function iy(e,t){let i=iv(t,["dvvC"]),r=i.length?i[0]:iv(t,["dvcC"])[0];if(r){let t=r[2]>>1&127,i=r[2]<<5&32|r[3]>>3&31;return e+"."+iA(t)+"."+iA(i)}}function ib(e,t){let i=t+5;for(;128&e[t++]&&t<i;);return t}function iT(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function iA(e){return(e<10?"0":"")+e}function i_(e,t){iv(e,["moov","trak"]).forEach(e=>{let i=iv(e,["mdia","minf","stbl","stsd"])[0];if(!i)return;let r=i.subarray(8),a=iv(r,["enca"]),s=a.length>0;s||(a=iv(r,["encv"])),a.forEach(e=>{iv(s?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{let i=iS(e);i&&t(i,s)})})})}function iS(e){let t=iv(e,["schm"])[0];if(t){let i=ih(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iv(e,["schi","tenc"])[0];if(t)return t}}}function ik(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}function iL(e,t){let i=[],r=t.samples,a=t.timescale,s=t.id,n=!1;return iv(r,["moof"]).map(o=>{let l=o.byteOffset-8;iv(o,["traf"]).map(o=>{let d=iv(o,["tfdt"]).map(e=>{let t=e[0],i=im(e,4);return 1===t&&(i*=0x100000000,i+=im(e,8)),i/a})[0];return void 0!==d&&(e=d),iv(o,["tfhd"]).map(d=>{let u=im(d,4),h=0xffffff&im(d,0),c=0,m=0,f=8;u===s&&((1&h)!=0&&(f+=8),(2&h)!=0&&(f+=4),(8&h)!=0&&(c=im(d,f),f+=4),(16&h)!=0&&(m=im(d,f),f+=4),(32&h)!=0&&(f+=4),"video"===t.type&&(n=iR(t.codec)),iv(o,["trun"]).map(s=>{let o=s[0],d=0xffffff&im(s,0),u=0,h=(256&d)!=0,f=0,p=(512&d)!=0,g=0,E=(1024&d)!=0,y=(2048&d)!=0,b=0,T=im(s,4),A=8;(1&d)!=0&&(u=im(s,A),A+=4),(4&d)!=0&&(A+=4);let _=u+l;for(let l=0;l<T;l++){if(h?(f=im(s,A),A+=4):f=c,p?(g=im(s,A),A+=4):g=m,E&&(A+=4),y&&(b=0===o?im(s,A):ig(s,A),A+=4),t.type===ii){let t=0;for(;t<g;){let s=im(r,_);_+=4,function(e,t){if(!e)return 6==(31&t);{let e=t>>1&63;return 39===e||40===e}}(n,r[_])&&iI(r.subarray(_,_+s),n?2:1,e+b/a,i),_+=s,t+=s+4}}e+=f/a}}))})})}),i}function iR(e){if(!e)return!1;let t=e.substring(0,4);return"hvc1"===t||"hev1"===t||"dvh1"===t||"dvhe"===t}function iI(e,t,i,r){let a,s=iw(e);a=0+t;let n=0,o=0,l=0;for(;a<s.length;){n=0;do{if(a>=s.length)break;n+=l=s[a++]}while(255===l)o=0;do{if(a>=s.length)break;o+=l=s[a++]}while(255===l)let e=s.length-a,t=a;if(o<e)a+=o;else if(o>e){t2.error(`Malformed SEI payload. ${o} is too small, only ${e} bytes left to parse.`);break}if(4===n){if(181===s[t++]){let e=ic(s,t);if(t+=2,49===e){let e=im(s,t);if(t+=4,0x47413934===e){let e=s[t++];if(3===e){let a=s[t++],o=31&a,l=64&a,d=l?2+3*o:0,u=new Uint8Array(d);if(l){u[0]=a;for(let e=1;e<d;e++)u[e]=s[t++]}r.push({type:e,payloadType:n,pts:i,bytes:u})}}}}}else if(5===n&&o>16){let e=[];for(let i=0;i<16;i++){let r=s[t++].toString(16);e.push(1==r.length?"0"+r:r),(3===i||5===i||7===i||9===i)&&e.push("-")}let a=o-16,l=new Uint8Array(a);for(let e=0;e<a;e++)l[e]=s[t++];r.push({payloadType:n,pts:i,uuid:e.join(""),userData:t5(l),userDataBytes:l})}}}function iw(e){let t=e.byteLength,i=[],r=1;for(;r<t-2;)0===e[r]&&0===e[r+1]&&3===e[r+2]?(i.push(r+2),r+=2):r++;if(0===i.length)return e;let a=t-i.length,s=new Uint8Array(a),n=0;for(r=0;r<a;n++,r++)n===i[0]&&(n++,i.shift()),s[r]=e[n];return s}let iC={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function iD(e,t){let i=iC[t];return!!i&&!!i[e.slice(0,4)]}function ix(e,t,i=!0){return!e.split(",").some(e=>!iM(e,t,i))}function iM(e,t,i=!0){var r;let a=t3(i);return null!=(r=null==a?void 0:a.isTypeSupported(iP(e,t)))&&r}function iP(e,t){return`${t}/mp4;codecs=${e}`}function iO(e){if(e){let t=e.substring(0,4);return iC.video[t]}return 2}function iN(e){let t=/\(Windows.+Firefox\//i.test(navigator.userAgent);return e.split(",").reduce((e,i)=>{let r=t&&iR(i)?9:iC.video[i];return r?(2*r+e)/(e?3:2):(iC.audio[i]+e)/(e?2:1)},0)}let iU={},iF=/flac|opus|mp4a\.40\.34/i;function iB(e,t=!0){return e.replace(iF,e=>(function(e,t=!0){if(iU[e])return iU[e];let i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let a=0;a<i.length;a++){var r;if(iM(i[a],"audio",t))return iU[e]=i[a],i[a];
1if("mp3"===i[a]&&null!=(r=t3(t))&&r.isTypeSupported("audio/mpeg"))return""}return e})(e.toLowerCase(),t))}function i$(e,t){if(e&&(e.length>4||-1!==["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e))&&(iH(e,"audio")||iH(e,"video")))return e;if(t){let i=t.split(",");if(i.length>1){if(e){for(let t=i.length;t--;)if(i[t].substring(0,4)===e.substring(0,4))return i[t]}return i[0]}}return t||e}function iH(e,t){return iD(e,t)&&iM(e,t)}function iG(e){let t=t3(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported("audio/mpeg"),mp3:t.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:t.isTypeSupported('audio/mp4; codecs="ac-3"')}}function iV(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let iK={supported:!1,smooth:!1,powerEfficient:!1},iW={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function iq(e,t){return{supported:!1,configurations:t,decodingInfoResults:[iK],error:e}}function ij(e,t,i,r={}){var a,s,n,o,l,d;let u,h,c,m,f,p,g,E,y=e.videoCodec;if(!y&&!e.audioCodec||!i)return Promise.resolve(iW);let b=[],T=(u=null==(s=(a=e).videoCodec)?void 0:s.split(","),h=iY(a),c=a.width||640,m=a.height||480,f=a.frameRate||30,p=a.videoRange.toLowerCase(),u?u.map(e=>{let t={contentType:iP(function(e){if(e.startsWith("av01.")){let t=e.split("."),i=["0","111","01","01","01","0"];for(let e=t.length;e>4&&e<10;e++)t[e]=i[e-4];return t.join(".")}return e}(e),"video"),width:c,height:m,bitrate:h,framerate:f};return"sdr"!==p&&(t.transferFunction=p),t}):[]),A=T.length,_=(n=e,o=t,l=A>0,g=null==(d=n.audioCodec)?void 0:d.split(","),E=iY(n),g&&n.audioGroups?n.audioGroups.reduce((e,t)=>{var i;let r=t?null==(i=o.groups[t])?void 0:i.tracks:null;return r?r.reduce((e,i)=>{if(i.groupId===t){let t=parseFloat(i.channels||"");g.forEach(i=>{let r={contentType:iP(i,"audio"),bitrate:l?function(e,t){if(t<=1)return 1;let i=128e3;return"ec-3"===e?i=768e3:"ac-3"===e&&(i=64e4),Math.min(t/2,i)}(i,E):E};t&&(r.channels=""+t),e.push(r)})}return e},e):e},[]):[]),S=_.length;for(let e=A||+S||1;e--;){let t={type:"media-source"};if(A&&(t.video=T[e%A]),S){t.audio=_[e%S];let i=t.audio.bitrate;t.video&&i&&(t.video.bitrate-=i)}b.push(t)}if(y){let e=navigator.userAgent;if(y.split(",").some(e=>iR(e))&&/\(Windows.+Firefox\//i.test(navigator.userAgent))return Promise.resolve(iq(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),b))}return Promise.all(b.map(e=>{let t=function(e){let t="",{audio:i,video:r}=e;if(r){let e=iV(r.contentType);t+=`${e}_r${r.height}x${r.width}f${Math.ceil(r.framerate)}${r.transferFunction||"sd"}_${Math.ceil(r.bitrate/1e5)}`}if(i){let e=iV(i.contentType);t+=`${r?"_":""}${e}_c${i.channels}`}return t}(e);return r[t]||(r[t]=i.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:b,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:b,decodingInfoResults:[],error:e}))}function iY(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let iz=["NONE","TYPE-0","TYPE-1",null],iQ=["SDR","PQ","HLG"];function iX(e){let{canSkipUntil:t,canSkipDateRanges:i,age:r}=e;return t&&r<t/2?i?"v2":"YES":""}class iZ{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class iJ{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(e=>!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const i=null==(t=e.supplemental)?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`)}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return i0(this._audioGroups,e)}hasSubtitleGroup(e){return i0(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function i0(e,t){return!!t&&!!e&&-1!==e.indexOf(t)}let i1=(e,t)=>{let i;return JSON.stringify(e,(i=new WeakSet,(e,r)=>{if(t&&(r=t(e,r)),"object"==typeof r&&null!==r){if(i.has(r))return;i.add(r)}return r}))};function i2(e,t){t2.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function i3(e){return e.reduce((e,t)=>
1{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);let r=t.channels||"2";return i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function i4(e){if(!e)return e;let{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}=e;return{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}}function i5(e,t,i){if("attrs"in e){let i=t.indexOf(e);if(-1!==i)return i}for(let r=0;r<t.length;r++)if(i8(e,t[r],i))return r;return -1}function i8(e,t,i){let{groupId:r,name:a,lang:s,assocLang:n,default:o}=e,l=e.forced;return(void 0===r||t.groupId===r)&&(void 0===a||t.name===a)&&(void 0===s||function(e,t="--"){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e)}(s,t.lang))&&(void 0===s||t.assocLang===n)&&(void 0===o||t.default===o)&&(void 0===l||t.forced===l)&&(!("characteristics"in e)||function(e,t=""){let i=e.split(","),r=t.split(",");return i.length===r.length&&!i.some(e=>-1===r.indexOf(e))}(e.characteristics||"",t.characteristics))&&(void 0===i||i(e,t))}function i9(e,t){let{audioCodec:i,channels:r}=e;return(void 0===i||(t.audioCodec||"").substring(0,4)===i.substring(0,4))&&(void 0===r||r===(t.channels||"2"))}function i6(e,t,i){for(let r=t;r>-1;r--)if(i(e[r]))return r;for(let r=t+1;r<e.length;r++)if(i(e[r]))return r;return -1}function i7(e,t){var i;return!!e&&e!==(null==(i=t.loadLevelObj)?void 0:i.uri)}let re=function(e,t){let i=0,r=e.length-1,a=null,s=null;for(;i<=r;){let n=t(s=e[a=(i+r)/2|0]);if(n>0)i=a+1;else{if(!(n<0))return s;r=a-1}}return null};function rt(e,t,i=0,r=0,a=.005){let s=null;if(e){s=t[1+e.sn-t[0].sn]||null;let r=e.endDTS-i;r>0&&r<15e-7&&(i+=15e-7),s&&e.level!==s.level&&s.end<=e.end&&(s=t[2+e.sn-t[0].sn]||null)}else 0===i&&0===t[0].start&&(s=t[0]);if(s&&((!e||e.level===s.level)&&0===ri(i,r,s)||function(e,t,i){if(t&&0===t.start&&t.level<e.level&&(t.endPTS||0)>0){let r=t.tagList.reduce((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e),i);return e.start<=r}return!1}(s,e,Math.min(a,r))))return s;let n=re(t,ri.bind(null,i,r));return n&&(n!==e||!s)?n:s}function ri(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;let r=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-r<=e?1:i.start-r>e&&i.start?-1:0}function rr(e,t,i){if(e&&e.startCC<=t&&e.endCC>=t){let r,a=e.fragments,{fragmentHint:s}=e;return s&&(a=a.concat(s)),re(a,e=>e.cc<t?1:e.cc>t?-1:(r=e,e.end<=i)?1:e.start>i?-1:0),r||null}return null}function ra(e){switch(e.details){case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_TIMEOUT:case tU.LEVEL_LOAD_TIMEOUT:case tU.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function rs(e){return e.details.startsWith("key")}function rn(e){return rs(e)&&!!e.frag&&!e.frag.decryptdata}function ro(e,t){let i=ra(t);return e.default[`${i?"timeout":"error"}Retry`]}function rl(e,t){return Math.min(("linear"===e.backoff?1:Math.pow(2,t))*e.retryDelayMs,e.maxRetryDelayMs)}function rd(e){return tQ(tQ({},e),{errorRetry:null,timeoutRetry:null})}function ru(e,t,i,r){var a;if(!e)return!1;let s=null==r?void 0:r.code,n=t<e.maxNumRetry&&(rh(a=s)||!!a&&(a<400||a>499)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,r,n):n}function rh(e){return 0===e&&!1===navigator.onLine}function rc(e){let t={action:0,flags:0};return e&&(t.resolved=!0),t}var rm="NOT_LOADED",rf="APPENDING",rp="PARTIAL";class rg{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e&&(e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let t=i.length;t--;){let r=i[t];if(!r)break;
1if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,i){let{fragments:r}=this,a=Object.keys(r);for(let s=a.length;s--;){let n=r[a[s]];if((null==n?void 0:n.body.type)===t&&(!i||n.buffered)){let t=n.body;if(t.start<=e&&e<=t.end)return t}}return null}detectEvictedFragments(e,t,i,r,a){this.timeRanges&&(this.timeRanges[e]=t);let s=(null==r?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach(r=>{let n=this.fragments[r];if(!n||s>=n.body.sn)return;if(!n.buffered&&(!n.loaded||a)){n.body.type===i&&this.removeFragment(n.body);return}let o=n.range[e];if(o){if(0===o.time.length)return void this.removeFragment(n.body);o.time.some(e=>{let i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(n.body),i})}})}detectPartialFragments(e){let t=this.timeRanges;if(!t||"initSegment"===e.frag.sn)return;let i=e.frag,r=rE(i),a=this.fragments[r];if(!a||a.buffered&&i.gap)return;let s=!i.relurl;Object.keys(t).forEach(r=>{let n=i.elementaryStreams[r];if(!n)return;let o=t[r],l=s||!0===n.partial;a.range[r]=this.getBufferedTimes(i,e.part,l,o)}),a.loaded=null,Object.keys(a.range).length?(this.bufferedEnd(a,i),rv(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=ry(i,t=>t.fragment.sn>=e))}fragBuffered(e,t){let i=rE(e),r=this.fragments[i];!r&&t&&(r=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),r&&(r.loaded=null,this.bufferedEnd(r,e))}getBufferedTimes(e,t,i,r){let a={time:[],partial:i},s=e.start,n=e.end,o=e.minEndPTS||n,l=e.maxStartPTS||s;for(let e=0;e<r.length;e++){let t=r.start(e)-this.bufferPadding,i=r.end(e)+this.bufferPadding;if(l>=t&&o<=i){a.time.push({startPTS:Math.max(s,r.start(e)),endPTS:Math.min(n,r.end(e))});break}if(s<i&&n>t){let t=Math.max(s,r.start(e)),i=Math.min(n,r.end(e));i>t&&(a.partial=!0,a.time.push({startPTS:t,endPTS:i}))}else if(n<=t)break}return a}getPartialFragment(e){let t,i,r,a=null,s=0,{bufferPadding:n,fragments:o}=this;return Object.keys(o).forEach(l=>{let d=o[l];d&&rv(d)&&(i=d.body.start-n,r=d.body.end+n,e>=i&&e<=r&&s<=(t=Math.min(e-i,r-e))&&(a=d.body,s=t))}),a}isEndListAppended(e){let t=this.endListFragments[e];return void 0!==t&&(t.buffered||rv(t))}getState(e){let t=rE(e),i=this.fragments[t];if(i)if(!i.buffered)return rf;else if(rv(i))return rp;else return"OK";return rm}isTimeBuffered(e,t,i){let r,a;for(let s=0;s<i.length;s++){if(r=i.start(s)-this.bufferPadding,a=i.end(s)+this.bufferPadding,e>=r&&t<=a)return!0;if(t<=r)break}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if("initSegment"===t.frag.sn||t.frag.bitrateTest)return;let i=t.frag,r=t.part?null:t,a=rE(i);this.fragments[a]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:r,timeRanges:a,type:s}=t;if("initSegment"===i.sn)return;let n=i.type;if(r){let e=this.activePartLists[n];e||(this.activePartLists[n]=e=[]),e.push(r)}this.timeRanges=a;let o=a[s];this.detectEvictedFragments(s,o,n,r)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=rE(e);return!!this.fragments[t]}hasFragments(e){let{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let r=i.length;r--;){let a=t[i[r]];if((null==a?void 0:a.body.type)===e)return!0}return!1}hasParts(e){var t;return!!(null!=(t=this.activePartLists[e])&&t.length)}removeFragmentsInRange(e,t,i,r,a){(!r||this.hasGaps)&&Object.keys(this.fragments).forEach(s=>{let n=this.fragments[s];if(!n)return;let o=n.body;o.type===i&&(!r||o.gap)&&o.start<t&&o.end>e&&(n.buffered||a)&&this.removeFragment(o)})}removeFragment(e){let t=rE(e);e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let t=e.sn;this.activePartLists[e.type]=ry(i,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;
1t&&t.forEach(e=>e.clearElementaryStreamInfo())}}function rv(e){var t,i,r;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(i=e.range.audio)&&i.partial||null!=(r=e.range.audiovideo)&&r.partial)}function rE(e){return`${e.type}_${e.level}_${e.sn}`}function ry(e,t){return e.filter(e=>{let i=t(e);return i||e.clearElementaryStreamInfo(),i})}class rb{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case 0:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case 1:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}class rT{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,r=i[0],a=i[1],s=i[2],n=i[3],o=this.invSubMix,l=o[0],d=o[1],u=o[2],h=o[3],c=new Uint32Array(256),m=0,f=0,p=0;for(p=0;p<256;p++)p<128?c[p]=p<<1:c[p]=p<<1^283;for(p=0;p<256;p++){let i=f^f<<1^f<<2^f<<3^f<<4;i=i>>>8^255&i^99,e[m]=i,t[i]=m;let o=c[m],p=c[o],g=c[p],E=257*c[i]^0x1010100*i;r[m]=E<<24|E>>>8,a[m]=E<<16|E>>>16,s[m]=E<<8|E>>>24,n[m]=E,E=0x1010101*g^65537*p^257*o^0x1010100*m,l[i]=E<<24|E>>>8,d[i]=E<<16|E>>>16,u[i]=E<<8|E>>>24,h[i]=E,m?(m=o^c[c[c[g^o]]],f^=c[c[f]]):m=f=1}}expandKey(e){let t,i,r,a,s=this.uint8ArrayToUint32Array_(e),n=!0,o=0;for(;o<s.length&&n;)n=s[o]===this.key[o],o++;if(n)return;this.key=s;let l=this.keySize=s.length;if(4!==l&&6!==l&&8!==l)throw Error("Invalid aes key size="+l);let d=this.ksRows=(l+6+1)*4,u=this.keySchedule=new Uint32Array(d),h=this.invKeySchedule=new Uint32Array(d),c=this.sBox,m=this.rcon,f=this.invSubMix,p=f[0],g=f[1],E=f[2],y=f[3];for(t=0;t<d;t++){if(t<l){r=u[t]=s[t];continue}a=r,t%l==0?a=(c[(a=a<<8|a>>>24)>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a])^m[t/l|0]<<24:l>6&&t%l==4&&(a=c[a>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a]),u[t]=r=(u[t-l]^a)>>>0}for(i=0;i<d;i++)t=d-i,a=3&i?u[t]:u[t-4],i<4||t<=4?h[i]=a:h[i]=p[c[a>>>24]]^g[c[a>>>16&255]]^E[c[a>>>8&255]]^y[c[255&a]],h[i]=h[i]>>>0}networkToHostOrderSwap(e){return e<<24|(65280&e)<<8|(0xff0000&e)>>8|e>>>24}decrypt(e,t,i){let r,a,s,n,o,l,d,u,h,c,m,f,p,g,E=this.keySize+6,y=this.invKeySchedule,b=this.invSBox,T=this.invSubMix,A=T[0],_=T[1],S=T[2],k=T[3],L=this.uint8ArrayToUint32Array_(i),R=L[0],I=L[1],w=L[2],C=L[3],D=new Int32Array(e),x=new Int32Array(D.length),M=this.networkToHostOrderSwap;for(;t<D.length;){for(g=1,h=M(D[t]),c=M(D[t+1]),m=M(D[t+2]),f=M(D[t+3]),o=h^y[0],l=f^y[1],d=m^y[2],u=c^y[3],p=4;g<E;g++)r=A[o>>>24]^_[l>>16&255]^S[d>>8&255]^k[255&u]^y[p],a=A[l>>>24]^_[d>>16&255]^S[u>>8&255]^k[255&o]^y[p+1],s=A[d>>>24]^_[u>>16&255]^S[o>>8&255]^k[255&l]^y[p+2],n=A[u>>>24]^_[o>>16&255]^S[l>>8&255]^k[255&d]^y[p+3],o=r,l=a,d=s,u=n,p+=4;r=b[o>>>24]<<24^b[l>>16&255]<<16^b[d>>8&255]<<8^b[255&u]^y[p],a=b[l>>>24]<<24^b[d>>16&255]<<16^b[u>>8&255]<<8^b[255&o]^y[p+1],s=b[d>>>24]<<24^b[u>>16&255]<<16^b[o>>8&255]<<8^b[255&l]^y[p+2],n=b[u>>>24]<<24^b[o>>16&255]<<16^b[l>>8&255]<<8^b[255&d]^y[p+3],x[t]=M(r^R),x[t+1]=M(n^I),x[t+2]=M(s^w),x[t+3]=M(a^C),R=h,I=c,w=m,C=f,t+=4}return x.buffer}}class rA{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i}expandKey(){let e=function(e){switch(e){case 0:return"AES-CBC";case 1:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}class r_{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftw
1areAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch(e){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);if(this.reset(),this.removePKCS7Padding){let e,t;return(t=(e=i.byteLength)&&new DataView(i.buffer).getUint8(e-1))?i.slice(0,e-t):i}return i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i,r){return this.useSoftware?new Promise((a,s)=>{let n=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(n,t,i,r);let o=this.flush();o?a(o.buffer):s(Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i,r)}softwareDecrypt(e,t,i,r){let{currentIV:a,currentResult:s,remainderData:n}=this;if(0!==r||16!==t.byteLength)return t2.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),n&&(e=ik(n,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;a&&(i=a);let l=this.softwareDecrypter;return(l||(l=this.softwareDecrypter=new rT),l.expandKey(t),this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=o.slice(-16).buffer,s)?s:null}webCryptoDecrypt(e,t,i,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,r));this.key=t,this.fastAesKey=new rA(this.subtle,t,r)}return this.fastAesKey.expandKey().then(t=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new rb(this.subtle,new Uint8Array(i),r).decrypt(e.buffer,t)):Promise.reject(Error("web crypto not initialized"))).catch(a=>(t2.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${a.name}: ${a.message}`),this.onWebCryptoError(e,t,i,r)))}onWebCryptoError(e,t,i,r){let a=this.enableSoftwareAES;if(a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,r);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(a?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%16;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(t2.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}class rS{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(e=>"GAP"===e[0]))return void o(rL(e));else e.gap=!1;let l=this.loader=a?new a(r):new s(r),d=rk(e);e.loader=l;let u=rd(r.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:131072};e.stats=l.stats;let c={onSuccess:(t,i,r,a)=>{this.resetLoader(e,l);let s=t.data;r.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(s.slice(0,16)),s=s.slice(16)),n({frag:e,part:null,payload:s,networkDetails:a})},onError:(t,r,a,s)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:tQ({url:i,data:void 0},t),error:Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:a,stats:s}))},onAbort:(t,i,r)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:r,stats:t}))},onTimeout:(t,i,r)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${h.timeout}ms`),networkDetails:r,stats:t}))}};t&&(c.onProgress=(i,r,a,s)=>t({frag:e,part:null,payload:a,networkDetails:s})),l.load(d,h,c)})}loadPart(e,t,i){this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>
1{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void o(rL(e,t));let l=this.loader=a?new a(r):new s(r),d=rk(e,t);e.loader=l;let u=rd(r.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:131072};t.stats=l.stats,l.load(d,h,{onSuccess:(r,a,s,o)=>{this.resetLoader(e,l),this.updateStatsFromPart(e,t);let d={frag:e,part:t,payload:r.data,networkDetails:o};i(d),n(d)},onError:(i,r,a,s)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:tQ({url:d.url,data:void 0},i),error:Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:a,stats:s}))},onAbort:(i,r,a)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:Error("Aborted"),networkDetails:a,stats:i}))},onTimeout:(i,r,a)=>{this.resetLoader(e,l),o(new rR({type:tN.NETWORK_ERROR,details:tU.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:Error(`Timeout after ${h.timeout}ms`),networkDetails:a,stats:i}))}})})}updateStatsFromPart(e,t){let i=e.stats,r=t.stats,a=r.total;if(i.loaded+=r.loaded,a){let r=Math.round(e.duration/t.duration),s=Math.min(Math.round(i.loaded/a),r),n=(r-s)*Math.round(i.loaded/s);i.total=i.loaded+n}else i.total=Math.max(i.loaded,i.total);let s=i.loading,n=r.loading;s.start?s.first+=n.first-n.start:(s.start=n.start,s.first=n.first),s.end=n.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function rk(e,t=null){let i=t||e,r={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=i.byteRangeStartOffset,s=i.byteRangeEndOffset;if(tM(a)&&tM(s)){var n,o;let t=a,i=s;if("initSegment"===e.sn&&("AES-128"===(o=null==(n=e.decryptdata)?void 0:n.method)||"AES-256"===o)){let e=s-a;e%16&&(i=s+(16-e%16)),0!==a&&(r.resetIV=!0,t=a-16)}r.rangeStart=t,r.rangeEnd=i}return r}function rL(e,t){let i=Error(`GAP ${e.gap?"tag":"attribute"} found`),r={type:tN.MEDIA_ERROR,details:tU.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(r.part=t),(t||e).stats.aborted=!0,new rR(r)}class rR extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class rI extends tX{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)}clearNextTick(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class rw{constructor(e,t,i,r=0,a=-1,s=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=rC(),this.buffering={audio:rC(),video:rC(),audiovideo:rC()},this.level=e,this.sn=t,this.id=i,this.size=r,this.part=a,this.partial=s}}function rC(){return{start:0,executeStart:0,executeEnd:0,end:0}}let rD={length:0,start:()=>0,end:()=>0};class rx{static isBuffered(e,t){if(e){let i=rx.getBuffered(e);for(let e=i.length;e--;)if(t>=i.start(e)&&t<=i.end(e))return!0}return!1}static bufferedRanges(e){if(e){let t=rx.getBuffered(e);return rx.timeRangesToArray(t)}return[]}static timeRangesToArray(e){let t=[];for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}static bufferInfo(e,t,i){if(e){let r=rx.bufferedRanges(e);if(r.length)return rx.bufferedInfo(r,t,i)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,i){let r;t=Math.max(0,t),e.length>1&&e.sort((e,t)=>
1e.start-t.start||t.end-e.end);let a=-1,s=[];if(i)for(let r=0;r<e.length;r++){t>=e[r].start&&t<=e[r].end&&(a=r);let n=s.length;if(n){let t=s[n-1].end;e[r].start-t<i?e[r].end>t&&(s[n-1].end=e[r].end):s.push(e[r])}else s.push(e[r])}else s=e;let n=0,o=t,l=t;for(let e=0;e<s.length;e++){let d=s[e].start,u=s[e].end;if(-1===a&&t>=d&&t<=u&&(a=e),t+i>=d&&t<u)o=d,n=(l=u)-t;else if(t+i<d){r=d;break}}return{len:n,start:o||0,end:l||0,nextStart:r,buffered:e,bufferedIndex:a}}static getBuffered(e){try{return e.buffered||rD}catch(e){return t2.log("failed to get media.buffered",e),rD}}}let rM=/\{\$([a-zA-Z0-9-_]+)\}/g;function rP(e,t){if(null!==e.variableList||e.hasVariableRefs){let i=e.variableList;return t.replace(rM,t=>{let r=t.substring(2,t.length-1),a=null==i?void 0:i[r];return void 0===a?(e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),t):a})}return t}function rO(e,t,i){let r,a,s=e.variableList;if(s||(e.variableList=s={}),"QUERYPARAM"in t){r=t.QUERYPARAM;try{let e=new self.URL(i).searchParams;if(e.has(r))a=e.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${i}"`)}catch(t){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else r=t.NAME,a=t.VALUE;r in s?e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`)):s[r]=a||""}let rN=/^(\d+)x(\d+)$/,rU=/(.+?)=(".*?"|.*?)(?:,|$)/g;class rF{constructor(e,t){"string"==typeof e&&(e=rF.parseAttrList(e,t)),tY(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2),i=new Uint8Array((t=(1&t.length?"0":"")+t).length/2);for(let e=0;e<t.length/2;e++)i[e]=parseInt(t.slice(2*e,2*e+2),16);return i}return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){let i=this[e];return(i?i.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){let t=rN.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let i,r={};for(rU.lastIndex=0;null!==(i=rU.exec(e));){let a=i[1].trim(),s=i[2],n=0===s.indexOf('"')&&s.lastIndexOf('"')===s.length-1,o=!1;if(n)s=s.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":o=!0}if(t&&(n||o))s=rP(t,s);else if(!o&&!n)switch(a){case"CLOSED-CAPTIONS":if("NONE"===s)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":t2.warn(`${e}: attribute ${a} is missing quotes`)}r[a]=s}return r}}class rB{constructor(e,t,i=0){var r;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(r=null==t?void 0:t.tagOrder)?r:i,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){t2.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=tY(new rF({}),i,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]);tM(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){let{tagAnchor:e}=this;return null===e||null===e.programDateTime?(t2.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return null!==t?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(tM(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&tM(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class r${constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.drift
1StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let i=t.decryptdata;return i||(t.setKeyFormat(e.keyFormat),i=t.decryptdata),!!i&&e.matches(i)})}get hasProgramDateTime(){return!!this.fragments.length&&tM(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(-1!==t){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function rH(e,t){return e.length===t.length&&!e.some((e,i)=>e!==t[i])}function rG(e,t){return!e&&!t||!!e&&!!t&&rH(e,t)}function rV(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function rK(e){switch(e){case"AES-128":case"AES-256":return 0;case"AES-256-CTR":return 1;default:throw Error(`invalid full segment method ${e}`)}}function rW(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function rq(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function rj(e){let t=function(e,t,i){let r=e[t];e[t]=e[i],e[i]=r};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function rY(e){let t=e.split(":"),i=null;if("data"===t[0]&&2===t.length){let e=t[1].split(";"),r=e[e.length-1].split(",");if(2===r.length){let t="base64"===r[0],a=r[1];if(t)e.splice(-1,1),i=rW(a);else{let e,t;e=rq(a).subarray(0,16),(t=new Uint8Array(16)).set(e,16-e.length),i=t}}}return i}let rz="u">typeof self?self:void 0;var rQ="org.w3.clearkey",rX="com.apple.fps",rZ="com.microsoft.playready",rJ="com.widevine.alpha",r0="org.w3.clearkey",r1="com.apple.streamingkeydelivery",r2="com.microsoft.playready",r3="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function r4(e){switch(e){case r1:return rX;case r2:return rZ;case r3:return rJ;case r0:return rQ}}function r5(e){switch(e){case rX:return r1;case rZ:return r2;case rJ:return r3;case rQ:return r0}}function r8(e){let{drmSystems:t,widevineLicenseUrl:i}=e,r=t?[rX,rJ,rZ,rQ].filter(e=>!!t[e]):[];return!r[rJ]&&i&&r.push(rJ),r}let r9=null!=rz&&null!=(l6=rz.navigator)&&l6.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function r6(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(t)),r=i.substring(i.indexOf("<"),i.length),a=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){let e=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(e){let t=rW(e).subarray(0,16);return rj(t),t}}return null}let r7={};class ae{static clearKeyUriToKeyIdMap(){r7={}}static setKeyIdForUri(e,t){r7[e]=t}static addKeyIdForUri(e){let t=Object.keys(r7).length%Number.MAX_SAFE_INTEGER,i=new Uint8Array(16);return new DataView(i.buffer,12,4).setUint32(0,t),r7[e]=i,i}constructor(e,t,i,r=[1],a=null,s){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pss
1h=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=r,this.iv=a,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!rV(e),null!=s&&s.startsWith("0x")&&(this.keyId=new Uint8Array(t9(s)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&rH(e.keyFormatVersions,this.keyFormatVersions)&&rG(e.iv,this.iv)&&rG(e.keyId,this.keyId)}isSupported(){if(this.method){if(rV(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case r1:case r3:case r2:case r0:return -1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(e,t){var i,r;if(!this.encrypted||!this.uri)return null;if(rV(this.method)){let t=this.iv;return t||("number"!=typeof e&&(t2.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),t=function(e){let t=new Uint8Array(16);for(let i=12;i<16;i++)t[i]=e>>8*(15-i)&255;return t}(e)),new ae(this.method,this.uri,"identity",this.keyFormatVersions,t)}if(this.keyId){let e=r7[this.uri];if(e&&!rH(this.keyId,e)&&ae.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}let a=rY(this.uri);if(a)switch(this.keyFormat){case r3:if(this.pssh=a,!this.keyId){let e=function(e){let t=[];if(e instanceof ArrayBuffer){let i=e.byteLength,r=0;for(;r+32<i;){let i=function(e){let t=e.getUint32(0),i=e.byteOffset,r=e.byteLength;if(r<t)return{offset:i,size:r};if(0x70737368!==e.getUint32(4))return{offset:i,size:t};let a=e.getUint32(8)>>>24;if(0!==a&&1!==a)return{offset:i,size:t};let s=e.buffer,n=t8(new Uint8Array(s,i+12,16)),o=null,l=0;if(0===a)l=28;else{let a=e.getUint32(28);if(!a||r<32+16*a)return{offset:i,size:t};o=[];for(let e=0;e<a;e++)o.push(new Uint8Array(s,i+32+16*e,16));l=32+16*a}if(!l)return{offset:i,size:t};let d=e.getUint32(l);return t-32<d?{offset:i,size:t}:{version:a,systemId:n,kids:o,data:new Uint8Array(s,i+l+4,d),offset:i,size:t}}(new DataView(e,r));t.push(i),r+=i.size}}return t}(a.buffer);if(e.length){let t=e[0];this.keyId=null!=(i=t.kids)&&i.length?t.kids[0]:null}}this.keyId||(this.keyId=at(t));break;case r2:{let e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(e,t){let i,r;if(16!==e.byteLength)throw RangeError("Invalid system id");i=new Uint8Array,r=new Uint8Array;let a=new Uint8Array(4);return t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),function(e,...t){let i=t.length,r=8,a=i;for(;a--;)r+=t[a].byteLength;let s=new Uint8Array(r);for(s[0]=r>>24&255,s[1]=r>>16&255,s[2]=r>>8&255,s[3]=255&r,s.set(e,4),a=0,r=8;a<i;a++)s.set(t[a],r),r+=t[a].byteLength;return s}([112,115,115,104],new Uint8Array([0,0,0,0]),e,r,i,a,t)}(e,a),this.keyId=r6(a);break}default:{let e=a.subarray(0,16);if(16!==e.length){let t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e}}if(!this.keyId||16!==this.keyId.byteLength){let e,i;!(e=(i=null==(r=t)?void 0:r[r3])?i.keyId:null)&&((e=at(t))||(e=r7[this.uri])),e&&(this.keyId=e,ae.setKeyIdForUri(this.uri,e))}return this}}function at(e){let t=null==e?void 0:e[r2];if(t){let e=rY(t.uri);if(e)return r6(e)}return null}let ai=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,ar=/#EXT-X-MEDIA:(.*)/g,aa=/^#EXT(?:INF|-X-TARGETDURATION):/m,as=RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),an=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class ao{static findGroup(e,t){for(let i=0;i<e.length;i++){let r=e[i];if(r.id===t)return r}}static resolve(e,t){return t7.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return aa.test(e)}static parseMasterPlaylist(e,t){var i;let r,a={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:rM.test(e)},s=[];if(ai.lastIndex=0,!e.startsWith("#EXTM3U"))return a.playlistParsingError=Error("no EXTM3U delimiter"),a;for(;null!=(r=ai.exec(e));)if(r[1]){let e=new rF(r[1],a),n=rP(a,r[2]),o={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:ao.resolve(n,t)},l=e.decimalResolution("RESOLUTION");l&&(o.width=l.width,o.height=l.height),ah(e.CODECS,o);let d=e["SUPPLEMENTAL-CODECS"];d&&(o.supplemental={},ah(d,o.supplemental)),null!=(i=o.unknownCodecs)&&i.length||s.push(o),a.levels.push(o)}else if(r[3]){let e=r[3],i=r[4];switch(e){case"SESSION-DATA":{let e=new rF(i,a),t=e["DATA-ID"];t&&(null===a.sessionData&&(a.sessionData={}),a.sessionData[t]=e);break}case"SESSION-KEY":{let e=ad(i,t,a);e.encrypted&&e.isSupported()?(null===a.sessionKeys&&(a.sessionKeys=[]),a.sessionKeys.push(e)):t2.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${i}"`);break}case"DEFINE":{let e=new rF(i,a);rO(a,e,t)}break;case"CONTENT-STEERING":{let e=new rF(i,a);a.contentSteering={uri:ao.resolve(e["SERVER-URI"],t),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":a.startTimeOffset=au(i)}}let n=s.length>0&&s.length<a.levels.length;return a.levels=n?s:a.levels,0===a.levels.length&&(a.playlistParsingError=Error("no levels found in manifest")),a}static parseMasterPlaylistMedia(e,t,i){let r,a={},s=i.levels,n={AUDIO:s.map(e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:s.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]},o=0;for(ar.lastIndex=0;null!==(r=ar.exec(e));){let e=new rF(r[1],i),s=e.TYPE;if(s){let i=n[s],r=a[s]||[];a[s]=r;let l=e.LANGUAGE,d=e["ASSOC-LANGUAGE"],u=e.CHANNELS,h=e.CHARACTERISTICS,c=e["INSTREAM-ID"],m={attrs:e,bitrate:0,id:o++,groupId:e["GROUP-ID"]||"",name:e.NAME||l||"",type:s,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:l,url:e.URI?ao.resolve(e.URI,t):""};if(d&&(m.assocLang=d),u&&(m.channels=u),h&&(m.characteristics=h),c&&(m.instreamId=c),null!=i&&i.length){let e=ao.findGroup(i,m.groupId)||i[0];ac(m,e,"audioCodec"),ac(m,e,"textCodec")}r.push(m)}}return a}static parseLevelPlaylist(e,t,i,r,a,s){var n;let o,l,d,u,h={url:t},c=new r$(t),m=c.fragments,f=[],p=null,g=0,E=0,y=0,b=0,T=0,A=null,_=new io(r,h),S=-1,k=!1,L=null;if(as.lastIndex=0,c.m3u8=e,c.hasVariableRefs=rM.test(e),(null==(n=as.exec(e))?void 0:n[0])!=="#EXTM3U")return c.playlistParsingError=Error("Missing format identifier #EXTM3U"),c;for(;null!==(o=as.exec(e));){k&&(k=!1,(_=new io(r,h)).playlistOffset=y,_.setStart(y),_.sn=g,_.cc=b,T&&(_.bitrate=T),_.level=i,p&&(_.initSegment=p,p.rawProgramDateTime&&(_.rawProgramDateTime=p.rawProgramDateTime,p.rawProgramDateTime=null),L&&(_.setByteRange(L),L=null)));
1let e=o[1];if(e){_.duration=parseFloat(e);let t=(" "+o[2]).slice(1);_.title=t||null,_.tagList.push(t?["INF",e,t]:["INF",e])}else if(o[3]){if(tM(_.duration)){_.playlistOffset=y,_.setStart(y),d&&ap(_,d,c),_.sn=g,_.level=i,_.cc=b,m.push(_);let e=(" "+o[3]).slice(1);_.relurl=rP(c,e),am(_,A,f),A=_,y+=_.duration,g++,E=0,k=!0}}else{if(!(o=o[0].match(an))){t2.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<o.length&&void 0===o[l];l++);let e=(" "+o[l]).slice(1),a=(" "+o[l+1]).slice(1),n=o[l+2]?(" "+o[l+2]).slice(1):null;switch(e){case"BYTERANGE":A?_.setByteRange(a,A):_.setByteRange(a);break;case"PROGRAM-DATE-TIME":_.rawProgramDateTime=a,_.tagList.push(["PROGRAM-DATE-TIME",a]),-1===S&&(S=m.length);break;case"PLAYLIST-TYPE":c.type&&ag(c,e,o),c.type=a.toUpperCase();break;case"MEDIA-SEQUENCE":0!==c.startSN?ag(c,e,o):m.length>0&&av(c,e,o),g=c.startSN=parseInt(a);break;case"SKIP":{c.skippedSegments&&ag(c,e,o);let t=new rF(a,c),i=t.decimalInteger("SKIPPED-SEGMENTS");if(tM(i)){c.skippedSegments+=i;for(let e=i;e--;)m.push(null);g+=i}let r=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");r&&(c.recentlyRemovedDateranges=(c.recentlyRemovedDateranges||[]).concat(r.split("	")));break}case"TARGETDURATION":0!==c.targetduration&&ag(c,e,o),c.targetduration=Math.max(parseInt(a),1);break;case"VERSION":null!==c.version&&ag(c,e,o),c.version=parseInt(a);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":c.live||ag(c,e,o),c.live=!1;break;case"#":(a||n)&&_.tagList.push(n?[a,n]:[a]);break;case"DISCONTINUITY":b++,_.tagList.push(["DIS"]);break;case"GAP":_.gap=!0,_.tagList.push([e]);break;case"BITRATE":_.tagList.push([e,a]),tM(T=1e3*parseInt(a))?_.bitrate=T:T=0;break;case"DATERANGE":{let e=new rF(a,c),t=new rB(e,c.dateRanges[e.ID],c.dateRangeTagCount);c.dateRangeTagCount++,t.isValid||c.skippedSegments?c.dateRanges[t.id]=t:t2.warn(`Ignoring invalid DATERANGE tag: "${a}"`),_.tagList.push(["EXT-X-DATERANGE",a]);break}case"DEFINE":{let e=new rF(a,c);"IMPORT"in e?function(e,t,i){let r=t.IMPORT;if(i&&r in i){let t=e.variableList;t||(e.variableList=t={}),t[r]=i[r]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}(c,e,s):rO(c,e,t)}break;case"DISCONTINUITY-SEQUENCE":0!==c.startCC?ag(c,e,o):m.length>0&&av(c,e,o),c.startCC=b=parseInt(a);break;case"KEY":{let e=ad(a,t,c);if(e.isSupported()){if("NONE"===e.method){d=void 0;break}d||(d={});let t=d[e.keyFormat];null!=t&&t.matches(e)||(t&&(d=tY({},d)),d[e.keyFormat]=e)}else t2.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${a}"`);break}case"START":c.startTimeOffset=au(a);break;case"MAP":{let e=new rF(a,c);if(_.duration){let t=new io(r,h);af(t,e,i,d),p=t,_.initSegment=p,p.rawProgramDateTime&&!_.rawProgramDateTime&&(_.rawProgramDateTime=p.rawProgramDateTime)}else{let t=_.byteRangeEndOffset;if(t){let e=_.byteRangeStartOffset;L=`${t-e}@${e}`}else L=null;af(_,e,i,d),p=_,k=!0}p.cc=b;break}case"SERVER-CONTROL":u&&ag(c,e,o),c.canBlockReload=(u=new rF(a)).bool("CAN-BLOCK-RELOAD"),c.canSkipUntil=u.optionalFloat("CAN-SKIP-UNTIL",0),c.canSkipDateRanges=c.canSkipUntil>0&&u.bool("CAN-SKIP-DATERANGES"),c.partHoldBack=u.optionalFloat("PART-HOLD-BACK",0),c.holdBack=u.optionalFloat("HOLD-BACK",0);break;case"PART-INF":c.partTarget&&ag(c,e,o),c.partTarget=new rF(a).decimalFloatingPoint("PART-TARGET");break;case"PART":{let e=c.partList;e||(e=c.partList=[]);let t=E>0?e[e.length-1]:void 0,i=E++,r=new il(new rF(a,c),_,h,i,t);e.push(r),_.duration+=r.duration;break}case"PRELOAD-HINT":{let e=new rF(a,c);c.preloadHint=e;break}case"RENDITION-REPORT":{let e=new rF(a,c);c.renditionReports=c.renditionReports||[],c.renditionReports.push(e);break}default:t2.warn(`line parsed but not handled: ${o}`)}}}A&&!A.relurl?(m.pop(),y-=A.duration,c.partList&&(c.fragmentHint=A)):c.partList&&(am(_,A,f),_.cc=b,c.fragmentHint=_,d&&ap(_,d,c)),c.targetduration||(c.playlistParsingError=Error("Missing Target Duration"));let R=m.length,I=m[0],w=m[R-1];if((y+=c.skippedSegments*c.targetduration)>0&&R&&w){c.averagetargetduration=y/R;let e=w.sn;c.endSN="initSegment"!==e?e:0,c.live||(w.endList=!0),S>0&&(function(e,t){let i=e[t];for(let r=t;r--;){let t=e[r];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(m,S),I&&f.unshift(I))}return c.fragmentHint&&(y+=c.fragmentHint.duration),c.totalduration=y,f.length&&c.dateRangeTagCount&&I&&al(f,c),c.endCC=b,c}}function al(e,t){let i=e.length;if(!i)if(!t.hasProgramDateTime)return;else{let r=t.fragments[t.fragments.length-1];e.push(r),i++}let r=e[i-1],a=t.live?1/0:t.totalduration,s=Object.keys(t.dateRanges);for(let o=s.length;o--;){let l=t.dateRanges[s[o]],d=l.startDate.getTime();l.tagAnchor=r.ref;for(let r=i;r--;){var n;if((null==(n=e[r])?void 0:n.sn)<t.startSN)break;let i=function(e,t,i,r,a){let s=i[r];if(s){let o=s.programDateTime;if(t>=o||0===r){var n;if(t<=o+1e3*(((null==(n=i[r+1])?void 0:n.start)||a)-s.start)){let a=i[r].sn-e.startSN;if(a<0)return -1;let s=e.fragments;if(s.length>i.length){let n=(i[r+1]||s[s.length-1]).sn-e.startSN;for(let e=n;e>a;e--){let i=s[e].programDateTime;if(t>=i&&t<i+1e3*s[e].duration)return e}}return a}}}return -1}(t,d,e,r,a);if(-1!==i){l.tagAnchor=t.fragments[i].ref;break}}}}function ad(e,t,i){var r,a;let s=new rF(e,i),n=null!=(r=s.METHOD)?r:"",o=s.URI,l=s.hexadecimalInteger("IV"),d=s.KEYFORMATVERSIONS,u=null!=(a=s.KEYFORMAT)?a:"identity";return o&&s.IV&&!l&&t2.error(`Invalid IV: ${s.IV}`),new ae(n,o?ao.resolve(o,t):"",u,(d||"1").split("/").map(Number).filter(Number.isFinite),l,s.KEYID)}function au(e){let t=new rF(e).decimalFloatingPoint("TIME-OFFSET");return tM(t)?t:null}function ah(e,t){let i=(e||"").split(/[ ,]+/).filter(e=>e);
1["video","audio","text"].forEach(e=>{let r=i.filter(t=>iD(t,e));r.length&&(t[`${e}Codec`]=r.map(e=>e.split("/")[0]).join(","),i=i.filter(e=>-1===r.indexOf(e)))}),t.unknownCodecs=i}function ac(e,t,i){let r=t[i];r&&(e[i]=r)}function am(e,t,i){e.rawProgramDateTime?i.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function af(e,t,i,r){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",r&&(e.levelkeys=r),e.initSegment=null}function ap(e,t,i){e.levelkeys=t;let{encryptedFragments:r}=i;(!r.length||r[r.length-1].levelkeys!==t)&&Object.keys(t).some(e=>t[e].isCommonEncryption)&&r.push(e)}function ag(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must not appear more than once (${i[0]})`)}function av(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`)}function aE(e,t){let i=t.startPTS;if(tM(i)){let r,a=0;t.sn>e.sn?(a=i-e.start,r=e):(a=e.start-i,r=t),r.duration!==a&&r.setDuration(a)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0))}function ay(e,t,i,r,a,s,n){let o;r-i<=0&&(n.warn("Fragment should have a positive duration",t),r=i+t.duration,s=a+t.duration);let l=i,d=r,u=t.startPTS,h=t.endPTS;if(tM(u)){let o=Math.abs(u-i);e&&o>e.totalduration?n.warn(`media timestamps and playlist times differ by ${o}s for level ${t.level} ${e.url}`):tM(t.deltaPTS)?t.deltaPTS=Math.max(o,t.deltaPTS):t.deltaPTS=o,l=Math.max(i,u),i=Math.min(i,u),a=void 0!==t.startDTS?Math.min(a,t.startDTS):a,d=Math.min(r,h),r=Math.max(r,h),s=void 0!==t.endDTS?Math.max(s,t.endDTS):s}let c=i-t.start;0!==t.start&&t.setStart(i),t.setDuration(r-t.start),t.startPTS=i,t.maxStartPTS=l,t.startDTS=a,t.endPTS=r,t.minEndPTS=d,t.endDTS=s;let m=t.sn;if(!e||m<e.startSN||m>e.endSN)return 0;let f=m-e.startSN,p=e.fragments;for(p[f]=t,o=f;o>0;o--)aE(p[o],p[o-1]);for(o=f;o<p.length-1;o++)aE(p[o],p[o+1]);return e.fragmentHint&&aE(p[p.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,c}function ab(e,t,i,r,a){return Error(`${e} ${a.url}
2Playlist starting @${t.startSN}
3${t.m3u8}
4
5Playlist starting @${i.startSN}
6${i.m3u8}`)}function aT(e,t,i=!0){let r=t.startSN+t.skippedSegments-e.startSN,a=e.fragments,s=r>=0,n=0;if(s&&r<a.length)n=a[r].start;else if(s&&t.startSN===e.endSN+1)n=e.fragmentEnd;else if(s&&i)n=e.fragmentStart+r*t.levelTargetDuration;else{if(t.skippedSegments||0!==t.fragmentStart)return;n=e.fragmentStart}aA(t,n)}function aA(e,t){if(t){let i=e.fragments;for(let r=e.skippedSegments;r<i.length;r++)i[r].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t)}}function a_(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){let r=e.fragments;if(r.length&&4*i>t){let e=1e3*r[r.length-1].duration;e<i&&(i=e)}}else i/=2;return Math.round(i)}function aS(e,t,i){if(!e)return null;let r=e.fragments[t-e.startSN];return r||(r=e.fragmentHint)&&r.sn===t?r:t<e.startSN&&i&&i.sn===t?i:null}function ak(e,t,i){return e?aL(e.partList,t,i):null}function aL(e,t,i){if(e)for(let r=e.length;r--;){let a=e[r];if(a.index===i&&a.fragment.sn===t)return a}return null}function aR(e){e.forEach((e,t)=>{var i;null==(i=e.details)||i.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function aI(e){return e.replace(/\?[^?]*$/,"")}function aw(e,t){for(let r=0,a=e.length;r<a;r++){var i;if((null==(i=e[r])?void 0:i.cc)===t)return e[r]}return null}function aC(e,t){let i=e.start+t;e.startPTS=i,e.setStart(i),e.endPTS=i+e.duration}function aD(e,t){let i=t.fragments;for(let t=0,r=i.length;t<r;t++)aC(i[t],e);t.fragmentHint&&aC(t.fragmentHint,e),t.alignedSliding=!0}function ax(e,t){if((!t||!(e.startCC<t.endCC)||!(e.endCC>t.startCC))&&1)return;let i=Math.min(t.endCC,e.endCC),r=aw(t.fragments,i),a=aw(e.fragments,i);r&&a&&(t2.log(`Aligning playlist at start of dicontinuity sequence ${i}`),aD(r.start-a.start,e))}function aM(e,t){let i,r;if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let a=e.fragments,s=t.fragments;if(!a.length||!s.length)return;let n=Math.min(t.endCC,e.endCC);t.startCC<n&&e.startCC<n&&(i=aw(s,n),r=aw(a,n)),i&&r||(r=aw(a,(i=s[Math.floor(s.length/2)]).cc)||a[Math.floor(a.length/2)]);let o=i.programDateTime,l=r.programDateTime;o&&l&&aD((l-o)/1e3-(r.start-i.start),e)}function aP(e,t,i){aO(e,t,i),e.addEventListener(t,i)}function aO(e,t,i){e.removeEventListener(t,i)}let aN=function(e){let t="",i=e.length;for(let r=0;r<i;r++)t+=`[${e.start(r).toFixed(3)}-${e.end(r).toFixed(3)}]`;return t},aU="STOPPED",aF="IDLE",aB="KEY_LOADING",a$="FRAG_LOADING",aH="FRAG_LOADING_WAITING_RETRY",aG="WAITING_TRACK",aV="PARSING",aK="PARSED",aW="ENDED",aq="ERROR",aj="WAITING_INIT_PTS",aY="WAITING_LEVEL";class az extends rI{constructor(e,t,i,r,a){super(r,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=aU,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:e,fragCurrent:t,media:i,mediaBuffer:r,state:a}=this,s=i?i.currentTime:0,n=rx.bufferInfo(r||i,s,e.maxBufferHole),o=!n.len;if(this.log(`Media seeking to ${tM(s)?s.toFixed(3):s}, state: ${a}, ${o?"out of":"in"} buffer`),this.state===aW)this.resetLoadingState();else if(t){let i=e.maxFragLookUpTolerance,r=t.start-i,a=t.start+t.duration+i;if(o||a<n.start||r>n.end){let e=s>a;(s<r||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(i&&(this.fragmentTracker.removeFragmentsInRange(s,1/0,this.playlistType,!0),s>this.lastCurrentTime&&(this.lastCurrentTime=s),!this.loadingParts)){let e=Math.max(n.end,s),t=this.shouldLoadParts(this.getLevelDetails(),e);t&&(this.log(`LL-Part loading ON after seeking to ${s.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=t)}!this.hls.hasEnoughToStart&&(this.log(`Setting ${o?"startPosition":"nextLoadPosition"} to ${s} for seek without enough to start`),this.nextLoadPosition=s,o&&(this.startPosition=s)),o&&this.state===aF&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=a,this.hls=e,this.fragmentLoader=new rS(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new r_(e.config)}registerListeners(){let{hls:e}=this;
6e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===aU)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=aU}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return -1===t&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;let i=e.end||0,r=this.config.timelineOffset||0;if(i<=r)return!1;let a=e.buffered;this.config.maxBufferHole&&a&&a.length>1&&(e=rx.bufferedInfo(a,e.start,0));let s=e.nextStart;if(s&&s>r&&s<t.edge||this.media.currentTime<e.start)return!1;let n=t.partList;if(null!=n&&n.length){let e=n[n.length-1];return rx.isBuffered(this.media,e.start+e.duration/2)}let o=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)}getLevelDetails(){if(this.levels&&null!==this.levelLastLoaded)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var t;return(null==(t=this.getLevelDetails())?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;aP(i,"seeking",this.onMediaSeeking),aP(i,"ended",this.onMediaEnded);let r=this.config;this.levels&&r.autoStartLoad&&this.state===aU&&this.startLoad(r.startPosition)}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(null!==r){if(r.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),aO(r,"seeking",this.onMediaSeeking),aO(r,"ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=aU,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this.startFragRequested=!0,this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let r=e=>{let t=e.frag;if(this.fragContextChanged(t)){this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++,this._handleFragmentLoadProgress(e)};this._doFragLoad(e,t,i,r).then(e=>{if(!e)return;let t=this.state,i=e.frag;if(this.fragContextChanged(i)){t!==a$&&(this.fragCurrent||t!==aV)||(this.fragmentTracker.removeFragment(i),this.state=aF);return}"payload"in e&&(this.log(`Loaded ${i.type} sn: ${i.sn} of ${this.playlistLabel()} ${i.level}`),this.hls.trigger(tF.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)}).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===rf){let t=e.type,r=this.getFwdBufferInfo(this.mediaBuffer,t),a=Math.max(e.duration,r?r.len:this.config.maxBufferLength),s=this.backtrackFragment;(1==(s?e.sn-s.sn:0)||this.reduceMaxBufferLength(a,e.duration))&&i.removeFragment(e)}else(null==(t=this.mediaBuffer)?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===rp&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){let t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){e-t&&this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:e,endOffset:t,type:i})}_loadInitSegment(e,t){this._doFragLoad(e,t).then(e=>{let t=null==e?void 0:e.frag;if(!t||this.fragContextChanged(t)||!this.levels)throw Error("init load aborted");return e}).then(e=>{let{hls:t}=this,{frag:i,payload:r}=e,a=i.decryptdata;if(r&&r.byteLength>0&&null!=a&&a.key&&a.iv&&rV(a.method)){let s=self.performance.now();
6return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,rK(a.method)).catch(e=>{throw t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:i}),e}).then(r=>{let a=self.performance.now();return t.trigger(tF.FRAG_DECRYPTED,{frag:i,payload:r,stats:{tstart:s,tdecrypt:a}}),e.payload=r,this.completeInitSegmentLoad(e)})}return this.completeInitSegmentLoad(e)}).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(t),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw Error("init load aborted, missing levels");let i=e.frag.stats;this.state!==aU&&(this.state=aF),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var i,r;let a=e.tracks;if(a&&!t.encrypted&&(null!=(i=a.audio)&&i.encrypted||null!=(r=a.video)&&r.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let e=this.media,i=Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`);return this.warn(i.message),!!e&&!e.mediaKeys&&(this.hls.trigger(tF.ERROR,{type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_KEYS,fatal:!1,error:i,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){let i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?aN(rx.getBuffered(i)):"(detached)"})`),is(e)){var r;if(e.type!==tW){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e])){this.state=aF;return}}let t=null==(r=this.levels)?void 0:r[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=aF}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:r,partsLoaded:a}=e,s=!a||0===a.length||a.some(e=>!e),n=new rw(i.level,i.sn,i.stats.chunkCount+1,0,r?r.index:-1,!s);t.flush(n)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,r){var a,s;let n;this.fragCurrent=e;let o=t.details;if(!this.levels||!o)throw Error(`frag load aborted, missing level${o?"":" detail"}s`);let l=null;if(e.encrypted&&!(null!=(a=e.decryptdata)&&a.key)){if(this.log(`Loading key for ${e.sn} of [${o.startSN}-${o.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=aB,this.fragCurrent=e,l=this.keyLoader.load(e).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(tF.KEY_LOADED,e),this.state===aB&&(this.state=aF),e}),this.hls.trigger(tF.KEY_LOADING,{frag:e}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else!e.encrypted&&(l=this.keyLoader.loadClear(e,o.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");let d=this.fragPrevious;if(is(e)&&(!d||e.sn!==d.sn)){let i=this.shouldLoadParts(t.details,e.end);i!==this.loadingParts&&(this.log(`LL-Part loading ${i?"ON":"OFF"} loading sn ${null==d?void 0:d.sn}->${e.sn}`),this.loadingParts=i)}if(i=Math.max(e.start,i||0),this.loadingParts&&is(e)){let a=o.partList;if(a&&r){i>o.fragmentEnd&&o.fragmentHint&&(e=o.fragmentHint);let s=this.getNextPart(a,e,i);if(s>-1){let n,d=a[s];return(e=this.fragCurrent=d.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${d.index} (${s}/${a.length-1}) of ${this.fragInfo(e,!1,d)}) cc: ${e.cc} [${o.startSN}-${o.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=d.start+d.duration,this.state=a$,n=l?l.then(i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,d,t,r)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(e,d,t,r).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tF.FRAG_LOADING,{frag:e,part:d,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts")):n}if(!e.url||this.loadedEndOfParts(a,i))return Promise.resolve(null)}}if(is(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${null==(s=o.partList)?void 0:s.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+o.startSN+"-"+o.endSN+"]"}, target: ${parseFloat(i.toFixed(3))}`),tM(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=a$;let u=this.config.progressive&&e.type!==tW;return(n=u&&l?l.then(t=>!t||this.fragContextChanged(t.frag)?null:this.fragmentLoader.load(e,r)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(e,u?r:void 0),l]).then(([e])=>(!u&&r&&r(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tF.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING")):n}doFragPartsLoad(e,t,i,r){return new Promise((a,s)=>{var n;let o=[],l=null==(n=i.details)?void 0:n.partList,d=t=>{this.fragmentLoader.loadPart(e,t,r).then(r=>{o[t.index]=r;let s=r.part;this.hls.trigger(tF.FRAG_LOADED,r);let n=ak(i.details,e.sn,t.index+1)||aL(l,e.sn,t.index+1);if(!n)return a({frag:e,part:s,partsLoaded:o});d(n)}).catch(s)};d(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;t.frag&&t.details===tU.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===tN.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(tF.ERROR,t)}else this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==aV){this.fragCurrent||this.state===aU||this.state===aq||(this.state=aF);return}let{frag:i,part:r,level:a}=t,s=self.performance.now();i.stats.parsing.end=s,r&&(r.stats.parsing.end=s);let n=this.getLevelDetails(),o=n&&i.sn>n.endSN||this.shouldLoadParts(n,i.end);o!==this.loadingParts&&(this.log(`LL-Part loading ${o?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=o),this.updateLevelTiming(i,r,a,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i,r;let a=e.partList[0];if(a.fragment.type===tW)return!1;if(t>=a.end+((null==(i=e.fragmentHint)?void 0:i.duration)||0)&&(this.hls.hasEnoughToStart?(null==(r=this.media)?void 0:r.currentTime)||this.lastCurrentTime:this.getLoadPosition())>a.start-a.fragment.duration)return!0}}return!1}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:r,sn:a,part:s}=e;if(!(null!=t&&t[r]))return this.warn(`Levels object was unset while buffering fragment ${a} of ${this.playlistLabel()} ${r}. The current chunk will not be buffered.`),null;let n=t[r],o=n.details,l=s>-1?ak(o,a,s):null,d=l?l.fragment:aS(o,a,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:n}):null}bufferFragmentData(e,t,i,r,a){if(this.state!==aV)return;let{data1:s,data2:n}=e,o=s;if(n&&(o=ik(s,n)),!o.length)return;let l=this.initPTS[t.cc],d=l?-l.baseTime/l.timescale:void 0,u={type:e.type,frag:t,part:i,chunkMeta:r,offset:d,parent:t.type,data:o};if(this.hls.trigger(tF.BUFFER_APPENDING,u),e.dropped&&e.independent&&!i){if(a)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!rx.isBuffered(t,t.currentTime))return void this.flushMainBuffer(0,e.start);let i=t.currentTime,r=rx.bufferInfo(t,i,0),a=e.duration,s=Math.min(2*this.config.maxFragLookUpTolerance,.25*a),n=Math.max(Math.min(e.start-s,r.end-s),i+s);e.start-n>s&&this.flushMainBuffer(n,e.start)}getFwdBufferInfo(e,t){var i;let r=this.getLoadPosition();if(!tM(r))return null;let a=this.lastCurrentTime>r||null!=(i=this.media)&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,r,t,a)}getFwdBufferInfoAtPos(e,t,i,r){let a=rx.bufferInfo(e,t,r);if(0===a.len&&void 0!==a.nextStart){let s=this.fragmentTracker.getBufferedFrag(t,i);if(s&&(a.nextStart<=s.end||s.gap)){let i=Math.max(Math.min(a.nextStart,s.end)-t,r);return rx.bufferInfo(e,t,i)}}return a}
6getMaxBufferLength(e){let{config:t}=this;return Math.min(e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){let i=this.config,r=Math.max(Math.min(e-t,i.maxBufferLength),t),a=Math.max(e-3*t,i.maxMaxBufferLength/2,r);return a>=r&&(i.maxMaxBufferLength=a,this.warn(`Reduce max buffer length to ${a}s`),!0)}getAppendedFrag(e,t=tV){let i=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,r=i.length;if(!r)return null;let{config:a}=this,s=i[0].start,n=a.lowLatencyMode&&!!t.partList,o=null;if(t.live){let i=a.initialLiveManifestSize;if(r<i)return this.warn(`Not enough fragments to start playback (have: ${r}, need: ${i})`),null;if(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<s){var l;n&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),o=this.getInitialLiveFragment(t);let i=this.hls.startPosition,r=this.hls.liveSyncPosition,a=o?(-1!==i&&i>=s?i:r)||o.start:e;this.log(`Setting startPosition to ${a} to match start frag at live edge. mainStart: ${i} liveSyncPosition: ${r} frag.start: ${null==(l=o)?void 0:l.start}`),this.startPosition=this.nextLoadPosition=a}}else e<=s&&(o=i[0]);if(!o){let i=this.loadingParts?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,i,t)}let d=this.filterReplacedPrimary(o,t);if(!d&&o){let e=o.sn-t.startSN;d=this.filterReplacedPrimary(i[e+1]||null,t)}return this.mapToInitFragWhenRequired(d)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return("OK"===i||i===rp&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,r,a){let s=null;if(e.gap&&(s=this.getNextFragment(this.nextLoadPosition,t))&&!s.gap&&i.nextStart){let e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,r,0);if(null!==e&&i.len+e.len>=a){let e=s.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${r}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,s}get primaryPrefetch(){if(aQ(this.config)){var e;if(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(aQ(this.config)&&e.type!==tW){let i=this.hls.interstitialsManager,r=null==i?void 0:i.bufferingItem;if(r){let i=r.event;if(i){if(i.appendInPlace||Math.abs(e.start-r.start)>1||0===r.start)return null}else if(e.end<=r.start&&(null==t?void 0:t.live)===!1||e.start>r.end&&r.nextEvent&&(r.nextEvent.appendInPlace||e.start-r.end>1))return null}let a=null==i?void 0:i.playerQueue;if(a)for(let t=a.length;t--;){let i=a[t].interstitial;if(i.appendInPlace&&e.start>=i.startTime&&e.end<=i.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let r=-1,a=!1,s=!0;for(let n=0,o=e.length;n<o;n++){let o=e[n];if(s=s&&!o.independent,r>-1&&i<o.start)break;let l=o.loaded;l?r=-1:(a||(o.independent||s)&&o.fragment===t)&&(o.fragment!==t&&this.warn(`Need buffer at ${i} but next unloaded part starts at ${o.start}`),r=n),a=l}return r}loadedEndOfParts(e,t){let i;for(let r=e.length;r--&&(i=e[r]).loaded;)if(t>i.start)return!0;return!1}getInitialLiveFragment(e){let t=e.fragments,i=this.fragPrevious,r=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),r=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!tM(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let r=0;r<e.length;++r){let a=e[r];if(function(e,t,i){let r=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-r>e}(t,i,a))return a}return null}(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!r){let a=i.sn+1;if(a>=e.startSN&&a<=e.endSN){let s=t[a-e.startSN];i.cc===s.cc&&(r=s,this.log(`Live playlist, switching playlist, load frag with next SN: ${r.sn}`))}!r&&(r=rr(e,i.cc,i.end))&&this.log(`Live playlist, switching playlist, load frag with same CC: ${r.sn}`)}}else{let t=this.hls.liveSyncPosition;null!==t&&(r=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return r}getFragmentAtPosition(e,t,i){let r,{config:a}=this,{fragPrevious:s}=this,{fragments:n,endSN:o}=i,{fragmentHint:l}=i,{maxFragLookUpTolerance:d}=a,u=i.partList,h=!!(this.loadingParts&&null!=u&&u.length&&l);if(h&&!this.bitrateTest&&u[u.length-1].fragment.sn===l.sn&&(n=n.concat(l),o=l.sn),e<t){var c;let i=e<this.lastCurrentTime||e>t-d||null!=(c=this.media)&&c.paused||!this.startFragRequested?0:d;r=rt(s,n,e,i)}else r=n[n.length-1];if(r){let e=r.sn-i.startSN,t=this.fragmentTracker.getState(r);
6if(("OK"===t||t===rp&&r.gap)&&(s=r),s&&r.sn===s.sn&&(!h||u[0].fragment.sn>r.sn||!i.live)&&r.level===s.level){let t=n[e+1];r=r.sn<o&&"OK"!==this.fragmentTracker.getState(t)?t:null}}return r}alignPlaylists(e,t,i){let r=e.fragments.length;if(!r)return this.warn("No fragments in live playlist"),0;let a=e.fragmentStart,s=!t,n=e.alignedSliding&&tM(a);if(s||!n&&!a){i&&(ax(e,i),e.alignedSliding||aM(e,i),e.alignedSliding||e.skippedSegments||aT(i,e,!1));let a=e.fragmentStart;return this.log(`Live playlist sliding: ${a.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${r}`),a}return a}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);let r=this.timelineOffset;if(-1===i){let a=null!==this.startTimeOffset,s=a?this.startTimeOffset:e.startTimeOffset;null!==s&&tM(s)?(i=t+s,s<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${s} found in ${a?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+r}this.nextLoadPosition=i+r}getLoadPosition(){var e;let{media:t}=this,i=0;return null!=(e=this.hls)&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&is(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===aH)||(this.state=aF)}onFragmentOrKeyLoadError(e,t){var i,r,a;if(t.chunkMeta&&!t.frag){let e=this.getCurrentContext(t.chunkMeta);e&&(t.frag=e.frag)}let s=t.frag;if(!s||s.type!==e||!this.levels)return;if(this.fragContextChanged(s))return void this.warn(`Frag load error must match current frag to retry ${s.url} > ${null==(r=this.fragCurrent)?void 0:r.url}`);let n=t.details===tU.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(s,!0);let o=t.errorAction;if(!o){this.state=aq;return}let{action:l,flags:d,retryCount:u=0,retryConfig:h}=o,c=!!h,m=c&&5===l,f=c&&!o.resolved&&1===d,p=null==(i=this.hls.latestLevelDetails)?void 0:i.live;if(!m&&f&&is(s)&&!s.endList&&p&&!rn(t))this.resetFragmentErrors(e),this.treatAsGap(s),o.resolved=!0;else if((m||f)&&u<h.maxNumRetry){let i=rh(null==(a=t.response)?void 0:a.code),r=rl(h,u);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+r,this.state=aH,o.resolved=!0,i){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${t.details}, retrying loading ${u+1}/${h.maxNumRetry} in ${r}ms`)}else if(h){if(this.resetFragmentErrors(e),!(u<h.maxNumRetry))return void this.warn(`${t.details} reached or exceeded max retry (${u})`);n||3===l||(o.resolved=!0)}else 2===l?this.state=aY:this.state=aq;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,i=t===1/0;(!t||e>=t||i&&!rh(0))&&(i&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=aF)}reduceLengthAndFlushBuffer(e){if(this.state===aV||this.state===aK){let t=e.frag,i=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,i),a=r&&r.len>.5;a&&this.reduceMaxBufferLength(r.len,(null==t?void 0:t.duration)||10);let s=!a;return s&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),s}return!1}resetFragmentErrors(e){e===tK&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==aU&&(this.state=aF)}afterBufferFlushed(e,t,i){if(!e)return;let r=rx.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,r,i),this.state===aW&&this.resetLoadingState()}
6resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==aU&&(this.state=aF)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;null!=t&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${-1===e.level?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,r){let a=i.details;if(!a)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce((t,s)=>{let n=e.elementaryStreams[s];if(n){let o=n.endPTS-n.startPTS;if(o<=0)return this.warn(`Could not parse fragment ${e.sn} ${s} duration reliably (${o})`),t||!1;let l=r?0:ay(a,e,n.startPTS,n.endPTS,n.startDTS,n.endDTS,this);return this.hls.trigger(tF.LEVEL_PTS_UPDATED,{details:a,level:i,drift:l,type:s,frag:e,start:n.startPTS,end:n.endPTS}),!0}return t},!1)){var s;let t=(null==(s=this.transmuxer)?void 0:s.error)===null;if((0===i.fragmentError||t&&(i.fragmentError<2||e.endList))&&this.treatAsGap(e,i),t){let t=Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=aK,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(tF.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===tV?"level":"track"}fragInfo(e,t=!0,i){var r,a;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${(null!=(r=t&&!i?e.startPTS:(i||e).start)?r:NaN).toFixed(3)}-${(null!=(a=t&&!i?e.endPTS:(i||e).end)?a:NaN).toFixed(3)}]${i&&"main"===e.type?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null==(e=this.transmuxer)||e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function aQ(e){return!!e.interstitialsController&&!1!==e.enableInterstitialPlayback}class aX{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let e,{chunks:t,dataLength:i}=this;return t.length?(e=1===t.length?t[0]:function(e,t){let i=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++){let a=e[t];i.set(a,r),r+=a.length}return i}(t,i),this.reset(),e):new Uint8Array(0)}reset(){this.chunks.length=0,this.dataLength=0}}var aZ={exports:{}},aJ=(dr||(dr=1,!function(e){var t=Object.prototype.hasOwnProperty,i="~";function r(){}function a(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,r,s,n){if("function"!=typeof r)throw TypeError("The listener must be a function");var o=new a(r,s||e,n),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function n(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(i=!1)),o.prototype.eventNames=function(){var e,r,a=[];if(0===this._eventsCount)return a;for(r in e=this._events)t.call(e,r)&&a.push(i?r.slice(1):r);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(e)):a},o.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var a=0,s=r.length,n=Array(s);a<s;a++)n[a]=r[a].fn;return n},o.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,a,s,n){var o=i?i+e:e;if(!this._events[o])return!1;var l,d,u=this._events[o],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,a),!0;case 5:return u.fn.call(u.context,t,r,a,s),!0;case 6:return u.fn.call(u.context,t,r,a,s,n),!0}for(d=1,l=Array(h-1);d<h;d++)l[d-1]=arguments[d];u.fn.apply(u.context,l)}else{var c,m=u.length;for(d=0;d<m;d++)switch(u[d].once&&this.removeListener(e,u[d].fn,void 0,!0),h){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,t);break;case 3:u[d].fn.call(u[d].context,t,r);break;case 4:u[d].fn.call(u[d].context,t,r,a);break;default:if(!l)for(c=1,l=Array(h-1);c<h;c++)l[c-1]=arguments[c];u[d].fn.apply(u[d].context,l)}}return!0},o.prototype.on=function(e,t,i){return s(this,e,t,i,!1)},o.prototype.once=function(e,t,i){return s(this,e,t,i,!0)},o.prototype.removeListener=function(e,t,r,a){var s=i?i+e:e;if(!this._events[s])return this;if(!t)return n(this,s),this;var o=this._events[s];if(o.fn)o.fn!==t||a&&!o.once||r&&o.context!==r||n(this,s);else{for(var l=0,d=[],u=o.length;l<u;l++)(o[l].fn!==t||a&&!o[l].once||r&&o[l].context!==r)&&d.push(o[l]);d.length?this._events[s]=1===d.length?d[0]:d:n(this,s)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&n(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=i,o.EventEmitter=o,e.exports=o}
6(aZ)),(l7=aZ.exports)&&l7.__esModule&&Object.prototype.hasOwnProperty.call(l7,"default"))?l7.default:l7;let a0="1.6.15",a1={};function a2(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a3(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a4(e,t){return(127&e[t])<<21|(127&e[t+1])<<14|(127&e[t+2])<<7|127&e[t+3]}function a5(e,t){let i=t,r=0;for(;a3(e,t);)r+=10,r+=a4(e,t+6),a2(e,t+10)&&(r+=10),t+=r;if(r>0)return e.subarray(i,i+r)}function a8(e,t){return 255===e[t]&&(246&e[t+1])==240}function a9(e,t){return 1&e[t+1]?7:9}function a6(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function a7(e,t){return t+1<e.length&&a8(e,t)}function se(e,t,i,r,a){if(!e.samplerate){let s=function(e,t,i,r){let a=t[i+2],s=a>>2&15;if(s>12){let t=Error(`invalid ADTS sampling index:${s}`);e.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message});return}let n=(a>>6&3)+1,o=t[i+3]>>6&3|(1&a)<<2,l="mp4a.40."+n,d=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][s],u=s;(5===n||29===n)&&(u-=3);let h=[n<<3|(14&u)>>1,(1&u)<<7|o<<3];return t2.log(`manifest codec:${r}, parsed codec:${l}, channels:${o}, rate:${d} (ADTS object type:${n} sampling index:${s})`),{config:h,samplerate:d,channelCount:o,codec:l,parsedCodec:l,manifestCodec:r}}(t,i,r,a);s&&tY(e,s)}}function st(e,t,i,r,a){let s,n=r+a*(9216e4/e.samplerate),o=function(e,t){let i=a9(e,t);if(t+i<=e.length){let r=a6(e,t)-i;if(r>0)return{headerLength:i,frameLength:r}}}(t,i);if(o){let{frameLength:r,headerLength:a}=o,l=a+r,d=Math.max(0,i+l-t.length);d?(s=new Uint8Array(l-a)).set(t.subarray(i+a,t.length),0):s=t.subarray(i+a,i+l);let u={unit:s,pts:n};return d||e.samples.push(u),{sample:u,length:l,missing:d}}let l=t.length-i;return(s=new Uint8Array(l)).set(t.subarray(i,t.length),0),{sample:{unit:s,pts:n},length:l,missing:-1}}function si(e,t=0,i=1/0){var r,a,s,n,o,l;let d,u,h,c,m,f;return r=e,a=t,s=i,n=Uint8Array,d=(o=r)instanceof ArrayBuffer?o:o.buffer,u=1,"BYTES_PER_ELEMENT"in n&&(u=n.BYTES_PER_ELEMENT),c=((h=(l=r)&&l.buffer instanceof ArrayBuffer&&void 0!==l.byteLength&&void 0!==l.byteOffset?r.byteOffset:0)+r.byteLength)/u,f=Math.floor(Math.min((m=Math.floor(Math.max(0,Math.min((h+a)/u,c))))+Math.max(s,0),c)),new n(d,m,f-m)}function sr(e){let t=0,i=[];for(;a3(e,t);){let r=a4(e,t+6);e[t+5]>>6&1&&(t+=10);let a=(t+=10)+r;for(;t+10<a;){let r=function(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=a4(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}}(e.subarray(t)),a=function(e){if("PRIV"===e.type){if(e.size<2)return;let t=t5(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}}if("W"===e.type[0]){if("WXXX"===e.type){if(e.size<2)return;let t=1,i=t5(e.data.subarray(t),!0);t+=i.length+1;let r=t5(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t5(e.data);return{key:e.type,info:"",data:t}}if("APIC"===e.type)return function(e){let t,i={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if(e.size<2)return;if(3!==e.data[0])return void console.log("Ignore frame with unrecognized character encoding");let r=e.data.subarray(1).indexOf(0);if(-1===r)return;let a=t5(si(e.data,1,r)),s=e.data[2+r],n=e.data.subarray(3+r).indexOf(0);if(-1===n)return;let o=t5(si(e.data,3+r,n));if("-->"===a)t=t5(si(e.data,4+r+n));else{var l;t=(l=e.data.subarray(4+r+n))instanceof ArrayBuffer?l:0==l.byteOffset&&l.byteLength==l.buffer.byteLength?l.buffer:new Uint8Array(l).buffer}return i.mimeType=a,i.pictureType=s,i.description=o,i.data=t,i}(e);if(e.size<2)return;if("TXXX"===e.type){let t=1,i=t5(e.data.subarray(t),!0);t+=i.length+1;let r=t5(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t5(e.data.subarray(1));return{key:e.type,info:"",data:t}}(r);a&&i.push(a),t+=r.size+10}a2(e,t)&&(t+=10)}return i}function sa(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info}function ss(e){let t=sr(e);for(let e=0;e<t.length;e++){let i=t[e];if(sa(i))return function(e){if(8===e.data.byteLength){let t=new Uint8Array(e.data),i=1&t[3],r=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return r/=45,i&&(r+=47721858.84),Math.round(r)}}(i)}}let sn=((de={}).audioId3="org.id3",de.dateRange="com.apple.quicktime.HLS",de.emsg="https://aomedia.org/emsg/ID3",de.misbklv="urn:misb:KLV:bin:1910.1",de);
6function so(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class sl{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,r){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){let i;this.cachedData&&(e=ik(this.cachedData,e),this.cachedData=null);let r=a5(e,0),a=r?r.length:0,s=this._audioTrack,n=this._id3Track,o=r?ss(r):void 0,l=e.length;for((null===this.basePTS||0===this.frameIndex&&tM(o))&&(this.basePTS=sd(o,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),r&&r.length>0&&n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sn.audioId3,duration:1/0});a<l;){if(this.canParse(e,a)){let t=this.appendFrame(s,e,a);t?(this.frameIndex++,this.lastPTS=t.sample.pts,a+=t.length,i=a):a=l}else{var d,u;a3(d=e,u=a)&&a4(d,u+6)+10<=d.length-u?(r=a5(e,a),n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sn.audioId3,duration:1/0}),a+=r.length,i=a):a++}if(a===l&&i!==l){let t=e.slice(i);this.cachedData?this.cachedData=ik(this.cachedData,t):this.cachedData=t}}return{audioTrack:s,videoTrack:so(),id3Track:n,textTrack:so()}}demuxSampleAes(e,t,i){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:so(),id3Track:this._id3Track,textTrack:so()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}let sd=(e,t,i)=>tM(e)?90*e:9e4*t+(i?9e4*i.baseTime/i.timescale:0),su=null,sh=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],sc=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],sm=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],sf=[0,1,1,4];function sp(e,t,i,r,a){if(i+24>t.length)return;let s=sg(t,i);if(s&&i+s.frameLength<=t.length){let n=r+a*(9e4*s.samplesPerFrame/s.sampleRate),o={unit:t.subarray(i,i+s.frameLength),pts:n,dts:n};return e.config=[],e.channelCount=s.channelCount,e.samplerate=s.sampleRate,e.samples.push(o),{sample:o,length:s.frameLength,missing:0}}}function sg(e,t){let i=e[t+1]>>3&3,r=e[t+1]>>1&3,a=e[t+2]>>4&15,s=e[t+2]>>2&3;if(1!==i&&0!==a&&15!==a&&3!==s){let n=e[t+2]>>1&1,o=e[t+3]>>6,l=1e3*sh[14*(3===i?3-r:3===r?3:4)+a-1],d=sc[3*(3===i?0:2===i?1:2)+s],u=sm[i][r],h=sf[r],c=Math.floor(u*l/d+n)*h;if(null===su){let e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);su=e?parseInt(e[1]):0}return su&&su<=87&&2===r&&l>=224e3&&0===o&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:3===o?1:2,frameLength:c,samplesPerFrame:8*u*h}}}function sv(e,t){return 255===e[t]&&(224&e[t+1])==224&&(6&e[t+1])!=0}function sE(e,t){return t+1<e.length&&sv(e,t)}function sy(e,t){if(t+1<e.length&&sv(e,t)){let i=sg(e,t),r=4;null!=i&&i.frameLength&&(r=i.frameLength);let a=t+r;return a===e.length||sE(e,a)}return!1}let sb=(e,t)=>{let i=0,r=5;t+=5;let a=new Uint32Array(1),s=new Uint32Array(1),n=new Uint8Array(1);for(;r>0;){n[0]=e[t];let o=Math.min(r,8),l=8-o;s[0]=0xff000000>>>24+l<<l,a[0]=(n[0]&s[0])>>l,i=i?i<<o|a[0]:a[0],t+=1,r-=o}return i};function sT(e,t,i,r,a){if(i+8>t.length||11!==t[i]||119!==t[i+1])return -1;let s=t[i+4]>>6;if(s>=3)return -1;let n=[48e3,44100,32e3][s],o=63&t[i+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+s];if(i+l>t.length)return -1;let d=t[i+6]>>5,u=0;2===d?u+=2:(1&d&&1!==d&&(u+=2),4&d&&(u+=2));let h=(t[i+6]<<8|t[i+7])>>12-u&1,c=[2,1,2,3,3,4,4,5][d]+h,m=t[i+5]>>3,f=7&t[i+5],p=new Uint8Array([s<<6|m<<1|f>>2,(3&f)<<6|d<<3|h<<2|o>>4,o<<4&224]),g=t.subarray(i,i+l);return e.config=p,e.channelCount=c,e.samplerate=n,e.samples.push({unit:g,pts:r+1536/n*9e4*a}),l}let sA=/\/emsg[-/]ID3/i;function s_(e,t){return tM(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class sS{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new r_(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,0)}decryptAacSample(e,t,i){let r=e[t].unit;if(r.length<=16)return;let a=r.subarray(16,r.length-r.length%16),s=a.buffer.slice(a.byteOffset,a.byteOffset+a.length);this.decryptBuffer(s).then(a=>{let s=new Uint8Array(a);r.set(s,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}).catch(i)}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=new Int8Array(16*Math.floor((e.length-48)/160)+16),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)t.set(e.subarray(r,r+16),i);return t}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),r=0;for(let t=32;t<e.length-16;t+=160,r+=16)e.set(i.subarray(r,r+16),t);return e}decryptAvcSample(e,t,i,r,a){let s=iw(a.data),n=this.getAvcEncryptedData(s);this.decryptBuffer(n.buffer).then(n=>{a.data=this.getAvcDecryptedUnit(s,n),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,r)}).catch(r)}decryptAvcSamples(e,t,i,r){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void r();let a=e[t].units;for(;!(i>=a.length);i++){let s=a[i];
6if(!(s.data.length<=48)&&(1===s.type||5===s.type)&&(this.decryptAvcSample(e,t,i,r,s),!this.decrypter.isSync()))return}}}}class sk{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){var t;let i,r=this.VideoSample;if(r&&0!==r.units.length||(r=e[e.length-1]),null!=(t=r)&&t.units){let e=r.units;i=e[e.length-1]}return i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){let i=t.samples,r=i.length;if(!r)return void t.dropped++;{let t=i[r-1];e.pts=t.pts,e.dts=t.dts}}t.samples.push(e)}}parseNALu(e,t,i){let r,a,s,n=t.byteLength,o=e.naluState||0,l=o,d=[],u=0,h=-1,c=0;for(-1===o&&(h=0,c=this.getNALuType(t,0),o=0,u=1);u<n;){if(r=t[u++],!o){o=+!r;continue}if(1===o){o=2*!r;continue}if(r)if(1===r){if(a=u-o-1,h>=0){let e={data:t.subarray(h,a),type:c};d.push(e)}else{let i=this.getLastNalUnit(e.samples);i&&(l&&u<=4-l&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-l)),a>0&&(i.data=ik(i.data,t.subarray(0,a)),i.state=0))}u<n?(s=this.getNALuType(t,u),h=u,c=s,o=0):o=-1}else o=0;else o=3}if(h>=0&&o>=0){let e={data:t.subarray(h,n),type:c,state:o};d.push(e)}if(0===d.length){let i=this.getLastNalUnit(e.samples);i&&(i.data=ik(i.data,t))}return e.naluState=o,d}}class sL{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,r=new Uint8Array(4),a=Math.min(4,t);if(0===a)throw Error("no bytes available");r.set(e.subarray(i,i+a)),this.word=new DataView(r.buffer).getUint32(0),this.bitsAvailable=8*a,this.bytesAvailable-=a}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e||(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord()),this.word<<=e,this.bitsAvailable-=e}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&t2.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw Error("no bits available");return(t=e-t)>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&0x80000000>>>e)!=0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class sR extends sk{parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d,u,h;switch(r.type){case 1:{let t=!1;a=!0;let s=r.data;if(o&&s.length>4){let e=this.readSliceType(s);(2===e||4===e||7===e||9===e)&&(t=!0)}t&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.frame=!0,n.key=t;break}case 5:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 6:a=!0,iI(r.data,1,i.pts,t.samples);break;case 7:{a=!0,o=!0;let t=r.data,i=this.readSPS(t);if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(u=e.pixelRatio)?void 0:u[0])!==i.pixelRatio[0]||(null==(h=e.pixelRatio)?void 0:h[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t];let r=t.subarray(1,4),a="avc1.";for(let e=0;e<3;e++){let t=r[e].toString(16);t.length<2&&(t="0"+t),a+=t}e.codec=a}break}case 8:a=!0,e.pps=[r.data];break;case 9:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:a=!0;break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}
6getNALuType(e,t){return 31&e[t]}readSliceType(e){let t=new sL(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let i=8,r=8;for(let a=0;a<e;a++)0!==r&&(r=(i+t.readEG()+256)%256),i=0===r?i:r}readSPS(e){let t,i,r,a=new sL(e),s=0,n=0,o=0,l=0,d=a.readUByte.bind(a),u=a.readBits.bind(a),h=a.readUEG.bind(a),c=a.readBoolean.bind(a),m=a.skipBits.bind(a),f=a.skipEG.bind(a),p=a.skipUEG.bind(a),g=this.skipScalingList.bind(this);d();let E=d();if(u(5),m(3),d(),p(),100===E||110===E||122===E||244===E||44===E||83===E||86===E||118===E||128===E){let e=h();if(3===e&&m(1),p(),p(),m(1),c())for(r=0,i=3!==e?8:12;r<i;r++)c()&&g(r<6?16:64,a)}p();let y=h();if(0===y)h();else if(1===y)for(m(1),f(),f(),t=h(),r=0;r<t;r++)f();p(),m(1);let b=h(),T=h(),A=u(1);0===A&&m(1),m(1),c()&&(s=h(),n=h(),o=h(),l=h());let _=[1,1];if(c()&&c())switch(d()){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:_=[d()<<8|d(),d()<<8|d()]}return{width:Math.ceil((b+1)*16-2*s-2*n),height:(2-A)*(T+1)*16-(A?2:4)*(o+l),pixelRatio:_}}}class sI extends sk{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d;switch(r.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.frame=!0,a=!0;break;case 16:case 17:case 18:case 21:a=!0,o&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 19:case 20:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 39:a=!0,iI(r.data,2,i.pts,t.samples);break;case 32:a=!0,e.vps||("object"!=typeof e.params&&(e.params={}),e.params=tY(e.params,this.readVPS(r.data)),this.initVPS=r.data),e.vps=[r.data];break;case 33:if(a=!0,o=!0,void 0===e.vps||e.vps[0]===this.initVPS||void 0===e.sps||this.matchSPS(e.sps[0],r.data)||(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let t=this.readSPS(r.data);for(let i in e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.codec=t.codecString,e.sps=[],"object"!=typeof e.params&&(e.params={}),t.params)e.params[i]=t.params[i]}this.pushParameterSet(e.sps,r.data,e.vps),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0;break;case 34:if(a=!0,"object"==typeof e.params){if(!e.pps){e.pps=[];let t=this.readPPS(r.data);for(let i in t)e.params[i]=t[i]}this.pushParameterSet(e.pps,r.data,e.vps)}break;case 35:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}pushParameterSet(e,t,i){(!i||i[0]!==this.initVPS)&&(i||e.length)||e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),i=0;for(let r=0;r<e.byteLength;r++)(!(r>=2)||3!==e[r]||0!==e[r-1]||0!==e[r-2])&&(t[i]=e[r],i++);return new Uint8Array(t.buffer,0,i)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){let t=new sL(e);return t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6),{numTemporalLayers:t.readBits(3)+1,temporalIdNested:t.readBoolean()}}readSPS(e){let t=new sL(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let i=t.readBits(3);t.readBoolean();let r=t.readBits(2),a=t.readBoolean(),s=t.readBits(5),n=t.readUByte(),o=t.readUByte(),l=t.readUByte(),d=t.readUByte(),u=t.readUByte(),h=t.readUByte(),c=t.readUByte(),m=t.readUByte(),f=t.readUByte(),p=t.readUByte(),g=t.readUByte(),E=[],y=[];for(let e=0;e<i;e++)E.push(t.readBoolean()),y.push(t.readBoolean());if(i>0)for(let e=i;e<8;e++)t.readBits(2);for(let e=0;e<i;e++)E[e]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),y[e]&&t.readUByte();t.readUEG();let b=t.readUEG();3==b&&t.skipBits(1);let T=t.readUEG(),A=t.readUEG(),_=t.readBoolean(),S=0,k=0,L=0,R=0;_&&(S+=t.readUEG(),k+=t.readUEG(),L+=t.readUEG(),R+=t.readUEG());let I=t.readUEG(),w=t.readUEG(),C=t.readUEG(),D=t.readBoolean();for(let e=D?0:i;e<=i;e++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let e=0;e<4;e++)for(let i=0;i<(3===e?2:6);i++)if(t.readBoolean()){let i=Math.min(64,1<<4+(e<<1));e>1&&t.readEG();for(let e=0;e<i;e++)t.readEG()}else t.readUEG();t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let x=t.readUEG(),M=0;for(let e=0;e<x;e++){let i=!1;if(0!==e&&(i=t.readBoolean()),i){e===x&&t.readUEG(),t.readBoolean(),t.readUEG();let i=0;for(let e=0;e<=M;e++){let e=t.readBoolean(),r=!1;e||(r=t.readBoolean()),(e||r)&&i++}M=i}else{let e=t.readUEG(),i=t.readUEG();M=e+i;for(let i=0;i<e;i++)t.readUEG(),t.readBoolean();for(let e=0;e<i;e++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){let e=t.readUEG();for(let i=0;i<e;i++){for(let e=0;e<C+4;e++)t.readBits(1);t.readBits(1)}}let P=0,O=1,N=1,U=!0,F=1,B=0;t.readBoolean(),t.readBoolean();if(t.readBoolean()){if(t.readBoolean()){let e=t.readUByte();e>0&&e<16?(O=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],N=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(O=t.readBits(16),N=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(F=t.readBits(32),B=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let e=t.readBoolean(),r=t.readBoolean(),a=!1;(e||r)&&((a=t.readBoolean())&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),a&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let s=0;s<=i;s++){let i=(U=t.readBoolean())||t.readBoolean(),s=!1;i?t.readEG():s=t.readBoolean();let n=s?1:t.readUEG()+1;if(e)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(r)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),P=t.readUEG())}let $=T,H=A;if(_){let e=1,t=1;1===b?e=t=2:2==b&&(e=2),$=T-e*k-e*S,H=A-t*R-t*L}let G=r?["A","B","C"][r]:"",V=n<<24|o<<16|l<<8|d,K=0;for(let e=0;e<32;e++)K=(K|(V>>e&1)<<31-e)>>>0;let W=K.toString(16);return 1===s&&"2"===W&&(W="6"),{codecString:`hvc1.${G}${s}.${W}.${a?"H":"L"}${g}.B0`,params:{general_tier_flag:a,general_profile_idc:s,general_profile_space:r,general_profile_compatibility_flags:[n,o,l,d],general_constraint_indicator_flags:[u,h,c,m,f,p],general_level_idc:g,bit_depth:I+8,bit_depth_luma_minus8:I,bit_depth_chroma_minus8:w,min_spatial_segmentation_idc:P,chroma_format_idc:b,frame_rate:{fixed:U,fps:B/F}},width:$,height:H,pixelRatio:[O,N]}}readPPS(e){let t=new sL(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let i=t.readBoolean(),r=t.readBoolean(),a=1;return r&&i?a=0:r?a=3:i&&(a=2),{parallelismType:a}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}class sw{constructor(e,t,i,r){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.logger=r,this.videoParser=null}static probe(e,t){let i=sw.syncOffset(e);return i>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${i}`),-1!==i}static syncOffset(e){let t=e.length,i=Math.min(940,t-188)+1,r=0;for(;r<i;){let a=!1,s=-1,n=0;for(let o=r;o<t;o+=188)if(71===e[o]&&(t-o==188||71===e[o+188])){if(n++,-1===s&&0!==(s=o)&&(i=Math.min(s+18612,e.length-188)+1),a||(a=0===sC(e,o)),a&&n>1&&(0===s&&n>2||o+188>i))return s}else if(n)return -1;else break;r++}return -1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:iu[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,r){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=sw.createTrack("video"),this._videoTrack.duration=r,this._audioTrack=sw.createTrack("audio",r),this._id3Track=sw.createTrack("id3"),this._txtTrack=sw.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,r=!1){let a;i||(this.sampleAes=null);let s=this._videoTrack,n=this._audioTrack,o=this._id3Track,l=this._txtTrack,d=s.pid,u=s.pesData,h=n.pid,c=o.pid,m=n.pesData,f=o.pesData,p=null,g=this.pmtParsed,E=this._pmtId,y=e.length;if(this.remainderData&&(y=(e=ik(this.remainderData,e)).length,this.remainderData=null),y<188&&!r)return this.remainderData=e,{audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};let b=Math.max(0,sw.syncOffset(e));(y-=(y-b)%188)<e.byteLength&&!r&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let T=0;for(let t=b;t<y;t+=188)if(71===e[t]){let r,y=!!(64&e[t+1]),T=sC(e,t);if((48&e[t+3])>>4>1){if((r=t+5+e[t+4])===t+188)continue}else r=t+4;switch(T){case d:y&&(u&&(a=sM(u,this.logger))&&(this.readyVideoParser(s.segmentCodec),null!==this.videoParser&&this.videoParser.parsePES(s,l,a,!1)),u={data:[],size:0}),u&&(u.data.push(e.subarray(r,t+188)),u.size+=t+188-r);break;case h:if(y){if(m&&(a=sM(m,this.logger)))switch(n.segmentCodec){case"aac":this.parseAACPES(n,a);break;case"mp3":this.parseMPEGPES(n,a);break;case"ac3":this.parseAC3PES(n,a)}m={data:[],size:0}}m&&(m.data.push(e.subarray(r,t+188)),m.size+=t+188-r);break;case c:y&&(f&&(a=sM(f,this.logger))&&this.parseID3PES(o,a),f={data:[],size:0}),f&&(f.data.push(e.subarray(r,t+188)),f.size+=t+188-r);break;case 0:var A,_;y&&(r+=e[r]+1),E=this._pmtId=(31&(A=e)[(_=r)+10])<<8|A[_+11];break;case E:{y&&(r+=e[r]+1);let a=function(e,t,i,r,a,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(15&e[t+1])<<8|e[t+2],l=t+3+o-4,d=(15&e[t+10])<<8|e[t+11];for(t+=12+d;t<l;){let o=sC(e,t),l=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!r){sx("ADTS AAC",s);break}case 15:-1===n.audioPid&&(n.audioPid=o);break;case 21:-1===n.id3Pid&&(n.id3Pid=o);break;case 219:if(!r){sx("H.264",s);break}case 27:-1===n.videoPid&&(n.videoPid=o);break;case 3:case 4:i.mpeg||i.mp3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="mp3"):s.log("MPEG audio found, not supported in this browser");break;case 193:if(!r){sx("AC-3",s);break}case 129:i.ac3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="ac3"):s.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===n.audioPid&&l>0){let r=t+5,a=l;for(;a>2;){106===e[r]&&(!0!==i.ac3?s.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=o,n.segmentAudioCodec="ac3"));let t=e[r+1]+2;r+=t,a-=t}}break;case 194:case 135:return sD(a,Error("Unsupported EC-3 in M2TS found"),void 0,s),n;case 36:-1===n.videoPid&&(n.videoPid=o,n.segmentVideoCodec="hevc",s.log("HEVC in M2TS found"))}t+=l+5}return n}
6(e,r,this.typeSupported,i,this.observer,this.logger);(d=a.videoPid)>0&&(s.pid=d,s.segmentCodec=a.segmentVideoCodec),(h=a.audioPid)>0&&(n.pid=h,n.segmentCodec=a.segmentAudioCodec),(c=a.id3Pid)>0&&(o.pid=c),null===p||g||(this.logger.warn(`MPEG-TS PMT found at ${t} after unknown PID '${p}'. Backtracking to sync byte @${b} to parse all TS packets.`),p=null,t=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:p=T}}else T++;T>0&&sD(this.observer,Error(`Found ${T} TS packet/s that do not start with 0x47`),void 0,this.logger),s.pesData=u,n.pesData=m,o.pesData=f;let S={audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};return r&&this.extractRemainingSamples(S),S}flush(){let e,{remainderData:t}=this;return(this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes)?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(e){let t,{audioTrack:i,videoTrack:r,id3Track:a,textTrack:s}=e,n=r.pesData,o=i.pesData,l=a.pesData;if(n&&(t=sM(n,this.logger))?(this.readyVideoParser(r.segmentCodec),null!==this.videoParser&&(this.videoParser.parsePES(r,s,t,!0),r.pesData=null)):r.pesData=n,o&&(t=sM(o,this.logger))){switch(i.segmentCodec){case"aac":this.parseAACPES(i,t);break;case"mp3":this.parseMPEGPES(i,t);break;case"ac3":this.parseAC3PES(i,t)}i.pesData=null}else null!=o&&o.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),i.pesData=o;l&&(t=sM(l,this.logger))?(this.parseID3PES(a,t),a.pesData=null):a.pesData=l}demuxSampleAes(e,t,i){let r=this.demux(e,i,!0,!this.config.progressive),a=this.sampleAes=new sS(this.observer,this.config,t);return this.decrypt(r,a)}readyVideoParser(e){null===this.videoParser&&("avc"===e?this.videoParser=new sR:"hevc"===e&&(this.videoParser=new sI))}decrypt(e,t){return new Promise(i=>{let{audioTrack:r,videoTrack:a}=e;r.samples&&"aac"===r.segmentCodec?t.decryptAacSamples(r.samples,0,()=>{a.samples?t.decryptAvcSamples(a.samples,0,0,()=>{i(e)}):i(e)}):a.samples&&t.decryptAvcSamples(a.samples,0,0,()=>{i(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let i,r,a,s,n=0,o=this.aacOverFlow,l=t.data;if(o){this.aacOverFlow=null;let t=o.missing,i=o.sample.unit.byteLength;-1===t?l=ik(o.sample.unit,l):(o.sample.unit.set(l.subarray(0,t),i-t),e.samples.push(o.sample),n=o.missing)}for(i=n,r=l.length;i<r-1&&!a7(l,i);i++);if(i!==n){let e,t=i<r-1;if(e=t?`AAC PES did not start with ADTS header,offset:${i}`:"No ADTS header found in AAC PES",sD(this.observer,Error(e),t,this.logger),!t)return}if(se(e,this.observer,l,i,this.audioCodec),void 0!==t.pts)a=t.pts;else{if(!o)return void this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");let t=9216e4/e.samplerate;a=o.sample.pts+t}let d=0;for(;i<r;){if(s=st(e,l,i,a,d),i+=s.length,s.missing){this.aacOverFlow=s;break}for(d++;i<r-1&&!a7(l,i);i++);}}parseMPEGPES(e,t){let i=t.data,r=i.length,a=0,s=0,n=t.pts;if(void 0===n)return void this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");for(;s<r;)if(sE(i,s)){let t=sp(e,i,s,n,a);if(t)s+=t.length,a++;else break}else s++}parseAC3PES(e,t){{let i,r=t.data,a=t.pts;if(void 0===a)return void this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");let s=r.length,n=0,o=0;for(;o<s&&(i=sT(e,r,o,a,n++))>0;)o+=i}}parseID3PES(e,t){if(void 0===t.pts)return void this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");let i=tY({},t,{type:this._videoTrack?sn.emsg:sn.audioId3,duration:1/0});e.samples.push(i)}}function sC(e,t){return((31&e[t+1])<<8)+e[t+2]}function sD(e,t,i,r){r.warn(`parsing error: ${t.message}`),e.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function sx(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function sM(e,t){let i,r,a,s,n,o=0,l=e.data;if(!e||0===e.size)return null;for(;l[0].length<19&&l.length>1;)l[0]=ik(l[0],l[1]),l.splice(1,1);if(1===((i=l[0])[0]<<16)+(i[1]<<8)+i[2]){if((r=(i[4]<<8)+i[5])&&r>e.size-6)return null;let d=i[7];192&d&&(s=(14&i[9])*0x20000000+(255&i[10])*4194304+(254&i[11])*16384+(255&i[12])*128+(254&i[13])/2,64&d?s-(n=(14&i[14])*0x20000000+(255&i[15])*4194304+(254&i[16])*16384+(255&i[17])*128+(254&i[18])/2)>54e5&&(t.warn(`${Math.round((s-n)/9e4)}s delta between PTS and DTS, align them`),s=n):n=s);let u=(a=i[8])+9;if(e.size<=u)return null;e.size-=u;let h=new Uint8Array(e.size);for(let e=0,t=l.length;e<t;e++){let t=(i=l[e]).byteLength;if(u)if(u>t){u-=t;continue}else i=i.subarray(u),t-=u,u=0;h.set(i,o),o+=t}return r&&(r-=a+3),{data:h,pts:s,dts:n,len:r}}return null}class sP{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}class sO{static init(){let e;for(e in sO.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},sO.types)sO.types.hasOwnProperty(e)&&(sO.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);sO.HDLR_TYPES={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])};let t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);sO.STTS=sO.STSC=sO.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),sO.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),sO.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),sO.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),sO.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);
6let i=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);sO.FTYP=sO.box(sO.types.ftyp,i,a,i,r),sO.DINF=sO.box(sO.types.dinf,sO.box(sO.types.dref,t))}static box(e,...t){let i=8,r=t.length,a=r;for(;r--;)i+=t[r].byteLength;let s=new Uint8Array(i);for(s[0]=i>>24&255,s[1]=i>>16&255,s[2]=i>>8&255,s[3]=255&i,s.set(e,4),r=0,i=8;r<a;r++)s.set(t[r],i),i+=t[r].byteLength;return s}static hdlr(e){return sO.box(sO.types.hdlr,sO.HDLR_TYPES[e])}static mdat(e){return sO.box(sO.types.mdat,e)}static mdhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000);return sO.box(sO.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))}static mdia(e){return sO.box(sO.types.mdia,sO.mdhd(e.timescale||0,e.duration||0),sO.hdlr(e.type),sO.minf(e))}static mfhd(e){return sO.box(sO.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?sO.box(sO.types.minf,sO.box(sO.types.smhd,sO.SMHD),sO.DINF,sO.stbl(e)):sO.box(sO.types.minf,sO.box(sO.types.vmhd,sO.VMHD),sO.DINF,sO.stbl(e))}static moof(e,t,i){return sO.box(sO.types.moof,sO.mfhd(e),sO.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=sO.trak(e[t]);return sO.box.apply(null,[sO.types.moov,sO.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(sO.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=sO.trex(e[t]);return sO.box.apply(null,[sO.types.mvex,...i])}static mvhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return sO.box(sO.types.mvhd,a)}static sdtp(e){let t,i,r=e.samples||[],a=new Uint8Array(4+r.length);for(t=0;t<r.length;t++)i=r[t].flags,a[t+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return sO.box(sO.types.sdtp,a)}static stbl(e){return sO.box(sO.types.stbl,sO.stsd(e),sO.box(sO.types.stts,sO.STTS),sO.box(sO.types.stsc,sO.STSC),sO.box(sO.types.stsz,sO.STSZ),sO.box(sO.types.stco,sO.STCO))}static avc1(e){let t,i,r,a=[],s=[];for(t=0;t<e.sps.length;t++)r=(i=e.sps[t]).byteLength,a.push(r>>>8&255),a.push(255&r),a=a.concat(Array.prototype.slice.call(i));for(t=0;t<e.pps.length;t++)r=(i=e.pps[t]).byteLength,s.push(r>>>8&255),s.push(255&r),s=s.concat(Array.prototype.slice.call(i));let n=sO.box(sO.types.avcC,new Uint8Array([1,a[3],a[4],a[5],255,224|e.sps.length].concat(a).concat([e.pps.length]).concat(s))),o=e.width,l=e.height,d=e.pixelRatio[0],u=e.pixelRatio[1];return sO.box(sO.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),n,sO.box(sO.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sO.box(sO.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,u>>24,u>>16&255,u>>8&255,255&u])))}static esds(e){return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e.config,6,1,2])}static audioStsd(e){let t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return sO.box(sO.types.mp4a,sO.audioStsd(e),sO.box(sO.types.esds,sO.esds(e)))}static mp3(e){return sO.box(sO.types[".mp3"],sO.audioStsd(e))}static ac3(e){return sO.box(sO.types["ac-3"],sO.audioStsd(e),sO.box(sO.types.dac3,e.config))}static stsd(e){let{segmentCodec:t}=e;if("audio"===e.type){if("aac"===t)return sO.box(sO.types.stsd,sO.STSD,sO.mp4a(e));if("ac3"===t&&e.config)return sO.box(sO.types.stsd,sO.STSD,sO.ac3(e));if("mp3"===t&&"mp3"===e.codec)return sO.box(sO.types.stsd,sO.STSD,sO.mp3(e))}else if(e.pps&&e.sps){if("avc"===t)return sO.box(sO.types.stsd,sO.STSD,sO.avc1(e));if("hevc"===t&&e.vps)return sO.box(sO.types.stsd,sO.STSD,sO.hvc1(e))}
6else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){let t=e.id,i=(e.duration||0)*(e.timescale||0),r=e.width||0,a=e.height||0,s=Math.floor(i/0x100000000),n=Math.floor(i%0x100000000);return sO.box(sO.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,n>>24,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,a>>8&255,255&a,0,0]))}static traf(e,t){let i=sO.sdtp(e),r=e.id,a=Math.floor(t/0x100000000),s=Math.floor(t%0x100000000);return sO.box(sO.types.traf,sO.box(sO.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),sO.box(sO.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,s>>24,s>>16&255,s>>8&255,255&s])),sO.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||0xffffffff,sO.box(sO.types.trak,sO.tkhd(e),sO.mdia(e))}static trex(e){let t=e.id;return sO.box(sO.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i,r,a,s,n,o,l=e.samples||[],d=l.length,u=12+16*d,h=new Uint8Array(u);for(t+=8+u,h.set([+("video"===e.type),0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),i=0;i<d;i++)a=(r=l[i]).duration,s=r.size,n=r.flags,o=r.cts,h.set([a>>>24&255,a>>>16&255,a>>>8&255,255&a,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.paddingValue<<1|n.isNonSync,61440&n.degradPrio,15&n.degradPrio,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12+16*i);return sO.box(sO.types.trun,h)}static initSegment(e){sO.types||sO.init();let t=sO.moov(e);return ik(sO.FTYP,t)}static hvc1(e){let t=e.params,i=[e.vps,e.sps,e.pps],r=new Uint8Array([1,t.general_profile_space<<6|32*!!t.general_tier_flag|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|64*!!t.frame_rate.fixed,i.length]),a=r.length;for(let e=0;e<i.length;e+=1){a+=3;for(let t=0;t<i[e].length;t+=1)a+=2+i[e][t].length}let s=new Uint8Array(a);s.set(r,0),a=r.length;let n=i.length-1;for(let e=0;e<i.length;e+=1){s.set(new Uint8Array([32+e|128*(e===n),0,i[e].length]),a),a+=3;for(let t=0;t<i[e].length;t+=1)s.set(new Uint8Array([i[e][t].length>>8,255&i[e][t].length]),a),a+=2,s.set(i[e][t],a),a+=i[e][t].length}let o=sO.box(sO.types.hvcC,s),l=e.width,d=e.height,u=e.pixelRatio[0],h=e.pixelRatio[1];return sO.box(sO.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,d>>8&255,255&d,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,sO.box(sO.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sO.box(sO.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,h>>24,h>>16&255,h>>8&255,255&h])))}}function sN(e,t,i=1,r=!1){let a=e*t*i;return r?Math.round(a):a}function sU(e,t=!1){return sN(e,1e3,11111111111111112e-21,t)}function sF(e){let{baseTime:t,timescale:i,trackId:r}=e;return`${t/i} (${t}/${i}) trackId: ${r}`}sO.types=void 0,sO.HDLR_TYPES=void 0,sO.STTS=void 0,sO.STSC=void 0,sO.STCO=void 0,sO.STSZ=void 0,sO.VMHD=void 0,sO.SMHD=void 0,sO.STSD=void 0,sO.FTYP=void 0,sO.DINF=void 0;let sB=null,s$=null;function sH(e,t,i,r){return{duration:t,size:i,cts:r,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:+!e}}}class sG extends tX{constructor(e,t,i,r){if(super("mp4-remuxer",r),this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===sB){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sB=e?parseInt(e[1]):0}if(null===s$){const e=navigator.userAgent.match(/Safari\/(\d+)/i);s$=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t?sF(t):t} > ${e?sF(e):e}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,i=e[0].pts,r=e.reduce((e,r)=>{let a=r.pts,s=a-e;return(s<-0x100000000&&(t=!0,s=(a=sV(a,i))-e),s>0)?e:a},i);return t&&this.debug("PTS rollover detected"),r}remux(e,t,i,r,a,s,n,o){let l,d,u,h,c,m,f=a,p=a,g=e.pid>-1,E=t.pid>-1,y=t.samples.length,b=e.samples.length>0,T=n&&y>0||y>1;if((!g||b)&&(!E||T)||this.ISGenerated||n){let i;if(this.ISGenerated){var A,_,S,k;let e=this.videoTrackConfig;(e&&(t.width!==e.width||t.height!==e.height||(null==(A=t.pixelRatio)?void 0:A[0])!==(null==(_=e.pixelRatio)?void 0:_[0])||(null==(S=t.pixelRatio)?void 0:S[1])!==(null==(k=e.pixelRatio)?void 0:k[1]))||!e&&T||null===this.nextAudioTs&&b)&&this.resetInitSegment()}this.ISGenerated||(u=this.generateIS(e,t,a,s));let r=this.isVideoContiguous,n=-1;if(T&&(n=function(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return -1}(t.samples),!r&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,n>0){this.warn(`Dropped ${n} out of ${y} video samples due to a missing keyframe`);let e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(n),t.dropped+=n,p+=(t.samples[0].pts-e)/t.inputTimeScale,i=p}else -1===n&&(this.warn(`No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(b&&T){let i=this.getVideoStartPts(t.samples),r=(sV(e.samples[0].pts,i)-i)/t.inputTimeScale;f+=Math.max(0,r),p+=Math.max(0,-r)}if(b){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),u=this.generateIS(e,t,a,s)),d=this.remuxAudio(e,f,this.isAudioContiguous,s,E||T||o===tK?p:void 0),T){let i=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),u=this.generateIS(e,t,a,s)),l=this.remuxVideo(t,p,r,i)}}else T&&(l=this.remuxVideo(t,p,r,0));l&&(l.firstKeyFrame=n,l.independent=-1!==n,l.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(c=sK(i,a,this._initPTS,this._initDTS)),r.samples.length&&(h=sW(r,a,this._initPTS))),{audio:d,video:l,initSegment:u,independent:m,text:h,id3:c}}computeInitPts(e,t,i,r){let a=Math.round(i*t),s=sV(e,a);if(s<a+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(a-s)/t} ${r}`);s<a+t;)s+=0x200000000;return s-a}generateIS(e,t,i,r){let a,s,n,o=e.samples,l=t.samples,d=this.typeSupported,u={},h=this._initPTS,c=!h||r,m="audio/mp4",f=-1;if(c&&(a=s=1/0),e.config&&o.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(m="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}u.audio={id:"audio",container:m,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&d.mpeg?new Uint8Array(0):sO.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(f=e.id,n=e.inputTimeScale,h&&n===h.timescale?c=!1:a=s=this.computeInitPts(o[0].pts,n,i,"audio"))}if(t.sps&&t.pps&&l.length){if(t.timescale=t.inputTimeScale,u.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:sO.initSegment([t]),metadata:{width:t.width,height:t.height}},c)if(f=t.id,n=t.inputTimeScale,h&&n===h.timescale)c=!1;else{let e=this.getVideoStartPts(l),t=sV(l[0].dts,e),r=this.computeInitPts(t,n,i,"video"),o=this.computeInitPts(e,n,i,"video");s=Math.min(s,r),a=Math.min(a,o)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(u).length)return this.ISGenerated=!0,c?(h&&this.warn(`Timestamps at playlist time: ${r?"":"~"}${i} ${a/n} != initPTS: ${h.baseTime/h.timescale} (${h.baseTime}/${h.timescale}) trackId: ${h.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${a/n} (${a}/${n}) trackId: ${f}`),this._initPTS={baseTime:a,timescale:n,trackId:f},this._initDTS={baseTime:s,timescale:n,trackId:f}):a=n=void 0,{tracks:u,initPTS:a,timescale:n,trackId:f}}remuxVideo(e,t,i,r){let a,s,n,o=e.inputTimeScale,l=e.samples,d=[],u=l.length,h=this._initPTS,c=h.baseTime*o/h.timescale,m=this.nextVideoTs,f=8,p=this.videoSampleDuration,g=1/0,E=-1/0,y=!1;if(!i||null===m){let e=c+t*o,r=l[0].pts-sV(l[0].dts,l[0].pts);sB&&null!==m&&15e3>Math.abs(e-r-(m+c))?i=!0:m=e-r-c}let b=m+c;for(let e=0;e<u;e++){let t=l[e];t.pts=sV(t.pts,b),t.dts=sV(t.dts,b),t.dts<l[e>0?e-1:e].dts&&(y=!0)}y&&l.sort(function(e,t){let i=e.dts-t.dts,r=e.pts-t.pts;return i||r}),a=l[0].dts;let T=(s=l[l.length-1].dts)-a,A=T?Math.round(T/(u-1)):p||e.inputTimeScale/30;if(i){let i=a-b,r=i>A,s=i<-1;if((r||s)&&(r?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sU(i,!0)} ms (${i}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sU(-i,!0)} ms (${i}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!s||b>=l[0].pts||sB)){a=b;let e=l[0].pts-i;
6if(r)l[0].dts=a,l[0].pts=e;else{let t=!0;for(let r=0;r<l.length&&(!(l[r].dts>e)||!t);r++){let e=l[r].pts;if(l[r].dts-=i,l[r].pts-=i,r<l.length-1){let i=l[r+1].pts;t=i<=l[r].pts==i<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${sU(e,!0)}/${sU(a,!0)}, delta: ${sU(i,!0)} ms`)}}let _=0,S=0,k=a=Math.max(0,a);for(let e=0;e<u;e++){let t=l[e],i=t.units,r=i.length,a=0;for(let e=0;e<r;e++)a+=i[e].data.length;S+=a,_+=r,t.length=a,t.dts<k?(t.dts=k,k+=A/4|0||1):k=t.dts,g=Math.min(t.pts,g),E=Math.max(t.pts,E)}s=l[u-1].dts;let L=S+4*_+8;try{n=new Uint8Array(L)}catch(e){this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MUX_ERROR,details:tU.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:L,reason:`fail allocating video mdat ${L}`});return}let R=new DataView(n.buffer);R.setUint32(0,L),n.set(sO.types.mdat,4);let I=!1,w=1/0,C=1/0,D=-1/0,x=-1/0;for(let e=0;e<u;e++){let t,i=l[e],a=i.units,s=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],i=t.data,r=t.data.byteLength;R.setUint32(f,r),f+=4,n.set(i,f),f+=r,s+=4+r}if(e<u-1)p=l[e+1].dts-i.dts,t=l[e+1].pts-i.pts;else{let a=this.config,s=e>0?i.dts-l[e-1].dts:A;if(t=e>0?i.pts-l[e-1].pts:A,a.stretchShortVideoTrack&&null!==this.nextAudioTs){let e=Math.floor(a.maxBufferHole*o),t=(r?g+r*o:this.nextAudioTs+c)-i.pts;t>e?((p=t-s)<0?p=s:I=!0,this.log(`It is approximately ${t/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=s}else p=s}let h=Math.round(i.pts-i.dts);w=Math.min(w,p),D=Math.max(D,p),C=Math.min(C,t),x=Math.max(x,t),d.push(sH(i.key,p,s,h))}if(d.length){if(sB){if(sB<70){let e=d[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(s$&&x-C<D-w&&A/D<.025&&0===d[0].cts){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let e=a;for(let t=0,i=d.length;t<i;t++){let r=e+d[t].duration,a=e+d[t].cts;if(t<i-1){let e=r+d[t+1].cts;d[t].duration=e-a}else d[t].duration=t?d[t-1].duration:A;d[t].cts=0,e=r}}}let M=s+(p=I||!p?A:p);this.nextVideoTs=m=M-c,this.videoSampleDuration=p,this.isVideoContiguous=!0;let P={data1:sO.moof(e.sequenceNumber++,a,tY(e,{samples:d})),data2:n,startPTS:(g-c)/o,endPTS:(E+p-c)/o,startDTS:(a-c)/o,endDTS:m/o,type:"video",hasAudio:!1,hasVideo:!0,nb:d.length,dropped:e.dropped};return e.samples=[],e.dropped=0,P}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}}remuxAudio(e,t,i,r,a){let s,n=e.inputTimeScale,o=e.samplerate?e.samplerate:n,l=n/o,d=this.getSamplesPerFrame(e),u=d*l,h=this._initPTS,c="mp3"===e.segmentCodec&&this.typeSupported.mpeg,m=[],f=void 0!==a,p=e.samples,g=8*!c,E=this.nextAudioTs||-1,y=h.baseTime*n/h.timescale,b=y+t*n;if(this.isAudioContiguous=i=i||p.length&&E>0&&(r&&9e3>Math.abs(b-(E+y))||Math.abs(sV(p[0].pts,b)-(E+y))<20*u),p.forEach(function(e){e.pts=sV(e.pts,b)}),!i||E<0){let e=p.length;if(e!==(p=p.filter(e=>e.pts>=0)).length&&this.warn(`Removed ${p.length-e} of ${e} samples (initPTS ${y} / ${n})`),!p.length)return;E=0===a?0:r&&!f?Math.max(0,b-y):p[0].pts-y}if("aac"===e.segmentCodec){let t=this.config.maxAudioFramesDrift;for(let i=0,r=E+y;i<p.length;i++){let a=p[i],s=a.pts,o=s-r,l=Math.abs(1e3*o/n);if(o<=-t*u&&f)0===i&&(this.warn(`Audio frame @ ${(s/n).toFixed(3)}s overlaps marker by ${Math.round(1e3*o/n)} ms.`),this.nextAudioTs=E=s-y,r=s);else if(o>=t*u&&l<1e4&&f){let t=Math.round(o/u);for(r=s-t*u;r<0&&t&&u;)t--,r+=u;0===i&&(this.nextAudioTs=E=r-y),this.warn(`Injecting ${t} audio frames @ ${((r-y)/n).toFixed(3)}s due to ${Math.round(1e3*o/n)} ms gap.`);for(let s=0;s<t;s++){let t=sP.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);t||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),t=a.unit.subarray()),p.splice(i,0,{unit:t,pts:r}),r+=u,i++}}a.pts=r,r+=u}}let T=null,A=null,_=0,S=p.length;for(;S--;)_+=p[S].unit.byteLength;for(let t=0,r=p.length;t<r;t++){let r=p[t],a=r.unit,n=r.pts;if(null!==A)m[t-1].duration=Math.round((n-A)/l);else{if(i&&"aac"===e.segmentCodec&&(n=E+y),T=n,!(_>0))return;_+=g;try{s=new Uint8Array(_)}catch(e){this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MUX_ERROR,details:tU.REMUX_ALLOC_ER
6ROR,fatal:!1,error:e,bytes:_,reason:`fail allocating audio mdat ${_}`});return}c||(new DataView(s.buffer).setUint32(0,_),s.set(sO.types.mdat,4))}s.set(a,g);let o=a.byteLength;g+=o,m.push(sH(!0,d,o,0)),A=n}let k=m.length;if(!k)return;let L=m[m.length-1];E=A-y,this.nextAudioTs=E+l*L.duration;let R=c?new Uint8Array(0):sO.moof(e.sequenceNumber++,T/l,tY({},e,{samples:m}));e.samples=[];let I=(T-y)/n,w=this.nextAudioTs/n,C={data1:R,data2:s,startPTS:I,endPTS:w,startDTS:I,endDTS:w,type:"audio",hasAudio:!0,hasVideo:!1,nb:k};return this.isAudioContiguous=!0,C}}function sV(e,t){let i;if(null===t)return e;for(i=t<e?-0x200000000:0x200000000;Math.abs(e-t)>0x100000000;)e+=i;return e}function sK(e,t,i,r){let a=e.samples.length;if(!a)return;let s=e.inputTimeScale;for(let n=0;n<a;n++){let a=e.samples[n];a.pts=sV(a.pts-i.baseTime*s/i.timescale,t*s)/s,a.dts=sV(a.dts-r.baseTime*s/r.timescale,t*s)/s}let n=e.samples;return e.samples=[],{samples:n}}function sW(e,t,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let s=0;s<r;s++){let r=e.samples[s];r.pts=sV(r.pts-i.baseTime*a/i.timescale,t*a)/a}e.samples.sort((e,t)=>e.pts-t.pts);let s=e.samples;return e.samples=[],{samples:s}}function sq(e,t,i=!1){return(null==e?void 0:e.start)!==void 0?(e.start+(i?e.duration:0))/e.timescale:t}function sj(e,t,i){let r=e.codec;return r&&r.length>4?r:t===it?"ec-3"===r||"ac-3"===r||"alac"===r?r:"fLaC"===r||"Opus"===r?iB(r,!1):(i.warn(`Unhandled audio codec "${r}" in mp4 MAP`),r||"mp4a"):(i.warn(`Unhandled video codec "${r}" in mp4 MAP`),r||"avc1")}try{t=self.performance.now.bind(self.performance)}catch(e){t=Date.now}let sY=[{demux:class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,r){let a=this.videoTrack=so("video",1),s=this.audioTrack=so("audio",1),n=this.txtTrack=so("text",1);if(this.id3Track=so("id3",1),this.timeOffset=0,!(null!=e&&e.byteLength))return;let o=iE(e);if(o.video){let{id:e,timescale:t,codec:i,supplemental:r}=o.video;a.id=e,a.timescale=n.timescale=t,a.codec=i,a.supplemental=r}if(o.audio){let{id:e,timescale:t,codec:i}=o.audio;s.id=e,s.timescale=t,s.codec=i}n.id=iu.text,a.sampleDuration=0,a.duration=s.duration=r}resetContiguity(){this.remainderData=null}static probe(e){let t=e.byteLength;for(let i=0;i<t;){let r=im(e,i);if(r>8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=r>1?i+r:t}return!1}demux(e,t){this.timeOffset=t;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=ik(this.remainderData,e));let t=function(e){let t={valid:null,remainder:null},i=iv(e,["moof"]);if(i.length<2)return t.remainder=e,t;let r=i[i.length-1];return t.valid=e.slice(0,r.byteOffset-8),t.remainder=e.slice(r.byteOffset-8),t}(i);this.remainderData=t.remainder,r.samples=t.valid||new Uint8Array}else r.samples=i;let s=this.extractID3Track(r,t);return a.samples=iL(t,r),{videoTrack:r,audioTrack:this.audioTrack,id3Track:s,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let r=this.extractID3Track(t,this.timeOffset);return i.samples=iL(e,t),{videoTrack:t,audioTrack:so(),id3Track:r,textTrack:so()}}extractID3Track(e,t){let i=this.id3Track;return e.samples.length&&iv(e.samples,["emsg"]).forEach(e=>{let r=function(e){let t=e[0],i="",r="",a=0,s=0,n=0,o=0,l=0,d=0;if(0===t){for(;"\0"!==ih(e.subarray(d,d+1));)i+=ih(e.subarray(d,d+1)),d+=1;for(i+=ih(e.subarray(d,d+1)),d+=1;"\0"!==ih(e.subarray(d,d+1));)r+=ih(e.subarray(d,d+1)),d+=1;r+=ih(e.subarray(d,d+1)),d+=1,a=im(e,12),s=im(e,16),o=im(e,20),l=im(e,24),d=28}else if(1===t){d+=4,a=im(e,d);let t=im(e,d+=4),s=im(e,d+=4);for(d+=4,tP(n=0x100000000*t+s)||(n=Number.MAX_SAFE_INTEGER,t2.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=im(e,d),d+=4,l=im(e,d),d+=4;"\0"!==ih(e.subarray(d,d+1));)i+=ih(e.subarray(d,d+1)),d+=1;for(i+=ih(e.subarray(d,d+1)),d+=1;"\0"!==ih(e.subarray(d,d+1));)r+=ih(e.subarray(d,d+1)),d+=1;r+=ih(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:r,timeScale:a,presentationTime:n,presentationTimeDelta:s,eventDuration:o,id:l,payload:e.subarray(d,e.byteLength)}}(e);if(sA.test(r.schemeIdUri)){let e=s_(r,t),a=0xffffffff===r.eventDuration?1/0:r.eventDuration/r.timeScale;a<=.001&&(a=1/0);let s=r.payload;i.samples.push({data:s,len:s.byteLength,dts:e,pts:e,type:sn.emsg,duration:a})}else if(this.config.enableEmsgKLVMetadata&&r.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){let e=s_(r,t);i.samples.push({data:r.payload,len:r.payload.byteLength,dts:e,pts:e,type:sn.misbklv,duration:1/0})}}),i}demuxSampleAes(e,t,i){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}},remux:class extends tX{constructor(e,t,i,r){super("passthrough-remuxer",r),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,r){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,r),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:i,videoCodec:r}=this;if(!(null!=e&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:s}=this.initData=iE(e);if(t)!function(e,t){if(!e||!t)return;let i=t.keyId;i&&t.isCommonEncryption&&i_(e,(e,t)=>{let r=e.subarray(8,24);r.some(e=>0!==e)||(t2.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${t8(r)} -> ${t8(i)}`),e.set(i,8))})}(e,t);else{let e=a||s;null!=e&&e.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${e.codec}")!`)}a&&(i=sj(a,it,this)),s&&(r=sj(s,ii,this));let n={};a&&s?n.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:a?n.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"}:s?n.video={container:"video/mp4",codec:r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,r,a,s){var n,o;let{initPTS:l,lastEndTime:d}=this,u={audio:void 0,video:void 0,text:r,id3:i,initSegment:void 0};
6tM(d)||(d=this.lastEndTime=a||0);let h=t.samples;if(!h.length)return u;let c={initPTS:void 0,timescale:void 0,trackId:void 0},m=this.initData;if(null!=(n=m)&&n.length||(this.generateInitSegment(h),m=this.initData),!(null!=(o=m)&&o.length))return this.warn("Failed to generate initSegment."),u;this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);let f=function(e,t,i){let r={},a=iv(e,["moof","traf"]);for(let e=0;e<a.length;e++){let s=a[e],n=iv(s,["tfhd"])[0],o=im(n,4),l=t[o];if(!l)continue;r[o]||(r[o]={start:NaN,duration:0,sampleCount:0,timescale:l.timescale,type:l.type});let d=r[o],u=iv(s,["tfdt"])[0];if(u){let e=u[0],t=im(u,4);1===e&&(0xffffffff===t?i.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(t*=0x100000000,t+=im(u,8))),tM(t)&&(!tM(d.start)||t<d.start)&&(d.start=t)}let h=l.default,c=im(n,0)|(null==h?void 0:h.flags),m=(null==h?void 0:h.duration)||0;8&c&&(m=2&c?im(n,12):im(n,8));let f=iv(s,["trun"]),p=d.start||0,g=0,E=m;for(let e=0;e<f.length;e++){let t=f[e],i=im(t,4),r=d.sampleCount;d.sampleCount+=i;let a=1&t[3],s=4&t[3],n=1&t[2],o=2&t[2],l=4&t[2],u=8&t[2],h=8,c=i;for(a&&(h+=4),s&&i&&(1&t[h+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=r),h+=4,n?(E=im(t,h),h+=4):E=m,o&&(h+=4),u&&(h+=4),p+=E,g+=E,c--);c--;)n?(E=im(t,h),h+=4):E=m,o&&(h+=4),l&&(1&t[h+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=d.sampleCount-(c+1),d.keyFrameStart=p),h+=4),u&&(h+=4),p+=E,g+=E;!g&&m&&(g+=m*i)}d.duration+=g}if(!Object.keys(r).some(e=>r[e].duration)){let t=1/0,i=0,a=iv(e,["sidx"]);for(let e=0;e<a.length;e++){let r=function(e){let t=[],i=e[0],r=8,a=im(e,8);r+=4;let s=0,n=0;0===i?(s=im(e,r),n=im(e,r+4),r+=8):(s=ip(e,r),n=ip(e,r+8),r+=16),r+=2;let o=e.length+n,l=ic(e,r);r+=2;for(let i=0;i<l;i++){let i=r,s=im(e,i);i+=4;let n=0x7fffffff&s;if(1==(0x80000000&s)>>>31)return t2.warn("SIDX has hierarchical references (not supported)"),null;let l=im(e,i);i+=4,t.push({referenceSize:n,subsegmentDuration:l,info:{duration:l/a,start:o,end:o+n-1}}),o+=n,i+=4,r=i}return{earliestPresentationTime:s,timescale:a,version:i,referencesCount:l,references:t}}(a[e]);if(null!=r&&r.references){t=Math.min(t,r.earliestPresentationTime/r.timescale);let e=r.references.reduce((e,t)=>e+t.info.duration||0,0);i=Math.max(i,e+r.earliestPresentationTime/r.timescale)}}i&&tM(i)&&Object.keys(r).forEach(e=>{r[e].duration||(r[e].duration=i*r[e].timescale-r[e].start)})}return r}(h,m,this),p=m.audio?f[m.audio.id]:null,g=m.video?f[m.video.id]:null,E=sq(g,1/0),y=sq(p,1/0),b=sq(g,0,!0),T=sq(p,0,!0),A=a,_=0,S=p&&(!g||!l&&y<E||l&&l.trackId===m.audio.id),k=S?p:g;if(k){let e=k.timescale,t=k.start-a*e,i=S?m.audio.id:m.video.id;A=k.start/e,_=S?T-y:b-E,(s||!l)&&(function(e,t,i,r){if(null===e)return!0;let a=Math.max(r,1);return Math.abs(t-e.baseTime/e.timescale-i)>a}(l,A,a,_)||e!==l.timescale)&&(l&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${a} ${t/e} != initPTS: ${l.baseTime/l.timescale} (${l.baseTime}/${l.timescale}) trackId: ${l.trackId}`),this.log(`Found initPTS at playlist time: ${a} offset: ${A-a} (${t}/${e}) trackId: ${i}`),l=null,c.initPTS=t,c.timescale=e,c.trackId=i)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${a}`);l?(c.initPTS=l.baseTime,c.timescale=l.timescale,c.trackId=l.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=A,c.timescale=1,c.trackId=-1),this.initPTS=l={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId});let L=A-l.baseTime/l.timescale,R=L+_;_>0?this.lastEndTime=R:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let I=!!m.audio,w=!!m.video,C="";I&&(C+="audio"),w&&(C+="video");let D={data1:h,startPTS:L,startDTS:L,endPTS:R,endDTS:R,type:C,hasAudio:I,hasVideo:w,nb:1,dropped:0,encrypted:!!m.audio&&m.audio.encrypted||!!m.video&&m.video.encrypted};u.audio=I&&!w?D:void 0,u.video=w?D:void 0;let x=null==g?void 0:g.sampleCount;if(x){let e=g.keyFrameIndex,t=-1!==e;D.nb=x,D.dropped=0===e||this.isVideoContiguous?0:t?e:x,D.independent=t,D.firstKeyFrame=e,t&&g.keyFrameStart&&(D.firstKeyFramePTS=(g.keyFrameStart-l.baseTime)/l.timescale),this.isVideoContiguous||(u.independent=t),this.isVideoContiguous||(this.isVideoContiguous=t),D.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${x} dropped: ${D.dropped} start: ${D.firstKeyFramePTS||"NA"}`)}return u.initSegment=c,u.id3=sK(i,a,l,l),r.samples.length&&(u.text=sW(r,a,l)),u}}},{demux:sw,remux:sG},{demux:class extends sl{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;let i=a5(e,0),r=(null==i?void 0:i.length)||0;if(sy(e,r))return!1;for(let i=e.length;r<i;r++)if(function(e,t){if(a7(e,t)){let i=a9(e,t);if(t+i>=e.length)return!1;let r=a6(e,t);if(r<=i)return!1;let a=t+r;return a===e.length||a7(e,a)}return!1}(e,r))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return t+5<e.length&&a8(e,t)&&a6(e,t)<=e.length-t}appendFrame(e,t,i){se(e,this.observer,t,i,e.manifestCodec);let r=st(e,t,i,this.basePTS,this.frameIndex);if(r&&0===r.missing)return r}},remux:sG},{demux:class extends sl{resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=a5(e,0),i=(null==t?void 0:t.length)||0;
6if(t&&11===e[i]&&119===e[i+1]&&void 0!==ss(t)&&16>=sb(e,i))return!1;for(let t=e.length;i<t;i++)if(sy(e,i))return t2.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return sv(e,t)&&4<=e.length-t}appendFrame(e,t,i){if(null!==this.basePTS)return sp(e,t,i,this.basePTS,this.frameIndex)}},remux:sG}];sY.splice(2,0,{demux:class extends sl{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,i){let r=sT(e,t,i,this.basePTS,this.frameIndex);if(-1!==r)return{sample:e.samples[e.samples.length-1],length:r,missing:0}}static probe(e){if(!e)return!1;let t=a5(e,0);if(!t)return!1;let i=t.length;return!!(11===e[i]&&119===e[i+1]&&void 0!==ss(t)&&16>sb(e,i))}},remux:sG});class sz{constructor(e,t,i,r,a,s){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.id=a,this.logger=s}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,i,r,a){var s,n;let o,l=r.transmuxing;l.executeStart=t();let d=new Uint8Array(e),{currentTransmuxState:u,transmuxConfig:h}=this;a&&(this.currentTransmuxState=a);let{contiguous:c,discontinuity:m,trackSwitch:f,accurateTimeOffset:p,timeOffset:g,initSegmentChange:E}=a||u,{audioCodec:y,videoCodec:b,defaultInitPts:T,duration:A,initSegmentData:_}=h,S=(s=d,n=i,o=null,s.byteLength>0&&(null==n?void 0:n.key)!=null&&null!==n.iv&&null!=n.method&&(o=n),o);if(S&&rV(S.method)){let e=this.getDecrypter(),i=rK(S.method);if(!e.isSync())return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(d,S.key.buffer,S.iv.buffer,i).then(e=>{let t=this.push(e,null,r);return this.decryptionPromise=null,t}),this.decryptionPromise;{let a=e.softwareDecrypt(d,S.key.buffer,S.iv.buffer,i);if(r.part>-1){let t=e.flush();a=t?t.buffer:t}if(!a)return l.executeEnd=t(),sQ(r);d=new Uint8Array(a)}}let k=this.needsProbing(m,f);if(k){let e=this.configureTransmuxer(d);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(tF.ERROR,tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),l.executeEnd=t(),sQ(r)}(m||f||E||k)&&this.resetInitSegment(_,y,b,A,i),(m||E||k)&&this.resetInitialTimestamp(T),c||this.resetContiguity();let L=this.transmux(d,S,g,p,r);this.asyncResult=sX(L);let R=this.currentTransmuxState;return R.contiguous=!0,R.discontinuity=!1,R.trackSwitch=!1,l.executeEnd=t(),L}flush(e){let i=e.transmuxing;i.executeStart=t();let{decrypter:r,currentTransmuxState:a,decryptionPromise:s}=this;if(s)return this.asyncResult=!0,s.then(()=>this.flush(e));let n=[],{timeOffset:o}=a;if(r){let t=r.flush();t&&n.push(this.push(t.buffer,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d){i.executeEnd=t();let r=[sQ(e)];return this.asyncResult?Promise.resolve(r):r}let u=l.flush(o);return sX(u)?(this.asyncResult=!0,u.then(t=>(this.flushRemux(n,t,e),n))):(this.flushRemux(n,u,e),this.asyncResult)?Promise.resolve(n):n}flushRemux(e,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=i,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${r.sn}${r.part>-1?" part: "+r.part:""} of ${this.id===tV?"level":"track"} ${r.level}`);let u=this.remuxer.remux(a,s,n,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=t()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;t&&i&&(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,r,a){let{demuxer:s,remuxer:n}=this;s&&n&&(s.resetInitSegment(e,t,i,r),n.resetInitSegment(e,t,i,a))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,r,a){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,r,a):this.transmuxUnencrypted(e,i,r,a)}transmuxUnencrypted(e,t,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(a,s,n,o,t,i,!1,this.id),chunkMeta:r}}transmuxSampleAes(e,t,i,r,a){return this.demuxer.demuxSampleAes(e,t,i).then(e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,r,!1,this.id),chunkMeta:a}))}
6configureTransmuxer(e){let t,{config:i,observer:r,typeSupported:a}=this;for(let i=0,r=sY.length;i<r;i++){var s;if(null!=(s=sY[i].demux)&&s.probe(e,this.logger)){t=sY[i];break}}if(!t)return Error("Failed to find demuxer by probing fragment data");let n=this.demuxer,o=this.remuxer,l=t.remux,d=t.demux;o&&o instanceof l||(this.remuxer=new l(r,i,a,this.logger)),n&&n instanceof d||(this.demuxer=new d(r,i,a,this.logger),this.probe=d.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new r_(this.config)),e}}let sQ=e=>({remuxResult:{},chunkMeta:e});function sX(e){return"then"in e&&e.then instanceof Function}class sZ{constructor(e,t,i,r,a){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=r,this.defaultInitPts=a||null}}class sJ{constructor(e,t,i,r,a,s){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=r,this.timeOffset=a,this.initSegmentChange=s}}let s0=0;class s1{constructor(e,t,i,r){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=s0++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{let t=e.data,i=this.hls;if(i&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":{var r;let e=null==(r=this.workerContext)?void 0:r.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":i.logger[t.data.logType]&&i.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,i.trigger(t.event,t.data)}},this.onWorkerError=e=>{if(!this.hls)return;let t=Error(`${e.message}  (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:t})};const a=e.config;this.hls=e,this.id=t,this.useWorker=!!a.enableWorker,this.onTransmuxComplete=i,this.onFlush=r;const s=(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===tF.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)};this.observer=new aJ,this.observer.on(tF.FRAG_DECRYPTED,s),this.observer.on(tF.ERROR,s);const n=iG(a.preferManagedMediaSource);if(this.useWorker&&"u">typeof Worker){const i=this.hls.logger;if(a.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{a.workerPath?(i.log(`loading Web Worker ${a.workerPath} for "${t}"`),this.workerContext=function(e){let t=a1[e];if(t)return t.clientCount++,t;let i=new self.URL(e,self.location.href).href,r={worker:new self.Worker(i),scriptURL:i,clientCount:1};return a1[e]=r,r}(a.workerPath)):(i.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){let e=a1[a0];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),i=self.URL.createObjectURL(t),r={worker:new self.Worker(i),objectURL:i,clientCount:1};return a1[a0]=r,r}());const{worker:e}=this.workerContext;e.addEventListener("message",this.onWorkerMessage),e.addEventListener("error",this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:n,id:t,config:i1(a)})}catch(r){i.warn(`Error setting up "${t}" Web Worker, fallback to inline`,r),this.terminateWorker(),this.error=null,this.transmuxer=new sz(this.observer,n,a,"",t,e.logger)}return}}this.transmuxer=new sz(this.observer,n,a,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=s0++;let t=this.hls.config,i=iG(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupp
6orted:i,id:this.id,config:i1(t)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),function(e){let t=a1[e||a0];if(t&&1==t.clientCount--){let{worker:i,objectURL:r}=t;delete a1[e||a0],r&&self.URL.revokeObjectURL(r),i.terminate()}}(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,r,a,s,n,o,l,d){var u,h;l.transmuxing.start=self.performance.now();let{instanceNo:c,transmuxer:m}=this,f=s?s.start:a.start,p=a.decryptdata,g=this.frag,E=!(g&&a.cc===g.cc),y=!(g&&l.level===g.level),b=g?l.sn-g.sn:-1,T=this.part?l.part-this.part.index:-1,A=0===b&&l.id>1&&l.id===(null==g?void 0:g.stats.chunkCount),_=!y&&(1===b||0===b&&(1===T||A&&T<=0)),S=self.performance.now();(y||b||0===a.stats.parsing.start)&&(a.stats.parsing.start=S),s&&(T||!_)&&(s.stats.parsing.start=S);let k=!(g&&(null==(u=a.initSegment)?void 0:u.url)===(null==(h=g.initSegment)?void 0:h.url)),L=new sJ(E,_,o,y,f,k);if(!_||E||k){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${a.type} sn: ${l.sn}${l.part>-1?" part: "+l.part:""} ${this.id===tV?"level":"track"}: ${l.level} id: ${l.id}
7        discontinuity: ${E}
8        trackSwitch: ${y}
9        contiguous: ${_}
10        accurateTimeOffset: ${o}
11        timeOffset: ${f}
12        initSegmentChange: ${k}`);let e=new sZ(i,r,t,n,d);this.configureTransmuxer(e)}if(this.frag=a,this.part=s,this.workerContext)this.workerContext.worker.postMessage({instanceNo:c,cmd:"demux",data:e,decryptdata:p,chunkMeta:l,state:L},e instanceof ArrayBuffer?[e]:[]);else if(m){let t=m.push(e,p,l,L);sX(t)?t.then(e=>{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}):this.handleTransmuxComplete(t)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){let t=i.flush(e);sX(t)?t.then(t=>{this.handleFlushResult(t,e)}).catch(t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}):this.handleFlushResult(t,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){let{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class s2 extends tX{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){let r=null==t?void 0:t.renditionReports;if(r){let a=-1;for(let i=0;i<r.length;i++){let s,n=r[i];try{s=new self.URL(n.URI,t.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),s=n.URI||""}if(s===e){a=i;break}s===e.substring(0,s.length)&&(a=i)}if(-1!==a){let e=r[a],s=parseInt(e["LAST-MSN"])||t.lastPartSn,n=parseInt(e["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let e=Math.min(t.age-t.partTarget,t.targetduration);n>=0&&e>t.partTarget&&(n+=1)}return new iZ(s,n>=0?n:void 0,i&&iX(i))}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(e,t,i){let{details:r,stats:a}=t,s=self.performance.now(),n=a.loading.first?Math.max(0,s-a.loading.first):0;r.advancedDateTime=Date.now()-n;let o=this.hls.config.timelineOffset;
12if(o!==r.appliedTimelineOffset){let e=Math.max(o||0,0);r.appliedTimelineOffset=e,r.fragments.forEach(t=>{t.setStart(t.playlistOffset+e)})}if(r.live||null!=i&&i.live){let o,d,u,h="levelInfo"in t?t.levelInfo:t.track;if(r.reloaded(i),i&&r.fragments.length>0){!function(e,t,i){let r;if(e===t)return;let a=null,s=e.fragments;for(let e=s.length-1;e>=0;e--){let t=s[e].initSegment;if(t){a=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS,function(e,t,i){let r=t.skippedSegments,a=Math.max(e.startSN,t.startSN)-t.startSN,s=+!!e.fragmentHint+(r?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,n=t.startSN-e.startSN,o=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let h=a;h<=s;h++){let a=l[n+h],s=o[h];if(r&&!s&&a&&(s=t.fragments[h]=a),a&&s){var d,u;i(a,s,h,o);let r=a.relurl,n=s.relurl;if(r&&(d=r)!==(u=n)&&u&&aI(d)!==aI(u)){t.playlistParsingError=ab(`media sequence mismatch ${s.sn}:`,e,t,a,s);return}if(a.cc!==s.cc){t.playlistParsingError=ab(`discontinuity sequence mismatch (${a.cc}!=${s.cc})`,e,t,a,s);return}}}}(e,t,(e,i,s,n)=>{if((!t.startCC||t.skippedSegments)&&i.cc!==e.cc){let r=e.cc-i.cc;for(let e=s;e<n.length;e++)n[e].cc+=r;t.endCC=n[n.length-1].cc}tM(e.startPTS)&&tM(e.endPTS)&&(i.setStart(i.startPTS=e.startPTS),i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.setDuration(e.endPTS-e.startPTS),i.duration&&(r=i),t.PTSKnown=t.alignedSliding=!0),e.hasStream
12s&&(i.elementaryStreams=e.elementaryStreams),i.loader=e.loader,e.hasStats&&(i.stats=e.stats),e.initSegment&&(i.initSegment=e.initSegment,a=e.initSegment)});let n=t.fragments,o=t.fragmentHint?n.concat(t.fragmentHint):n;if(a&&o.forEach(e=>{var t;e&&(!e.initSegment||e.initSegment.relurl===(null==(t=a)?void 0:t.relurl))&&(e.initSegment=a)}),t.skippedSegments){if(t.deltaUpdateFailed=n.some(e=>!e),t.deltaUpdateFailed){i.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)n.shift();t.startSN=n[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){let{dateRanges:r,recentlyRemovedDateranges:a}=t,s=tY({},e);a&&a.forEach(e=>{delete s[e]});let n=Object.keys(s).length;return n?(Object.keys(r).forEach(e=>{let t=s[e],a=new rB(r[e].attr,t);a.isValid?(s[e]=a,t||(a.tagOrder+=n)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${i1(r[e].attr)}"`)}),s):r}(e.dateRanges,t,i));let r=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let e=1;e<o.length;e++)null===o[e].programDateTime&&am(o[e],o[e-1],r);al(r,t)}t.endCC=n[n.length-1].cc}if(!t.startCC){var l;let i=aS(e,t.startSN-1);t.startCC=null!=(l=null==i?void 0:i.cc)?l:n[0].cc}(function(e,t,i){if(e&&t){let r=0;for(let a=0,s=e.length;a<=s;a++){let s=e[a],n=t[a+r];s&&n&&s.index===n.index&&s.fragment.sn===n.fragment.sn?i(s,n):r--}}})(e.partList,t.partList,(e,t)=>{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),r?ay(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS,i):aT(e,t),n.length&&(t.totalduration=t.edge-n[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let d=t.advancedDateTime;if(t.advanced&&d){let e=t.edge;t.driftStart||(t.driftStartTime=d,t.driftStart=e),t.driftEndTime=d,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;-1===t.requestScheduled&&(t.requestScheduled=e.requestScheduled)}(i,r,this);let e=r.playlistParsingError;if(e){this.warn(e);let i=this.hls;if(!i.config.ignorePlaylistParsingErrors){var l;let{networkDetails:s}=t;i.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_PARSING_ERROR,fatal:!1,url:r.url,error:e,reason:e.message,level:t.level||void 0,parent:null==(l=r.fragments[0])?void 0:l.type,networkDetails:s,stats:a});return}r.playlistParsingError=null}}-1===r.requestScheduled&&(r.requestScheduled=a.loading.start);let c=this.hls.mainForwardBufferInfo,m=c?c.end-c.len:0,f=(r.edge-m)*1e3,p=a_(r,f);if(r.requestScheduled+p<s?r.requestScheduled=s:r.requestScheduled+=p,this.log(`live playlist ${e} ${r.advanced?"REFRESHED "+r.lastPartSn+"-"+r.lastPartIndex:r.updated?"UPDATED":"MISSED"}`),!this.canLoad||!r.live)return;if(r.canBlockReload&&r.endSN&&r.advanced){let e=this.hls.config.lowLatencyMode,a=r.lastPartSn,n=r.endSN,l=r.lastPartIndex,c=a===n;-1!==l?c?(d=n+1,u=e?0:l):(d=a,u=e?l+1:r.maxPartIndex):d=n+1;let m=r.age,f=m+r.ageHeader,p=Math.min(f-r.partTarget,1.5*r.targetduration);if(p>0){if(f>3*r.targetduration)this.log(`Playlist last advanced ${m.toFixed(2)}s ago. Omitting segment and part directives.`),d=void 0,u=void 0;else if(null!=i&&i.tuneInGoal&&f-r.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${p} with playlist age: ${r.age}`),p=0;else{let e=Math.floor(p/r.targetduration);d+=e,void 0!==u&&(u+=Math.round(p%r.targetduration/r.partTarget)),this.log(`CDN Tune-in age: ${r.ageHeader}s last advanced ${m.toFixed(2)}s goal: ${p} skip sn ${e} to part ${u}`)}r.tuneInGoal=p}if(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,u),e||!c){r.requestScheduled=s,this.loadingPlaylist(h,o);return}}else(r.canBlockReload||r.canSkipUntil)&&(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,u));o&&void 0!==d&&r.canBlockReload&&(r.requestScheduled=a.loading.first+Math.max(p-2*n,p/2)),this.scheduleLoading(h,o,r)}else this.clearTimer()}scheduleLoading(e,t,i){let r=i||e.details;if(!r)return void this.loadingPlaylist(e,t);let a=self.performance.now(),s=r.requestScheduled;if(a>=s)return void this.loadingPlaylist(e,t);let n=s-a;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(n)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),n)}getDeliveryDirectives(e,t,i,r){let a=iX(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,r=t.part,a=""),new iZ(i,r,a)}checkRetry(e){let t=e.details,i=ra(e),r=e.errorAction,{action:a,retryCount:s=0,retryConfig:n}=r||{},o=!!r&&!!n&&(5===a||!r.resolved&&2===a);if(o){var l;if(s>=n.maxNumRetry)return!1;if(i&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let e=rl(n,s);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),e),this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,r.resolved=!0}return o}}function s3(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!s4(e[i].attrs,t[i].attrs))return!1;return!0}function s4(e,t,i){let r=e["STABLE-RENDITION-ID"];return r&&!i?r===t["STABLE-RENDITION-ID"]:!(i||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>e[i]!==t[i])}function s5(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class s8{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,i){if(null===this.queues||null===this.tracks)return;let r=this.queues[t];r.push(e),1!==r.length||i||this.executeNext(t)}appendBlocker(e){return new Promise(t=>{this.append({label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}},e)})}prependBlocker(e){return new Promise(t=>{this.queues&&this.queues[e].unshift({label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEac
12h(e=>{var t;let i=null==(t=e[0])?void 0:t.label;("async-blocker"===i||"async-blocker-prepend"===i)&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null===this.queues||this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(null===this.queues||null===this.tracks)return;let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(a){var i;if(r.onError(a),null===this.queues||null===this.tracks)return;let t=null==(i=this.tracks[e])?void 0:i.buffer;null!=t&&t.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){let{queues:e,tracks:t}=this;return null===e||null===t?"<destroyed>":`
13${this.list("video")}
14${this.list("audio")}
15${this.list("audiovideo")}}`}list(e){var t,i;return null!=(t=this.queues)&&t[e]||null!=(i=this.tracks)&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;let i=null==(t=this.tracks)?void 0:t[e],r=null==i?void 0:i.buffer;return r?`SourceBuffer${r.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let s9=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,s6="Hl
15sJsTrackRemovedError";class s7 extends Error{constructor(e){super(e),this.name=s6}}function ne(e){let t=e.querySelectorAll("source");[].slice.call(t).forEach(t=>{e.removeChild(t)})}function nt(e){return+("audio"===e)}class ni{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=1/0,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(tF.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(tF.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&tM(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return -1;let i=t.filter((t,i)=>this.isLevelAllowed(t)&&i<=e);return this.clientRect=null,ni.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=1/0,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height)}static getMaxLevelByMediaSize(e,t,i){if(!(null!=e&&e.length))return -1;let r=(e,t)=>!t||e.width!==t.width||e.height!==t.height,a=e.length-1,s=Math.max(t,i);for(let t=0;t<e.length;t+=1){let i=e[t];if((i.width>=s||i.height>=s)&&r(i,e[t+1])){a=t;break}}return a}}class nr{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof nr?e:new nr(e))),this.value=e,this.params=t}}function na(e,t,i){return Error(`failed to serialize "${Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as ${t}`,{cause:i})}class ns{constructor(e){this.description=e}}let nn="Bare Item";function no(e){if(e<-0x38d7ea4c67fff||0x38d7ea4c67fff<e)throw na(e,"Integer");return e.toString()}let nl=/[\x00-\x1f\x7f]+/;
15function nd(e){let t=e.description||e.toString().slice(7,-1);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw na(t,"Token");return t}function nu(e){switch(typeof e){case"number":if(!tM(e))throw na(e,nn);if(Number.isInteger(e))return no(e);let t=function e(t,i){if(t<0)return-e(-t,i);let r=Math.pow(10,i);if(!(Math.abs(t*r%1-.5)<Number.EPSILON))return Math.round(t*r)/r;{let e=Math.floor(t*r);return(e%2==0?e:e+1)/r}}(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw na(e,"Decimal");let i=t.toString();return i.includes(".")?i:`${i}.0`;case"string":if(nl.test(e))throw na(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;case"symbol":return nd(e);case"boolean":if("boolean"!=typeof e)throw na(e,"Boolean");return e?"?1":"?0";case"object":if(e instanceof Date)return`@${no(e.getTime()/1e3)}`;if(e instanceof Uint8Array){if(!1===ArrayBuffer.isView(e))throw na(e,"Byte Sequence");return`:${btoa(String.fromCharCode(...e))}:`}if(e instanceof ns)return nd(e);default:throw na(e,nn)}}function nh(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw na(e,"Key");return e}function nc(e){return null==e?"":Object.entries(e).map(([e,t])=>!0===t?`;${nh(e)}`:`;${nh(e)}=${nu(t)}`).join("")}function nm(e){return e instanceof nr?`${nu(e.value)}${nc(e.params)}`:nu(e)}function nf(e,t){return function(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw na(e,"Dict");let i=e instanceof Map?e.entries():Object.entries(e),r=(null==t?void 0:t.whitespace)?" ":"";return Array.from(i).map(([e,t])=>{t instanceof nr==!1&&(t=new nr(t));let i=nh(e);if(!0===t.value)i+=nc(t.params);else if(i+="=",Array.isArray(t.value)){var r;i+=(r=t,`(${r.value.map(nm).join(" ")})${nc(r.params)}`)}else i+=nm(t);return i}).join(`,${r}`)}(e,t)}let np="CMCD-Object",ng="CMCD-Request",nv="CMCD-Session",nE="CMCD-Status",ny={br:np,ab:np,d:np,ot:np,tb:np,tpb:np,lb:np,tab:np,lab:np,url:np,pb:ng,bl:ng,tbl:ng,dl:ng,ltc:ng,mtp:ng,nor:ng,nrr:ng,rc:ng,sn:ng,sta:ng,su:ng,ttfb:ng,ttfbb:ng,ttlb:ng,cmsdd:ng,cmsds:ng,smrt:ng,df:ng,cs:ng,ts:ng,cid:nv,pr:nv,sf:nv,sid:nv,st:nv,v:nv,msd:nv,bs:nE,bsd:nE,cdn:nE,rtp:nE,bg:nE,pt:nE,ec:nE,e:nE},nb="event",nT=e=>Math.round(e),nA=(e,t)=>Array.isArray(e)?e.map(e=>nA(e,t)):e instanceof nr&&"string"==typeof e.value?new nr(nA(e.value,t),e.params):(t.baseUrl&&(e=function(e,t){let i=new URL(e),r=new URL(t);if(i.origin!==r.origin)return e;let a=i.pathname.split("/").slice(1),s=r.pathname.split("/").slice(1,-1);for(;a[0]===s[0];)a.shift(),s.shift();for(;s.length;)s.shift(),a.unshift("..");return a.join("/")+i.search+i.hash}(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e),n_=e=>100*nT(e/100),nS={br:nT,d:nT,bl:n_,dl:n_,mtp:n_,nor:(e,t)=>{let i=e;return t.version>=2&&(e instanceof nr&&"string"==typeof e.value?i=new nr([e]):"string"==typeof e&&(i=[e])),nA(i,t)},rtp:n_,tb:nT},nk="request",nL="response",nR=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],nI=["e"],nw=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function nC(e){return nw.test(e)}let nD=["d","dl","nor","ot","rtp","su"],nx=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],nM=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function nP(e){return nM.includes(e)||nC(e)}let nO={[nL]:function(e){return nR.includes(e)||nD.includes(e)||nx.includes(e)||nC(e)},[nb]:function(e){return nR.includes(e)||nI.includes(e)||nC(e)},[nk]:function(e){return nR.includes(e)||nD.includes(e)||nC(e)}};function nN(e,t={}){let i={};if(null==e||"object"!=typeof e)return i;let r=t.version||e.v||1,a=t.reportingMode||nk,s=1===r?nP:nO[a],n=Object.keys(e).filter(s),o=t.filter;"function"==typeof o&&(n=n.filter(o));let l=a===nL||a===nb;l&&!n.includes("ts")&&n.push("ts"),r>1&&!n.includes("v")&&n.push("v");let d=tY({},nS,t.formatters),u={version:r,reportingMode:a,baseUrl:t.baseUrl};return n.sort().forEach(t=>{var a;let s=e[t],n=d[t];if("function"==typeof n&&(s=n(s,u)),"v"===t)if(1===r)return;else s=r;("pr"!=t||1!==s)&&(l&&"ts"===t&&!tM(s)&&(s=Date.now()),("number"==typeof(a=s)?tM(a):null!=a&&""!==a&&!1!==a)&&(["ot","sf","st","e","sta"].includes(t)&&"string"==typeof s&&(s=new ns(s)),i[t]=s))}),i}let nU=/CMCD=[^&#]+/;function nF(e,t,i,r){e&&Object.keys(t).forEach(a=>{let s=e.filter(e=>e.groupId===a).map(e=>{let s=tY({},e);return s.details=void 0,s.attrs=new rF(s.attrs),s.url=s.attrs.URI=nB(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),s.groupId=s.attrs["GROUP-ID"]=t[a],s.attrs["PATHWAY-ID"]=r,s});e.push(...s)})}function nB(e,t,i,r){let a,{HOST:s,PARAMS:n,[i]:o}=r;t&&(a=null==o?void 0:o[t])&&(e=a);let l=new self.URL(e);
15return s&&!a&&(l.host=s),n&&Object.keys(n).sort().forEach(e=>{e&&l.searchParams.set(e,n[e])}),l.href}class n$ extends tX{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=n$.CDMCleanupPromise?[n$.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=e=>{let{initDataType:t,initData:i}=e,r=`"${e.type}" event: init data type: "${t}"`;if(this.debug(r),null!==i){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=r8(this.config));let t=e.map(r5).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(a=>{let s,n=r4(a);if("sinf"!==t||n!==rX)return void this.log(`Ignoring "${e.type}" event with init data type: "${t}" for selected key-system ${n}`);try{let e=ih(new Uint8Array(i)),t=rW(JSON.parse(e).sinf),r=iS(t);if(!r)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");s=new Uint8Array(r.subarray(8,24))}catch(e){this.warn(`${r} Failed to parse sinf: ${e}`);return}let o=t8(s),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[o];for(let e=0;e<d.length;e++){let r=d[e],a=r.decryptdata;if(!a.keyId)continue;let n=t8(a.keyId);if(rH(s,a.keyId)||-1!==a.uri.replace(/-/g,"").indexOf(o)){if(!(u=l[n]))continue;if(a.pssh)break;delete l[n],a.pssh=new Uint8Array(i),a.keyId=s,(u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(r,t,i,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}u||this.handleError(Error(`Key ID ${o} not encountered in playlist. Key-system sessions ${d.length}.`))}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){this.hls.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(tF.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(tF.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(tF.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(tF.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,r=null==t?void 0:t[e];return r?r.licenseUrl:e===rJ&&i?i:void 0}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(void 0===t)throw Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=null==t?void 0:t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,r=t.map(e=>e.audioCodec).filter(i),a=t.map(e=>e.videoCodec).filter(i);return r.length+a.length===0&&a.push("avc1.42e01e"),new Promise((t,i)=>{let s=e=>{let n=e.shift();this.getMediaKeysPromise(n,r,a).then(e=>t({keySystem:n,mediaKeys:e})).catch(t=>{e.length?s(e):t instanceof nG?i(t):i(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})};s(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===r9&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){var r;let a=function(e,t,i,r){var a,s,n,o;let l;switch(e){case rX:l=["cenc","sinf"];break;case rJ:case rZ:l=["cenc"];break;case rQ:l=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return a=l,s=t,n=i,[{initDataTypes:a,persistentState:(o=r).persistentState||"optional",distinctiveIdentifier:o.distinctiveIdentifier||"optional",sessionTypes:o.sessionTypes||[o.sessionType||"temporary"],audioCapabilities:s.map(e=>({contentType:`audio/mp4; codecs=${e}`,robustness:o.audioRobustness||"",encryptionScheme:o.audioEncryptionScheme||null})),videoCapabilities:n.map(e=>({contentType:`video/mp4; codecs=${e}`,robustness:o.videoRobustness||"",encryptionScheme:o.videoEncryptionScheme||null}))}]}(e,t,i,this.config.drmSystemOptions||{}),s=this.keySystemAccessPromises[e],n=null==(r=s)?void 0:r.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${e}" key-system access with config: ${i1(a)}`),n=this.requestMediaKeySystemAccess(e,a);let t=s=this.keySystemAccessPromises[e]={keySystemAccess:n};return n.catch(t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)}),n.then(i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);let r=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let a=t.mediaKeys=i.createMediaKeys().then(i=>(this.log(`Media-keys created for "${e}"`),t.hasMediaKeys=!0,r.then(t=>t?this.setMediaKeysServerCertificate(i,e,t):i)));return a.catch(t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)}),a})}return n.then(()=>s.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}
15" keyId: ${t8(e.keyId||[])} keyUri: ${e.uri}`);let r=i.createSession(),a={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:r,keyStatus:"status-pending"};return this.mediaKeySessions.push(a),a}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),r=nH(t);this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(i,"cenc",t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${t8(e.decryptdata.keyId||[])}
16      } (data length: ${t.byteLength})`),i.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>r5(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((t,i)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{let r=r5(e);r?t(r):i(Error(`Unable to find format for key-system "${e}"`))}).catch(i)})}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){let t=r8(this.config),i=e.map(r4).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(i)}getKeyStatus(e){let{mediaKeySessions:t}=this;for(let a=0;a<t.length;a++){var i,r;let s=(i=e,r=t[a],i.keyId&&r.mediaKeysSession.keyStatuses.has(i.keyId)?r.mediaKeysSession.keyStatuses.get(i.keyId):i.matches(r.decryptdata)?r.keyStatus:void 0);if(s)return s}}loadKey(e){let t=e.keyInfo.decryptdata,i=nH(t),r=this.bannedKeyIds[i];if(r||"internal-error"===this.getKeyStatus(t)){let i=nV(r||"internal-error",t);return this.handleError(i,e.frag),Promise.reject(i)}let a=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${a}`);let s=this.keyIdToKeySessionPromise[i];if(!s){let r=this.getKeySystemForKeyPromise(t).then(({keySystem:i,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${a}`),this.attemptSetMediaKeys(i,r).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:i,mediaKeys:r,decryptdata:t}))))).then(e=>{let i=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",i,"playlist-key")});return r.catch(t=>this.handleError(t,e.frag)),this.keyIdToKeySessionPromise[i]=r,r}return s.catch(i=>{if(i instanceof nG){let r=tQ({},i.data);"internal-error"===this.getKeyStatus(t)&&(r.decryptdata=t);let a=new nG(r,i.message);this.handleError(a,e.frag)}}),s}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof nG){t&&(e.data.frag=t);let i=e.data.decryptdata;this.error(`${e.message}${i?` (${t8(i.keyId||[])})`:""}`),this.hls.trigger(tF.ERROR,e.data)}else this.error(e.message),this.hls.trigger(tF.ERROR,{type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){let t=nH(e),i=this.keyIdToKeySessionPromise[t];if(!i){let t=r4(e.keyFormat),i=t?[t]:r8(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=r8(this.config)),0===e.length)throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${i1({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let r=Promise.all(i).then(()=>this.media?this.media.setMediaKeys(t):new Promise((e,i)=>{this.mediaResolved=()=>
16{if(this.mediaResolved=void 0,!this.media)return i(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=t,this.media.setMediaKeys(t).then(e).catch(i)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===i.indexOf(e))})}generateRequestWithPreferredKeySession(e,t,i,r){var a;let s=null==(a=this.config.drmSystems)||null==(a=a[e.keySystem])?void 0:a.generateRequest;if(s)try{let r=s.call(this.hls,t,i,e);if(!r)throw Error("Invalid response from configured generateRequest filter");t=r.initDataType,i=r.initData?r.initData:null,e.decryptdata.pssh=i?new Uint8Array(i):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let n=nH(e.decryptdata),o=e.decryptdata.uri;this.log(`Generating key-session request for "${r}" keyId: ${n} URI: ${o} (init data type: ${t} length: ${i.byteLength})`);let l=new aJ,d=e._onmessage=t=>{let i=e.mediaKeysSession;if(!i)return void l.emit("error",Error("invalid state"));let{messageType:r,message:a}=t;this.log(`"${r}" message event for session "${i.sessionId}" message size: ${a.byteLength}`),"license-request"===r||"license-renewal"===r?this.renewLicense(e,a).catch(e=>{l.eventNames().length?l.emit("error",e):this.handleError(e)}):"license-release"===r?e.keySystem===rX&&this.updateKeySession(e,rq("acknowledged")).then(()=>this.removeSession(e)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${r}"`)},u=(e,t)=>{let i;t.keyStatus=e,e.startsWith("usable")?l.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?i=nV(e,t.decryptdata):"expired"===e?i=Error(`key expired (keyId: ${n})`):"released"===e?i=Error("key released"):"status-pending"===e||this.warn(`unhandled key status change "${e}" (keyId: ${n})`),i&&(l.eventNames().length?l.emit("error",i):this.handleError(i))},h=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void l.emit("error",Error("invalid state"));let i=this.getKeyStatuses(e);if(!Object.keys(i).some(e=>"status-pending"!==i[e]))return;if("expired"===i[n]){this.log(`Expired key ${i1(i)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let r=i[n];if(r)u(r,e);else{var a;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(a=e.keyStatusTimeouts)[n]||(a[n]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;let t=this.getKeyStatus(e.decryptdata);if(t&&"status-pending"!==t)return this.log(`No status for keyId ${n} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${t} from other session.`),u(t,e);this.log(`key status for ${n} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),u(r="internal-error",e)},1e3)),this.log(`No status for keyId ${n} (${i1(i)}).`)}};aP(e.mediaKeysSession,"message",d),aP(e.mediaKeysSession,"keystatuseschange",h);let c=new Promise((e,t)=>{l.on("error",t),l.on("resolved",e)});return e.mediaKeysSession.generateRequest(t,i).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${n} URI: ${o}`)}).catch(t=>{throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_NO_SESSION,error:t,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${t}`)}).then(()=>c).catch(t=>(l.removeAllListeners(),this.removeSession(e).then(()=>{throw t}))).then(()=>(l.removeAllListeners(),e))}getKeyStatuses(e){let t={};return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if("string"==typeof r&&"object"==typeof i){let e=r;r=i,i=e}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);e.keySystem===rZ&&16===a.length&&(t[t8(a)]=i,rj(a));let s=t8(a);"internal-error"===i&&(this.bannedKeyIds[s]=i),this.log(`key status change "${i}" for keyStatuses keyId: ${s} key-session "${e.mediaKeysSession.sessionId}"`),t[s]=i}),t}fetchServerCertificate(e){let t=this.config,i=new t.loader(t),r=this.getServerCertificateUrl(e);return r?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,s)=>{let n={responseType:"arraybuffer",url:r},o=t.certLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};i.load(n,l,{onSuccess:(e,t,i,r)=>{a(e.data)},onError:(t,i,a,o)=>{s(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:tQ({url:n.url,data:void 0},t)},`"${e}" certificate request failed (${r}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,a)=>{s(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:{url:n.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(e,t,i)=>{s(Error("aborted"))}})})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((r,a)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i.byteLength}) on "${t}"`),r(e)}).catch(e=>{a(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(t=>this.updateKeySession(e,new Uint8Array(t)).catch(t=>{throw new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:t,fatal:!1},t.message)}))}unpackPlayReadyKeyMessage(e,t){let i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let r=new DOMParser().parseFromString(i,"application/xml"),a=r.querySelectorAll("HttpHeader");if(a.length>0){let t;for(let i=0,r=a.length;i<r;i++){var s,n;let r=null==(s=(t=a[i]).querySelector("name"))?void 0:s.textContent,o=null==(n=t.querySelector("value"))?void 0:n.textContent;r&&o&&e.setRequestHeader(r,o)}}let o=r.querySelector("Challenge"),l=null==o?void 0:o.textContent;
16if(!l)throw Error("Cannot find <Challenge> in key message");return rq(atob(l))}setupLicenseXHR(e,t,i,r){let a=this.config.licenseXhrSetup;return a?Promise.resolve().then(()=>{if(!i.decryptdata)throw Error("Key removed");return a.call(this.hls,e,t,i,r)}).catch(s=>{if(!i.decryptdata)throw s;return e.open("POST",t,!0),a.call(this.hls,e,t,i,r)}).then(i=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:i||r})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:r}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((r,a)=>{let s=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${s}`);let n=new XMLHttpRequest;n.responseType="arraybuffer",n.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return a(Error("invalid state"));if(4===n.readyState)if(200===n.status){this._requestLicenseFailureCount=0;let t=n.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);let i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,n,s,e)}catch(e){this.error(e)}r(t)}else{let o=i.errorRetry,l=o?o.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||n.status>=400&&n.status<500)a(new nG({type:tN.KEY_SYSTEM_ERROR,details:tU.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:n,response:{url:s,data:void 0,code:n.status,text:n.statusText}},`License Request XHR failed (${s}). Status: ${n.status} (${n.statusText})`));else{let i=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(r,a)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=n,this.setupLicenseXHR(n,s,e,t).then(({xhr:t,licenseChallenge:i})=>{e.keySystem==rZ&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}).catch(a)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,aP(i,"encrypted",this.onMediaEncrypted),aP(i,"waitingforkey",this.onWaitingForKey);let r=this.mediaResolved;r?r():this.mediaKeys=i.mediaKeys}onMediaDetached(){let e=this.media;e&&(aO(e,"encrypted",this.onMediaEncrypted),aO(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let t=this.mediaResolved;if(t&&t(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let i=this.media,r=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,ae.clearKeyUriToKeyIdMap();let a=r.length;n$.CDMCleanupPromise=Promise.all(r.map(e=>this.removeSession(e)).concat((null==i||null==(e=i.setMediaKeys(null))?void 0:e.catch(e=>{this.log(`Could not clear media keys: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${e}`)})}))||Promise.resolve())).catch(e=>{this.log(`Could not close sessions and clear media keys: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${e}`)})}).then(()=>{a&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){let e=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i,decryptdata:r}=e;if(t){var a;this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${t8((null==r?void 0:r.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);s>-1&&this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:n}=e;
16n&&Object.keys(n).forEach(e=>self.clearTimeout(n[e]));let{drmSystemOptions:o}=this.config;return(o&&("persistent-license"===o.sessionType||null!=(a=o.sessionTypes)&&a.some(e=>"persistent-license"===e))?new Promise((e,i)=>{self.setTimeout(()=>i(Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(e).catch(i)}):Promise.resolve()).catch(e=>{this.log(`Could not remove session: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${e}`)})}).then(()=>t.close()).catch(e=>{this.log(`Could not close session: ${e}`),this.hls&&this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${e}`)})})}return Promise.resolve()}}function nH(e){if(!e)throw Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw Error("keyId is null");return t8(e.keyId)}n$.CDMCleanupPromise=void 0;class nG extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=Error(t)),this.data=e,e.err=e.error}}function nV(e,t){let i="output-restricted"===e,r=i?tU.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:tU.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new nG({type:tN.KEY_SYSTEM_ERROR,details:r,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`)}function nK(e,t){let i;try{i=new Event("addtrack")}catch(e){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function nW(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw Error(`addCue is failed for: ${t}`)}catch(i){t2.debug(`[texttrack-utils]: ${i}`);try{let i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){t2.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function nq(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues)for(let i=e.cues.length;i--;)t&&e.cues[i].removeEventListener("enter",t),e.removeCue(e.cues[i]);"disabled"===i&&(e.mode=i)}function nj(e,t,i,r){let a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&e.cues.length>0){let a=function(e,t,i){let r=[],a=function(e,t){let i;if(t<=e[0].startTime)return 0;let r=e.length-1;if(t>e[r].endTime)return -1;let a=0,s=r;for(;a<=s;)if(t<e[i=Math.floor((s+a)/2)].startTime)s=i-1;else{if(!(t>e[i].startTime)||!(a<r))return i;a=i+1}return e[a].startTime-t<t-e[s].startTime?a:s}(e,t);if(a>-1)for(let s=a,n=e.length;s<n;s++){let a=e[s];if(a.startTime>=t&&a.endTime<=i)r.push(a);else if(a.startTime>i)break}return r}(e.cues,t,i);for(let t=0;t<a.length;t++)(!r||r(a[t]))&&e.removeCue(a[t])}"disabled"===a&&(e.mode=a)}function nY(e){let t=[];for(let i=0;i<e.length;i++){let r=e[i];("subtitles"===r.kind||"captions"===r.kind)&&r.label&&t.push(e[i])}return t}function nz(e){let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()}let nQ=((dt={})[dt.Point=0]="Point",dt[dt.Range=1]="Range",dt);class nX{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null==(e=this.assetListLoader)||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;let i=this.playoutLimit;return!(e<=0||isNaN(i))&&(0===i||((null==(t=this.assetList[e])?void 0:t.startOffset)||0)>i)}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return nZ(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(0===this.startTime||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime,i=nZ(t,e);return t-i<.1}return!1}get resumptionOffset(){let e=this.resumeOffset,t=tM(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return nZ(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&.025>Math.abs(this.resumeOffset-this.duration)))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e,t=this.playoutLimit;return e=null!==this._duration?this._duration:this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0,!isNaN(t)&&t<e&&(e=t),e}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return"RANGE"===this.dateRange.attr["X-TIMELINE-OCCUPIES"]?nQ.Range:nQ.Point}get supplementsPrimary(){return"PRIMARY"===this.dateRange.attr["X-TIMELINE-STYLE"]}get contentMayVary(){return"NO"!==this.dateRange.attr["X-CONTENT-MAY-VARY"]}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||null!==this.assetListResponse}toString(){var e;return e=this,`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}}function nZ(e,t){return e-t.start<t.duration/2&&!(.025>Math.abs(e-(t.start+t.duration)))?t.start:t.start+t.duration}function nJ(e,t,i){let r=new self.URL(e,i);return"data:"!==r.protocol&&r.searchParams.set("_HLS_primary_id",t),r}function n0(e,t){for(;null!=(i=e.assetList[++t])&&i.error;)var i;return t}function n1(e){let t=e.timelineStart,i=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+i).toFixed(2)}]`}class n2{constructor(e,t,i,r){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
16s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(tF.PLAYOUT_LIMIT_REACHED,{})};const a=this.hls=new e(t);this.interstitial=i,this.assetItem=r;const s=()=>{this.hasDetails=!0};a.once(tF.LEVEL_LOADED,s),a.once(tF.AUDIO_TRACK_LOADED,s),a.once(tF.SUBTITLE_TRACK_LOADED,s),a.on(tF.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&a.on(tF.BUFFER_APPENDED,()=>{let e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,a.trigger(tF.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=nJ(t,e.config.primarySessionId||"").href}catch(e){}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if(null!=(t=this.hls)&&t.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset,a=rx.bufferInfo(e,r,0);return this.getAssetTime(a.end)>=i-.02}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=rx.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let i=t-this.startOffset;if(i>0&&i<e)return i}return e}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return(null==(e=this.hls)?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let t=this.timelineOffset;if(e!==t&&Math.abs(e-t)>1/9e4&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){return Math.min(Math.max(0,e-this.timelineOffset),this.duration)}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null==(t=this.hls)||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,null==(e=this.hls)||e.detachMedia()}resumeBuffering(){var e;null==(e=this.hls)||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.hls)||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=e=>delete e.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,i){var r;null==(r=this.hls)||r.on(e,t)}once(e,t,i){var r;null==(r=this.hls)||r.once(e,t)}off(e,t,i){var r;null==(r=this.hls)||r.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${n1(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}class n3 extends tX{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={}
16,this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,r)=>e<=r.startOffset&&t>r.startOffset?(delete r.error,i+1):i,0):0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);let r=this.items;if(r)for(r[i]||(void 0===t&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&null!=(a=r[i])&&a.event;){var a;i--}return i}findItemIndexAtTime(e,t){let i=this.items;if(i)for(let r=0;r<i.length;r++){let a=i[r];if(t&&"primary"!==t&&(a=a[t]),e===a.start||e>a.start&&e<a.end)return r}return -1}findJumpRestrictedIndex(e,t){let i=this.items;if(i)for(let r=e;r<=t&&i[r];r++){let e=i[r].event;if(null!=e&&e.restrictions.jump&&!e.appendInPlace)return r}return -1}findEventIndex(e){let t=this.items;if(t)for(let r=t.length;r--;){var i;if((null==(i=t[r].event)?void 0:i.identifier)===e)return r}return -1}findAssetIndex(e,t){let i=e.assetList,r=i.length;if(r>1)for(let e=0;e<r;e++){let a=i[e];if(!a.error){let i=a.timelineStart;if(t===i||t>i&&(t<i+(a.duration||0)||e===r-1))return e}}return 0}get assetIdAtEnd(){var e;let t=null==(e=this.items)||null==(e=e[this.length-1])?void 0:e.event;if(t){let e=t.assetList,i=e[e.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,t){let i=e.main.details,{dateRanges:r}=i,a=this.events,s=this.parseDateRanges(r,{url:i.url},t),n=Object.keys(r),o=a?a.filter(e=>!n.includes(e.identifier)):[];s.length&&s.sort((e,t)=>{let i=e.cue.pre,r=e.cue.post,a=t.cue.pre,s=t.cue.post;if(i&&!a)return -1;if(a&&!i||r&&!s)return 1;if(s&&!r)return -1;if(!i&&!a&&!r&&!s){let i=e.startTime,r=t.startTime;if(i!==r)return i-r}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=s,o.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,o)}updateSchedule(e,t=[],i=!1){let r=this.events||[];
16if(r.length||t.length||this.length<2){let a=this.items,s=this.parseSchedule(r,e);(i||t.length||(null==a?void 0:a.length)!==s.length||s.some((e,t)=>Math.abs(e.playout.start-a[t].playout.start)>.005||Math.abs(e.playout.end-a[t].playout.end)>.005))&&(this.items=s,this.onScheduleUpdate(t,a))}}parseDateRanges(e,t,i){let r=[],a=Object.keys(e);for(let s=0;s<a.length;s++){let n=a[s],o=e[n];if(o.isInterstitial){let e=this.eventMap[n];e?e.setDateRange(o):(e=new nX(o,t),this.eventMap[n]=e,!1===i&&(e.appendInPlace=i)),r.push(e)}}return r}parseSchedule(e,t){let i=[],r=t.main.details,a=r.live?1/0:r.edge,s=0;if((e=e.filter(e=>!e.error&&!(e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(e,t);let r=0,o=0;if(e.forEach((t,n)=>{let l=t.cue.pre,d=t.cue.post,u=e[n-1]||null,h=t.appendInPlace,c=d?a:t.startOffset,m=t.duration,f=t.timelineOccupancy===nQ.Range?m:0,p=t.resumptionOffset,g=(null==u?void 0:u.startTime)===c,E=c+t.cumulativeDuration,y=h?E+m:c+p;if(l||!d&&c<=0){let e=o;o+=f,t.timelineStart=E;let r=s;s+=m,i.push({event:t,start:E,end:y,playout:{start:r,end:s},integrated:{start:e,end:o}})}else{if(!(c<=a))return;if(!g){let a=c-r;if(a>.033){let l=r,d=o;o+=a;let u=s;s+=a;let h={previousEvent:e[n-1]||null,nextEvent:t,start:l,end:l+a,playout:{start:u,end:s},integrated:{start:d,end:o}};i.push(h)}else a>0&&u&&(u.cumulativeDuration+=a,i[i.length-1].end=c)}d&&(y=E),t.timelineStart=E;let l=o;o+=f;let h=s;s+=m,i.push({event:t,start:E,end:y,playout:{start:h,end:s},integrated:{start:l,end:o}})}let b=t.resumeTime;r=d||b>a?a:b}),r<a){var n;let e=r,t=o,l=a-r;o+=l;let d=s;s+=l,i.push({previousEvent:(null==(n=i[i.length-1])?void 0:n.event)||null,nextEvent:null,start:r,end:e+l,playout:{start:d,end:s},integrated:{start:t,end:o}})}this.setDurations(a,s,o)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i}}resolveOffsets(e,t){let i=t.main.details,r=i.live?1/0:i.edge,a=0,s=-1;e.forEach((n,o)=>{let l=n.cue.pre,d=n.cue.post,u=l?0:d?r:n.startTime;this.updateAssetDurations(n),s===u?n.cumulativeDuration=a:(a=0,s=u),!d&&n.snapOptions.in&&(n.resumeAnchor=rt(null,i.fragments,n.startOffset+n.resumptionOffset,0,0)||void 0),n.appendInPlace&&!n.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(n,t)||(n.appendInPlace=!1)),!n.appendInPlace&&o+1<e.length&&e[o+1].startTime-e[o].resumeTime<.033&&(e[o+1].appendInPlace=!1,e[o+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${n}`));let h=tM(n.resumeOffset)?n.resumeOffset:n.duration;a+=h})}primaryCanResumeInPlaceAt(e,t){let i=e.resumeTime,r=e.startTime+e.resumptionOffset;return Math.abs(i-r)>.025?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${r}`),!1):!Object.keys(t).some(r=>{let a=t[r].details,s=a.edge;if(i>=s)return this.log(`"${e.identifier}" resumption ${i} past ${r} playlist end ${s}`),!1;let n=rt(null,a.fragments,i);if(!n)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${r} playlist (${a.fragStart}-${a.fragmentEnd})`),!0;let o=.175*("audio"===r);return!(Math.abs(n.start-i)<.025+o||Math.abs(n.end-i)<.025+o)&&(this.log(`"${e.identifier}" resumption ${i} not aligned with ${r} fragment bounds (${n.start}-${n.end} sn: ${n.sn} cc: ${n.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,i=0,r=!1,a=!1;for(let s=0;s<e.assetList.length;s++){let n=e.assetList[s],o=t+i;n.startOffset=i,n.timelineStart=o,r||(r=null===n.duration),a||(a=!!n.error),i+=n.error?0:n.duration||0}r&&!a?e.duration=Math.max(i,e.duration):e.duration=i}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function n4(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class n5{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){let i,r=e.assetListUrl;try{i=nJ(r,this.hls.sessionId,e.baseUrl)}catch(i){let t=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_ERROR,i,r);this.hls.trigger(tF.ERROR,t);return}t&&"data:"!==i.protocol&&i.searchParams.set("_HLS_start_offset",""+t);let a=this.hls.config,s=new a.loader(a),n={responseType:"json",url:i.href},o=a.interstitialAssetListLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return s.load(n,l,{onSuccess:(t,i,r,a)=>{let s=t.data;if(!Array.isArray(null==s?void 0:s.ASSETS)){let t=this.assignAssetListError(e,tU.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),r.url,i,a);this.hls.trigger(tF.ERROR,t);return}e.assetListResponse=s,this.hls.trigger(tF.ASSET_LIST_LOADED,{event:e,assetListResponse:s,networkDetails:a})},onError:(t,i,r,a)=>{let s=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${t.code} ${t.text} (${i.url})`),i.url,a,r);this.hls.trigger(tF.ERROR,s)},onTimeout:(t,i,r)=>{let a=this.assignAssetListError(e,tU.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${i.url})`),i.url,t,r);this.hls.trigger(tF.ERROR,a)}}),this.hls.trigger(tF.ASSET_LIST_LOADING,{event:e}),s}assignAssetListError(e,t,i,r,a,s){return e.error=i,{type:tN.NETWORK_E
16RROR,details:t,fatal:!1,interstitial:e,url:r,error:i,networkDetails:s,stats:a}}}function n8(e){var t;null==e||null==(t=e.play())||t.catch(()=>{})}function n9(e,t){return`[${e}] Advancing timeline position to ${t}`}class n6{constructor(e){this.buffered=void 0;const t=(t,i,r)=>{if((i>>>=0)>r-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}let n7={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},oe=e=>String.fromCharCode(n7[e]||e),ot={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},oi={17:2,18:4,21:6,22:8,23:10,19:13,20:15},or={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},oa={25:2,26:4,29:6,30:8,31:10,27:13,28:15},os=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class on{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i="function"==typeof t?t():t;t2.log(`${this.time} [${e}] ${i}`)}}}let oo=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t};class ol{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let r=t[i];e.hasOwnProperty(r)&&(this[r]=e[r])}}isDefault(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class od{constructor(){this.uchar=" ",this.penState=new ol}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return" "===this.uchar&&this.penState.isDefault()}}class ou{constructor(e){this.chars=[],this.pos=0,this.currPenState=new ol,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<100;e++)this.chars.push(new od);this.logger=e}equals(e){for(let t=0;t<100;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<100;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<100;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>100&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=100)}moveCursor(e){let t=this.pos+e;if(e>1)for(let e=this.pos+1;e<t+1;e++)this.chars[e].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=oe(e);this.pos>=100?this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t<100;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let i=0;i<100;i++){let r=this.chars[i].uchar;" "!==r&&(t=!1),e.push(r)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class oh{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<15;t++)this.rows.push(new ou(e));this.logger=e}reset(){for(let e=0;e<15;e++)this.rows[e].clear();this.currRow=14}equals(e){let t=!0;for(let i=0;i<15;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<15;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<15;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+i1(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let e=0;e<15;e++)this.rows[e].clear();let e=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){let r=i.rows[e].cueStartTime,a=this.logger.time;if(null!==r&&null!==a&&r<a)for(let r=0;r<this.nrRollUpRows;r++)this.rows[t-this.nrRollUpRows+r+1].copy(i.rows[e+r])}}this.currRow=t;let i=this.rows[this.currRow];if(null!==e.indent){let t=Math.max(e.indent-1,0);i.setCursor(e.indent),e.color=i.chars[t].penState.foreground}let r={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(r)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+i1(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],i="",r=-1;for(let i=0;i<15;i++){let a=this.rows[i].getTextString();a&&(r=i+1,e?t.push("Row "+r+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class oc{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new oh(i),this.nonDisplayedMemory=new oh(i),this.lastOutputScreen=new oh(i),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;t<e.length;t++)this.writeScreen.insertChar(e[t]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),("MODE_PAINT-ON"===this.mode||"MODE_ROLL-UP"===this.mode)&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}
16ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};(t.underline=e%2==1,t.italics=e>=46,t.italics)?t.foreground="white":t.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(e/2)-16],this.logger.log(2,"MIDROW: "+i1(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&!this.displayedMemory.isEmpty()&&(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e)}}class om{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const r=this.logger=new on;this.channels=[null,new oc(e,t,r),new oc(e+1,i,r)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e<t.length;e+=2){var i,r,a,s,n,o,l,d;let u=127&t[e],h=127&t[e+1],c=!1,m=null;if(0===u&&0===h)continue;this.logger.log(3,()=>"["+oo([t[e],t[e+1]])+"] -> ("+oo([u,h])+")");let f=this.cmdHistory;if(u>=16&&u<=31){if(i=u,r=h,(a=f).a===i&&a.b===r){(s=f).a=null,s.b=null,this.logger.log(3,()=>"Repeated command ("+oo([u,h])+") is dropped");continue}n=u,o=h,(l=this.cmdHistory).a=n,l.b=o,(c=this.parseCmd(u,h))||(c=this.parseMidrow(u,h)),c||(c=this.parsePAC(u,h)),c||(c=this.parseBackgroundAttributes(u,h))}else{(d=f).a=null,d.b=null}if(!c&&(m=this.parseChars(u,h))){let e=this.currentChannel;e&&e>0?this.channels[e].insertChars(m):this.logger.log(2,"No channel found yet. TEXT-MODE?")}c||m||this.logger.log(2,()=>"Couldn't parse cleaned data "+oo([u,h])+" orig: "+oo([t[e],t[e+1]]))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;let i=20===e||21===e||23===e?1:2,r=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?r.ccRCL():33===t?r.ccBS():34===t?r.ccAOF():35===t?r.ccAON():36===t?r.ccDER():37===t?r.ccRU(2):38===t?r.ccRU(3):39===t?r.ccRU(4):40===t?r.ccFON():41===t?r.ccRDC():42===t?r.ccTR():43===t?r.ccRTD():44===t?r.ccEDM():45===t?r.ccCR():46===t?r.ccENM():47===t&&r.ccEOC():r.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if((i=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let r=this.channels[i];return!!r&&(r.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+oo([e,t])+")"),!0)}return!1}parsePAC(e,t){let i,r=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(16===e||24===e)&&t>=64&&t<=95;if(!(r||a))return!1;let s=e<=23?1:2;i=t>=64&&t<=95?1===s?ot[e]:or[e]:1===s?oi[e]:oa[e];let n=this.channels[s];return!!n&&(n.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0)}interpretPAC(e,t){let i,r={color:null,italics:!1,indent:null,underline:!1,row:e};return r.underline=(1&(i=t>95?t-96:t-64))==1,i<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((i-16)/2),r}parseChars(e,t){let i,r=null,a=null;if(e>=25?(i=2,a=e-8):(i=1,a=e),a>=17&&a<=19){let e;e=17===a?t+80:18===a?t+112:t+144,this.logger.log(2,()=>"Special char '"+oe(e)+"' in channel "+i),r=[e]}else e>=32&&e<=127&&(r=0===t?[e]:[e,t]);return r&&this.logger.log(3,()=>"Char codes =  "+oo(r).join(",")),r}
16parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;let i={};return 16===e||24===e?(i.background=os[Math.floor((t-32)/2)],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),this.channels[e<=23?1:2].setBkgData(i),!0}reset(){var e;for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}(e=this.cmdHistory).a=null,e.b=null}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}}var of=function(){if(null!=rz&&rz.VTTCue)return self.VTTCue;let e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t||!Array.isArray(e))return!1;let i=t.toLowerCase();return!!~e.indexOf(i)&&i}function r(e){let t=1;for(;t<arguments.length;t++){let i=arguments[t];for(let t in i)e[t]=i[t]}return e}function a(a,s,n){let o={enumerable:!0};this.hasBeenReset=!1;let l="",d=!1,u=a,h=s,c=n,m=null,f="",p=!0,g="auto",E="start",y=50,b="middle",T=50,A="middle";Object.defineProperty(this,"id",r({},o,{get:function(){return l},set:function(e){l=""+e}})),Object.defineProperty(this,"pauseOnExit",r({},o,{get:function(){return d},set:function(e){d=!!e}})),Object.defineProperty(this,"startTime",r({},o,{get:function(){return u},set:function(e){if("number"!=typeof e)throw TypeError("Start time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"endTime",r({},o,{get:function(){return h},set:function(e){if("number"!=typeof e)throw TypeError("End time must be set to a number.");h=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"text",r({},o,{get:function(){return c},set:function(e){c=""+e,this.hasBeenReset=!0}})),Object.defineProperty(this,"region",r({},o,{get:function(){return m},set:function(e){m=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"vertical",r({},o,{get:function(){return f},set:function(t){let r=i(e,t);if(!1===r)throw SyntaxError("An invalid or illegal string was specified.");f=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"snapToLines",r({},o,{get:function(){return p},set:function(e){p=!!e,this.hasBeenReset=!0}})),Object.defineProperty(this,"line",r({},o,{get:function(){return g},set:function(e){if("number"!=typeof e&&"auto"!==e)throw SyntaxError("An invalid number or illegal string was specified.");g=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"lineAlign",r({},o,{get:function(){return E},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");E=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"position",r({},o,{get:function(){return y},set:function(e){if(e<0||e>100)throw Error("Position must be between 0 and 100.");y=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"positionAlign",r({},o,{get:function(){return b},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");b=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"size",r({},o,{get:function(){return T},set:function(e){if(e<0||e>100)throw Error("Size must be between 0 and 100.");T=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"align",r({},o,{get:function(){return A},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");A=r,this.hasBeenReset=!0}})),this.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class op{decode(e,t){if(!e)return"";if("string"!=typeof e)throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function og(e){function t(e,t,i,r){return(0|e)*3600+(0|t)*60+(0|i)+parseFloat(r||0)}let i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class ov{constructor(){this.values=Object.create(null)}set(e,t){this.get(e)||""===t||(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let r=0;r<i.length;++r)if(t===i[r]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}}function oE(e,t,i,r){let a=r?e.split(r):[e];for(let e in a){if("string"!=typeof a[e])continue;let r=a[e].split(i);if(2===r.length)t(r[0],r[1])}}let oy=new of(0,0,""),ob="middle"===oy.align?"middle":"center";function oT(e){return e.replace(/<br(?: \/)?>/gi,"\n")}class oA{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new op,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;function i(){let e=t.buffer,i=0;for(e=oT(e);i<e.length&&"\r"!==e[i]&&"\n"!==e[i];)++i;let r=e.slice(0,i);return"\r"===e[i]&&++i,"\n"===e[i]&&++i,t.buffer=e.slice(i),r}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{let e="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;let r=(e=i()).match(/^()?WEBVTT([ \t].*)?$/);if(!(null!=r&&r[0]))throw Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer&&/\r\n|\n/.test(t.buffer);)switch(a?a=!1:e=i(),t.state){case"HEADER":if(/:/.test(e)){var r;r=e,oE(r,function(e,t){},/:/)}else e||(t.state="ID");continue;case"NOTE":e||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(e)){t.state="NOTE";break}if(!e)continue;if(t.cue=new of(0,0,""),t.state="CUE",-1===e.indexOf("-->")){t.cue.id=e;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{!function(e,t,i){var r;let a,s,n,o=e;
16function l(){let t=og(e);if(null===t)throw Error("Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function d(){e=e.replace(/^\s+/,"")}if(d(),t.startTime=l(),d(),"-->"!==e.slice(0,3))throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+o);e=e.slice(3),d(),t.endTime=l(),d(),r=e,a=new ov,oE(r,function(e,t){let r;switch(e){case"region":for(let r=i.length-1;r>=0;r--)if(i[r].id===t){a.set(e,i[r].region);break}break;case"vertical":a.alt(e,t,["rl","lr"]);break;case"line":r=t.split(","),a.integer(e,r[0]),a.percent(e,r[0])&&a.set("snapToLines",!1),a.alt(e,r[0],["auto"]),2===r.length&&a.alt("lineAlign",r[1],["start",ob,"end"]);break;case"position":r=t.split(","),a.percent(e,r[0]),2===r.length&&a.alt("positionAlign",r[1],["start",ob,"end","line-left","line-right","auto"]);break;case"size":a.percent(e,t);break;case"align":a.alt(e,t,["start",ob,"end","left","right"])}},/:/,/\s/),t.region=a.get("region",null),t.vertical=a.get("vertical",""),"auto"===(s=a.get("line","auto"))&&-1===oy.line&&(s=-1),t.line=s,t.lineAlign=a.get("lineAlign","start"),t.snapToLines=a.get("snapToLines",!0),t.size=a.get("size",100),t.align=a.get("align",ob),"auto"===(n=a.get("position","auto"))&&50===oy.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}(e,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let i=-1!==e.indexOf("-->");if(!e||i&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=e}continue;case"BADCUE":e||(t.state="ID")}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this}flush(){try{if((this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state||"BADWEBVTT"===this.state)throw Error("Malformed WebVTT signature.")}catch(e){this.onparsingerror&&this.onparsingerror(e)}return this.onflush&&this.onflush(),this}}let o_=/\r\n|\n\r|\n|\r/g,oS=function(e,t,i=0){return e.slice(i,i+t.length)===t},ok=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),r=parseInt(e.slice(-9,-7)),a=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!tM(t)||!tM(i)||!tM(r)||!tM(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*r,t+=36e5*a};function oL(e,t,i){return nz(e.toString())+nz(t.toString())+nz(i)}let oR=function(e,t,i){let r=e[t],a=e[r.prevCC];if(!a||!a.new&&r.new){e.ccOffset=e.presentationOffset=r.start,r.new=!1;return}for(;null!=(s=a)&&s.new;){var s;e.ccOffset+=r.start-a.start,r.new=!1,a=e[(r=a).prevCC]}e.presentationOffset=i},oI="stpp.ttml.im1t",ow=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,oC=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oD={left:"start",center:"center",right:"end",start:"start",end:"end"};function ox(e,t,i,r){let a=iv(new Uint8Array(e),["mdat"]);if(0===a.length)return void r(Error("Could not parse IMSC1 mdat"));let s=a.map(e=>t5(e)),n=function(e,t=1,i=!1){return sN(e,1,1/t,i)}(t.baseTime,t.timescale);try{s.forEach(e=>i(function(e,t){let i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw Error("Invalid ttml");let r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(r).reduce((e,t)=>(e[t]=i.getAttribute(`ttp:${t}`)||r[t],e),{}),s="preserve"!==i.getAttribute("xml:space"),n=oP(oM(i,"styling","style")),o=oP(oM(i,"layout","region")),l=oM(i,"body","[begin]");return[].map.call(l,e=>{var i,r,l;let d,u,h,c=function e(t,i){return[].slice.call(t.childNodes).reduce((t,r,a)=>{var s;return"br"===r.nodeName&&a?t+"\n":null!=(s=r.childNodes)&&s.length?e(r,i):i?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}(e,s);if(!c||!e.hasAttribute("begin"))return null;let m=oU(e.getAttribute("begin"),a),f=oU(e.getAttribute("dur"),a),p=oU(e.getAttribute("end"),a);if(null===m)throw oN(e);if(null===p){if(null===f)throw oN(e);p=m+f}let g=new of(m-t,p-t,c);g.id=oL(g.startTime,g.endTime,g.text);let E=(i=o[e.getAttribute("region")],r=n[e.getAttribute("style")],l=n,d="http://www.w3.org/ns/ttml#styling",u=null,(h=null!=i&&i.hasAttribute("style")?i.getAttribute("style"):null)&&l.hasOwnProperty(h)&&(u=l[h]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>
16{let a=oO(r,d,t)||oO(i,d,t)||oO(u,d,t);return a&&(e[t]=a),e},{})),{textAlign:y}=E;if(y){let e=oD[y];e&&(g.lineAlign=e),g.align=y}return tY(g,E),g}).filter(e=>null!==e)}(e,n)))}catch(e){r(e)}}function oM(e,t,i){let r=e.getElementsByTagName(t)[0];return r?[].slice.call(r.querySelectorAll(i)):[]}function oP(e){return e.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function oO(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function oN(e){return Error(`Could not parse ttml timestamp ${e}`)}function oU(e,t){var i,r;let a,s;if(!e)return null;let n=og(e);return null===n&&(ow.test(e)?(i=e,r=t,s=(0|(a=ow.exec(i))[4])+(0|a[5])/r.subFrameRate,n=(0|a[1])*3600+(0|a[2])*60+(0|a[3])+s/r.frameRate):oC.test(e)&&(n=function(e,t){let i=oC.exec(e),r=Number(i[1]);switch(i[2]){case"h":return 3600*r;case"m":return 60*r;case"ms":return 1e3*r;case"f":return r/t.frameRate;case"t":return r/t.tickRate}return r}(e,t))),n}class oF{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}function oB(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function o$(e,t){return!!e&&e.kind===oB(t)&&s5(t,e)}function oH(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}let oG=/\s/,oV={newCue(e,t,i,r){let a,s,n,o,l,d=[],u=self.VTTCue||self.TextTrackCue;for(let c=0;c<r.rows.length;c++)if(a=r.rows[c],n=!0,o=0,l="",!a.isEmpty()){var h;for(let e=0;e<a.chars.length;e++)oG.test(a.chars[e].uchar)&&n?o++:(l+=a.chars[e].uchar,n=!1);a.cueStartTime=t,t===i&&(i+=1e-4),o>=16?o--:o++;let r=oT(l.trim()),m=oL(t,i,r);null!=e&&null!=(h=e.cues)&&h.getCueById(m)||((s=new u(t,i,r)).id=m,s.line=c+1,s.align="left",s.position=10+Math.min(80,10*Math.floor(8*o/32)),d.push(s))}return e&&d.length&&(d.sort((e,t)=>"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line),d.forEach(t=>nW(e,t))),d}},oK=/(\d+)-(\d+)\/(\d+)/;class oW{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||oq,this.controller=new self.AbortController,this.stats=new ie}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){var r;let a,s=this.stats;if(s.loading.start)throw Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=(r=e,a={method:"GET",mode:"cors",credentials:"same-origin",signal:this.controller.signal,headers:new self.Headers(tY({},r.headers))},r.rangeEnd&&a.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),a),o="arraybuffer"===e.responseType,l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&tM(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},t.timeout),(sX(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(i=>{var r;this.response=this.loader=i;let a=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},u-(a-s.loading.start)),!i.ok){let{status:e,statusText:t}=i;throw new oj(t||"fetch, bad network response",e,i)}s.loading.first=a,s.total=function(e){let t=e.get("Content-Range");if(t){let e=function(e){let t=oK.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(tM(e))return e}let i=e.get("Content-Length");if(i)return parseInt(i)}(i.headers)||s.total;let n=null==(r=this.callbacks)?void 0:r.onProgress;return n&&tM(t.highWaterMark)?this.loadProgressively(i,s,e,t.highWaterMark,n):o?i.arrayBuffer():"json"===e.responseType?i.json():i.text()}).then(i=>{var r,a;let n=this.response;if(!n)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let o=i[l];o&&(s.loaded=s.total=o);let d={url:n.url,data:i,code:n.status},u=null==(r=this.callbacks)?void 0:r.onProgress;u&&!tM(t.highWaterMark)&&u(s,e,i,n),null==(a=this.callbacks)||a.onSuccess(d,s,e,n)}).catch(t=>{var i;if(self.clearTimeout(this.requestTimeout),s.aborted)return;let r=t&&t.code||0,a=t?t.message:null;null==(i=this.callbacks)||i.onError({code:r,text:a}
16,e,t?t.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,r=0,a){let s=new aX,n=e.body.getReader(),o=()=>n.read().then(n=>{if(n.done)return s.dataLength&&a(t,i,s.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let l=n.value,d=l.length;return t.loaded+=d,d<r||s.dataLength?(s.push(l),s.dataLength>=r&&a(t,i,s.flush().buffer,e)):a(t,i,l.buffer,e),o()}).catch(()=>Promise.reject());return o()}}function oq(e,t){return new self.Request(e.url,t)}class oj extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}let oY=/^age:\s*[\d.]+\s*$/im;class oz{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new ie,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let i=this.loader=new self.XMLHttpRequest,r=this.stats;r.loading.first=0,r.loaded=0,r.aborted=!1;let a=this.xhrSetup;a?Promise.resolve().then(()=>{if(this.loader===i&&!this.stats.aborted)return a(i,t.url)}).catch(e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),a(i,t.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(e=>{var a;null==(a=this.callbacks)||a.onError({code:i.status,text:e.message},t,i,r)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let r=t.headers,{maxTimeToFirstByteMs:a,maxLoadTimeMs:s}=i.loadPolicy;if(r)for(let t in r)e.setRequestHeader(t,r[t]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=a&&tM(a)?a:s,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let r=t.readyState,a=this.config;if(!i.aborted&&r>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),a.timeout!==a.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),a.timeout=a.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===r)){var s,n,o;self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let r=t.status,l="text"===t.responseType?t.responseText:null;if(r>=200&&r<300){let a=null!=l?l:t.response;if(null!=a){i.loading.end=Math.max(self.performance.now(),i.loading.first),i.loaded=i.total="arraybuffer"===t.responseType?a.byteLength:a.length,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first);let o=null==(s=this.callbacks)?void 0:s.onProgress;o&&o(i,e,a,t);let l={url:t.responseURL,data:a,code:r};null==(n=this.callbacks)||n.onSuccess(l,i,e,t);return}}let d=a.loadPolicy.errorRetry;ru(d,i.retry,!1,{url:e.url,data:void 0,code:r})?this.retry(d):(t2.error(`${r} while loading ${e.url}`),null==(o=this.callbacks)||o.onError({code:r,text:t.statusText},e,t,i))}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry;if(ru(e,this.stats.retry,!0))this.retry(e);else{var t;t2.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);let e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}
16retry(e){let{context:t,stats:i}=this;this.retryDelay=rl(e,i.retry),i.retry++,t2.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&oY.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let oQ=tQ(tQ({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:1/0,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:oz,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class extends tX{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.co
16decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=e=>{var t;let i,{fragCurrent:r,partCurrent:a,hls:s}=this,{autoLevelEnabled:n,media:o}=s;if(!r||!o)return;let l=performance.now(),d=a?a.stats:r.stats,u=a?a.duration:r.duration,h=l-d.loading.start,c=s.minAutoLevel,m=r.level,f=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||m<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n)return;let p=f>-1&&f!==m,g=!!e||p;if(!g&&(o.paused||!o.playbackRate||!o.readyState))return;let E=s.mainForwardBufferInfo;if(!g&&null===E)return;let y=this.bwEstimator.getEstimateTTFB(),b=Math.abs(o.playbackRate);if(h<=Math.max(y,u/(2*b)*1e3))return;let T=E?E.len/b:0,A=d.loading.first?d.loading.first-d.loading.start:-1,_=d.loaded&&A>-1,S=this.getBwEstimate(),k=s.levels,L=k[m],R=Math.max(d.loaded,Math.round(u*(r.bitrate||L.averageBitrate)/8)),I=_?h-A:h;I<1&&_&&(I=Math.min(h,8*d.loaded/S));let w=_?1e3*d.loaded/I:0,C=y/1e3,D=w?(R-d.loaded)/w:8*R/S+C;if(D<=T)return;let x=w?8*w:S,M=(null==(t=(null==e?void 0:e.details)||this.hls.latestLevelDetails)?void 0:t.live)===!0,P=this.hls.config.abrBandWidthUpFactor,O=1/0;for(i=m-1;i>c;i--){let e=k[i].maxBitrate,t=!k[i].details||M;if((O=this.getTimeToLoadFrag(C,x,u*e,t))<Math.min(T,u+C))break}if(O>=D||O>10*u)return;_?this.bwEstimator.sample(h-Math.min(y,A),d.loaded):this.bwEstimator.sampleTTFB(h);let N=k[i].maxBitrate;this.getBwEstimate()*P>N&&this.resetEstimator(N);let U=this.findBestLevel(N,c,i,0,T,1,1);U>-1&&(i=U),this.warn(`Fragment ${r.sn}${a?" part "+a.index:""} of level ${m} is loading too slowly;
17      Fragment duration: ${r.duration.toFixed(3)}
18      Time to underbuffer: ${T.toFixed(3)} s
19      Estimated load time for current fragment: ${D.toFixed(3)} s
20      Estimated load time for down switch fragment: ${O.toFixed(3)} s
21      TTFB estimate: ${0|A} ms
22      Current BW estimate: ${tM(S)?0|S:"Unknown"} bps
23      New BW estimate: ${0|this.getBwEstimate()} bps
24      Switching to level ${i} @ ${0|N} bps`),s.nextLoadLevel=s.nextAutoLevel=i,this.clearTimer();let F=()=>{if(this.clearTimer(),this.fragCurrent===r&&this.hls.loadLevel===i&&i>0){let e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${i>0?"and switching down":""}
25      Fragment duration: ${r.duration.toFixed(3)} s
26      Time to underbuffer: ${e.toFixed(3)} s`),r.abortRequests(),this.fragCurrent=this.partCurrent=null,i>c){let t=this.findBestLevel(this.hls.levels[c].bitrate,c,i,0,e,1,1);-1===t&&(t=c),this.hls.nextLoadLevel=this.hls.nextAutoLevel=t,this.resetEstimator(this.hls.levels[t].bitrate)}}};p||D>2*O?F():this.timer=self.setInterval(F,1e3*O),s.trigger(tF.FRAG_LOAD_EMERGENCY_ABORTED,{frag:r,part:a,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new tj(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(tF.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let i=t.frag;
26if(!this.ignoreFragment(i)){if(!i.bitrateTest){var r;this.fragCurrent=i,this.partCurrent=null!=(r=t.part)?r:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case tU.FRAG_LOAD_TIMEOUT:{let e=t.frag,{fragCurrent:i,partCurrent:r}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){let t=performance.now(),i=r?r.stats:e.stats,a=t-i.loading.start,s=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&s>-1){let e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(a-Math.min(e,s),i.loaded)}else this.bwEstimator.sampleTTFB(a)}}}}getTimeToLoadFrag(e,t,i,r){let a=r?e+this.lastLevelLoadSec:0;return e+i/t+a}onLevelLoaded(e,t){let i=this.hls.config,{loading:r}=t.stats,a=r.end-r.first;tM(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:i}){let r=i?i.stats:t.stats;if(t.type===tV&&this.bwEstimator.sampleTTFB(r.loading.first-r.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let e=i?i.duration:t.duration,a=this.hls.levels[t.level],s=(a.loaded?a.loaded.bytes:0)+r.loaded,n=(a.loaded?a.loaded.duration:0)+e;a.loaded={bytes:s,duration:n},a.realBitrate=Math.round(8*s/n)}if(t.bitrateTest){let e={stats:r,frag:t,part:i,id:t.type};this.onFragBuffered(tF.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:r}=t,a=null!=r&&r.stats.loaded?r.stats:i.stats;if(a.aborted||this.ignoreFragment(i))return;let s=a.parsing.end-a.loading.start-Math.min(a.loading.first-a.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(s,a.loaded),a.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==tV||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),r=this.hls.config.maxStarvationDelay,a=this.findBestLevel(i,t,e,0,r,1,1);if(a>-1)return a;let s=this.hls.firstLevel,n=Math.min(Math.max(s,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${s} clamped to ${n}`),n}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(-1!==e&&(!t||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){let t=this.hls.levels;if(t.length>Math.max(e,r)&&t[e].loadError<=t[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}
26_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;let{maxAutoLevel:r,config:a,minAutoLevel:s}=i,n=t?t.duration:e?e.duration:0,o=this.getBwEstimate(),l=this.getStarvationDelay(),d=a.abrBandWidthFactor,u=a.abrBandWidthUpFactor;if(l){let e=this.findBestLevel(o,s,r,l,0,d,u);if(e>=0)return this.rebufferNotice=-1,e}let h=n?Math.min(n,a.maxStarvationDelay):a.maxStarvationDelay;if(!l){let e=this.bitrateTestDelay;e&&(h=(n?Math.min(n,a.maxLoadingDelay):a.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),d=u=1)}let c=this.findBestLevel(o,s,r,l,h,d,u);if(this.rebufferNotice!==c&&(this.rebufferNotice=c,this.info(`${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${c}`)),c>-1)return c;let m=i.levels[s],f=i.loadLevelObj;return f&&(null==m?void 0:m.bitrate)<f.bitrate?s:i.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,r=e.mainForwardBufferInfo;return(r?r.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,r,a,s,n){var o,l;let d,u=r+a,h=this.lastLoadedFragLevel,c=-1===h?this.hls.firstLevel:h,{fragCurrent:m,partCurrent:f}=this,{levels:p,allAudioTracks:g,loadLevel:E,config:y}=this.hls;if(1===p.length)return 0;let b=p[c],T=!!(null!=(o=this.hls.latestLevelDetails)&&o.live),A=-1===E||-1===h,_="SDR",S=(null==b?void 0:b.frameRate)||0,{audioPreference:k,videoPreference:L}=y,R=this.audioTracksByGroup||(this.audioTracksByGroup=i3(g)),I=-1;if(A){if(-1!==this.firstSelection)return this.firstSelection;let r=function(e,t,i,r,a){let s=Object.keys(e),n=null==r?void 0:r.channels,o=null==r?void 0:r.audioCodec,l=null==a?void 0:a.videoCodec,d=n&&2===parseInt(n),u=!1,h=!1,c=1/0,m=1/0,f=1/0,p=1/0,g=0,E=[],{preferHDR:y,allowedVideoRanges:b}=function(e,t){let i=!1,r=[];if(e&&(i="SDR"!==e,r=[e]),t){let e="SDR"!==(r=t.allowedVideoRanges||iQ.slice(0)).join("")&&!t.videoCodec;(i=void 0!==t.preferHDR?t.preferHDR:e&&function(){if("function"==typeof matchMedia){let e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}())||(r=["SDR"])}return{preferHDR:i,allowedVideoRanges:r}}(t,a);for(let t=s.length;t--;){let i=e[s[t]];u||(u=i.channels[2]>0),c=Math.min(c,i.minHeight),m=Math.min(m,i.minFramerate),f=Math.min(f,i.minBitrate),b.filter(e=>i.videoRanges[e]>0).length>0&&(h=!0)}c=tM(c)?c:0,m=tM(m)?m:0;let T=Math.max(1080,c),A=Math.max(30,m);i=Math.max(f=tM(f)?f:i,i),h||(t=void 0);let _=s.length>1;return{codecSet:s.reduce((t,r)=>{let a=e[r];if(r===t)return t;if(E=h?b.filter(e=>a.videoRanges[e]>0):[],_){if(a.minBitrate>i)return i2(r,`min bitrate of ${a.minBitrate} > current estimate of ${i}`),t;if(!a.hasDefaultAudio)return i2(r,"no renditions with default or auto-select sound found"),t;if(o&&r.indexOf(o.substring(0,4))%5!=0)return i2(r,`audio codec preference "${o}" not found`),t;if(n&&!d){if(!a.channels[n])return i2(r,`no renditions with ${n} channel sound found (channels options: ${Object.keys(a.channels)})`),t}else if((!o||d)&&u&&0===a.channels["2"])return i2(r,"no renditions with stereo sound found"),t;if(a.minHeight>T)return i2(r,`min resolution of ${a.minHeight} > maximum of ${T}`),t;if(a.minFramerate>A)return i2(r,`min framerate of ${a.minFramerate} > maximum of ${A}`),t;if(!E.some(e=>a.videoRanges[e]>0))return i2(r,`no variants with VIDEO-RANGE of ${i1(E)} found`),t;if(l&&r.indexOf(l.substring(0,4))%5!=0)return i2(r,`video codec preference "${l}" not found`),t;if(a.maxScore<g)return i2(r,`max score of ${a.maxScore} < selected max of ${g}`),t}return t&&(iN(r)>=iN(t)||a.fragmentError>e[t].fragmentError)?t:(p=a.minIndex,g=a.maxScore,r)},void 0),videoRanges:E,preferHDR:y,minFramerate:m,minBitrate:f,minIndex:p}}(this.codecTiers||(this.codecTiers=p.slice(t,i+1).reduce((e,t,i)=>{if(!t.codecSet)return e;let r=t.audioGroups,a=e[t.codecSet];a||(e[t.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:i,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!r,fragmentError:0}
26),a.minBitrate=Math.min(a.minBitrate,t.bitrate);let s=Math.min(t.height,t.width);return a.minHeight=Math.min(a.minHeight,s),a.minFramerate=Math.min(a.minFramerate,t.frameRate),a.minIndex=Math.min(a.minIndex,i),a.maxScore=Math.max(a.maxScore,t.score),a.fragmentError+=t.fragmentError,a.videoRanges[t.videoRange]=(a.videoRanges[t.videoRange]||0)+1,r&&r.forEach(e=>{if(!e)return;let t=R.groups[e];t&&(a.hasDefaultAudio=a.hasDefaultAudio||R.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!R.hasDefaultAudio&&!R.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{a.channels[e]=(a.channels[e]||0)+t.channels[e]}))}),e},{})),_,e,k,L),{codecSet:a,videoRanges:s,minFramerate:n,minBitrate:o,minIndex:l,preferHDR:u}=r;I=l,d=a,_=u?s[s.length-1]:s[0],S=n,e=Math.max(e,o),this.log(`picked start tier ${i1(r)}`)}else d=null==b?void 0:b.codecSet,_=null==b?void 0:b.videoRange;let w=f?f.duration:m?m.duration:0,C=this.bwEstimator.getEstimateTTFB()/1e3,D=[];for(let o=i;o>=t;o--){let t,m=p[o],g=o>c;if(!m)continue;if(y.useMediaCapabilities&&!m.supportedResult&&!m.supportedPromise){let t=navigator.mediaCapabilities;"function"==typeof(null==t?void 0:t.decodingInfo)&&function(e,t,i,r,a,s){let n=e.videoCodec,o=e.audioCodec?e.audioGroups:null,l=null==s?void 0:s.audioCodec,d=null==s?void 0:s.channels,u=d?parseInt(d):l?1/0:2,h=null;if(null!=o&&o.length)try{h=1===o.length&&o[0]?t.groups[o[0]].channels:o.reduce((e,i)=>{if(i){let r=t.groups[i];if(!r)throw Error(`Audio track group ${i} not found`);Object.keys(r.channels).forEach(t=>{e[t]=(e[t]||0)+r.channels[t]})}return e},{2:0})}catch(e){return!0}return void 0!==n&&(n.split(",").some(e=>iR(e))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(r,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(a,8e6))||!!h&&tM(u)&&Object.keys(h).some(e=>parseInt(e)>u)}(m,R,_,S,e,k)?(m.supportedPromise=ij(m,R,t,this.supportedCache),m.supportedPromise.then(e=>{if(!this.hls)return;m.supportedResult=e;let t=this.hls.levels,i=t.indexOf(m);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${i} ${i1(e)}`):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${i} not smooth or powerEfficient: ${i1(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${i} ${i1(e)}`),i>-1&&t.length>1&&(this.log(`Removing unsupported level ${i}`),this.hls.removeLevel(i),-1===this.hls.loadLevel&&(this.hls.nextLoadLevel=0)))}).catch(e=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${e}`)})):m.supportedResult=iW}if((d&&m.codecSet!==d||_&&m.videoRange!==_||g&&S>m.frameRate||!g&&S>0&&S<m.frameRate||null!=(l=m.supportedResult)&&null!=(l=l.decodingInfoResults)&&l.some(e=>!1===e.smooth))&&(!A||o!==I)){D.push(o);continue}let b=m.details,L=(f?null==b?void 0:b.partTarget:null==b?void 0:b.averagetargetduration)||w;t=g?n*e:s*e;let x=w&&r>=2*w&&0===a?m.averageBitrate:m.maxBitrate,M=this.getTimeToLoadFrag(C,t,x*L,void 0===b);if(t>=x&&(o===h||0===m.loadError&&0===m.fragmentError)&&(M<=C||!tM(M)||T&&!this.bitrateTestDelay||M<u)){let e=this.forcedAutoLevel;return o!==E&&(-1===e||e!==E)&&(D.length&&this.trace(`Skipped level(s) ${D.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${p[D[0]].codecs}" ${p[D[0]].videoRange}; not compatible with "${d}" ${_}`),this.info(`switch candidate:${c}->${o} adjustedbw(${Math.round(t)})-bitrate=${Math.round(t-x)} ttfb:${C.toFixed(1)} avgDuration:${L.toFixed(1)} maxFetchDuration:${u.toFixed(1)} fetchDuration:${M.toFixed(1)} firstSelection:${A} codecSet:${m.codecSet} videoRange:${m.videoRange} hls.loadLevel:${E}`)),A&&(this.firstSelection=o),o}}return -1}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}},bufferController:class extends tX{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&(null==(t=this.mediaSource)?void 0:t.readyState)==="open"&&this.hls.pauseBuffer
26ing()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{let{media:t,mediaSource:i}=this;e&&this.log("Media source opened"),t&&i&&(i.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(tF.MEDIA_ATTACHED,{media:t,mediaSource:i}),null!==this.mediaSource&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=function(e){return"u">typeof self&&e===self.ManagedMediaSource}(t3(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){let{hls:e}=this;e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.BUFFER_RESET,this.onBufferReset,this),e.on(tF.BUFFER_APPENDING,this.onBufferAppending,this),e.on(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tF.BUFFER_EOS,this.onBufferEos,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.FRAG_PARSED,this.onFragParsed,this),e.on(tF.FRAG_CHANGED,this.onFragChanged,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.BUFFER_RESET,this.onBufferReset,this),e.off(tF.BUFFER_APPENDING,this.onBufferAppending,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.BUFFER_EOS,this.onBufferEos,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.FRAG_PARSED,this.onFragParsed,this),e.off(tF.FRAG_CHANGED,this.onFragChanged,this),e.off(tF.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let i={};if(this.operationQueue){let e=this.isUpdating();e||this.operationQueue.removeBlockers();let t=this.isQueued();(e||t)&&this.warn(`Transfering MediaSource with${t?" operations in queue":""}${e?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}let r=this.transferData;return!this.sourceBufferCount&&r&&r.mediaSource===t?tY(i,r.tracks):this.sourceBuffers.forEach(e=>{let[t]=e;t&&(i[t]=tY({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:e,mediaSource:t,tracks:i}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var i;let r=2;(!t.audio||t.video)&&t.altAudio||(r=1),this.bufferCodecEventsTotal=r,this.log(`${r} bufferCodec event(s) expected.`),null!=(i=this.transferData)&&i.mediaSource&&this.sourceBufferCount&&r&&this.bufferCreated()}onMediaAttaching(e,t){let i=this.media=t.media;this.transferData=this.overrides=void 0;let r=t3(this.appendSource);if(r){let e=!!t.mediaSource;(e||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let n=this.mediaSource=t.mediaSource||new r;if(this.assignMediaSource(n),e)this._objectUrl=i.src,this.attachTransferred();else{let e=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{var a,s;let t;i.removeAttribute("src");let r=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||r&&n instanceof r,ne(i),a=i,s=e,(t=self.document.createElement("source")).type="video/mp4",t.src=s,a.appendChild(t),i.load()}catch(t){i.src=e}else i.src=e}i.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,i;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"}
26 media source: ${null==(i=e.constructor)?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let i=this.tracks,r=t.tracks,a=r?Object.keys(r):null,s=a?a.length:0,n=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(r&&a&&s){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
27required tracks: ${i1(i,(e,t)=>"initSegment"===e?void 0:t)};
28transfer tracks: ${i1(r,(e,t)=>"initSegment"===e?void 0:t)}}`),!t4(r,i)){t.mediaSource=null,t.tracks=void 0;let a=e.currentTime,s=this.details,n=Math.max(a,(null==s?void 0:s.fragments[0].start)||0);return n-a>1?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${a} -> ${n}`):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(r)}"->"${Object.keys(i)}") start time: ${n} currentTime: ${a}`),this.onMediaDetaching(tF.MEDIA_DETACHING,{}),this.onMediaAttaching(tF.MEDIA_ATTACHING,t),void(e.currentTime=n))}this.transferData=void 0,a.forEach(e=>{let t=r[e];if(t){let i=t.buffer;if(i){let r=this.fragmentTracker,a=t.id;if(r.hasFragments(a)||r.hasParts(a)){let t=rx.getBuffered(i);r.detectEvictedFragments(e,t,a,null,!0)}let s=nt(e),n=[e,i];this.sourceBuffers[s]=n,i.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,t)}}}),n(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),n()}get mediaSourceOpenOrEnded(){var e;let t=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===t||"ended"===t}onMediaDetaching(e,t){let i=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:r,mediaSource:a,_objectUrl:s}=this;if(a){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let e="open"===a.readyState;try{let t=a.sourceBuffers;for(let i=t.length;i--;)e&&t[i].abort(),a.removeSourceBuffer(t[i]);e&&a.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}a.removeEventListener("sourceopen",this._onMediaSourceOpen),a.removeEventListener("sourceended",this._onMediaSourceEnded),a.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.removeEventListener("startstreaming",this._onStartStreaming),a.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}r&&(r.removeEventListener("emptied",this._onMediaEmptied),i||(s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(r.removeAttribute("src"),this.appendSource&&ne(r),r.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(tF.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t,i;let r=null==(t=this.tracks[e])?void 0:t.buffer;if(this.removeBuffer(e),r)try{null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(r)}catch(t){this.warn(`onBufferReset ${e}`,t)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[nt(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new s8(this.tracks)}onBufferCodecs(e,t){var i;let r=this.tracks,a=Object.keys(t);this.log(`BUFFER_CODECS: "${a}" (current SB count ${this.sourceBufferCount})`);let s="audiovideo"in t&&(r.audio||r.video)||r.audiovideo&&("audio"in t||"video"in t),n=!s&&this.sourceBufferCount&&this.media&&a.some(e=>!r[e]);
28s||n?this.warn(`Unsupported transition between "${Object.keys(r)}" and "${a}" SourceBuffers`):(a.forEach(e=>{var i,a;let{id:s,codec:n,levelCodec:o,container:l,metadata:d,supplemental:u}=t[e],h=r[e],c=null==(i=this.transferData)||null==(i=i.tracks)?void 0:i[e],m=null!=c&&c.buffer?c:h,f=(null==m?void 0:m.pendingCodec)||(null==m?void 0:m.codec),p=null==m?void 0:m.levelCodec;h||(h=r[e]={buffer:void 0,listeners:[],codec:n,supplemental:u,container:l,levelCodec:o,metadata:d,id:s});let g=i$(f,p),E=null==g?void 0:g.replace(s9,"$1"),y=i$(n,o),b=null==(a=y)?void 0:a.replace(s9,"$1");y&&g&&E!==b&&("audio"===e.slice(0,5)&&(y=iB(y,this.appendSource)),this.log(`switching codec ${f} to ${y}`),y!==(h.pendingCodec||h.codec)&&(h.pendingCodec=y),h.container=l,this.appendChangeType(e,l,y))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(!(this.bufferCodecEventsTotal>1)||this.tracks.video||t.video||(null==(i=t.audio)?void 0:i.id)!=="main"||(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks()))}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(e,t,i){let r=`${t};codecs=${i}`,a={label:`change-type=${r}`,execute:()=>{let a=this.tracks[e];if(a){let s=a.buffer;null!=s&&s.changeType&&(this.log(`changing ${e} sourceBuffer type to ${r}`),s.changeType(r),a.codec=i,a.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};this.append(a,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;let i=e.start,r=i+.05*e.duration;if((null==(t=this.fragmentTracker.getAppendedFrag(i,tV))?void 0:t.gap)===!0)return;let a={label:"block-audio",execute:()=>{var e;let t=this.tracks.video;(this.lastVideoAppendEnd>r||null!=t&&t.buffer&&rx.isBuffered(t.buffer,r)||(null==(e=this.fragmentTracker.getAppendedFrag(r,tV))?void 0:e.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}};this.blockedAudioAppend={op:a,frag:e},this.append(a,"audio",!0)}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){let{tracks:i}=this,{data:r,type:a,parent:s,frag:n,part:o,chunkMeta:l,offset:d}=t,u=l.buffering[a],{sn:h,cc:c}=n,m=self.performance.now();u.start=m;let f=n.stats.buffering,p=o?o.stats.buffering:null;0===f.start&&(f.start=m),p&&0===p.start&&(p.start=m);let g=i.audio,E=!1;"audio"===a&&(null==g?void 0:g.container)==="audio/mpeg"&&(E=!this.lastMpegAudioChunk||1===l.id||this.lastMpegAudioChunk.sn!==l.sn,this.lastMpegAudioChunk=l);let y=i.video,b=null==y?void 0:y.buffer;if(b&&"initSegment"!==h){let e=o||n,t=this.blockedAudioAppend;if("audio"!==a||"main"===s||this.blockedAudioAppend||y.ending||y.ended){if("video"===a){let i=e.end;if(t){let e=t.frag.start;(i>e||i<this.lastVideoAppendEnd||rx.isBuffered(b,e))&&this.unblockAudio()}this.lastVideoAppendEnd=i}}else{let t=e.start+.05*e.duration,i=b.buffered,r=this.currentOp("video");(i.length||r)&&(r||rx.isBuffered(b,t)||!(this.lastVideoAppendEnd<t))||this.blockAudio(e)}}let T=(o||n).start,A={label:`append-${a}`,execute:()=>{var e;u.executeStart=self.performance.now();let t=null==(e=this.tracks[a])?void 0:e.buffer;t&&(E?this.updateTimestampOffset(t,T,.1,a,h,c):void 0!==d&&tM(d)&&this.updateTimestampOffset(t,d,1e-6,a,h,c)),this.appendExecutor(r,a)},onStart:()=>{},onComplete:()=>{let e=self.performance.now();u.executeEnd=u.end=e,0===f.first&&(f.first=e),p&&0===p.first&&(p.first=e);let t={};this.sourceBuffers.forEach(([e,i])=>{e&&(t[e]=rx.getBuffered(i))}),this.appendErrors[a]=0,"audio"===a||"video"===a?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(tF.BUFFER_APPENDED,{type:a,frag:n,part:o,chunkMeta:l,parent:n.type,timeRanges:t})},onError:e=>{var t;let i={type:tN.MEDIA_ERROR,parent:n.type,details:tU.BUFFER_APPEND_ERROR,sourceBufferName:a,frag:n,part:o,chunkMeta:l,error:e,err:e,fatal:!1},r=null==(t=this.media)?void 0:t.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e)i.details=tU.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!r)i.errorAction=rc(!0);else if(e.name===s6&&0===this.sourceBufferCount)i.errorAction=rc(!0);else{let e=++this.appendErrors[a];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${a}
28" sourceBuffer (${r||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||r)&&(i.fatal=!0)}this.hls.trigger(tF.ERROR,i)}};this.log(`queuing "${a}" append sn: ${h}${o?" p: "+o.index:""} of ${n.type===tV?"level":"track"} ${n.level} cc: ${c}`),this.append(A,a,this.isPending(this.tracks[a]))}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(tF.BUFFER_FLUSHED,{type:e})},onError:r=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,r)}}}onBufferFlushing(e,t){let{type:i,startOffset:r,endOffset:a}=t;i?this.append(this.getFlushOp(i,r,a),i):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,r,a),e)})}onFragParsed(e,t){let{frag:i,part:r}=t,a=[],s=r?r.elementaryStreams:i.elementaryStreams;s[ir]?a.push("audiovideo"):(s[it]&&a.push("audio"),s[ii]&&a.push("video"));let n=()=>{let e=self.performance.now();i.stats.buffering.end=e,r&&(r.stats.buffering.end=e);let t=r?r.stats:i.stats;this.hls.trigger(tF.FRAG_BUFFERED,{frag:i,part:r,stats:t,id:i.type})};0===a.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(n,a).catch(e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([e])=>{if(e){let i=this.tracks[e];(!t.type||t.type===e)&&(i.ending=!0,i.ended||(i.ended=!0,this.log(`${e} buffer reached EOS`)))}});let r=(null==(i=this.overrides)?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t;return e&&!(null!=(t=this.tracks[e])&&t.ended)})?r?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:e}=this;if(!e||"open"!==e.readyState){e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(tF.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(tF.BUFFERED_TO_END,void 0)):"video"===t.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(null!==e){let t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===tU.BUFFER_APPEND_ERROR&&t.frag){var i;let e=null==(i=t.errorAction)?void 0:i.nextAutoLevel;tM(e)&&e!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||null===t||!this.sourceBufferCount)return;let r=e.config,a=i.currentTime,s=t.levelTargetDuration,n=t.live&&null!==r.liveBackBufferLength?r.liveBackBufferLength:r.backBufferLength;if(tM(n)&&n>=0){let e=Math.max(n,s),t=Math.floor(a/s)*s-e;this.flushBackBuffer(a,s,t)}let o=r.frontBufferFlushThreshold;if(tM(o)&&o>0){let e=Math.max(Math.max(r.maxBufferLength,o),s),t=Math.floor(a/s)*s+e;this.flushFrontBuffer(a,s,t)}}flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([e,t])=>{if(t){let a=rx.getBuffered(t);if(a.length>0&&i>a.start(0)){var r;this.hls.trigger(tF.BACK_BUFFER_REACHED,{bufferEnd:i});let t=this.tracks[e];if(null!=(r=this.details)&&r.live)this.hls.trigger(tF.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:e})}}})}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([t,r])=>{if(r){let a=rx.getBuffered(r),s=a.length;if(s<2)return;let n=a.start(s-1),o=a.end(s-1);i>n||e>=n&&e<=o||this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:t})}})}getDurationAndRange(){var e;let{details:t,mediaSource:i}=this;if(!t||!this.media||(null==i?void 0:i.readyState)!=="open")return null;let r=t.edge;
28if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&i.setLiveSeekableRange){let e=Math.max(0,t.fragmentStart),i=Math.max(e,r);return{duration:1/0,start:e,end:i}}return{duration:1/0}}let a=null==(e=this.overrides)?void 0:e.duration;if(a)return tM(a)?{duration:a}:null;let s=this.media.duration;return r>(tM(i.duration)?i.duration:0)&&r>s||!tM(s)?{duration:r}:null}updateMediaSource({duration:e,start:t,end:i}){let r=this.mediaSource;this.media&&r&&"open"===r.readyState&&(r.duration!==e&&(tM(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),r.duration=e),void 0!==t&&void 0!==i&&(this.log(`MediaSource duration is set to ${r.duration}. Setting seekable range to ${t}-${i}.`),r.setLiveSeekableRange(t,i)))}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${i1(i)}`),this.tracksReady){var r;let e=null==(r=this.transferData)?void 0:r.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,i])=>{if(t){let r=this.tracks[t];e[t]={buffer:i,container:r.container,codec:r.codec,supplemental:r.supplemental,levelCodec:r.levelCodec,id:r.id,metadata:r.metadata}}}),this.hls.trigger(tF.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let a in e){let s=e[a];if(this.isPending(s)){let e=this.getTrackCodec(s,a),n=`${s.container};codecs=${e}`;s.codec=e,this.log(`creating sourceBuffer(${n})${this.currentOp(a)?" Queued":""} ${i1(s)}`);try{let e=i.addSourceBuffer(n),r=nt(a),o=[a,e];t[r]=o,s.buffer=e}catch(e){var r;this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(a),null==(r=this.operationQueue)||r.removeBlockers(),delete this.tracks[a],this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:a,mimeType:n,parent:s.id});return}this.trackSourceBuffer(a,s)}}this.bufferCreated()}getTrackCodec(e,t){let i=e.supplemental,r=e.codec;i&&("video"===t||"audiovideo"===t)&&ix(i,"video")&&(r=function(e,t){let i=[];if(e){let t=e.split(",");for(let e=0;e<t.length;e++)iD(t[e],"video")||i.push(t[e])}return t&&i.push(t),i.join(",")}(r,i));let a=i$(r,e.levelCodec);return a?"audio"===t.slice(0,5)?iB(a,this.appendSource):a:""}trackSourceBuffer(e,t){let i=t.buffer;if(!i)return;let r=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:r,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(e,t)=>{let i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(tF.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t;let i=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==i?void 0:i.src}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if((null==(t=this.mediaSource)?void 0:t.readyState)==="closed")return void this.resetBuffer(e);let i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i;let r=Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${r}`,t),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);a&&a.onError(r)}updateTimestampOffset(e,t,i,r,a,s){Math.abs(t-e.timestampOffset)>=i&&(this.log(`Updating ${r} SourceBuffer timestampOffset to ${t} (sn: ${a} cc: ${s})`),e.timestampOffset=t)}removeExecutor(e,t,i){let{media:r,mediaSource:a}=this,s=this.tracks[e],n=null==s?void 0:s.buffer;if(!r||!a||!n){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}let o=tM(r.duration)?r.duration:1/0,l=tM(a.duration)?a.duration:1/0,d=Math.max(0,t),u=Math.min(i,o,l);u>d&&(!s.ending||s.ended)?(s.ended=!1,this.log(`Removing [${d},${u}] from the ${e} SourceBuffer`),n.remove(d,u)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){let i=this.tracks[t],r=null==i?void 0:i.buffer;if(!r)throw new s7(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,r.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn(`SourceBuffer blocked callback ${e}
28`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:i}=this,r=t.map(e=>this.appendBlocker(e));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(r).then(t=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t;let i=null==(t=this.tracks[e])?void 0:t.buffer;i&&!i.updating&&this.shiftAndExecuteNext(e)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+ +!!this.isPending(this.tracks[t]),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+ +!!t,0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){let r=this.tracks[e];if(!r)return;let a=r.buffer;if(!a)return;let s=i.bind(this,e);r.listeners.push({event:t,listener:s}),a.addEventListener(t,s)}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let i=t.buffer;i&&(t.listeners.forEach(e=>{i.removeEventListener(e.event,e.listener)}),t.listeners.length=0)}},capLevelController:ni,errorController:class extends tX{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tF.ERROR,this.onError,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tF.ERROR,this.onError,this),e.off(tF.ERROR,this.onErrorOut,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===tV?e.level:this.getVariantIndex()}getVariantIndex(){var e;let t=this.hls,i=t.currentLevel;return null!=(e=t.loadLevelObj)&&e.details||-1===i?t.loadLevel:i}variantHasKey(e,t){if(e){var i;if(null!=(i=e.details)&&i.hasKey(t))return!0;let r=e.audioGroups;if(r)return this.hls.allAudioTracks.filter(e=>r.indexOf(e.groupId)>=0).some(e=>{var i;return null==(i=e.details)?void 0:i.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,r,a;if(t.fatal)return;let s=this.hls,n=t.context;switch(t.details){case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case tU.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap){t.errorAction=rc();return}case tU.FRAG_GAP:case tU.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=2;return;case tU.LEVEL_EMPTY_ERROR:case tU.LEVEL_PARSING_ERROR:{let e=t.parent===tV?t.level:s.loadLevel;t.details===tU.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(r=r.levelDetails)&&r.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case tU.LEVEL_LOAD_ERROR:case tU.LEVEL_LOAD_TIMEOUT:"number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case tU.AUDIO_TRACK_LOAD_ERROR:case tU.AUDIO_TRACK_LOAD_TIMEOUT:case tU.SUBTITLE_LOAD_ERROR:case tU.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let e=s.loadLevelObj;e&&(n.type===tH&&e.hasAudioGroup(n.groupId)||n.type===tG&&e.hasSubtitleGroup(n.groupId))&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.loadLevel),t.errorAction.action=2,t.errorAction.flags=1)}return;case tU.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:2,flags:2};return;case tU.KEY_SYSTEM_SESSION_UPDATE_FAILED:case tU.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case tU.KEY_SYSTEM_NO_SESSION:t.errorAction={action:2,flags:4};return;
28case tU.BUFFER_ADD_CODEC_ERROR:case tU.REMUX_ALLOC_ERROR:case tU.BUFFER_APPEND_ERROR:t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(a=t.level)?a:s.loadLevel));return;case tU.INTERNAL_EXCEPTION:case tU.BUFFER_APPENDING_ERROR:case tU.BUFFER_FULL_ERROR:case tU.LEVEL_SWITCH_ERROR:case tU.BUFFER_STALLED_ERROR:case tU.BUFFER_SEEK_OVER_HOLE:case tU.BUFFER_NUDGE_ON_STALL:t.errorAction=rc();return}t.type===tN.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=rc())}getPlaylistRetryOrSwitchAction(e,t){let i=ro(this.hls.config.playlistLoadPolicy,e),r=this.playlistError++;if(ru(i,r,ra(e),e.response))return{action:5,flags:0,retryConfig:i,retryCount:r};let a=this.getLevelSwitchAction(e,t);return i&&(a.retryConfig=i,a.retryCount=r),a}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),r=t.levels[i],{fragLoadPolicy:a,keyLoadPolicy:s}=t.config,n=ro(rs(e)?s:a,e),o=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(r&&(e.details!==tU.FRAG_GAP&&r.fragmentError++,!rn(e))&&ru(n,o,ra(e),e.response))return{action:5,flags:0,retryConfig:n,retryCount:o};let l=this.getLevelSwitchAction(e,i);return n&&(l.retryConfig=n,l.retryCount=o),l}getLevelSwitchAction(e,t){let i=this.hls;null==t&&(t=i.loadLevel);let r=this.hls.levels[t];if(r){var a,s,n,o;let t=e.details;r.loadError++,t===tU.BUFFER_APPEND_ERROR&&r.fragmentError++;let l=-1,{levels:d,loadLevel:u,minAutoLevel:h,maxAutoLevel:c}=i;i.autoLevelEnabled||i.config.preserveManualLevelOnError||(i.loadLevel=-1);let m=null==(a=e.frag)?void 0:a.type,f=(m===tK&&t===tU.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===tU.BUFFER_ADD_CODEC_ERROR||t===tU.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:e})=>r.audioCodec!==e),p="video"===e.sourceBufferName&&(t===tU.BUFFER_ADD_CODEC_ERROR||t===tU.BUFFER_APPEND_ERROR)&&d.some(({codecSet:e,audioCodec:t})=>r.codecSet!==e&&r.audioCodec===t),{type:g,groupId:E}=null!=(s=e.context)?s:{};for(let i=d.length;i--;){let a=(i+u)%d.length;if(a!==u&&a>=h&&a<=c&&0===d[a].loadError){let i=d[a];if(t===tU.FRAG_GAP&&m===tV&&e.frag){let t=d[a].details;if(t){let i=rt(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else if(g===tH&&i.hasAudioGroup(E)||g===tG&&i.hasSubtitleGroup(E))continue;else if(m===tK&&null!=(n=r.audioGroups)&&n.some(e=>i.hasAudioGroup(e))||m===tW&&null!=(o=r.subtitleGroups)&&o.some(e=>i.hasSubtitleGroup(e))||f&&r.audioCodec===i.audioCodec||p&&r.codecSet===i.codecSet||!f&&r.codecSet!==i.codecSet)continue;l=a;break}}if(l>-1&&i.loadLevel!==l)return e.levelRetry=!0,this.playlistError=0,{action:2,flags:0,nextAutoLevel:l}}return{action:2,flags:1}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case 0:break;case 2:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===tU.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):t.fatal=!0}if(t.fatal)return void this.hls.stopLoad()}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:r}=i,a=i.nextAutoLevel;switch(r){case 0:this.switchLevel(e,a);break;case 2:{let r=this.getVariantLevelIndex(e.frag),a=t.levels[r],s=null==a?void 0:a.attrs["HDCP-LEVEL"];if(i.hdcpLevel=s,"NONE"===s)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(s){t.maxHdcpLevel=iz[iz.indexOf(s)-1],i.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case 4:{let t=e.decryptdata;if(t){let r=this.hls.levels,a=r.length;for(let i=a;i--;)if(this.variantHasKey(r[i],t)){var s,n;this.log(`Banned key found in level ${i} (${r[i].bitrate}bps) or audio group "${null==(s=r[i].audioGroups)?void 0:s.join(",")}" (${null==(n=e.frag)?void 0:n.type} fragment) ${t8(t.keyId||[])}`),r[i].fragmentError++,r[i].loadError++,this.log(`Removing level ${i} with key error (${e.error})`),this.hls.removeLevel(i)}let o=e.frag;if(this.hls.levels.length<a)i.resolved=!0;else if(o&&o.type!==tV){let e=o.decryptdata;e&&!t.matches(e)&&(i.resolved=!0)}}}}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){if(void 0!==t&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===tU.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&"audiovideo"!==e.sourceBufferName)){let t=iV(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)i[r][`${e.sourceBufferName}Codec`]===t&&(this.log(`Removing level ${r} for ${e.details} ("${t}" not supported)`),this.hls.removeLevel(r))}}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}
28registerListeners(){this.hls.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,i){let r=performance.now();if(t){if(this.lastTime){let e=r-this.lastTime,a=i-this.lastDroppedFrames,s=t-this.lastDecodedFrames,n=1e3*a/e,o=this.hls;if(o.trigger(tF.FPS_DROP,{currentDropped:a,currentDecoded:s,totalDroppedFrames:i}),n>0&&a>o.config.fpsDroppedMonitoringThreshold*s){let e=o.currentLevel;o.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===o.autoLevelCapping||o.autoLevelCapping>=e)&&(e-=1,o.trigger(tF.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:o.currentLevel}),o.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=r,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:r9,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:oV,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends az{constructor(e,t,i){super(e,t,i,"subt
28itle-stream-controller",tW),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tF.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tF.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=aF,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let i,{frag:r,success:a}=t;if(this.fragContextChanged(r)||(is(r)&&(this.fragPrevious=r),this.state=aF),!a)return;let s=this.tracksBuffered[this.currentTrackId];if(!s)return;let n=r.start;for(let e=0;e<s.length;e++)if(n>=s[e].start&&n<=s[e].end){i=s[e];break}let o=r.start+r.duration;i?i.end=o:(i={start:n,end:o},s.push(i)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null),this.media&&this.tick()}onBufferFlushing(e,t){let{startOffset:i,endOffset:r}=t;if(0===i&&r!==1/0){let e=r-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach(t=>{for(let i=0;i<t.length;){if(t[i].end<=e){t.shift();continue}if(t[i].start<e)t[i].start=e;else break;i++}}),this.fragmentTracker.removeFragmentsInRange(i,e,tW)}}onError(e,t){let i=t.frag;(null==i?void 0:i.type)===tW&&(t.details===tU.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==aU&&(this.state=aF))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&s3(this.levels,t)){this.levels=t.map(e=>new iJ(e));return}this.tracksBuffered=[],this.levels=t.map(e=>{let t=new iJ(e);return this.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,1/0,tW),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!(null!=(i=this.levels)&&i.length)||-1===this.currentTrackId)return void this.clearInterval();let r=this.levels[this.currentTrackId];null!=r&&r.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,r&&this.state!==aU&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i,r;let{currentTrackId:a,levels:s}=this,{details:n,id:o}=t;if(!s)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);let l=s[o];if(o>=s.length||!l)return;this.log(`Subtitle track ${o} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(n.live||null!=(i=l.details)&&i.live){if(n.deltaUpdateFailed)return;let e=this.mainDetails;if(!e){this.startFragRequested=!1;return}let t=e.fragments[0];l.details?0===(d=this.alignPlaylists(n,l.details,null==(r=this.levelLastLoaded)?void 0:r.details))&&t&&aA(n,d=t.start):n.hasProgramDateTime&&e.hasProgramDateTime?(aM(n,e),d=n.fragmentStart):t&&aA(n,d=t.start),e&&!this.startFragRequested&&this.setStartPosition(e,d)}l.details=n,this.levelLastLoaded=l,o===a&&(this.hls.trigger(tF.SUBTITLE_TRACK_UPDATED,{details:n,id:o,groupId:t.groupId}),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===aF&&(rt(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,r=t.decryptdata,a=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>
280&&null!=r&&r.key&&r.iv&&rV(r.method)){let e=performance.now();this.decrypter.decrypt(new Uint8Array(i),r.key.buffer,r.iv.buffer,rK(r.method)).catch(e=>{throw a.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e}).then(i=>{let r=performance.now();a.trigger(tF.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:r}})}).catch(e=>{this.warn(`${e.name}: ${e.message}`),this.state=aF})}}doTick(){if(!this.media){this.state=aF;return}if(this.state===aF){let{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;let{config:r}=this,a=this.getLoadPosition(),{end:s,len:n}=rx.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],a,r.maxBufferHole),o=i.details;if(n>this.hls.maxBufferLength+o.levelTargetDuration)return;let l=o.fragments,d=l.length,u=o.edge,h=null,c=this.fragPrevious;if(s<u){let e=r.maxFragLookUpTolerance;(h=rt(c,l,Math.max(l[0].start,s),s>u-e?0:e))||!c||!(c.start<l[0].start)||(h=l[0])}else h=l[d-1];if(!(h=this.filterReplacedPrimary(h,i.details)))return;let m=l[h.sn-o.startSN-1];if(m&&m.cc===h.cc&&this.fragmentTracker.getState(m)===rm&&(h=m),this.fragmentTracker.getState(h)===rm){let e=this.mapToInitFragWhenRequired(h);e&&this.loadFragment(e,i,s)}}}loadFragment(e,t,i){is(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new n6(this.tracksBuffered[this.currentTrackId]||[])}},subtitleTrackController:class extends s2{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null,t=nY(this.media.textTracks);for(let i=0;i<t.length;i++)if("hidden"===t[i].mode)e=t[i];else if("showing"===t[i].mode){e=t[i];break}let i=this.findTrackForTextTrack(e);this.subtitleTrack!==i&&this.setSubtitleTrack(i)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tF.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){let i=this.media;if(!i)return;let r=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,r||nY(i.textTracks).forEac
28h(e=>{nq(e)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Subtitle track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Subtitle track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.subtitleGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.subtitlePreference;if(!a&&t){this.selectDefaultTrack=!1;let i=i5(t,e);if(i>-1)a=e[i];else{let e=i5(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(tF.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:e}),-1!==r&&-1===this.trackId&&this.setSubtitleTrack(r)}}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let r=0;r<t.length;r++){let a=t[r];if((!i||a.default)&&(i||e)&&(!e||i8(a,e)))return r}if(e){for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++)if(s5(t[i],e))return i}return -1}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tG||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(-1===e.id)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&i8(e,i))return i;let r=i5(e,this.tracksInGroup);if(r>-1){let e=this.tracksInGroup[r];return this.setSubtitleTrack(r),e}{if(i)return null;let r=i5(e,t);if(r>-1)return t[r]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tF.SUBTITLE_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}toggleTrackModes(){let e,{media:t}=this;if(!t)return;let i=nY(t.textTracks),r=this.currentTrack;if(r&&((e=i.filter(e=>s5(r,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(i).forEach(t=>{"disabled"!==t.mode&&t!==e&&(t.mode="disabled")}),e){let t=this.subtitleDisplay?"showing":"hidden";e.mode!==t&&(e.mode=t)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!tM(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e]||null;if(this.trackId=e,this.currentTrack=r,this.toggleTrackModes(),!r)return void this.hls.trigger(tF.SUBTITLE_TRACK_SWITCH,{id:e});let a=!!r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:s,groupId:n="",name:o,type:l,url:d}=r;this.hls.trigger(tF.SUBTITLE_TRACK_SWITCH,{id:s,groupId:n,name:o,type:l,url:d});let u=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(u)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oH(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}}
28,e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_LOADED,this.onFragLoaded,this),e.on(tF.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(tF.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tF.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_LOADED,this.onFragLoaded,this),e.off(tF.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(tF.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tF.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new oF(this,"textTrack1"),t=new oF(this,"textTrack2"),i=new oF(this,"textTrack3"),r=new oF(this,"textTrack4");this.cea608Parser1=new om(1,e,t),this.cea608Parser2=new om(3,i,r)}addCues(e,t,i,r,a){let s=!1;for(let e=a.length;e--;){var n,o;let r=a[e],l=(n=r[0],o=r[1],Math.min(o,i)-Math.max(n,t));if(l>=0&&(r[0]=Math.min(r[0],t),r[1]=Math.max(r[1],i),s=!0,l/(i-t)>.5))return}if(s||a.push([t,i]),this.config.renderTextTracksNatively){let a=this.captionsTracks[e];this.Cues.newCue(a,t,i,r)}else{let a=this.Cues.newCue(null,t,i,r);this.hls.trigger(tF.CUES_PARSED,{type:"captions",cues:a,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){let{unparsedVttFrags:n}=this;i===tV&&(this.initPTS[t.cc]={baseTime:r,timescale:a,trackId:s}),n.length&&(this.unparsedVttFrags=[],n.forEach(e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(tF.FRAG_LOADED,e):this.hls.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let r=0;r<i.textTracks.length;r++){let a=i.textTracks[r];if(o$(a,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return a}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:r}=this,{label:a,languageCode:s}=t[e],n=this.getExistingTrack(a,s);if(n)i[e]=n,nq(i[e]),nK(i[e],r);else{let t=this.createTextTrack("captions",a,s);t&&(t[e]=!0,i[e]=t)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(tF.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(e,t,i){let r=this.media;if(r)return r.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){let i=!!t.transferMedia;if(this.media=null,i)return;let{captionsTracks:r}=this;Object.keys(r).forEach(e=>{nq(r[e]),delete r[e]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oH(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;
28if(t)for(let e=0;e<t.length;e++)nq(t[e])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],r=i.some(e=>e.textCodec===oI);if(this.config.enableWebVTT||r&&this.config.enableIMSC1){if(s3(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let e=this.media,t=e?nY(e.textTracks):null;if(this.tracks.forEach((e,i)=>{let r;if(t){let i=null;for(let r=0;r<t.length;r++)if(t[r]&&o$(t[r],e)){i=t[r],t[r]=null;break}i&&(r=i)}if(r)nq(r);else{let t=oB(e);(r=this.createTextTrack(t,e.name,e.lang))&&(r.mode="disabled")}r&&this.textTracks.push(r)}),null!=t&&t.length){let e=t.filter(e=>null!==e).map(e=>e.label);e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let e=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}));this.hls.trigger(tF.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{let t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;let i=`textTrack${t[1]}`,r=this.captionsProperties[i];r&&(r.label=e.name,e.lang&&(r.languageCode=e.lang),r.media=e)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===tV){var i,r;let{cea608Parser1:e,cea608Parser2:a,lastSn:s}=this,{cc:n,sn:o}=t.frag,l=null!=(i=null==(r=t.part)?void 0:r.index)?i:-1;e&&a&&(o!==s+1||o===s&&l!==this.lastPartIndex+1||n!==this.lastCc)&&(e.reset(),a.reset()),this.lastCc=n,this.lastSn=o,this.lastPartIndex=l}}onFragLoaded(e,t){let{frag:i,payload:r}=t;if(i.type===tW)if(r.byteLength){let e=i.decryptdata,a="stats"in t;if(null==e||!e.encrypted||a){let e=this.tracks[i.level],a=this.vttCCs;a[i.cc]||(a[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===oI?this._parseIMSC1(i,r):this._parseVTTs(t)}}else this.hls.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;ox(t,this.initPTS[e.cc],t=>{this._appendCues(t,e.level),i.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},t=>{i.logger.log(`Failed to parse IMSC1: ${t}`),i.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})}_parseVTTs(e){var t,i,r,a,s,n,o,l;let d,u,h,c,m,f,p,g,E,{frag:y,payload:b}=e,{initPTS:T,unparsedVttFrags:A}=this,_=T.length-1;if(!T[y.cc]&&-1===_)return void A.push(e);let S=this.hls;i=null!=(t=y.initSegment)&&t.data?ik(y.initSegment.data,new Uint8Array(b)).buffer:b,r=this.initPTS[y.cc],a=this.vttCCs,s=y.cc,n=y.start,o=e=>{this._appendCues(e,y.level),S.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:y})},l=t=>{let i="Missing initPTS for VTT MPEGTS"===t.message;i?A.push(e):this._fallbackToIMSC1(y,b),S.logger.log(`Failed to parse VTT cue: ${t}`),i&&_>y.cc||S.trigger(tF.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:y,error:t})},u=new oA,h=t5(new Uint8Array(i)).trim().replace(o_,"\n").split("\n"),c=[],m=r?function(e,t=1){return sN(e,9e4,1/t)}(r.baseTime,r.timescale):0,f="00:00.000",p=0,g=0,E=!0,u.oncue=function(e){let t=a[s],i=a.ccOffset,o=(p-m)/9e4;if(null!=t&&t.new&&(void 0!==g?i=a.ccOffset=t.start:oR(a,s,o)),o){if(!r){d=Error("Missing initPTS for VTT MPEGTS");return}i=o-a.presentationOffset}let l=e.endTime-e.startTime,u=sV((e.startTime+i-g)*9e4,9e4*n)/9e4;e.startTime=Math.max(u,0),e.endTime=Math.max(u+l,0);let h=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(h)),e.id||(e.id=oL(e.startTime,e.endTime,h)),e.endTime>0&&c.push(e)},u.onparsingerror=function(e){d=e},u.onflush=function(){d?l(d):o(c)},h.forEach(e=>{if(E)if(oS(e,"X-TIMESTAMP-MAP=")){E=!1,e.slice(16).split(",").forEach(e=>{oS(e,"LOCAL:")?f=e.slice(6):oS(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))});try{g=ok(f)/1e3}catch(e){d=e}return}else""===e&&(E=!1);u.parse(e+"\n")}),u.flush()}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||ox(t,this.initPTS[e.cc],()=>{i.textCodec=oI,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let i=this.textTracks[t];if(!i||"disabled"===i.mode)return;
28e.forEach(e=>nW(i,e))}else{let r=this.tracks[t];if(!r)return;let a=r.default?"default":"subtitles"+t;i.trigger(tF.CUES_PARSED,{type:"subtitles",cues:e,track:a})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===tW&&this.onFragLoaded(tF.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:i,samples:r}=t;if(i.type!==tV||"NONE"!==this.closedCaptionsForLevel(i))for(let e=0;e<r.length;e++){let t=r[e].bytes;if(t){this.cea608Parser1||this.initCea608Parsers();let i=this.extractCea608Data(t);this.cea608Parser1.addData(r[e].pts,i[0]),this.cea608Parser2.addData(r[e].pts,i[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:r,type:a}){let{media:s}=this;if(s&&!(s.currentTime<i)){if(!a||"video"===a){let{captionsTracks:e}=this;Object.keys(e).forEach(r=>nj(e[r],t,i))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==r){let{textTracks:e}=this;Object.keys(e).forEach(i=>nj(e[i],t,r))}}}extractCea608Data(e){let t=[[],[]],i=31&e[0],r=2;for(let a=0;a<i;a++){let i=e[r++],a=127&e[r++],s=127&e[r++];if((0!==a||0!==s)&&(4&i)!=0){let e=3&i;(0===e||1===e)&&(t[e].push(a),t[e].push(s))}}return t}},audioStreamController:class extends az{constructor(e,t,i){super(e,t,i,"audio-stream-controller",tK),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tF.BUFFER_RESET,this.onBufferReset,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tF.FRAG_LOADING,this.onFragLoading,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tF.BUFFER_RESET,this.onBufferReset,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tF.FRAG_LOADING,this.onFragLoading,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){if(i===tV){let e=t.cc,i=this.fragCurrent;if(this.initPTS[e]={baseTime:r,timescale:a,trackId:s},this.log(`InitPTS for cc: ${e} found from main: ${r/a} (${r}/${a}) trackId: ${s}`),this.mainAnchor=t,this.state===aj){let i=this.waitingData;(i||this.loadingParts)&&(!i||i.frag.cc===e)||this.syncWithAnchor(t,null==i?void 0:i.frag)}else!this.hls.hasEnoughToStart&&i&&i.cc!==e?(i.abortRequests(),this.syncWithAnchor(t,i)):this.state===aF&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i;let r=(null==(i=this.mainFragLoading)?void 0:i.frag)||null;if(t&&(null==r?void 0:r.cc)===t.cc)return;let a=(r||e).cc,s=rr(this.getLevelDetails(),a,this.getLoadPosition());s&&(this.log(`Syncing with main frag at ${s.start} cc ${s.cc}`),this.startFragRequested=!1,this.nextLoadPosition=s.start,this.resetLoadingState(),this.state===aF&&this.doTickIdle())}
28startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=aU;return}let i=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),i>0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=aF):this.state=aG,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case aF:this.doTickIdle();break;case aG:{let{levels:e,trackId:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(r&&!this.waitForLive(i)){if(this.waitForCdnTuneIn(r))break;this.state=aj}break}case aH:this.checkRetryDate();break;case aj:{let e=this.waitingData;if(e){let{frag:t,part:i,cache:r,complete:a}=e,s=this.mainAnchor;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.state=a$;let e={frag:t,part:i,payload:r.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),a&&super._handleFragmentLoadComplete(e)}else s&&s.cc!==e.frag.cc&&this.syncWithAnchor(s,e.frag)}else this.state=aF}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){let{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;let{hls:t,levels:i,media:r,trackId:a}=this,s=t.config;if(!this.buffering||!r&&!this.primaryPrefetch&&(this.startFragRequested||!s.startFragPrefetch)||!(null!=i&&i[a]))return;let n=i[a],o=n.details;if(!o||this.waitForLive(n)||this.waitForCdnTuneIn(o)){this.state=aG,this.startFragRequested=!1;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,it,tK));let d=this.getFwdBufferInfo(l,tK);if(null===d)return;if(!this.switchingTrack&&this._streamEnded(d,o)){t.trigger(tF.BUFFER_EOS,{type:"audio"}),this.state=aW;return}let u=d.len,h=t.maxBufferLength,c=o.fragments,m=c[0].start,f=this.getLoadPosition(),p=this.flushing?f:d.end;if(this.switchingTrack&&r&&o.PTSKnown&&f<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=m+.05),u>=h&&!this.switchingTrack&&p<c[c.length-1].start)return;let g=this.getNextFragment(p,o);if(g&&this.isLoopLoading(g,p)&&(g=this.getNextFragmentLoopLoading(g,o,d,tV,h)),!g){this.bufferFlushed=!0;return}let E=(null==(e=this.mainFragLoading)?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&E&&is(g)&&!g.endList&&(!o.live||!this.loadingParts&&p<this.hls.liveSyncPosition)&&("OK"===this.fragmentTracker.getState(E)&&(this.mainFragLoading=E=null),E&&is(E))){if(g.start>E.end){let e=this.fragmentTracker.getFragAtPos(p,tV);e&&e.end>E.end&&(E=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(g.start>E.end)return}this.loadFragment(g,n,p)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new iJ(e))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:r}=this;r&&(r.abortRequests(),this.removeUnbufferedFrags(r.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==aU&&(this.setInterval(100),this.state=aF,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;let i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(tF.AUDIO_TRACK_LOADED,i))}onAudioTrackLoaded(e,t){var i,r;let{levels:a}=this,{details:s,id:n,groupId:o,track:l}=t;if(!a)return void this.warn(`Audio tracks reset while loading track ${n} "${l.name}" of "${o}"`);let d=this.mainDetails;if(!d||s.endCC>d.endCC||d.expired){this.cachedTrackLoadedData=t,this.state!==aU&&(this.state=aG);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${n} "${l.name}" of "${o}" loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:${s.totalduration}`);let u=a[n],h=0;
28if(s.live||null!=(i=u.details)&&i.live){if(this.checkLiveUpdate(s),s.deltaUpdateFailed)return;u.details&&(h=this.alignPlaylists(s,u.details,null==(r=this.levelLastLoaded)?void 0:r.details)),s.alignedSliding||(ax(s,d),s.alignedSliding||aM(s,d),h=s.fragmentStart)}u.details=s,this.levelLastLoaded=u,this.startFragRequested||this.setStartPosition(d,h),this.hls.trigger(tF.AUDIO_TRACK_UPDATED,{details:s,id:n,groupId:t.groupId}),this.state!==aG||this.waitForCdnTuneIn(s)||(this.state=aF),this.tick()}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{config:s,trackId:n,levels:o}=this;if(!o)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let l=o[n];if(!l)return void this.warn("Audio track is undefined on fragment load progress");let d=l.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let u=s.defaultAudioCodec||l.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new s1(this.hls,tK,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let c=this.initPTS[i.cc],m=null==(t=i.initSegment)?void 0:t.data;if(void 0!==c){let e=r?r.index:-1,t=new rw(i.level,i.sn,i.stats.chunkCount,a.byteLength,e,-1!==e);h.push(a,m,u,"",i,r,d.totalduration,!1,t,c)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${n}`);let{cache:e}=this.waitingData=this.waitingData||{frag:i,part:r,cache:new aX,complete:!1};e.push(new Uint8Array(a)),this.state!==aU&&(this.state=aj)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===tV&&is(t.frag)&&(this.mainFragLoading=t,this.state===aF&&this.tick())}onFragBuffered(e,t){let{frag:i,part:r}=t;if(i.type!==tK){this.audioOnly||i.type!==tV||i.elementaryStreams.video||i.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(i))return void this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);if(is(i)){this.fragPrevious=i;let e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(tF.AUDIO_TRACK_SWITCHED,tQ({},e)))}this.fragBufferedComplete(i,r),this.media&&this.tick()}onError(e,t){var i;if(t.fatal){this.state=aq;return}switch(t.details){case tU.FRAG_GAP:case tU.FRAG_PARSING_ERROR:case tU.FRAG_DECRYPT_ERROR:case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tK,t);break;case tU.AUDIO_TRACK_LOAD_ERROR:case tU.AUDIO_TRACK_LOAD_TIMEOUT:case tU.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aG||(null==(i=t.context)?void 0:i.type)!==tH||(this.state=aF);break;case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case tU.BUFFER_FULL_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,1/0,"audio"));break;case tU.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==ii&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ii){this.flushing=!1,this.bufferFlushed=!0,this.state===aW&&(this.state=aF);let e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,tK),this.tick())}}_handleTransmuxComplete(e){var t;let i="audio",{hls:r}=this,{remuxResult:a,chunkMeta:s}=e,n=this.getCurrentContext(s);if(!n)return void this.resetWhenMissingContext(s);let{frag:o,part:l,level:d}=n,{details:u}=d,{audio:h,text:c,id3:m,initSegment:f}=a;if(this.fragContextChanged(o)||!u)return void this.fragmentTracker.removeFragment(o);if(this.state=aV,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),null!=f&&f.tracks){let e=o.initSegment||o;if(this.unhandledEncryptionError(f,o))return;this._bufferInitSegment(d,f.tracks,e,s),r.trigger(tF.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:f.tracks})}if(h){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=h;l&&(l.elementaryStreams[it]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),o.setElementaryStreamInfo(it,e,t,i,r),this.bufferFragmentData(h,o,l,s)}if(null!=m&&null!=(t=m.samples)&&t.length){let e=tY({id:i,frag:o,details:u},m);r.trigger(tF.FRAG_PARSING_METADATA,e)}if(c){let e=tY({id:i,frag:o,details:u},c);r.trigger(tF.FRAG_PARSING_USERDATA,e)}}_bufferInitSegment(e,t,i,r){if(this.state!==aV||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let a=t.audio;a.id=tK;let s=e.audioCodec;this.log(`Init audio buffer, container:${a.container}, codecs[level/parsed]=[${s}/${a.codec}]`),s&&1===s.split(",").length&&(a.levelCodec=s),this.hls.trigger(tF.BUFFER_CODECS,t);let n=a.initSegment;if(null!=n&&n.byteLength){let e={type:"audio",frag:i,part:null,chunkMeta:r,parent:i.type,data:n};this.hls.trigger(tF.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);if(this.switchingTrack||r===rm||r===rp){var a;if(is(e))if(null!=(a=t.details)&&a.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=aj;let i=this.mainDetails;i&&i.fragmentStart!==t.details.fragmentStart&&aM(t.details,i)}else super.loadFragment(e,t,i);else this._loadInitSegment(e,t)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n}=this.bufferedTrack;i8({name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n},e,i9)||(i7(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,1/0,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(tF.AUDIO_TRACK_SWITCHED,tQ({},e))}},audioTrackController:class extends s2{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tF.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tF.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Audio track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Audio track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.audioGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>
28{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.audioPreference;if(!a&&t){let i=i5(t,e,i9);if(i>-1)a=e[i];else{let e=i5(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(tF.AUDIO_TRACKS_UPDATED,{audioTracks:e});let n=this.trackId;if(-1!==r&&-1===n)this.setAudioTrack(r);else if(e.length&&-1===n){var s;let t=Error(`No audio track selected for current audio group-ID(s): ${null==(s=this.groupIds)?void 0:s.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tH||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let a=this.allAudioTracks;
28if(this.selectDefaultTrack=!1,a.length){let s=this.currentTrack;if(s&&i8(e,s,i9))return s;let n=i5(e,this.tracksInGroup,i9);if(n>-1){let e=this.tracksInGroup[n];return this.setAudioTrack(n),e}if(s){var i,r;let s,n,o,l,d,u,h=t.loadLevel;-1===h&&(h=t.firstAutoLevel);let c=(i=t.levels,s=i[r=h],(n=i.reduce((e,t,i)=>{let r=t.uri;return(e[r]||(e[r]=[])).push(i),e},{})[s.uri]).length>1&&(r=Math.max.apply(Math,n)),o=s.videoRange,l=s.frameRate,d=s.codecSet.substring(0,4),(u=i6(i,r,t=>{if(t.videoRange!==o||t.frameRate!==l||t.codecSet.substring(0,4)!==d)return!1;let i=t.audioGroups;return i5(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),i9)>-1}))>-1?u:i6(i,r,t=>{let i=t.audioGroups;return i5(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),i9)>-1}));if(-1===c)return null;t.nextLoadLevel=c}if(e.channels||e.audioCodec){let t=i5(e,a);if(t>-1)return a[t]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a||(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(tF.AUDIO_TRACK_SWITCHING,tQ({},r)),a))return;let s=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(s)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let r=t[i];if((!this.selectDefaultTrack||r.default)&&(!e||i8(e,r,i9)))return i}if(e){let{name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o}=e;for(let e=0;e<t.length;e++)if(i8({name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o},t[e],i9))return e;for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s4(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&i7(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tF.AUDIO_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}},emeController:n$,cmcdController:class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:"m",su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{let{frag:t,part:i}=e,r=this.hls.levels[t.level],a=this.getObjectType(t),s={d:1e3*(i||t).duration,ot:a};("v"===a||"a"===a||"av"==a)&&(s.br=r.bitrate/1e3,s.tb=this.getTopBandwidth(a)/1e3,s.bl=this.getBufferLength(a));let n=i?this.getNextPart(i):this.getNextFrag(t);null!=n&&n.url&&n.url!==t.url&&(s.nor=n.url),this.apply(e,s)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHED,this.onMediaDetached,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHED,this.onMediaDetached,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,r;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(r=t.tracks.video)?void 0:r.buffer}createData(){var e;return{v:1,sf:"h",sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){tY(t,this.createData());let i="i"===t.ot||"v"===t.ot||"av"===t.ot;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);let{includeKeys:r}=this;r&&(t=Object.keys(t).reduce((e,i)=>(r.includes(i)&&(e[i]=t[i]),e),{}));let a={baseUrl:e.url};if(this.useHeaders){var s;e.headers||(e.headers={}),s=e.headers,tY(s,function(e,t={}){let i={};return e?Object.entries(function(e,t){let i={};if(!e)return i;let r=Object.keys(e),a=t?Object.keys(t).reduce((e,i)=>{var r;return null==(r=t[i])||r.forEach(t=>e[t]=i),e},{}):{};return r.reduce((t,i)=>{var r;let s=ny[i]||a[i]||ng;return(null!=(r=t[s])?r:t[s]={})[i]=e[i],t},i)}
28(nN(e,t),null==t?void 0:t.customHeaderMap)).reduce((e,[t,i])=>{let r=nf(i,{whitespace:!1});return r&&(e[t]=r),e},i):i}(t,a))}else e.url=function(e,t,i){let r=function(e,t={}){if(!e)return"";let i=function(e,t={}){return e?encodeURIComponent(function(e,t={}){return e?nf(nN(e,t),{whitespace:!1}):""}(e,t)):""}(e,t);return`CMCD=${i}`}(t,i);if(!r)return e;if(nU.test(e))return e.replace(nU,r);let a=e.includes("?")?"&":"?";return`${e}${a}${r}`}(e.url,t,a)}getNextFrag(e){var t;let i=null==(t=this.hls.levels[e.level])?void 0:t.details;if(i){let t=e.sn-i.startSN;return i.fragments[t+1]}}getNextPart(e){var t;let{index:i,fragment:r}=e,a=null==(t=this.hls.levels[r.level])||null==(t=t.details)?void 0:t.partList;if(a){let{sn:e}=r;for(let t=a.length-1;t>=0;t--){let r=a[t];if(r.index===i&&r.fragment.sn===e)return a[t+1]}}}getObjectType(e){let{type:t}=e;return"subtitle"===t?"tt":"initSegment"===e.sn?"i":"audio"===t?"a":"main"===t?this.hls.audioTracks.length?"v":"av":void 0}getTopBandwidth(e){let t,i=0,r=this.hls;if("a"===e)t=r.audioTracks;else{let e=r.maxAutoLevel,i=e>-1?e+1:r.levels.length;t=r.levels.slice(0,i)}return t.forEach(e=>{e.bitrate>i&&(i=e.bitrate)}),i>0?i:NaN}getBufferLength(e){let t=this.media,i="a"===e?this.audioBuffer:this.videoBuffer;return i&&t?1e3*rx.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len:NaN}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}},contentSteeringController:class extends tX{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(t=>t!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:i}=t;null!==i&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((null==i?void 0:i.action)===2&&1===i.flags){let e=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:i,pathwayId:r,type:s}=t.context;i&&e?a=this.getPathwayForGroupId(i,s,a):r&&(a=r)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!r&&e&&(r=this.pathways()),r&&r.length>1&&(this.updatePathwayPriority(r),i.resolved=this.pathwayId!==a),t.details!==tU.BUFFER_APPEND_ERROR||t.fatal?i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${e?e.length:e} priorities: ${i1(r)} penalized: ${i1(this.penalizedPathways)}`):i.resolved=!0}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){let t;this._pathwayPriority=e;let i=this.penalizedPathways,r=performance.now();
28Object.keys(i).forEach(e=>{r-i[e]>3e5&&delete i[e]});for(let r=0;r<e.length;r++){let a=e[r];if(a in i)continue;if(a===this.pathwayId)return;let s=this.hls.nextLoadLevel,n=this.hls.levels[s];if((t=this.getLevelsForPathway(a)).length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,aR(t),this.hls.trigger(tF.LEVELS_UPDATED,{levels:t});let e=this.hls.levels[s];n&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==n.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==n.bitrate&&this.log(`Unstable Pathways change from bitrate ${n.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=s);break}}}getPathwayForGroupId(e,t,i){let r=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i<r.length;i++)if(t===tH&&r[i].hasAudioGroup(e)||t===tG&&r[i].hasSubtitleGroup(e))return r[i].pathwayId;return i}clonePathways(e){let t=this.levels;if(!t)return;let i={},r={};e.forEach(e=>{let{ID:a,"BASE-ID":s,"URI-REPLACEMENT":n}=e;if(t.some(e=>e.pathwayId===a))return;let o=this.getLevelsForPathway(s).map(e=>{let t=new rF(e.attrs);t["PATHWAY-ID"]=a;let s=t.AUDIO&&`${t.AUDIO}_clone_${a}`,o=t.SUBTITLES&&`${t.SUBTITLES}_clone_${a}`;s&&(i[t.AUDIO]=s,t.AUDIO=s),o&&(r[t.SUBTITLES]=o,t.SUBTITLES=o);let l=nB(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",n),d=new iJ({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t<e.audioGroups.length;t++)d.addGroupId("audio",`${e.audioGroups[t]}_clone_${a}`);if(e.subtitleGroups)for(let t=1;t<e.subtitleGroups.length;t++)d.addGroupId("text",`${e.subtitleGroups[t]}_clone_${a}`);return d});t.push(...o),nF(this.audioTracks,i,n,a),nF(this.subtitleTracks,r,n,a)})}loadSteeringManifest(e){let t,i=this.hls.config,r=i.loader;this.loader&&this.loader.destroy(),this.loader=new r(i);try{t=new self.URL(e)}catch(t){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if("data:"!==t.protocol){let e=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+e)}let a={responseType:"json",url:t.href},s=i.steeringManifestLoadPolicy.default,n=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0};this.log(`Requesting steering manifest: ${t}`),this.loader.load(a,o,{onSuccess:(e,i,r,a)=>{this.log(`Loaded steering manifest: "${t}"`);let s=e.data;if((null==s?void 0:s.VERSION)!==1)return void this.log(`Steering VERSION ${s.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=s.TTL;let{"RELOAD-URI":n,"PATHWAY-CLONES":o,"PATHWAY-PRIORITY":l}=s;if(n)try{this.uri=new self.URL(n,t).href}catch(e){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${n}`);return}this.scheduleRefresh(this.uri||r.url),o&&this.clonePathways(o);let d={steeringManifest:s,url:t.toString()};this.hls.trigger(tF.STEERING_MANIFEST_LOADED,d),l&&this.updatePathwayPriority(l)},onError:(e,t,i,r)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code){this.enabled=!1,this.log(`Steering manifest ${t.url} no longer available`);return}let a=1e3*this.timeToLoad;if(429===e.code){let e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){let t=e.getResponseHeader("Retry-After");t&&(a=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`);return}this.scheduleRefresh(this.uri||t.url,a)},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}})}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var t;let i=null==(t=this.hls)?void 0:t.media;i&&!i.ended?this.loadSteeringManifest(e):this.scheduleRefresh(e,1e3*this.timeToLoad)},t)}},interstitialsController:class extends tX{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1}
28,this.onSeeking=()=>{var e,t;let i=this.currentTime;if(void 0===i||this.playbackDisabled||!this.schedule)return;let r=i-this.timelinePos;if(Math.abs(r)<1/7056e5)return;let a=r<=-.01;this.timelinePos=i,this.bufferedPos=i;let s=this.playingItem;if(!s)return void this.checkBuffer();if(a&&this.schedule.resetErrorsInRange(i,i-r)&&this.updateSchedule(!0),this.checkBuffer(),a&&i<s.start||i>=s.end){let t=this.findItemIndex(s),r=this.schedule.findItemIndexAtTime(i);if(-1===r&&(r=t+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${i} (resolving from ${t} to ${r})`)),!this.isInterstitial(s)&&null!=(e=this.media)&&e.paused&&(this.shouldPlay=!1),!a&&r>t){let e=this.schedule.findJumpRestrictedIndex(t+1,r);if(e>t)return void this.setSchedulePosition(e)}this.setSchedulePosition(r);return}let n=this.playingAsset;if(!n){if(this.playingLastItem&&this.isInterstitial(s)){let e=s.event.assetList[0];e&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,e))}return}let o=n.timelineStart,l=n.duration||0;(a&&i<o||i>=o+l)&&(null!=(t=s.event)&&t.appendInPlace&&(this.clearAssetPlayers(s.event,s),this.flushFrontBuffer(i)),this.setScheduleToAssetAtTime(i,n))},this.onTimeupdate=()=>{let e=this.currentTime;if(void 0===e||this.playbackDisabled||!(e>this.timelinePos))return;this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();let t=this.playingItem;if(!t||this.playingLastItem)return;if(e>=t.end){this.timelinePos=t.end;let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}let i=this.playingAsset;!i||e>=i.timelineStart+(i.duration||0)&&this.setScheduleToAssetAtTime(e,i)},this.onScheduleUpdate=(e,t)=>{let i=this.schedule;if(!i)return;let r=this.playingItem,a=i.events||[],s=i.items||[],n=i.durations,o=e.map(e=>e.identifier),l=!!(a.length||o.length);(l||t)&&this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a}
29Schedule: ${s.map(e=>n4(e))} pos: ${this.timelinePos}`),o.length&&this.log(`Removed events ${o}`);let d=null,u=null;r&&(d=this.updateItem(r,this.timelinePos),this.itemsMatch(r,d)?this.playingItem=d:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let h=this.bufferingItem;if(h&&(u=this.updateItem(h,this.bufferedPos),this.itemsMatch(h,u)?this.bufferingItem=u:h.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(h.event,null))),e.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(e=>{if(e.interstitial.appendInPlace){let t=e.assetItem.timelineStart,i=e.timelineOffset-t;if(i)try{e.timelineOffset=t}catch(r){Math.abs(i)>.025&&this.warn(`${r} ("${e.assetId}" ${e.timelineOffset}->${t})`)}}}),l||t){if(this.hls.trigger(tF.INTERSTITIALS_UPDATED,{events:a.slice(0),schedule:s.slice(0),durations:n,removedIds:o}),this.isInterstitial(r)&&o.includes(r.event.identifier)){this.warn(`Interstitial "${r.event.identifier}" removed while playing`),this.primaryFallback(r.event);return}r&&this.trimInPlace(d,r),h&&u!==d&&this.trimInPlace(u,h),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new n5(e),this.schedule=new n3(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;e&&(e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tF.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(tF.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(tF.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(tF.MEDIA_ENDED,this.onMediaEnded,this),e.on(tF.ERROR,this.onError,this),e.on(tF.DESTROYING,this.onDestroying,this))}unregisterListeners(){let e=this.hls;
29e&&(e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(tF.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tF.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(tF.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(tF.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(tF.MEDIA_ENDED,this.onMediaEnded,this),e.off(tF.ERROR,this.onError,this),e.off(tF.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null==(e=this.getBufferingPlayer())||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.getBufferingPlayer())||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){aO(e,"play",this.onPlay),aO(e,"pause",this.onPause),aO(e,"seeking",this.onSeeking),aO(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){let i=this.media=t.media;aP(i,"seeking",this.onSeeking),aP(i,"timeupdate",this.onTimeupdate),aP(i,"play",this.onPlay),aP(i,"pause",this.onPause)}onMediaAttached(e,t){let i=this.effectivePlayingItem,r=this.detachedData;if(this.detachedData=null,null===i)this.checkStart();else if(!r){this.clearScheduleState();let e=this.findItemIndex(i);this.setSchedulePosition(e)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(this.media=null,!i&&(r&&this.removeMediaListeners(r),this.detachedData)){let e=this.getBufferingPlayer();e&&(this.log(`Removing schedule state for detachedData and ${e}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=t=>t?e.getAssetPlayer(t.identifier):t,i=(i,a,s,n,o)=>{if(i){let l=i[a].start,d=i.event;if(d){if("playout"===a||d.timelineOccupancy!==nQ.Point){let e=t(s);(null==e?void 0:e.interstitial)===d&&(l+=e.assetItem.startOffset+e[o])}}else l+=("bufferedPos"===n?r():e[n])-i.start;return l}return 0},r=()=>{let t=e.bufferedPos;return t===Number.MAX_VALUE?a("primary"):Math.max(t,0)},a=t=>{var i,r;return null!=(i=e.primaryDetails)&&i.live?e.primaryDetails.edge:(null==(r=e.schedule)?void 0:r.durations[t])||0},s=(r,a)=>{var s,n;let o=e.effectivePlayingItem;if(null!=o&&null!=(s=o.event)&&s.restrictions.skip||!e.schedule)return;e.log(`seek to ${r} "${a}"`);let l=e.effectivePlayingItem,d=e.schedule.findItemIndexAtTime(r,a),u=null==(n=e.schedule.items)?void 0:n[d],h=e.getBufferingPlayer(),c=null==h?void 0:h.interstitial,m=null==c?void 0:c.appendInPlace,f=l&&e.itemsMatch(l,u);if(l&&(m||f)){let s=t(e.playingAsset),n=(null==s?void 0:s.media)||e.primaryMedia;if(n){let t="primary"===a?n.currentTime:i(l,a,e.playingAsset,"timelinePos","currentTime"),o=r-t,d=(m?t:n.currentTime)+o;if(d>=0&&(!s||m||d<=s.duration)){n.currentTime=d;return}}}if(u){let t=r;if("primary"!==a){let e=r-u[a].start;t=u.start+e}let i=!e.isInterstitial(u);if((!e.isInterstitial(l)||l.event.appendInPlace)&&(i||u.event.appendInPlace)){let i=e.media||(m?null==h?void 0:h.media:null);i&&(i.currentTime=t)}else if(l){let s=e.findItemIndex(l);if(d>s){let t=e.schedule.findJumpRestrictedIndex(s+1,d);if(t>s)return void e.setSchedulePosition(t)}let n=0;if(i)e.timelinePos=t,e.checkBuffer();else{let e=u.event.assetList,t=r-(u[a]||u).start;for(let i=e.length;i--;){let r=e[i];if(r.duration&&t>=r.startOffset&&t<r.startOffset+r.duration){n=i;break}}}e.setSchedulePosition(d,n)}}},n=()=>{let t=e.effectivePlayingItem;if(e.isInterstitial(t))return t;let i=e.bufferingItem||e.waitingItem;return e.isInterstitial(i)?i:null},o={get bufferedEnd(){let t=e.bufferingItem||e.waitingItem,r=e.bufferingItem;if(r&&r===t){var l;return i(r,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-r.playout.start||(null==(l=e.bufferingAsset)?void 0:l.startOffset)||0}return 0},get currentTime(){let t=n(),r=e.effectivePlayingItem;if(r&&r===t)return i(r,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-r.playout.start;return 0},set currentTime(time){let t=n(),i=e.effectivePlayingItem;i&&i===t&&s(time+i.playout.start,"playout")},get duration(){let e=n();if(e)return e.playout.end-e.playout.start;return 0},get assetPlayers(){var d;let t=null==(d=n())?void 0:d.event.assetList;if(t)return t.map(t=>e.getAssetPlayer(t.identifier));return[]},get playingIndex(){var u;let t=null==(u=n())?void 0:u.event;if(t&&e.effectivePlayingAsset)return t.findAssetIndex(e.effectivePlayingAsset);return -1},get scheduleItem(){return n()}};return this.manager={get events(){var h;return(null==(h=e.schedule)||null==(h=h.events)?void 0:h.slice(0))||[]},get schedule(){var c;return(null==(c=e.schedule)||null==(c=c.items)?void 0:c.slice(0))||[]},get interstitialPlayer(){if(n())return o;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return e.bufferingItem||e.waitingItem},get bufferingIndex(){let t=e.bufferingItem||e.waitingItem;return e.findItemIndex(t)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let t=e.effectivePlayingItem;return e.findItemIndex(t)},primary:{get bufferedEnd(){return r()},get currentTime(){let t=e.timelinePos;return t>0?t:0},set currentTime(time){s(time,"primary")},get duration(){return a("primary")},get seekableStart(){var m;return(null==(m=e.primaryDetails)?void 0:m.fragmentStart)||0}},integrated:{get bufferedEnd(){return i(e.bufferingItem||e.waitingItem,"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(time){s(time,"integrated")},get duration(){return a("integrated")},get seekableStart(){var f;return((t,i)=>{var r,a;if(0!==t&&"primary"!==i&&null!=(r=e.schedule)&&r.length){let r=e.schedule.findItemIndexAtTime(t),s=null==(a=e.sc
29hedule.items)?void 0:a[r];if(s)return t+(s[i].start-s.start)}return t})((null==(f=e.primaryDetails)?void 0:f.fragmentStart)||0,"integrated")}},skip:()=>{let t=e.effectivePlayingItem,i=null==t?void 0:t.event;if(i&&!i.restrictions.skip){let r=e.findItemIndex(t);i.appendInPlace?s(t.playout.start+t.event.duration+.001,"playout"):e.advanceAfterAssetEnded(i,r,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let t=this.playingItem,i=null==(e=this.schedule)?void 0:e.items;return!!this.playbackStarted&&!!t&&!!i&&this.findItemIndex(t)===i.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){var e,t;if(null===this.mediaSelection)return;let i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let r=this.media;!r&&null!=(e=this.bufferingItem)&&null!=(e=e.event)&&e.appendInPlace&&(r=this.primaryMedia);let a=null==(t=r)?void 0:t.currentTime;if(void 0!==a&&tM(a))return a}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!!(null!=e&&e.event)}retreiveMediaSource(e,t){let i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t)}transferMediaFromPlayer(e,t){let i=e.interstitial.appendInPlace,r=e.media;if(i&&r===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&r){this.detachedData={media:r};return}let i=e.transferMedia();this.log(`transfer MediaSource from ${e} ${i1(i)}`),this.detachedData=i}else t&&r&&(this.shouldPlay||(this.shouldPlay=!r.paused))}transferMediaTo(e,t){var i,r;let a;if(e.media===t)return;let s=null,n=this.hls,o=e!==n,l=o&&e.interstitial.appendInPlace,d=null==(i=this.detachedData)?void 0:i.mediaSource;if(n.media)l&&(s=n.transferMedia(),this.detachedData=s),a="Primary";else if(d){let e=this.getBufferingPlayer();e?(s=e.transferMedia(),a=`${e}`):a="detached MediaSource"}else a="detached media";if(!s){if(d)s=this.detachedData,this.log(`using detachedData: MediaSource ${i1(s)}`);else if(!this.detachedData||n.media===t){let e=this.playerQueue;e.length>1&&e.forEach(e=>{if(o&&e.interstitial.appendInPlace!==l){let t=e.interstitial;this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${t}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}let u=s&&"mediaSource"in s&&(null==(r=s.mediaSource)?void 0:r.readyState)!=="closed",h=u&&s?s:t;this.log(`${u?"transfering MediaSource":"attaching media"} to ${o?e:"Primary"} from ${a} (media.currentTime: ${t.currentTime})`);let c=this.schedule;if(h===s&&c){let t=o&&e.assetId===c.assetIdAtEnd;h.overrides={duration:c.duration,endOfStream:!o||t,cueRemoval:!o}}e.attachMedia(h)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,t=null==e?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;-1===this.bufferedPos&&(this.bufferedPos=0);let i=this.timelinePos,r=this.effectivePlayingItem;if(-1===i){let i=this.hls.startPosition;if(this.log(n9("checkStart",i)),this.timelinePos=i,t.length&&t[0].cue.pre){let i=e.findEventIndex(t[0].identifier);this.setSchedulePosition(i)}else if(i>=0||!this.primaryLive){let t=this.timelinePos=i>0?i:0,r=e.findItemIndexAtTime(t);this.setSchedulePosition(r)}}else if(r&&!this.playingItem){let t=e.findItemIndex(r);this.setSchedulePosition(t)}}advanceAssetBuffering(e,t){let i=e.event,r=i.findAssetIndex(t),a=n0(i,r);if(i.isAssetPastPlayoutLimit(a)){if(this.schedule){var s;let t=null==(s=this.schedule.items)?void 0:s[this.findItemIndex(e)+1];t&&this.bufferedToItem(t)}}else this.bufferedToEvent(e,a)}advanceAfterAssetEnded(e,t,i){let r=n0(e,i);if(e.isAssetPastPlayoutLimit(r)){if(this.schedule){let i=this.schedule.items;if(i){let r=t+1;if(r>=i.length)return void this.setSchedulePosition(-1);let a=e.resumeTime;this.timelinePos<a&&(this.log(n9("advanceAfterAssetEnded",a)),this.timelinePos=a,e.appendInPlace&&this.advanceInPlace(a),this.checkBuffer(this.bufferedPos<a)),this.setSchedulePosition(r)}}}else{if(e.appendInPlace){let t=e.assetList[r];t&&this.advanceInPlace(t.timelineStart)}this.setSchedulePosition(t,r)}}setScheduleToAssetAtTime(e,t){let i=this.schedule;if(!i)return;let r=t.parentIdentifier,a=i.getEvent(r);if(a){let t=i.findEventIndex(r),s=i.findAssetIndex(a,e);this.advanceAfterAssetEnded(a,t,s-1)}}setSchedulePosition(e,t){var i,r,a;let s=null==(i=this.schedule)?void 0:i.items;if(!s||this.playbackDisabled)return;let n=e>=0?s[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${n?n4(n):n}
29) pos: ${this.timelinePos}`);let o=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(o)){let i=o.event,d=this.playingAsset,u=null==d?void 0:d.identifier,h=u?this.getAssetPlayer(u):null;if(h&&u&&(!this.eventItemsMatch(o,n)||void 0!==t&&u!==i.assetList[t].identifier)){let t=i.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${t+1}/${i.assetList.length} ${n1(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(tF.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:t,event:i,schedule:s.slice(0),scheduleIndex:e,player:h}),o!==this.playingItem){this.itemsMatch(o,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(i,this.findItemIndex(this.playingItem),t);return}this.retreiveMediaSource(u,n),h.media&&!(null!=(r=this.detachedData)&&r.mediaSource)&&h.detachMedia()}if(!this.eventItemsMatch(o,n)&&(this.endedItem=o,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${i} ${n4(o)}`),i.hasPlayed=!0,this.hls.trigger(tF.INTERSTITIAL_ENDED,{event:i,schedule:s.slice(0),scheduleIndex:e}),i.cue.once)){this.updateSchedule();let e=null==(a=this.schedule)?void 0:a.items;if(n&&e){let i=this.findItemIndex(n);this.advanceSchedule(i,e,t,o,l)}return}}this.advanceSchedule(e,s,t,o,l)}advanceSchedule(e,t,i,r,a){let s=this.schedule;if(!s)return;let n=t[e]||null,o=this.primaryMedia,l=this.playerQueue;if(l.length&&l.forEach(t=>{let i=t.interstitial,r=s.findEventIndex(i.identifier);(r<e||r>e+1)&&this.clearInterstitial(i,n)}),this.isInterstitial(n)){this.timelinePos=Math.min(Math.max(this.timelinePos,n.start),n.end);let a=n.event;if(void 0===i){i=s.findAssetIndex(a,this.timelinePos);let t=n0(a,i-1);if(a.isAssetPastPlayoutLimit(t)||a.appendInPlace&&this.timelinePos===n.end)return void this.advanceAfterAssetEnded(a,e,i);i=t}let l=this.waitingItem;this.assetsBuffered(n,o)||this.setBufferingItem(n);let d=this.preloadAssets(a,i);if(this.eventItemsMatch(n,l||r)||(this.waitingItem=n,this.log(`INTERSTITIAL_STARTED ${n4(n)} ${a.appendInPlace?"append in place":""}`),this.hls.trigger(tF.INTERSTITIAL_STARTED,{event:a,schedule:t.slice(0),scheduleIndex:e})),!a.assetListLoaded)return void this.log(`Waiting for ASSET-LIST to complete loading ${a}`);if(a.assetListLoader&&(a.assetListLoader.destroy(),a.assetListLoader=void 0),!o)return void this.log(`Waiting for attachMedia to start Interstitial ${a}`);this.waitingItem=this.endedItem=null,this.playingItem=n;let u=a.assetList[i];if(!u)return void this.advanceAfterAssetEnded(a,e,i||0);if(d||(d=this.getAssetPlayer(u.identifier)),null===d||d.destroyed){let e=a.assetList.length;this.warn(`asset ${i+1}/${e} player destroyed ${a}`),(d=this.createAssetPlayer(a,u,i)).loadSource()}if(!this.eventItemsMatch(n,this.bufferingItem)&&a.appendInPlace&&this.isAssetBuffered(u))return;this.startAssetPlayer(d,i,t,e,o),this.shouldPlay&&n8(d.media)}else n?(this.resumePrimary(n,e,r),this.shouldPlay&&n8(this.hls.media)):a&&this.isInterstitial(r)&&(this.endedItem=null,this.playingItem=r,r.event.appendInPlace||this.attachPrimary(s.durations.primary,null))}get playbackDisabled(){return!1===this.hls.config.enableInterstitialPlayback}get primaryDetails(){var e;return null==(e=this.mediaSelection)?void 0:e.main.details}get primaryLive(){var e;return!!(null!=(e=this.primaryDetails)&&e.live)}resumePrimary(e,t,i){var r,a;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${n4(e)}`),!(null!=(r=this.detachedData)&&r.mediaSource)){let i=this.timelinePos;(i<e.start||i>=e.end)&&(i=this.getPrimaryResumption(e,t),this.log(n9("resumePrimary",i)),this.timelinePos=i),this.attachPrimary(i,e)}if(!i)return;let s=null==(a=this.schedule)?void 0:a.items;s&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${n4(e)}`),this.hls.trigger(tF.INTERSTITIALS_PRIMARY_RESUMED,{schedule:s.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){let i=e.start;if(this.primaryLive){let e=this.primaryDetails;if(0===t)return this.hls.startPosition;if(e&&(i<e.fragmentStart||i>e.edge))return this.hls.liveSyncPosition||-1}return i}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:rx.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let r=this.primaryMedia;if(!r)return;let a=this.hls;a.media?this.checkBuffer():(this.transferMediaTo(a,r),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(n9("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i))}
29startLoadingPrimaryAt(e,t){var i;let r=this.hls;!r.loadingEnabled||!r.media||Math.abs(((null==(i=r.mainForwardBufferInfo)?void 0:i.start)||r.media.currentTime)-e)>.5?r.startLoad(e,t):r.bufferingEnabled||r.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),null==(e=this.schedule)||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(tF.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(tF.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(-1===t.level||!this.schedule)return;let i=this.hls.levels[t.level];if(!i.details)return;let r=tQ(tQ({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=r,this.schedule.parseInterstitialDateRanges(r,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){let i=this.hls.audioTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=tQ(tQ({},this.altSelection),{},{audio:i});return}let a=tQ(tQ({},r),{},{audio:i});this.mediaSelection=a}onSubtitleTrackUpdated(e,t){let i=this.hls.subtitleTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=tQ(tQ({},this.altSelection),{},{subtitles:i});return}let a=tQ(tQ({},r),{},{subtitles:i});this.mediaSelection=a}onAudioTrackSwitching(e,t){let i=i4(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setAudioOption(t)||e.setAudioOption(i)))}onSubtitleTrackSwitch(e,t){let i=i4(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(i)))}onBufferCodecs(e,t){let i=t.tracks;i&&(this.requiredTracks=i)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){let i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){let e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let e=0;e<t.length;e++){let r=t[e];if(r.cue.post){var i;let e=this.schedule.findEventIndex(r.identifier),t=null==(i=this.schedule.items)?void 0:i[e];this.isInterstitial(t)&&this.eventItemsMatch(t,this.bufferingItem)&&this.bufferedToItem(t,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}updateItem(e,t){var i;let r=null==(i=this.schedule)?void 0:i.items;return e&&r&&r[this.findItemIndex(e,t)]||null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((t,i)=>{e.event.isAssetPastPlayoutLimit(i)&&this.clearAssetPlayer(t.identifier,null)});let i=e.end+.25,r=rx.bufferInfo(this.primaryMedia,i,0);(r.end>i||(r.nextStart||0)>i)&&(this.log(`trim buffered interstitial ${n4(e)} (was ${n4(t)})`),this.attachPrimary(i,null,!0),this.flushFrontBuffer(i))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===(null==(i=t.event)?void 0:i.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;let i=this.mediaSelection;i&&(null==(t=this.schedule)||t.updateSchedule(i,[],e))}checkBuffer(e){var t;let i=null==(t=this.schedule)?void 0:t.items;if(!i)return;let r=rx.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=r.len<1),this.updateBufferedPos(r.end,i,e)}updateBufferedPos(e,t,i){let r=this.schedule,a=this.bufferingItem;if(this.bufferedPos>e||!r)return;if(1===t.length&&this.itemsMatch(t[0],a)){this.bufferedPos=e;return}let s=this.playingItem,n=this.findItemIndex(s),o=r.findItemIndexAtTime(e);if(this.bufferedPos<e){var l;let i=this.findItemIndex(a),r=Math.min(i+1,t.length-1),s=t[r];if((-1===o&&a&&e>=a.end||null!=(l=s.event)&&l.appendInPlace&&e+.01>=s.start)&&(o=r),this.isInterstitial(a)){let e=a.event;if(r-n>1&&!1===e.appendInPlace||0===e.assetList.length&&e.assetListLoader)return}if(this.bufferedPos=e,o>i&&o>n)this.bufferedToItem(s);else{let t=this.primaryDetails;this.primaryLive&&t&&e>t.edge-t.targetduration&&s.start<t.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(s)&&this.preloadAssets(s.event,0)}}else i&&s&&!this.itemsMatch(s,a)&&(o===n?this.bufferedToItem(s):o===n+1&&this.bufferedToItem(t[o]))}assetsBuffered(e,t){return 0!==e.event.assetList.length&&!e.event.assetList.some(e=>{let i=this.getAssetPlayer(e.identifier);return!(null!=i&&i.bufferedInPlaceToEnd(t))})}setBufferingItem(e){let t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){let{items:r,events:a}=i;if(!r||!a)return t;
29let s=this.isInterstitial(e),n=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let o=n?n.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${n4(e)}`+(t?` (${o.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(s){let t=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,i)=>{let r=this.getAssetPlayer(e.identifier);r&&(i===t&&r.loadSource(),r.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(tF.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:a.slice(0),schedule:r.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){let i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(null!==i){this.bufferingAsset=null;let t=this.detachedData;t&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)}}}preloadPrimary(e){let t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i)}bufferedToEvent(e,t){let i=e.event,r=0===i.assetList.length&&!i.assetListLoader,a=i.cue.once;if(r||!a){let e=this.preloadAssets(i,t);if(null!=e&&e.interstitial.appendInPlace){let t=this.primaryMedia;t&&this.bufferAssetPlayer(e,t)}}}preloadAssets(e,t){let i=e.assetUrl,r=e.assetList.length,a=0===r&&!e.assetListLoader,s=e.cue.once;if(a){let a,s=e.timelineStart;if(e.appendInPlace){var n;let t=this.playingItem;this.isInterstitial(t)||(null==t||null==(n=t.nextEvent)?void 0:n.identifier)!==e.identifier||this.flushFrontBuffer(s+.25)}let o=0;if(!this.playingItem&&this.primaryLive&&-1===(o=this.hls.startPosition)&&(o=this.hls.liveSyncPosition||0),o&&!(e.cue.pre||e.cue.post)){let e=o-s;e>0&&(a=Math.round(1e3*e)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${i?1:r} ${e}${a?` live-start: ${o} start-offset: ${a}`:""}`),i)return this.createAsset(e,0,0,s,e.duration,i);let l=this.assetListLoader.loadAssetList(e,a);l&&(e.assetListLoader=l)}else if(!s&&r){for(let i=t;i<r;i++){let t=e.assetList[i],r=this.getAssetPlayerQueueIndex(t.identifier);(-1===r||this.playerQueue[r].destroyed)&&!t.error&&this.createAssetPlayer(e,t,i)}let i=e.assetList[t];if(i){let e=this.getAssetPlayer(i.identifier);return e&&e.loadSource(),e}}return null}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(t=>{this.hls.trigger(tF.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:t})}))}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return -1}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i]}return null}createAsset(e,t,i,r,a,s){let n={parentIdentifier:e.identifier,identifier:`${e.identifier}-${t+1}-${nz(s)}`,duration:a,startOffset:i,timelineStart:r,uri:s};return this.createAssetPlayer(e,n,t)}createAssetPlayer(e,t,i){let r=this.hls,a=r.userConfig,s=a.videoPreference,n=r.loadLevelObj||r.levels[r.currentLevel];(s||n)&&(s=tY({},s),n.videoCodec&&(s.videoCodec=n.videoCodec),n.videoRange&&(s.allowedVideoRanges=[n.videoRange]));let o=r.audioTracks[r.audioTrack],l=r.subtitleTracks[r.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let e=this.timelinePos-t.timelineStart;if(e>1){let i=t.duration;i&&e<i&&(d=e)}}let u=t.identifier,h=tQ(tQ({},a),{},{maxMaxBufferLength:Math.min(180,r.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:r.sessionId,assetPlayerId:u,abrEwmaDefaultEstimate:r.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:s,audioPreference:o||a.audioPreference,subtitlePreference:l||a.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(h.timelineOffset=t.timelineStart));let c=h.cmcd;null!=c&&c.sessionId&&c.contentId&&(h.cmcd=tY({},c,{contentId:nz(t.uri)})),this.getAssetPlayer(u)&&this.warn(`Duplicate date range identifier ${e} and asset ${u}`);let m=new n2(this.HlsPlayerClass,h,e,t);this.playerQueue.push(m),e.assetList[i]=t;let f=!0,p=r=>{if(r.live){var a;let t=Error(`Interstitials MUST be VOD assets ${e}`),r={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ER
29ROR,error:t},s=(null==(a=this.schedule)?void 0:a.findEventIndex(e.identifier))||-1;this.handleAssetItemError(r,e,s,i,t.message);return}let s=r.edge-r.fragmentStart,n=t.duration;(f||null===n||s>n)&&(f=!1,this.log(`Interstitial asset "${u}" duration change ${n} > ${s}`),t.duration=s,this.updateSchedule())};m.on(tF.LEVEL_UPDATED,(e,{details:t})=>p(t)),m.on(tF.LEVEL_PTS_UPDATED,(e,{details:t})=>p(t)),m.on(tF.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let g=(e,t)=>{let i=this.getAssetPlayer(u);if(i&&t.tracks){i.off(tF.BUFFER_CODECS,g),i.tracks=t.tracks;let e=this.primaryMedia;this.bufferingAsset===i.assetItem&&e&&!i.media&&this.bufferAssetPlayer(i,e)}};m.on(tF.BUFFER_CODECS,g);let E=()=>{var i;let r=this.getAssetPlayer(u);if(this.log(`buffered to end of asset ${r}`),!r||!this.schedule)return;let a=this.schedule.findEventIndex(e.identifier),s=null==(i=this.schedule.items)?void 0:i[a];this.isInterstitial(s)&&this.advanceAssetBuffering(s,t)};m.on(tF.BUFFERED_TO_END,E);let y=t=>()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;this.shouldPlay=!0;let i=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,t)};return m.once(tF.MEDIA_ENDED,y(i)),m.once(tF.PLAYOUT_LIMIT_REACHED,y(1/0)),m.on(tF.ERROR,(t,r)=>{if(!this.schedule)return;let a=this.getAssetPlayer(u);r.details===tU.BUFFER_STALLED_ERROR?null!=a&&a.appendInPlace?this.handleInPlaceStall(e):(this.onTimeupdate(),this.checkBuffer(!0)):this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${r.error} ${e}`)}),m.on(tF.DESTROYING,()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;let t=Error(`Asset player destroyed unexpectedly ${u}`),r={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ERROR,error:t};this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,t.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${n1(t)}`),this.hls.trigger(tF.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:m}),m}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(-1!==t){this.log(`reset asset player "${e}" after error`);let i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails()}}clearAssetPlayer(e,t){let i=this.getAssetPlayerQueueIndex(e);if(-1!==i){let e=this.playerQueue[i];this.log(`clear ${e} toSegment: ${t?n4(t):t}`),this.transferMediaFromPlayer(e,t),this.playerQueue.splice(i,1),e.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,r,a){let{interstitial:s,assetItem:n,assetId:o}=e,l=s.assetList.length,d=this.playingAsset;this.endedAsset=null,this.playingAsset=n,d&&d.identifier===o||(d&&(this.clearAssetPlayer(d.identifier,i[r]),delete d.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${l} ${n1(n)}`),this.hls.trigger(tF.INTERSTITIAL_ASSET_STARTED,{asset:n,assetListIndex:t,event:s,schedule:i.slice(0),scheduleIndex:r,player:e})),this.bufferAssetPlayer(e,a)}bufferAssetPlayer(e,t){var i,r;if(!this.schedule)return;let{interstitial:a,assetItem:s}=e,n=this.schedule.findEventIndex(a.identifier),o=null==(i=this.schedule.items)?void 0:i[n];if(!o)return;e.loadSource(),this.setBufferingItem(o),this.bufferingAsset=s;let l=this.getBufferingPlayer();if(l===e)return;let d=a.appendInPlace;if(d&&(null==l?void 0:l.interstitial.appendInPlace)===!1)return;let u=(null==l?void 0:l.tracks)||(null==(r=this.detachedData)?void 0:r.tracks)||this.requiredTracks;if(d&&s!==this.playingAsset){if(!e.tracks)return void this.log(`Waiting for track info before buffering ${e}`);if(u&&!t4(u,e.tracks)){let t=Error(`Asset ${n1(s)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(u)}')`),i={fatal:!0,type:tN.OTHER_ERROR,details:tU.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},r=a.findAssetIndex(s);this.handleAssetItemError(i,a,n,r,t.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){let t=this.schedule,i=this.primaryMedia;if(!t||!i)return;let r=i.currentTime,a=t.findAssetIndex(e,r),s=e.assetList[a];if(s){let n=this.getAssetPlayer(s.identifier);if(n){let o=n.currentTime||r-s.timelineStart,l=n.duration-o;if(this.warn(`Stalled at ${o} of ${o+l} in ${n} ${e} (media.currentTime: ${r})`),o&&(l/i.playbackRate<.5||n.bufferedInPlaceToEnd(i))&&n.hls){let i=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,a)}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,i,r,a){if(e.details===tU.BUFFER_STALLED_ERROR)return;let s=t.assetList[r]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${s?n1(s):s} ${e.error}`),!this.schedule)return;let n=(null==s?void 0:s.identifier)||"",o=this.getAssetPlayerQueueIndex(n),l=this.playerQueue[o]||null,d=this.schedule.items,u=tY({},e,{fatal:!1,errorAction:rc(!0),asset:s,assetListIndex:r,event:t,schedule:d,scheduleIndex:i,player:l});if(this.hls.trigger(tF.INTERSTITIAL_ASSET_ERROR,u),!e.fatal)return;let h=this.playingAsset,c=this.bufferingAsset,m=Error(a);if(s&&(this.clearAssetPlayer(n,null),s.error=m),t.assetList.some(e=>!e.error))for(let e=r;e<t.assetList.length;e++)this.resetAssetPlayer(t.assetList[e].identifier);else t.error=m;this.updateSchedule(!0),t.error?this.primaryFallback(t):h&&h.identifier===n?this.advanceAfterAssetEnded(t,i,r):c&&c.identifier===n&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,c)}primaryFallback(e){let t=e.timelineStart,i=this.effectivePlayingItem,r=this.timelinePos;if(i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${r} playing: ${n4(i)} error: ${e.error}`),-1===r&&(r=this.hls.startPosition);let a=this.updateItem(i,r);this.itemsMatch(i,a)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(-1===r)return void this.checkStart();if(!this.schedule)return;let a=this.schedule.findItemIndexAtTime(r);this.setSchedulePosition(a)}onAssetListLoaded(e,t){var i,r,a;let s=t.event,n=s.identifier,o=t.assetListResponse.ASSETS;if(!(null!=(i=this.schedule)&&i.hasEvent(n)))return;let l=s.timelineStart,d=s.duration,u=0;o.forEach((e,t)=>{let i=parseFloat(e.DURATION);this.createAsset(s,t,u,l+u,i,e.URI),u+=i}),s.duration=u,this.log(`Loaded asset-list with duration: ${u} (was: ${d}) ${s}`);let h=this.waitingItem,c=(null==h?void 0:h.event.identifier)===n;this.updateSchedule();let m=null==(r=this.bufferingItem)?void 0:r.event;if(c){let e=this.schedule.findEventIndex(n),t=null==(a=this.schedule.items)?void 0:a[e];if(t){if(!this.playingItem&&this.timelinePos>t.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e){s.error=Error(`Interstitial ${o.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${s}`),this.log(s.error.message),this.updateSchedule(!0),this.primaryFallback(s);return}this.setBufferingItem(t)}this.setSchedulePosition(e)}else if((null==m?void 0:m.identifier)===n){let e=s.assetList[0];if(e){let t=this.getAssetPlayer(e.identifier);if(m.appendInPlace){let e=this.primaryMedia;t&&e&&this.bufferAssetPlayer(t,e)}else t&&t.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case tU.ASSET_LIST_PARSING_ERROR:case tU.ASSET_LIST_LOAD_ERROR:case tU.ASSET_LIST_LOAD_TIMEOUT:{let e=t.interstitial;e&&(this.updateSchedule(!0),this.primaryFallback(e));break}case tU.BUFFER_STALLED_ERROR:{let e=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(e)&&e.event.appendInPlace)return void this.handleInPlaceStall(e.event);this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0)}}}}});class oX extends rI{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>
29{if(this.hls){var e;this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){let{hls:e}=this;e&&(e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;let i=this.media=t.media;aP(i,"playing",this.onMediaPlaying),aP(i,"waiting",this.onMediaWaiting),aP(i,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();let{media:i}=this;i&&(aO(i,"playing",this.onMediaPlaying),aO(i,"waiting",this.onMediaWaiting),aO(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!(null!=(e=this.media)&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var i,r,a;let s=null==(i=this.hls)?void 0:i.config;if(!s)return;let n=this.media;if(!n)return;let{seeking:o}=n,l=this.seeking&&!o,d=!this.seeking&&o,u=n.paused&&!o||n.ended||0===n.playbackRate;if(this.seeking=o,e!==t){t&&(this.ended=0),this.moved=!0,!o&&(this.nudgeRetry=0,s.nudgeOnVideoHole&&!u&&e>t&&this.nudgeOnVideoHole(e,t)),0===this.waiting&&this.stallResolved(e);return}if(d||l){l&&this.stallResolved(e);return}if(u){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&n.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!1}));return}if(!rx.getBuffered(n).length){this.nudgeRetry=0;return}let h=rx.bufferInfo(n,e,0),c=h.nextStart||0,m=this.fragmentTracker;if(o&&m&&this.hls){let t=oZ(this.hls.inFlightFragments,e),i=h.len>2,r=!c||t||c-e>2&&!m.getPartialFragment(e);if(i||r)return;this.moved=!1}let f=null==(r=this.hls)?void 0:r.latestLevelDetails;if(!this.moved&&null!==this.stalled&&m){if(!(h.len>0)&&!c)return;let t=Math.max(c,h.start||0)-e,i=null!=f&&f.live?2*f.targetduration:2,r=o0(e,m);if(t>0&&(t<=i||r)){n.paused||this._trySkipBufferHole(r);return}}let p=s.detectStallWithCurrentTimeMs,g=self.performance.now(),E=this.waiting,y=this.stalled;if(null===y)if(E>0&&g-E<p)y=this.stalled=E;else{this.stalled=g;return}let b=g-y;if(!o&&(b>=p||E)&&this.hls){if((null==(a=this.mediaSource)?void 0:a.readyState)==="ended"&&!(null!=f&&f.live)&&1>Math.abs(e-((null==f?void 0:f.edge)||0))){if(this.ended)return;this.ended=e||1,this.hls.trigger(tF.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(h),!this.media||!this.hls)return}let T=rx.bufferInfo(n,e,s.maxBufferHole);this._tryFixBufferStall(T,b,e)}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(tF.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var i;let r=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&null!=(i=this.buffered.audio)&&i.length&&r&&r.length>1&&e>r.end(0)){let i=rx.bufferedInfo(rx.timeRangesToArray(this.buffered.audio),e,0);if(i.len>1&&t>=i.start){let i=rx.timeRangesToArray(r),a=rx.bufferedInfo(i,t,0).bufferedIndex;if(a>-1&&a<i.length-1){let t=rx.bufferedInfo(i,e,0).bufferedIndex,r=i[a].end,s=i[a+1].start;if((-1===t||t>a)&&s-r<1&&e-r<2){let i=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${r} -> ${s} buffered index: ${t}`);this.warn(i.message),this.media.currentTime+=1e-6;let a=o0(e,this.fragmentTracker);a&&"fragment"in a?a=a.fragment:a||(a=void 0);let n=rx.bufferInfo(this.media,e,0);this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,frag:a,buffer:n.len,bufferInfo:n})}}}}}_tryFixBufferStall(e,t,i){var r,a;let{fragmentTracker:s,media:n}=this,o=null==(r=this.hls)?void 0:r.config;if(!n||!s||!o)return;let l=null==(a=this.hls)?void 0:a.latestLevelDetails,d=o0(i,s);if((d||null!=l&&l.live&&i<l.fragmentStart)&&(this._trySkipBufferHole(d)||!this.media))return;let u=e.buffered,h=this.adjacentTraversal(e,i);(u&&u.length>1&&e.len>o.maxBufferHole||e.nextStart&&(e.nextStart-i<o.maxBufferHole||h))&&(t>1e3*o.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){let i=this.fragmentTracker,r=e.nextStart;if(i&&r){let e=i.getFragAtPos(t,tV),a=i.getFragAtPos(r,tV);if(e&&a)return a.sn-e.sn<2}return!1}_reportStall(e){let{hls:t,media:i,stallReported:r,stalled:a}=this;if(!r&&null!==a&&i&&t){this.stallReported=!0;let r=Error(`Playback stalling at @${i.currentTime} due to low buffer (${i1(e)})`);this.warn(r.message),t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:a}})}}_trySkipBufferHole(e){var t,i;let{fragmentTracker:r,media:a}=this,s=null==(t=this.hls)?void 0:t.config;if(!a||!r||!s)return 0;let n=a.currentTime,o=rx.bufferInfo(a,n,0),l=n<o.start?o.start:o.nextStart;
29if(l&&this.hls){let t=o.len<=s.maxBufferHole,d=o.len>0&&o.len<1&&a.readyState<3,u=l-n;if(u>0&&(t||d)){if(u>s.maxBufferHole){let t=!1;if(0===n){let e=r.getAppendedFrag(0,tV);e&&l<e.end&&(t=!0)}if(!t&&e){if(!(null!=(i=this.hls.loadLevelObj)&&i.details)||oZ(this.hls.inFlightFragments,l))return 0;let t=!1,a=e.end;for(;a<l;){let e=o0(a,r);if(e)a+=e.duration;else{t=!0;break}}if(t)return 0}}let t=Math.max(l+.05,n+.1);if(this.warn(`skipping hole, adjusting currentTime from ${n} to ${t}`),this.moved=!0,a.currentTime=t,!(null!=e&&e.gap)){let i=Error(`fragment loaded with buffer holes, seeking from ${n} to ${t}`),r={type:tN.MEDIA_ERROR,details:tU.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,buffer:o.len,bufferInfo:o};e&&("fragment"in e?r.part=e:r.frag=e),this.hls.trigger(tF.ERROR,r)}return t}}return 0}_tryNudgeBuffer(e){let{hls:t,media:i,nudgeRetry:r}=this,a=null==t?void 0:t.config;if(!i||!a)return 0;let s=i.currentTime;if(this.nudgeRetry++,r<a.nudgeMaxRetry){let n=s+(r+1)*a.nudgeOffset,o=Error(`Nudging 'currentTime' from ${s} to ${n}`);this.warn(o.message),i.currentTime=n,t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1,buffer:e.len,bufferInfo:e})}else{let i=Error(`Playhead still not moving while enough data buffered @${s} after ${a.nudgeMaxRetry} nudges`);this.error(i.message),t.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.BUFFER_STALLED_ERROR,error:i,fatal:!0,buffer:e.len,bufferInfo:e})}}}function oZ(e,t){let i=oJ(e.main);if(i&&i.start<=t)return i;let r=oJ(e.audio);return r&&r.start<=t?r:null}function oJ(e){if(!e)return null;switch(e.state){case aF:case aU:case aW:case aq:return null}return e.frag}function o0(e,t){return t.getAppendedFrag(e,tV)||t.getPartialFragment(e)}function o1(){if("u">typeof self)return self.VTTCue||self.TextTrackCue}function o2(e,t,i,r,a){let s=new e(t,i,"");try{s.value=r,a&&(s.type=a)}catch(n){s=new e(t,i,i1(a?tQ({type:a},r):r))}return s}let o3=(()=>{let e=o1();try{e&&new e(0,1/0,"")}catch(e){return Number.MAX_VALUE}return 1/0})();class o4{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(tF.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;e&&(e.on(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(tF.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var i;this.media=t.media,(null==(i=t.overrides)?void 0:i.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;let t=null==(e=this.hls)?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,t.transferMedia||(this.id3Track&&(this.removeCues&&nq(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let i=e[t];if("metadata"===i.kind&&"id3"===i.label)return nK(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:i,enableID3MetadataCues:r}=this.hls.config;if(!i&&!r)return;let{samples:a}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let s=o1();if(s)for(let e=0;e<a.length;
29e++){let t=a[e].type;if(t===sn.emsg&&!i||!r)continue;let n=sr(a[e].data),o=a[e].pts,l=o+a[e].duration;l>o3&&(l=o3),l-o<=0&&(l=o+.25);for(let e=0;e<n.length;e++){let i=n[e];if(!sa(i)){this.updateId3CueEnds(o,t);let e=o2(s,o,l,i,t);e&&this.id3Track.addCue(e)}}}}updateId3CueEnds(e,t){var i;let r=null==(i=this.id3Track)?void 0:i.cues;if(r)for(let i=r.length;i--;){let a=r[i];a.type===t&&a.startTime<e&&a.endTime===o3&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:r}){let{id3Track:a,hls:s}=this;if(!s)return;let{config:{enableEmsgMetadataCues:n,enableID3MetadataCues:o}}=s;a&&(n||o)&&nj(a,t,i,"audio"===r?e=>e.type===sn.audioId3&&o:"video"===r?e=>e.type===sn.emsg&&n:e=>e.type===sn.audioId3&&o||e.type===sn.emsg&&n)}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){var i,r;if(!this.hls||!this.media)return;let{assetPlayerId:a,timelineOffset:s,enableDateRangeMetadataCues:n,interstitialsController:o}=this.hls.config;if(!n)return;let l=o1();if(a&&s&&!o){let{fragmentStart:t,fragmentEnd:i}=e,r=this.assetCue;r?(r.startTime=t,r.endTime=i):l&&(r=this.assetCue=o2(l,t,i,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"))&&(r.id=a,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(r),r.addEventListener("enter",this.onEventCueEnter))}if(!e.hasProgramDateTime)return;let{id3Track:d}=this,{dateRanges:u}=e,h=Object.keys(u),c=this.dateRangeCuesAppended;if(d&&t)if(null!=(i=d.cues)&&i.length){let e=Object.keys(c).filter(e=>!h.includes(e));for(let t=e.length;t--;){let i=e[t],a=null==(r=c[i])?void 0:r.cues;delete c[i],a&&Object.keys(a).forEach(e=>{let t=a[e];if(t){t.removeEventListener("enter",this.onEventCueEnter);try{d.removeCue(t)}catch(e){}}})}}else c=this.dateRangeCuesAppended={};let m=e.fragments[e.fragments.length-1];if(0!==h.length&&tM(null==m?void 0:m.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e<h.length;e++){let t=h[e],i=u[t],r=i.startTime,a=c[t],s=(null==a?void 0:a.cues)||{},n=(null==a?void 0:a.durationKnown)||!1,d=o3,{duration:m,endDate:f}=i;if(f&&null!==m)d=r+m,n=!0;else if(i.endOnNext&&!n){let e=h.reduce((e,t)=>{if(t!==i.id){let r=u[t];if(r.class===i.class&&r.startDate>i.startDate&&(!e||i.startDate<e.startDate))return r}return e},null);e&&(d=e.startTime,n=!0)}let p=Object.keys(i.attr);for(let e=0;e<p.length;e++){let u=p[e];if("ID"===u||"CLASS"===u||"CUE"===u||"START-DATE"===u||"DURATION"===u||"END-DATE"===u||"END-ON-NEXT"===u)continue;let h=s[u];if(h)n&&!(null!=a&&a.durationKnown)?h.endTime=d:Math.abs(h.startTime-r)>.01&&(h.startTime=r,h.endTime=d);else if(l){let e=i.attr[u];("SCTE35-OUT"===u||"SCTE35-IN"===u||"SCTE35-CMD"===u)&&(e=t9(e));let a=o2(l,r,d,{key:u,data:e},sn.dateRange);a&&(a.id=t,this.id3Track.addCue(a),s[u]=a,o&&("X-ASSET-LIST"===u||"X-ASSET-URL"===u)&&a.addEventListener("enter",this.onEventCueEnter))}}c[t]={cues:s,dateRange:i,durationKnown:n}}}}}class o5{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:e}=this,t=this.levelDetails;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(null===i)return;this._latency=i;let{lowLatencyMode:r,maxLiveSyncPlaybackRate:a}=this.config;if(!r||1===a||!t.live)return;let s=this.targetLatency;if(null===s)return;let n=i-s;if(n<Math.min(this.maxLatency,s+t.targetduration)&&n>.05&&this.forwardBufferLength>1){let t=Math.min(Math.min(2,Math.max(1,a)),Math.max(1,Math.round(2/(1+Math.exp(-.75*n-this.edgeStalled))*20)/20));this.changeMediaPlaybackRate(e,t)}else 1!==e.playbackRate&&0!==e.playbackRate&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return(null==(e=this.hls)?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){let{config:e}=this;if(void 0!==e.liveMaxLatencyDuration)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let e=this.levelDetails;if(null===e||null===this.hls)return null;let{holdBack:t,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:s,lowLatencyMode:n}=this.config,o=this.hls.userConfig,l=n&&i||t;return(this._targetLatencyUpdated||o.liveSyncDuration||o.liveSyncDurationCount||0===l)&&(l=void 0!==a?a:s*r),l+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,r)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(null===e||null===t)return null;let i=this.levelDetails;if(null===i)return null;let r=i.edge,a=e-t-this.edgeStalled;return Math.min(Math.max(r-i.totalduration,a),r-(this.config.lowLatencyMode&&i.partTarget||i.targetduration))}get drift(){let e=this.levelDetails;return null===e?1:e.drift}get edgeStalled(){let e=this.levelDetails;if(null===e)return 0;let t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;
29e&&(e.on(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tF.ERROR,this.onError,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tF.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tF.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tF.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var i;t.details===tU.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&null!=(i=this.levelDetails)&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var i,r;e.playbackRate!==t&&(null==(i=this.hls)||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${null==(r=this.targetLatency)?void 0:r.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){let e=this.levelDetails;return null===e?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}class o8 extends s2{constructor(e,t){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tF.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tF.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=this.hls.config.preferManagedMediaSource,r=[],a={},s={},n=!1,o=!1,l=!1;t.levels.forEach(e=>{let t=e.attrs,{audioCodec:d,videoCodec:u}=e;d&&(e.audioCodec=d=iB(d,i)||void 0),u&&(u=e.videoCodec=function(e){let t=e.split(",");for(let e=0;e<t.length;e++){let i=t[e].split(".");i.length>2&&"avc1"===i[0]&&(t[e]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`)}return t.join(",")}(u));let{width:h,height:c,unknownCodecs:m}=e,f=(null==m?void 0:m.length)||0;if(n||(n=!!(h&&c)),o||(o=!!u),l||(l=!!d),f||d&&!this.isAudioSupported(d)||u&&!this.isVideoSupported(u))return void this.log(`Some or all CODECS not supported "${t.CODECS}"`);let{CODECS:p,"FRAME-RATE":g,"HDCP-LEVEL":E,"PATHWAY-ID":y,RESOLUTION:b,"VIDEO-RANGE":T}=t,A=`${y||"."}-`,_=`${A}${e.bitrate}-${b}-${g}-${p}-${T}-${E}`;if(a[_])if(a[_].uri===e.url||e.attrs["PATHWAY-ID"])a[_].addGroupId("audio",t.AUDIO),a[_].addGroupId("text",t.SUBTITLES);else{let t=s[_]+=1;e.attrs["PATHWAY-ID"]=Array(t+1).join(".");let i=this.createLevel(e);a[_]=i,r.push(i)}else{let t=this.createLevel(e);a[_]=t,s[_]=1,r.push(t)}}),this.filterAndSortMediaOptions(r,t,n,o,l)}createLevel(e){let t=new iJ(e),i=e.supplemental;if(null!=i&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){let e=Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(e.message),t.supportedResult=iq(e,[])}return t}isAudioSupported(e){return ix(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return ix(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,i,r,a){var s,n;let o=[],l=[],d=e,u=(null==(s=t.stats)?void 0:s.parsing)||{};if((i||r)&&a&&(d=d.filter(({videoCodec:e,videoRange:t,width:i,height:r})=>{var a;return(!!e||!!(i&&r))&&!!(a=t)&&iQ.indexOf(a)>-1})),0===d.length){Promise.resolve().then(()=>
29{if(this.hls){let e="no level with compatible codecs found in manifest",i=e;t.levels.length&&(i=`one or more CODECS in variant not supported: ${i1(t.levels.map(e=>e.attrs.CODECS).filter((e,t,i)=>i.indexOf(e)===t))}`,this.warn(i),e+=` (${i})`);let r=Error(e);this.hls.trigger(tF.ERROR,{type:tN.MEDIA_ERROR,details:tU.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:r,reason:i})}}),u.end=performance.now();return}t.audioTracks&&o9(o=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),t.subtitles&&o9(l=t.subtitles);let h=d.slice(0);d.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return iQ.indexOf(e.videoRange)-iQ.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){let i=iO(e.videoCodec),r=iO(t.videoCodec);if(i!==r)return r-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){let i=iN(e.codecSet),r=iN(t.codecSet);if(i!==r)return r-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let c=h[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==h.length){for(let e=0;e<h.length;e++)if(h[e].pathwayId===d[0].pathwayId){c=h[e];break}}this._levels=d;for(let e=0;e<d.length;e++)if(d[e]===c){this._firstLevel=e;let t=c.bitrate,i=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${t}`),(null==(n=this.hls.userConfig)?void 0:n.abrEwmaDefaultEstimate)===void 0){let e=Math.min(t,this.hls.config.abrEwmaDefaultEstimateMax);e>i&&i===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}let m=a&&!r,f=this.hls.config,p=!!(f.audioStreamController&&f.audioTrackController),g={levels:d,audioTracks:o,subtitleTracks:l,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:a,video:r,altAudio:p&&!m&&o.some(e=>!!e.url)};u.end=performance.now(),this.hls.trigger(tF.MANIFEST_PARSED,g)}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){let i=Error("invalid level idx"),r=e<0;if(this.hls.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:i,reason:i.message}),r)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,r=this.currentLevel,a=r?r.attrs["PATHWAY-ID"]:void 0,s=t[e],n=s.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=s,i===e&&r&&a===n)return;this.log(`Switching to level ${e} (${s.height?s.height+"p ":""}${s.videoRange?s.videoRange+" ":""}${s.codecSet?s.codecSet+" ":""}@${s.bitrate})${n?" with Pathway "+n:""} from level ${i}${a?" with Pathway "+a:""}`);let o={level:e,attrs:s.attrs,details:s.details,bitrate:s.bitrate,averageBitrate:s.averageBitrate,maxBitrate:s.maxBitrate,realBitrate:s.realBitrate,width:s.width,height:s.height,codecSet:s.codecSet,audioCodec:s.audioCodec,videoCodec:s.videoCodec,audioGroups:s.audioGroups,subtitleGroups:s.subtitleGroups,loaded:s.loaded,loadError:s.loadError,fragmentError:s.fragmentError,name:s.name,id:s.id,uri:s.uri,url:s.url,urlId:0,audioGroupIds:s.audioGroupIds,textGroupIds:s.textGroupIds};this.hls.trigger(tF.LEVEL_SWITCHING,o);let l=s.details;if(!l||l.live){let e=this.switchParams(s.uri,null==r?void 0:r.details,l);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){let e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),i=e.filter(e=>-1!==t.indexOf(e));if(e.length<1)return void this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);this.steering.pathwayPriority=i}}onError(e,t){!t.fatal&&t.context&&t.context.type===t$&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===tV){let e=t.elementaryStreams;if(!Object.keys(e).some(t=>!!e[t]))return;let i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i,r;let{level:a,details:s}=t,n=t.levelInfo;if(!n){this.warn(`Invalid level index ${a}`),null!=(r=t.deliveryDirectives)&&r.skip&&(s.deltaUpdateFailed=!0);return}if(n===this.currentLevel||t.withoutMultiVariant){0===n.fragmentError&&(n.loadError=0);let e=n.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(a,t,e)}else null!=(i=t.deliveryDirectives)&&i.skip&&(s.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLo
29ading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=this.getUrlWithDirectives(e.uri,t),r=this.currentLevelIndex,a=e.attrs["PATHWAY-ID"],s=e.details,n=null==s?void 0:s.age;this.log(`Loading level index ${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${a?" Pathway "+a:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${i}`),this.hls.trigger(tF.LEVEL_LOADING,{url:i,level:r,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return -1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(1===this._levels.length)return;let i=this._levels.filter((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(e=>e.level=-1)),!1));aR(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let r=i.length-1;this._firstLevel=Math.min(this._firstLevel,r),this._startLevel&&(this._startLevel=Math.min(this._startLevel,r)),this.hls.trigger(tF.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(tF.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function o9(e){let t={};e.forEach(e=>{let i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++})}function o6(){return self.SourceBuffer||self.WebKitSourceBuffer}function o7(){if(!t3())return!1;let e=o6();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class le extends az{constructor(e,t,i){super(e,t,i,"stream-controller",tV),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let e=this.media,t=e?e.currentTime:null;if(null===t||!tM(t)||(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t)))return;let i=this.getFwdBufferInfoAtPos(e,t,tV,0);null===i||0===i.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${i?i.len:"empty"})`):this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tF.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tF.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(tF.BUFFER_CREATED,this.onBufferCreated,this),e.on(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tF.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tF.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tF.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tF.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(tF.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tF.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(tF.BUFFER_CREATED,this.onBufferCreated,this),e.off(tF.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tF.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){let{lastCurrentTime:i,hls:r}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=r.startLevel;-1===e&&(r.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=r.firstAutoLevel),r.nextLoadLevel=e,this.level=r.loadLevel,this._hasEnoughToStart=!!t}i>0&&-1===e&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=aF,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=aU}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case aY:{let{levels:e,level:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(!r||r.live&&(this.levelLastLoaded!==i||this.waitForLive(i)))this.hls.nextLoadLevel!==this.level&&(this.state=aF);else{if(this.waitForCdnTuneIn(r))break;this.state=aF}break}case aH:this.checkRetryDate()}this.state===aF&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),null!=(e=this.media)&&e.readyState&&!1===this.media.seeking&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:r}=this;if(null===t||!r&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;
29let a=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(null!=i&&i[a]))return;let s=i[a],n=this.getMainFwdBufferInfo();if(null===n)return;let o=this.getLevelDetails();if(o&&this._streamEnded(n,o)){let e={};2===this.altAudio&&(e.type="video"),this.hls.trigger(tF.BUFFER_EOS,e),this.state=aW;return}if(!this.buffering)return;e.loadLevel!==a&&-1===e.manualLevel&&this.log(`Adapting to level ${a} from level ${this.level}`),this.level=e.nextLoadLevel=a;let l=s.details;if(!l||this.state===aY||this.waitForLive(s)){this.level=a,this.state=aY,this.startFragRequested=!1;return}let d=n.len,u=this.getMaxBufferLength(s.maxBitrate);if(d>=u)return;this.backtrackFragment&&this.backtrackFragment.start>n.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:n.end,c=this.getNextFragment(h,l);if(this.couldBacktrack&&!this.fragPrevious&&c&&is(c)&&"OK"!==this.fragmentTracker.getState(c)){var m;let e=(null!=(m=this.backtrackFragment)?m:c).sn-l.startSN,t=l.fragments[e-1];t&&c.cc===t.cc&&(c=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&n.len&&(this.backtrackFragment=null);if(c&&this.isLoopLoading(c,h)){if(!c.gap){let e=this.audioOnly&&!this.altAudio?it:ii,t=(e===ii?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,tV)}c=this.getNextFragmentLoopLoading(c,l,n,tV,u)}c&&(!c.initSegment||c.initSegment.data||this.bitrateTest||(c=c.initSegment),this.loadFragment(c,s,h))}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);r===rm||r===rp?is(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,tV)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,1/0)}nextLevelSwitch(){let{levels:e,media:t}=this;if(null!=t&&t.readyState){let i,r=this.getAppendedFrag(t.currentTime);r&&r.start>1&&this.flushMainBuffer(0,r.start-1);let a=this.getLevelDetails();if(null!=a&&a.live){let e=this.getMainFwdBufferInfo();if(!e||e.len<2*a.targetduration)return}if(!t.paused&&e){let t=e[this.hls.nextLoadLevel],r=this.fragLastKbps;i=r&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*r)+1:0}else i=0;let s=this.getBufferedFrag(t.currentTime+i);if(s){let e=this.followingBufferedFrag(s);if(e){this.abortCurrentFrag();let t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,r=Math.max(s.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(r,1/0)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case aB:case a$:case aH:case aV:case aK:this.state=aF}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,2===this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;aP(i,"playing",this.onMediaPlaying),aP(i,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){let{media:i}=this;i&&(aO(i,"playing",this.onMediaPlaying),aO(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),t.transferMedia||(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(tF.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){var i;let r,a=!1,s=!1;for(let e=0;e<t.levels.length;e++){let i=t.levels[e].audioCodec;i&&(a=a||-1!==i.indexOf("mp4a.40.2"),s=s||-1!==i.indexOf("mp4a.40.5"))}this.audioCodecSwitch=a&&s&&"function"!=typeof(null==(r=o6())||null==(i=r.prototype)?void 0:i.changeType),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:i}=this;if(!i||this.state!==aF)return;let r=t.levelInfo;(!r.details||r.details.live&&(this.levelLastLoaded!==r||r.details.expired)||this.waitForCdnTuneIn(r.details))&&(this.state=aY)}
29onLevelLoaded(e,t){var i,r;let{levels:a,startFragRequested:s}=this,n=t.level,o=t.details,l=o.totalduration;if(!a)return void this.warn(`Levels were reset while loading level ${n}`);this.log(`Level ${n} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${l}`);let d=t.levelInfo,u=this.fragCurrent;u&&(this.state===a$||this.state===aH)&&u.level!==t.level&&u.loader&&this.abortCurrentFrag();let h=0;if(o.live||null!=(i=d.details)&&i.live){if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;h=this.alignPlaylists(o,d.details,null==(r=this.levelLastLoaded)?void 0:r.details)}if(d.details=o,this.levelLastLoaded=d,s||this.setStartPosition(o,h),this.hls.trigger(tF.LEVEL_UPDATED,{details:o,level:n}),this.state===aY){if(this.waitForCdnTuneIn(o))return;this.state=aF}s&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let r=this.hls.liveSyncPosition,a=this.getLoadPosition(),s=e.fragmentStart,n=e.edge,o=a>=s-t.maxFragLookUpTolerance&&a<=n;if(null!==r&&i.duration>r&&(a<r||!o)){let s=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!o&&i.readyState<4||a<n-s)&&(this._hasEnoughToStart||(this.nextLoadPosition=r),i.readyState))if(this.warn(`Playback: ${a.toFixed(3)} is located too far from the end of live sliding playlist: ${n}, reset currentTime to : ${r.toFixed(3)}`),"buffered"===this.config.liveSyncMode){var l;let e=rx.bufferInfo(i,r,0);if(!(null!=(l=e.buffered)&&l.length)||e.start<=a){i.currentTime=r;return}let{nextStart:t}=rx.bufferedInfo(e.buffered,a,0);t&&(i.currentTime=t)}else i.currentTime=r}}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{levels:s}=this;if(!s)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let n=s[i.level];if(!n)return void this.warn(`Level ${i.level} not found on progress`);let o=n.details;if(!o){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let l=n.videoCodec,d=o.PTSKnown||!o.live,u=null==(t=i.initSegment)?void 0:t.data,h=this._getAudioCodec(n),c=this.transmuxer=this.transmuxer||new s1(this.hls,tV,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=r?r.index:-1,f=new rw(i.level,i.sn,i.stats.chunkCount,a.byteLength,m,-1!==m),p=this.initPTS[i.cc];c.push(a,u,h,l,i,r,o.totalduration,d,f,p)}onAudioTrackSwitching(e,t){let i=this.hls,r=0!==this.altAudio;if(i7(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(r){this.altAudio=0,this.fragmentTracker.removeAllFragments(),i.once(tF.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(tF.AUDIO_TRACK_SWITCHED,t)}),i.trigger(tF.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:null});return}i.trigger(tF.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=i7(t.url,this.hls);if(i){let e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=2*!!i,this.tick()}onBufferCreated(e,t){let i,r,a=t.tracks,s=!1;for(let e in a){let t=a[e];if("main"===t.id){if(r=e,i=t,"video"===e){let t=a[e];t&&(this.videoBuffer=t.buffer)}}else s=!0}s&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:r}=t,a=i.type===tV;if(a){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===aK&&(this.state=aF);return}let e=r?r.stats:i.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),is(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,r)}let s=this.media;s&&(!this._hasEnoughToStart&&rx.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),a&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal){this.state=aq;return}switch(t.details){case tU.FRAG_GAP:case tU.FRAG_PARSING_ERROR:case tU.FRAG_DECRYPT_ERROR:case tU.FRAG_LOAD_ERROR:case tU.FRAG_LOAD_TIMEOUT:case tU.KEY_LOAD_ERROR:case tU.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tV,t);break;case tU.LEVEL_LOAD_ERROR:case tU.LEVEL_LOAD_TIMEOUT:case tU.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aY||(null==(i=t.context)?void 0:i.type)!==t$||(this.state=aF);break;case tU.BUFFER_ADD_CODEC_ERROR:case tU.BUFFER_APPEND_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case tU.BUFFER_FULL_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,1/0));break;case tU.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=aF,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==it||!this.altAudio){let e=(t===ii?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,t,tV),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,-1===this.level&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking)return void this.log(`could not seek to ${i}, already seeking at ${t}`);let r=this.timelineOffset;r&&i&&(i+=r);let a=this.getLevelDetails(),s=rx.getBuffered(e),n=s.length?s.start(0):0,o=n-i,l=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||o>0&&(o<l||this.loadingParts&&o<2*((null==a?void 0:a.partTarget)||0)))&&(this.log(`adjusting start position by ${o} to match buffer start`),i+=o,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${n}`),e.currentTime=i)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(e=>{let{hls:i}=this,r=null==e?void 0:e.frag;if(!r||this.fragContextChanged(r))return;t.fragmentError=0,this.state=aF,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(tF.FRAG_LOADED,e),r.bitrateTest=!1}
29).catch(t=>{this.state!==aU&&this.state!==aq&&(this.warn(t),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){let t=this.playlistType,{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,s=this.getCurrentContext(a);if(!s)return void this.resetWhenMissingContext(a);let{frag:n,part:o,level:l}=s,{video:d,text:u,id3:h,initSegment:c}=r,{details:m}=l,f=this.altAudio?void 0:r.audio;if(this.fragContextChanged(n))return void this.fragmentTracker.removeFragment(n);if(this.state=aV,c){let e=c.tracks;if(e){let r=n.initSegment||n;if(this.unhandledEncryptionError(c,n))return;this._bufferInitSegment(l,e,r,a),i.trigger(tF.FRAG_PARSING_INIT_SEGMENT,{frag:r,id:t,tracks:e})}let r=c.initPTS,s=c.timescale,o=this.initPTS[n.cc];if(tM(r)&&(!o||o.baseTime!==r||o.timescale!==s)){let e=c.trackId;this.initPTS[n.cc]={baseTime:r,timescale:s,trackId:e},i.trigger(tF.INIT_PTS_FOUND,{frag:n,id:t,initPTS:r,timescale:s,trackId:e})}}if(d&&m){f&&"audiovideo"===d.type&&this.logMuxedErr(n);let e=m.fragments[n.sn-1-m.startSN],t=n.sn===m.startSN,i=!e||n.cc>e.cc;if(!1!==r.independent){let{startPTS:e,endPTS:r,startDTS:s,endDTS:l}=d;if(o)o.elementaryStreams[d.type]={startPTS:e,endPTS:r,startDTS:s,endDTS:l};else if(d.firstKeyFrame&&d.independent&&1===a.id&&!i&&(this.couldBacktrack=!0),d.dropped&&d.independent){let a=this.getMainFwdBufferInfo(),s=(a?a.end:this.getLoadPosition())+this.config.maxBufferHole,o=d.firstKeyFramePTS?d.firstKeyFramePTS:e;if(!t&&s<o-this.config.maxBufferHole&&!i)return void this.backtrack(n);i&&(n.gap=!0),n.setElementaryStreamInfo(d.type,n.start,r,n.start,l,!0)}else t&&e-(m.appliedTimelineOffset||0)>2&&(n.gap=!0);n.setElementaryStreamInfo(d.type,e,r,s,l),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(d,n,o,a,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(f){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=f;o&&(o.elementaryStreams[it]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),n.setElementaryStreamInfo(it,e,t,i,r),this.bufferFragmentData(f,n,o,a)}if(m&&null!=h&&h.samples.length){let e={id:t,frag:n,details:m,samples:h.samples};i.trigger(tF.FRAG_PARSING_METADATA,e)}if(m&&u){let e={id:t,frag:n,details:m,samples:u.samples};i.trigger(tF.FRAG_PARSING_USERDATA,e)}}logMuxedErr(e){this.warn(`${is(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,i,r){if(this.state!==aV)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));let{audio:a,video:s,audiovideo:n}=t;if(a){let i=e.audioCodec,r=i$(a.codec,i);"mp4a"===r&&(r="mp4a.40.5");let s=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){r&&(r=-1!==r.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");let e=a.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===s.indexOf("firefox")&&(r="mp4a.40.5")}r&&-1!==r.indexOf("mp4a.40.5")&&-1!==s.indexOf("android")&&"audio/mpeg"!==a.container&&(r="mp4a.40.2",this.log(`Android: force audio codec to ${r}`)),i&&i!==r&&this.log(`Swapping manifest audio codec "${i}" for "${r}"`),a.levelCodec=r,a.id=tV,this.log(`Init audio buffer, container:${a.container}, codecs[selected/level/parsed]=[${r||""}/${i||""}/${a.codec}]`),delete t.audiovideo}if(s){s.levelCodec=e.videoCodec,s.id=tV;let i=s.codec;if((null==i?void 0:i.length)===4)switch(i){case"hvc1":case"hev1":s.codec="hvc1.1.6.L120.90";break;case"av01":s.codec="av01.0.04M.08";break;case"avc1":s.codec="avc1.42e01e"}this.log(`Init video buffer, container:${s.container}, codecs[level/parsed]=[${e.videoCodec||""}/${i}]${s.codec!==i?" parsed-corrected="+s.codec:""}${s.supplemental?" supplemental="+s.supplemental:""}`),delete t.audiovideo}n&&(this.log(`Init audiovideo buffer, container:${n.container}, codecs[level/parsed]=[${e.codecs}/${n.codec}]`),delete t.video,delete t.audio);let o=Object.keys(t);if(o.length){if(this.hls.trigger(tF.BUFFER_CODECS,t),!this.hls)return;o.forEach(e=>{let a=t[e].initSegment;null!=a&&a.byteLength&&this.hls.trigger(tF.BUFFER_APPENDING,{type:e,data:a,frag:i,part:null,chunkMeta:r,parent:i.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,tV)}get maxBufferLength(){let{levels:e,level:t}=this,i=null==e?void 0:e[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=aF}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){let i=e.currentTime;if(rx.isBuffered(e,i)?t=this.getAppendedFrag(i):rx.isBuffered(e,i+.
291)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let e=this.fragPlaying,i=t.level;(!e||t.sn!==e.sn||e.level!==i)&&(this.fragPlaying=t,this.hls.trigger(tF.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(tF.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;return tM(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;if(tM(t)){let e=this.getLevelDetails(),i=this.currentFrag||(e?rt(null,e.fragments,t):null);if(i){let e=i.programDateTime;if(null!==e)return new Date(e+(t-i.start)*1e3)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class lt extends tX{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let i in this.keyIdToKeyInfo){let r=this.keyIdToKeyInfo[i].loader;if(r){var t;if(e&&e!==(null==(t=r.context)?void 0:t.frag.type))return;r.abort()}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){for(let e in this.detach(),this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=tU.KEY_LOAD_ERROR,i,r,a){return new rR({type:tN.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:a,error:i,networkDetails:r})}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let r=0,a=t.length;r<a;r++){let s=t[r];if(e.cc<=s.cc&&(!is(e)||!is(s)||e.sn<s.sn)||!i&&r==a-1)return this.emeController.selectKeySystemFormat(s).then(e=>{if(!this.emeController)return;s.setKeyFormat(e);let t=r4(e);if(t)return this.emeController.getKeySystemAccess([t])})}if(this.config.requireKeySystemAccessOnStart){let e=r8(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,r;t&&e.setKeyFormat(t);let a=e.decryptdata;if(!a){let i=Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,i))}let s=a.uri;if(!s)return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let n=li(a),o=this.keyIdToKeyInfo[n];if(null!=(i=o)&&i.decryptdata.key)return a.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if(this.emeController&&null!=(r=o)&&r.keyLoadPromise)switch(this.emeController.getKeyStatus(o.decryptdata)){case"usable":case"usable-in-future":return o.keyLoadPromise.then(t=>{let{keyInfo:i}=t;return a.key=i.decryptdata.key,{frag:e,keyInfo:i}})}switch(this.log(`${this.keyIdToKeyInfo[n]?"Rel":"L"}oading${a.keyId?" keyId: "+t8(a.keyId):""} URI: ${a.uri} from ${e.type} ${e.level}`),o=this.keyIdToKeyInfo[n]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if("identity"===a.keyFormat)return this.loadKeyHTTP(o,e);return this.loadKeyEME(o,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,tU.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${a.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var r,a;if(!e.decryptdata.keyId&&null!=(r=t.initSegment)&&r.data){let i,r=(a=t.initSegment.data,i=[],i_(a,e=>i.push(e.subarray(8,24))),i);if(r.length){let t=r[0];t.some(e=>0!==e)?(this.log(`Using keyId found in init segment ${t8(t)}`),ae.setKeyIdForUri(e.decryptdata.uri,t)):(t=ae.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${t8(t)}`)),e.decryptdata.keyId=t}}return e.decryptdata.keyId||is(t)?(e.keyLoadPromise=this.emeController.loadKey(i).then(t=>(e.mediaKeySessionContext=t,i))).catch(i=>{throw e.keyLoadPromise=null,"data"in i&&(i.data.frag=t),i}):Promise.resolve(i)}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,r=new i.loader(i);return t.keyLoader=e.loader=r,e.keyLoadPromise=new Promise((a,s)=>{let n={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},o=i.keyLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};r.load(n,l,{onSuccess:(e,t,i,r)=>{let{frag:n,keyInfo:o}=i,l=li(o.decryptdata);if(!n.decryptdata||o!==this.keyIdToKeyInfo[l])return s(this.createKeyLoadError(n,tU.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),r));o.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,o.loader=null,a({frag:n,keyInfo:o})},onError:(e,i,r,a)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.KEY_LOAD_ERROR,Error(`HTTP Error ${e.code} loading key ${e.text}`),r,tQ({url:n.url,data:void 0},e)))},onTimeout:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.KEY_LOAD_TIMEOUT,Error("key loading timed out"),r))},onAbort:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tU.INTERNAL_ABORTED,Error("key loading aborted"),r))}})})}
29resetLoader(e){let{frag:t,keyInfo:i,url:r}=e,a=i.loader;t.keyLoader===a&&(t.keyLoader=null,i.loader=null);let s=li(i.decryptdata)||r;delete this.keyIdToKeyInfo[s],a&&a.destroy()}}function li(e){if(e.keyFormat!==r1){let t=e.keyId;if(t)return t8(t)}return e.uri}function lr(e){let{type:t}=e;switch(t){case tH:return tK;case tG:return tW;default:return tV}}function la(e,t){let i=e.url;return(void 0===i||0===i.indexOf("data:"))&&(i=t.url),i}class ls{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tF.LEVEL_LOADING,this.onLevelLoading,this),e.on(tF.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(tF.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(tF.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(tF.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tF.LEVEL_LOADING,this.onLevelLoading,this),e.off(tF.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(tF.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(tF.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,r=t.loader,a=new(i||r)(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:tB,url:i,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){let{id:i,level:r,pathwayId:a,url:s,deliveryDirectives:n,levelInfo:o}=t;this.load({id:i,level:r,pathwayId:a,responseType:"text",type:t$,url:s,deliveryDirectives:n,levelOrTrack:o})}onAudioTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tH,url:a,deliveryDirectives:s,levelOrTrack:n})}onSubtitleTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tG,url:a,deliveryDirectives:s,levelOrTrack:n})}onLevelsUpdated(e,t){let i=this.loaders[t$];if(i){let e=i.context;e&&!t.levels.some(t=>t===e.levelOrTrack)&&(i.abort(),delete this.loaders[t$])}}load(e){var t;let i,r=this.hls.config,a=this.getInternalLoader(e);if(a){let t=this.hls.logger,i=a.context;if(i&&i.levelOrTrack===e.levelOrTrack&&(i.url===e.url||i.deliveryDirectives&&!e.deliveryDirectives))return void(i.url===e.url?t.log(`[playlist-loader]: ignore ${e.url} ongoing request`):t.log(`[playlist-loader]: ignore ${e.url} in favor of ${i.url}`));t.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),a.abort()}if(i=e.type===tB?r.manifestLoadPolicy.default:tY({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),a=this.createInternalLoader(e),tM(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===t$&&null!==e.level?t=this.hls.levels[e.level].details:e.type===tH&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===tG&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){let e=t.partTarget,r=t.targetduration;if(e&&r){let t=1e3*Math.max(3*e,.8*r);i=tY({},i,{maxTimeToFirstByteMs:Math.min(t,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,i.maxTimeToFirstByteMs)})}}}let s=i.errorRetry||i.timeoutRetry||{},n={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:s.maxNumRetry||0,retryDelay:s.retryDelayMs||0,maxRetryDelay:s.maxRetryDelayMs||0};a.load(e,n,{onSuccess:(e,t,i,r)=>{let a=this.getInternalLoader(i);this.resetInternalLoader(i.type);let s=e.data;t.parsing.start=performance.now(),ao.isMediaPlaylist(s)||i.type!==tB?this.handleTrackOrLevelPlaylist(e,t,i,r||null,a):this.handleMasterPlaylist(e,t,i,r)},onError:(e,t,i,r)=>{this.handleNetworkError(t,i,!1,e,r)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}})}
29checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,r){let a=this.hls,s=e.data,n=la(e,i),o=ao.parseMasterPlaylist(s,n);if(o.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,o.playlistParsingError,r,t);return}let{contentSteering:l,levels:d,sessionData:u,sessionKeys:h,startTimeOffset:c,variableList:m}=o;this.variableList=m,d.forEach(e=>{let{unknownCodecs:t}=e;if(t){let{preferManagedMediaSource:i}=this.hls.config,{audioCodec:r,videoCodec:a}=e;for(let s=t.length;s--;){let n=t[s];ix(n,"audio",i)?(e.audioCodec=r=r?`${r},${n}`:n,iC.audio[r.substring(0,4)]=2,t.splice(s,1)):ix(n,"video",i)&&(e.videoCodec=a=a?`${a},${n}`:n,iC.video[a.substring(0,4)]=2,t.splice(s,1))}}});let{AUDIO:f=[],SUBTITLES:p,"CLOSED-CAPTIONS":g}=ao.parseMasterPlaylistMedia(s,n,o);f.length&&(f.some(e=>!e.url)||!d[0].audioCodec||d[0].attrs.AUDIO||(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),f.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new rF({}),bitrate:0,url:""}))),a.trigger(tF.MANIFEST_LOADED,{levels:d,audioTracks:f,subtitles:p,captions:g,contentSteering:l,url:n,stats:t,networkDetails:r,sessionData:u,sessionKeys:h,startTimeOffset:c,variableList:m})}handleTrackOrLevelPlaylist(e,t,i,r,a){let s=this.hls,{id:n,level:o,type:l}=i,d=la(e,i),u=tM(o)?o:tM(n)?n:0,h=lr(i),c=ao.parseLevelPlaylist(e.data,d,u,h,0,this.variableList);if(l===tB){let e={attrs:new rF({}),bitrate:0,details:c,name:"",url:d};c.requestScheduled=t.loading.start+a_(c,0),s.trigger(tF.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:r,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=c,this.handlePlaylistLoaded(c,e,t,i,r,a)}handleManifestParsingError(e,t,i,r,a){this.hls.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.MANIFEST_PARSING_ERROR,fatal:t.type===tB,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:r,stats:a})}handleNetworkError(e,t,i=!1,r,a){let s=`A network ${i?"timeout":"error"+(r?" (status "+r.code+")":"")} occurred while loading ${e.type}`;e.type===t$?s+=`: ${e.level} id: ${e.id}`:(e.type===tH||e.type===tG)&&(s+=` id: ${e.id} group-id: "${e.groupId}"`);let n=Error(s);this.hls.logger.warn(`[playlist-loader]: ${s}`);let o=tU.UNKNOWN,l=!1,d=this.getInternalLoader(e);switch(e.type){case tB:o=i?tU.MANIFEST_LOAD_TIMEOUT:tU.MANIFEST_LOAD_ERROR,l=!0;break;case t$:o=i?tU.LEVEL_LOAD_TIMEOUT:tU.LEVEL_LOAD_ERROR,l=!1;break;case tH:o=i?tU.AUDIO_TRACK_LOAD_TIMEOUT:tU.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case tG:o=i?tU.SUBTITLE_TRACK_LOAD_TIMEOUT:tU.SUBTITLE_LOAD_ERROR,l=!1}d&&this.resetInternalLoader(e.type);let u={type:tN.NETWORK_ERROR,details:o,fatal:l,url:e.url,loader:d,context:e,error:n,networkDetails:t,stats:a};r&&(u.response=tQ({url:(null==t?void 0:t.url)||e.url,data:void 0},r)),this.hls.trigger(tF.ERROR,u)}handlePlaylistLoaded(e,t,i,r,a,s){let n=this.hls,{type:o,level:l,levelOrTrack:d,id:u,groupId:h,deliveryDirectives:c}=r,m=la(t,r),f=lr(r),p="number"==typeof r.level&&f===tV?l:void 0,g=e.playlistParsingError;if(g){if(this.hls.logger.warn(`${g} ${e.url}`),!n.config.ignorePlaylistParsingErrors)return void n.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_PARSING_ERROR,fatal:!1,url:m,error:g,reason:g.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});e.playlistParsingError=null}if(!e.fragments.length){let s=e.playlistParsingError=Error("No Segments found in Playlist");n.trigger(tF.ERROR,{type:tN.NETWORK_ERROR,details:tU.LEVEL_EMPTY_ERROR,fatal:!1,url:m,error:s,reason:s.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});return}switch(e.live&&s&&(s.getCacheAge&&(e.ageHeader=s.getCacheAge()||0),(!s.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),o){case tB:case t$:if(p)if(d){if(d!==n.levels[p]){let e=n.levels.indexOf(d);e>-1&&(p=e)}}else p=0;n.trigger(tF.LEVEL_LOADED,{details:e,levelInfo:d||n.levels[0],level:p||0,id:u||0,stats:i,networkDetails:a,deliveryDirectives:c,withoutMultiVariant:o===tB});break;case tH:n.trigger(tF.AUDIO_TRACK_LOADED,{details:e,track:d,id:u||0,groupId:h||"",stats:i,networkDetails:a,deliveryDirectives:c});break;case tG:n.trigger(tF.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:u||0,groupId:h||"",stats:i,networkDetails:a,deliveryDirectives:c})}}}class ln{static get version(){return a0}static isMSESupported(){return o7()}static isSupported(){if(!o7())return!1;let e=t3();
29return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>e.isTypeSupported(iP(t,"video")))||["mp4a.40.2","fLaC"].some(t=>e.isTypeSupported(iP(t,"audio"))))}static getMediaSource(){return t3()}static get Events(){return tF}static get MetadataSchema(){return sn}static get ErrorTypes(){return tN}static get ErrorDetails(){return tU}static get DefaultConfig(){return ln.defaultConfig?ln.defaultConfig:oQ}static set DefaultConfig(e){ln.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new aJ,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=function(e,t,i){let r=t0();if("object"==typeof console&&!0===e||"object"==typeof e){let a=["debug","log","info","warn","error"];a.forEach(t=>{r[t]=t1(t,e,i)});try{r.log(`Debug logs enabled for "${t}" in hls.js version 1.6.15`)}catch(e){return t0()}a.forEach(t=>{t2[t]=t1(t,e)})}else tY(t2,r);return r}(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=function(e,t,i){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let r=function e(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,r)=>(i[r]=e(t[r]),i),{}):t}(e),a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(e=>{let s=`${"level"===e?"playlist":e}LoadPolicy`,n=void 0===t[s],o=[];a.forEach(i=>{let a=`${e}Loading${i}`,l=t[a];if(void 0!==l&&n){o.push(a);let e=r[s].default;switch(t[s]={default:e},i){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}}),o.length&&i.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${s}": ${i1(t[s])}`)}),tQ(tQ({},r),t)}(ln.DefaultConfig,e,t);this.userConfig=e,i.progressive&&function(e,t){let i=e.loader;i!==oW&&i!==oz?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}()&&(e.loader=oW,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}(i,t);const{abrController:r,bufferController:a,capLevelController:s,errorController:n,fpsController:o}=i,l=new n(this),d=this.abrController=new r(this),u=new rg(this),h=i.interstitialsController,c=h?this.interstitialsController=new h(this,ln):null,m=this.bufferController=new a(this,u),f=this.capLevelController=new s(this),p=new o(this),g=new ls(this),E=i.contentSteeringController,y=E?new E(this):null,b=this.levelController=new o8(this,y),T=new o4(this),A=new lt(this.config,this.logger),_=this.streamController=new le(this,u,A),S=this.gapController=new oX(this,u);f.setStreamController(_),p.setStreamController(_);const k=[g,b,_];c&&k.splice(1,0,c),y&&k.splice(1,0,y),this.networkControllers=k;const L=[d,m,S,f,p,T,u];this.audioTrackController=this.createController(i.audioTrackController,k);const R=i.audioStreamController;R&&k.push(this.audioStreamController=new R(this,u,A)),this.subtitleTrackController=this.createController(i.subtitleTrackController,k);const I=i.subtitleStreamController;I&&k.push(this.subtititleStreamController=new I(this,u,A)),this.createController(i.timelineController,L),A.emeController=this.emeController=this.createController(i.emeController,L),this.cmcdController=this.createController(i.cmcdController,L),this.latencyController=this.createController(o5,L),this.coreComponents=L,k.push(l);const w=l.onErrorOut;"function"==typeof w&&this.on(tF.ERROR,w,l),this.on(tF.MANIFEST_LOADED,g.onManifestLoaded,g)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,r){this._emitter.off(e,t,i,r)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}
29trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;let i=e===tF.ERROR;this.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(tF.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let t=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(tF.ERROR,{type:tN.OTHER_ERROR,details:tU.ATTACH_MEDIA_ERROR,fatal:!0,error:t});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());let t="media"in e,i=t?e.media:e,r=t?e:{media:i};this._media=i,this.trigger(tF.MEDIA_ATTACHING,r)}detachMedia(){this.logger.log("detachMedia"),this.trigger(tF.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;let e=this.bufferController.transferMedia();return this.trigger(tF.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();let t=this.media,i=this._url,r=this._url=t7.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),t&&i&&(i!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(tF.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].startLoad(e,t),this.started&&this.networkControllers);i++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!this.started&&this.networkControllers);e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){let e={[tV]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[tK]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[tW]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=function(){try{return crypto.randomUUID()}catch(e){try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(t){let e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)})}}}()),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return -1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){iz.indexOf(e)>-1&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return -1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let i=e.length;for(let r=0;r<i;r++)if(e[r].maxBitrate>=t)return r;return 0}get maxAutoLevel(){let e,{levels:t,autoLevelCapping:i,maxHdcpLevel:r}=this;if(e=-1===i&&null!=t&&t.length?t.length-1:i,r)for(let i=e;i--;){let e=t[i].attrs["HDCP-LEVEL"];if(e&&e<=r)return i}return e}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}
29setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!(null!=(e=this.bufferController)&&e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return ij(e,i3(t),navigator.mediaCapabilities)}}ln.defaultConfig=void 0;var lo="video",ll=e=>e===lo?"playback":e,ld=class e extends Error{constructor(t,i=e.MEDIA_ERR_CUSTOM,r,a){var s;super(t),this.name="MediaError",this.code=i,this.context=a,this.fatal=null!=r?r:i>=e.MEDIA_ERR_NETWORK&&i<=e.MEDIA_ERR_ENCRYPTED,this.message||(this.message=null!=(s=e.defaultMessages[this.code])?s:"")}};ld.MEDIA_ERR_ABORTED=1,ld.MEDIA_ERR_NETWORK=2,ld.MEDIA_ERR_DECODE=3,ld.MEDIA_ERR_SRC_NOT_SUPPORTED=4,ld.MEDIA_ERR_ENCRYPTED=5,ld.MEDIA_ERR_CUSTOM=100,ld.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var lu=(e,t)=>null!=t&&e in t,lh={ANY:"any",MUTED:"muted"},lc="on-demand",lm="live",lf="unknown",lp="native",lg={HEADER:"header",QUERY:"query",NONE:"none"},lv=Object.values(lg),lE={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},ly={HLS:lE.M3U8};Object.keys(ly),[...Object.values(lE)];var lb={code:"en"},lT=(e,t,i,r,a=e)=>{a.addEventListener(t,i,r),e.addEventListener("teardown",()=>{a.removeEventListener(t,i)},{once:!0})},lA=e=>{let t=e.indexOf("?");return t<0?[e]:[e.slice(0,t),e.slice(t)]},l_=e=>{let{type:t}=e;if(t){let e=t.toUpperCase();return lu(e,ly)?ly[e]:t}return lL(e)},lS=e=>"VOD"===e?lc:lm,lk=e=>"EVENT"===e?1/0:"VOD"===e?NaN:0,lL=e=>{let{src:t}=e;if(!t)return"";let i="";try{i=new URL(t).pathname}catch{console.error("invalid url")}let r=i.lastIndexOf(".");if(r<0)return lI(e)?lE.M3U8:"";let a=i.slice(r+1).toUpperCase();return lu(a,lE)?lE[a]:""},lR="mux.com",lI=({src:e,customDomain:t=lR})=>{let i;try{i=new URL(`${e}`)}catch{return!1}let r="https:"===i.protocol,a=i.hostname===`stream.${t}`.toLowerCase(),s=i.pathname.split("/"),n=2===s.length,o=!(null!=s&&s[1].includes("."));return r&&a&&n&&o},lw=e=>{let t=(null!=e?e:"").split(".")[1];if(t)try{let e=t.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(e).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}catch{return}};function lC(e,t=!0){var i;return new lD(t&&null!=(i=null==lb?void 0:lb[e])?i:e,t?lb.code:"en")}
29var lD=class{constructor(e,t=(e=>null!=(e=lb)?e:"en")()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var r;return null!=(r=e[i])?r:""})}toString(){return this.message}},lx=Object.values(lh),lM=e=>"boolean"==typeof e||"string"==typeof e&&lx.includes(e),lP=(e,t)=>{if(!t)return;let i=e.muted,r=()=>e.muted=i;switch(t){case lh.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(r)});break;case lh.MUTED:e.muted=!0,e.play().catch(r);break;default:e.play().catch(()=>{})}},lO=e=>"time"in e?e.time:e.startTime;function lN(e,t,i,r,a,s){let n=document.createElement("track");return n.kind=t,n.label=i,r&&(n.srclang=r),a&&(n.id=a),s&&(n.default=!0),n.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),e.append(n),n.track}function lU(e,t,i){var r;return null==(r=Array.from(e.querySelectorAll("track")).find(e=>e.track.label===t&&e.track.kind===i))?void 0:r.track}async function lF(e,t,i,r){let a=lU(e,i,r);return a||((a=lN(e,r,i)).mode="hidden",await new Promise(e=>setTimeout(()=>e(void 0),0))),"hidden"!==a.mode&&(a.mode="hidden"),[...t].sort((e,t)=>lO(t)-lO(e)).forEach(t=>{var i,s;let n=t.value,o=lO(t);if("endTime"in t&&null!=t.endTime)null==a||a.addCue(new VTTCue(o,t.endTime,"chapters"===r?n:JSON.stringify(null!=n?n:null)));else{let t=Array.prototype.findIndex.call(null==a?void 0:a.cues,e=>e.startTime>=o),l=null==(i=null==a?void 0:a.cues)?void 0:i[t],d=l?l.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,u=null==(s=null==a?void 0:a.cues)?void 0:s[t-1];u&&(u.endTime=o),null==a||a.addCue(new VTTCue(o,d,"chapters"===r?n:JSON.stringify(null!=n?n:null)))}}),e.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),a}var lB="cuepoints",l$=Object.freeze({label:lB});async function lH(e,t,i=l$){return lF(e,t,i.label,"metadata")}var lG=e=>({time:e.startTime,value:JSON.parse(e.text)});function lV(e,t={label:lB}){var i,r;let a=lU(e,t.label,"metadata");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return lG(a.activeCues[0]);let{currentTime:s}=e;return lG(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function lK(e,t=l$){return new Promise(i=>{lT(e,"loadstart",async()=>{let r=await lH(e,[],t);lT(e,"cuechange",()=>{let t=lV(e);if(t){let i=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}var lW="chapters",lq=Object.freeze({label:lW}),lj=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function lY(e,t,i=lq){return lF(e,t,i.label,"chapters")}function lz(e,t={label:lW}){var i,r;let a=lU(e,t.label,"chapters");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return lj(a.activeCues[0]);let{currentTime:s}=e;return lj(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function lQ(e,t=lq){return new Promise(i=>{lT(e,"loadstart",async()=>{let r=await lY(e,[],t);lT(e,"cuechange",()=>{let t=lz(e);if(t){let i=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}var lX=(e,t,i,r,a=!1,s=!(e=>null==(e=globalThis.navigator)?void 0:e.onLine)())=>{var n,o,l,d;let u,h;if(s){let i=lC("Your device appears to be offline",a),r=ld.MEDIA_ERR_NETWORK,s=new ld(i,r,!1,void 0);return s.errorCategory=t,s.muxCode=2000002,s.data=e,s}let c="status"in e?e.status:e.code,m=Date.now(),f=ld.MEDIA_ERR_NETWORK;if(200===c)return;let p=ll(t),g=(u=ll(t),h=`${u}Token`,null!=(l=i.tokens)&&l[u]?null==(d=i.tokens)?void 0:d[u]:lu(h,i)?i[h]:void 0),E=t===lo?"v":"drm"===t?"d":void 0,[y]=lA(null!=(n=i.playbackId)?n:"");if(!c||!y)return;let b=lw(g);if(g&&!b){let i=new ld(lC("The {tokenNamePrefix}-token provided is invalid or malformed.",a).format({tokenNamePrefix:p}),f,!0,lC("Compact JWT string: {token}",a).format({token:g}));return i.errorCategory=t,i.muxCode=2412202,i.data=e,i}if(c>=500){let e=new ld("",f,null==r||r);return e.errorCategory=t,e.muxCode=2e6,e}if(403===c)if(b){if((({exp:e},t=Date.now())=>!e||1e3*e<t)(b,m)){let i={timeStyle:"medium",dateStyle:"medium"},r=new ld(lC("The video’s secured {tokenNamePrefix}-token has expired.",a).format({tokenNamePrefix:p}),f,!0,lC("Expired at: {expiredDate}. Current time: {currentDate}.",a).format({expiredDate:new Intl.DateTimeFormat("en",i).format(null!=(o=b.exp)?o:0),currentDate:new Intl.DateTimeFormat("en",i).format(m)}));return r.errorCategory=t,r.muxCode=2403210,r.data=e,r}if((({sub:e},t)=>e!==t)(b,y)){let i=new ld(lC("The video’s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p}),f,!0,lC("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",a).format({tokenNamePrefix:p,playbackId:y,tokenPlaybackId:b.sub}));return i.errorCategory=t,i.muxCode=2403232,i.data=e,i}if((({aud:e},t)=>!e)(b,0)){let i=new ld(lC("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lC("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:E}));return i.errorCategory=t,i.muxCode=2403221,i.data=e,i}if((({aud:e},t)=>e!==t)(b,E)){let i=new ld(lC("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:E,aud:b.aud}));return i.errorCategory=t,i.muxCode=2403222,i.data=e,i}}else{let i=new ld(lC("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p,category:t}),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=2403201,i.data=e,i}if(412===c){let s=new ld(lC("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",a),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return s.errorCategory=t,s.muxCode=2412e3,s.streamType=i.streamType===lm?"live":i.streamType===lc?"on-demand":"unknown",s.data=e,s}if(404===c){let i=new ld(lC("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",a),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=2404e3,i.data=e,i}
29if(400===c){let i=new ld(lC("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),f,null==r||r,lC("Specified playback ID: {playbackId}",a).format({playbackId:y}));return i.errorCategory=t,i.muxCode=24e5,i.data=e,i}let T=new ld("",f,null==r||r);return T.errorCategory=t,T.muxCode=2e6,T.data=e,T},lZ=ln.DefaultConfig.capLevelController,lJ=class e extends lZ{constructor(e){super(e)}get levels(){var e;return null!=(e=this.hls.levels)?e:[]}getValidLevels(e){return this.levels.filter((t,i)=>this.isLevelAllowed(t)&&i<=e)}getMaxLevel(t){let i=super.getMaxLevel(t),r=this.getValidLevels(t);if(!r[i])return i;let a=Math.min(r[i].width,r[i].height),s=e.minMaxResolution;return a>=s?i:lZ.getMaxLevelByMediaSize(r,16/9*s,s)}};lJ.minMaxResolution=720;var l0,l1,l2,l3,l4,l5,l8,l9,l6,l7,de,dt,di,dr,da,ds,dn,dl,dd,du,dh,dc,dm,df="fairplay",dp=/([A-Z0-9-]+)="?(.*?)"?(?:,|$)/g,dg=async(e,t)=>{if(t===lE.MP4)return{streamType:lc,targetLiveWindow:NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===lE.M3U8){let t=await fetch(e);if(!t.ok)return Promise.reject(t);let i=await t.text(),r=await fetch(i.split(`
30`).find((e,t,i)=>t&&i[t-1].startsWith("#EXT-X-STREAM-INF"))).then(e=>200!==e.status?Promise.reject(e):e.text());return{...(e=>{let t=e.split(`
31`).filter(e=>e.startsWith("#EXT-X-SESSION-DATA"));if(!t.length)return{};let i={};for(let e of t){let t=Object.fromEntries([...e.matchAll(dp)].map(([,e,t])=>[e,t])),r=t["DATA-ID"];r&&(i[r]={...t})}return{sessionData:i}})(i),...(e=>{var t,i,r;let a=e.split(`
32`),s=null==(i=(null!=(t=a.find(e=>e.startsWith("#EXT-X-PLAYLIST-TYPE")))?t:"").split(":")[1])?void 0:i.trim(),n=lS(s),o=lk(s),l;if(n===lm){let e=a.find(e=>e.startsWith("#EXT-X-PART-INF"));if(e)l=2*e.split(":")[1].split("=")[1];else{let e=a.find(e=>e.startsWith("#EXT-X-TARGETDURATION")),t=null==(r=null==e?void 0:e.split(":"))?void 0:r[1];l=(null!=t?t:6)*3}}return{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:l}})(r)}}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0,sessionData:void 0}},dv=async(e,t,i=l_({src:e}))=>{var r,a,s,n;let{streamType:o,targetLiveWindow:l,liveEdgeStartOffset:d,sessionData:u}=await dg(e,i),h=null==u?void 0:u["com.apple.hls.chapters"];(null!=h&&h.URI||null!=h&&h.VALUE.toLocaleLowerCase().startsWith("http"))&&dE(null!=(r=h.URI)?r:h.VALUE,t),(null!=(a=dS.get(t))?a:{}).liveEdgeStartOffset=d,(null!=(s=dS.get(t))?s:{}).targetLiveWindow=l,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(n=dS.get(t))?n:{}).streamType=o,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},dE=async(e,t)=>{var i,r;try{let a=await fetch(e);if(!a.ok)throw Error(`Failed to fetch Mux metadata: ${a.status} ${a.statusText}`);let s=await a.json(),n={};if(!(null!=(i=null==s?void 0:s[0])&&i.metadata))return;for(let e of s[0].metadata)e.key&&e.value&&(n[e.key]=e.value);(null!=(r=dS.get(t))?r:{}).metadata=n;let o=new CustomEvent("muxmetadata");t.dispatchEvent(o)}catch(e){console.error(e)}},dy=null!=(ds=null==(da=null==globalThis?void 0:globalThis.navigator)?void 0:da.userAgent)?ds:"",db=null!=(dd=null==(dl=null==(dn=null==globalThis?void 0:globalThis.navigator)?void 0:dn.userAgentData)?void 0:dl.platform)?dd:"",dT=null!=(dc=null==(dh=null==(du=null==globalThis?void 0:globalThis.navigator)?void 0:du.userAgentData)?void 0:dh.brands)?dc:[],dA=dy.toLowerCase().includes("android")||["x11","android"].some(e=>db.toLowerCase().includes(e)),d_=dT.find(e=>"Google Chrome"===e.brand),dS=new WeakMap,dk="mux.com",dL=null==(dm=ln.isSupported)?void 0:dm.call(ln),dR=()=>tD.utils.now(),dI=tD.utils.generateUUID,dw=({playbackId:e,customDomain:t=dk,maxResolution:i,minResolution:r,renditionOrder:a,programStartTime:s,programEndTime:n,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:h={}}={})=>{if(!e)return;let[c,m=""]=lA(e),f=new URL(`https://stream.${t}/${c}.m3u8${m}`);
32return u||f.searchParams.has("token")?(f.searchParams.forEach((e,t)=>{"token"!=t&&f.searchParams.delete(t)}),u&&f.searchParams.set("token",u)):(i&&f.searchParams.set("max_resolution",i),r&&(f.searchParams.set("min_resolution",r),i&&+i.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",i)),a&&f.searchParams.set("rendition_order",a),s&&f.searchParams.set("program_start_time",`${s}`),n&&f.searchParams.set("program_end_time",`${n}`),o&&f.searchParams.set("asset_start_time",`${o}`),l&&f.searchParams.set("asset_end_time",`${l}`),Object.entries(h).forEach(([e,t])=>{null!=t&&f.searchParams.set(e,t)})),f.toString()},dC=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},dD=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(/\.m3u8|\//);return t||void 0},dx=e=>{var t;return null==(t=dS.get(e))?void 0:t.error},dM=e=>{var t,i;return null!=(i=null==(t=dS.get(e))?void 0:t.streamType)?i:lf},dP=e=>{var t,i;return null!=(i=null==(t=dS.get(e))?void 0:t.seekable)?i:e.seekable},dO=.034,dN=(e,t,i=dO)=>e>t||((e,t,i=dO)=>Math.abs(e-t)<=i)(e,t,i),dU=(e,t)=>{var i,r,a;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let s=t.currentLevel>=0?null==(r=null==(i=t.levels)?void 0:i[t.currentLevel])?void 0:r.details:null==(a=t.levels.find(e=>!!e.details))?void 0:a.details;if(!s||s.live)return;let{fragments:n}=s;if(!(null!=n&&n.length))return;if(e.currentTime<e.duration-(s.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=e.buffered.start(e.buffered.length-1),u=e.buffered.end(e.buffered.length-1);return l>d&&l<u},dF=(e,t)=>e.ended||e.loop?e.ended:!!(t&&dU(e,t))||((e,t=dO)=>e.paused&&dN(e.currentTime,e.duration,t))(e),dB=(e,t,i)=>{let r=null==t?void 0:t.engine;null!=e&&e.mux&&!e.mux.deleted&&(null!=i&&i.muxDataKeepSession?r&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),r&&(r.detachMedia(),r.destroy()),e&&(e.hasAttribute("src")&&(e.removeAttribute("src"),e.load()),e.removeEventListener("error",dz),e.removeEventListener("error",dX),e.removeEventListener("durationchange",dY),dS.delete(e),e.dispatchEvent(new Event("teardown")))};function d$(e,t){var i,r;let a=l_(e);if(a!==lE.M3U8)return!0;let s=!a||null==(i=t.canPlayType(a))||i,{preferPlayback:n}=e,o=dL&&("mse"===n||dA||d_&&parseInt(null!=(r=d_.version)?r:"0")>=141&&!!t.canPlayType("application/vnd.apple.mpegurl"));return s&&(n===lp||!o)}var dH=e=>e===lm?{backBufferLength:8}:{},dG=e=>{let{tokens:{drm:t}={},playbackId:i,drmTypeCb:r}=e,a=dC(i);return t&&a?{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:dW(e,"fairplay"),serverCertificateUrl:dq(e,"fairplay")},"com.widevine.alpha":{licenseUrl:dW(e,"widevine")},"com.microsoft.playready":{licenseUrl:dW(e,"playready")}},requestMediaKeySystemAccessFunc:(e,t)=>("com.widevine.alpha"===e&&(t=[...t.map(e=>{var t;let i=null==(t=e.videoCapabilities)?void 0:t.map(e=>({...e,robustness:"HW_SECURE_ALL"}));return{...e,videoCapabilities:i}}),...t]),navigator.requestMediaKeySystemAccess(e,t).then(t=>{let i=e.includes("fps")?df:e.includes("playready")?"playready":e.includes("widevine")?"widevine":void 0;return null==r||r(i),t}))}:{}},dV=async e=>{let t=await fetch(e);return 200!==t.status?Promise.reject(t):await t.arrayBuffer()},dK=async(e,t)=>{let i=await fetch(t,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:e});return 200!==i.status?Promise.reject(i):new Uint8Array(await i.arrayBuffer())},dW=({playbackId:e,tokens:{drm:t}={},customDomain:i=dk},r)=>{let a=dC(e);return`https://license.${i.toLocaleLowerCase().endsWith(dk)?i:dk}/license/${r}/${a}?token=${t}`},dq=({playbackId:e,tokens:{drm:t}={},customDomain:i=dk},r)=>{let a=dC(e);return`https://license.${i.toLocaleLowerCase().endsWith(dk)?i:dk}/appcert/${r}/${a}?token=${t}`},dj=({playbackId:e,src:t,customDomain:i})=>{if(e)return!0;if("string"!=typeof t)return!1;let r=new URL(t,null==window?void 0:window.location.href).hostname.toLocaleLowerCase();return r.includes(dk)||!!i&&r.includes(i.toLocaleLowerCase())};function dY(e){var t;let i=e.target,r=null==(t=dS.get(i))?void 0:t.startTime;if(r&&function(e,t,i){t&&i>t&&(i=t);for(let t=0;t<e.length;t++)if(e.start(t)<=i&&e.end(t)>=i)return!0;return!1}(i.seekable,i.duration,r)){let e="auto"===i.preload;e&&(i.preload="none"),i.currentTime=r,e&&(i.preload="auto")}}async function dz(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(null!=t&&t.error))return;let{message:i,code:r}=t.error,a=new ld(i,r);if(t.src&&r===ld.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING)return void setTimeout(()=>{var e;let i=null!=(e=dx(t))?e:t.error;(null==i?void 0:i.code)===ld.MEDIA_ERR_SRC_NOT_SUPPORTED&&dQ(t,a)},500);if(t.src&&(r!==ld.MEDIA_ERR_DECODE||void 0!==r))try{let{status:e}=await fetch(t.src);a.data={response:{code:e}}}catch{}dQ(t,a)}function dQ(e,t){var i;t.fatal&&((null!=(i=dS.get(e))?i:{}).error=t,e.dispatchEvent(new CustomEvent("error",{detail:t})))}function dX(e){var t,i;if(!(e instanceof CustomEvent)||!(e.detail instanceof ld))return;let r=e.target,a=e.detail;a&&a.fatal&&((null!=(t=dS.get(r))?t:{}).error=a,null==(i=r.mux)||i.emit("error",{player_error_code:a.code,player_error_message:a.message,player_error_context:a.context}))}var dZ=(e,t)=>{var i,r,a;e.fatal?console.error("getErrorFromHlsErrorData()",e):t.debug&&console.warn("getErrorFromHlsErrorData() (non-fatal)",e);
32let s={[ln.ErrorTypes.NETWORK_ERROR]:ld.MEDIA_ERR_NETWORK,[ln.ErrorTypes.MEDIA_ERROR]:ld.MEDIA_ERR_DECODE,[ln.ErrorTypes.KEY_SYSTEM_ERROR]:ld.MEDIA_ERR_ENCRYPTED},n,o=[ln.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,ln.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(e.details)?ld.MEDIA_ERR_NETWORK:s[e.type];if(o===ld.MEDIA_ERR_NETWORK&&e.response){let a=null!=(i=e.type===ln.ErrorTypes.KEY_SYSTEM_ERROR?"drm":e.type===ln.ErrorTypes.NETWORK_ERROR?lo:void 0)?i:lo;n=null!=(r=lX(e.response,a,t,e.fatal))?r:new ld("",o,e.fatal)}else o===ld.MEDIA_ERR_ENCRYPTED?e.details===ln.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE?((n=new ld(lC("Attempting to play DRM-protected content without providing a DRM token."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000002):e.details===ln.ErrorDetails.KEY_SYSTEM_NO_ACCESS?((n=new ld(lC("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000001):e.details===ln.ErrorDetails.KEY_SYSTEM_NO_SESSION?((n=new ld(lC("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),ld.MEDIA_ERR_ENCRYPTED,!0)).errorCategory="drm",n.muxCode=5000002):e.details===ln.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED?((n=new ld(lC("Failed to update DRM license. This may be an issue with the player or your protected content."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000003):e.details===ln.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED?((n=new ld(lC("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000004):e.details===ln.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR?((n=new ld(lC("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser."),ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5000005):e.details===ln.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED?((n=new ld(lC("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen."),ld.MEDIA_ERR_ENCRYPTED,!1)).errorCategory="drm",n.muxCode=5000006):((n=new ld(e.error.message,ld.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory="drm",n.muxCode=5e6):n=new ld("",o,e.fatal);return n.context||(n.context=`${e.url?`url: ${e.url}
33`:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text}
34`:""}${e.reason?`failure reason: ${e.reason}
35`:""}${e.level?`level: ${e.level}
36`:""}${e.parent?`parent stream controller: ${e.parent}
37`:""}${e.buffer?`buffer length: ${e.buffer}
38`:""}${e.error?`error: ${e.error}
39`:""}${e.event?`event: ${e.event}
40`:""}${e.err?`error message: ${null==(a=e.err)?void 0:a.message}
41`:""}`),n.data=e,n};let dJ=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],d0=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function d1(e){return`
42    <style>
43      :host {
44        display: inline-flex;
45        line-height: 0;
46        flex-direction: column;
47        justify-content: end;
48      }
49
50      audio {
51        width: 100%;
52      }
53    </style>
54    <slot name="media">
55      <audio${d4(e)}></audio>
56    </slot>
57    <slot></slot>
58  `}function d2(e){return`
59    <style>
60      :host {
61        display: inline-block;
62        line-height: 0;
63      }
64
65      video {
66        max-width: 100%;
67        max-height: 100%;
68        min-width: 100%;
69        min-height: 100%;
70        object-fit: var(--media-object-fit, contain);
71        object-position: var(--media-object-position, 50% 50%);
72      }
73
74      video::-webkit-media-text-track-container {
75        transform: var(--media-webkit-text-track-transform);
76        transition: var(--media-webkit-text-track-transition);
77      }
78    </style>
79    <slot name="media">
80      <video${d4(e)}></video>
81    </slot>
82    <slot></slot>
83  `}function d3(e,{tag:t,is:i}){let r=globalThis.document?.createElement?.(t,{is:i}),a=r?function(e){let t=[];for(let i=Object.getPrototypeOf(e);i&&i!==HTMLElement.prototype;i=Object.getPrototypeOf(i)){let e=Object.getOwnPropertyNames(i);t.push(...e)}return t}(r):[];return class s extends e{static getTemplateHTML=t.endsWith("audio")?d1:d2;static shadowRootOptions={mode:"open"};static Events=dJ;static #e=!1;static get observedAttributes(){return s.#t(),[...r?.constructor?.observedAttributes??[],...d0]}static #t(){if(this.#e)return;this.#e=!0;let e=new Set(this.observedAttributes);for(let t of(e.delete("muted"),a))if(!(t in this.prototype))if("function"==typeof r[t])this.prototype[t]=function(...e){return this.#i(),(()=>{if(this.call)return this.call(t,...e);let i=this.nativeEl?.[t];return i?.apply(this.nativeEl,e)})()};else{let i={get(){this.#i();let i=t.toLowerCase();if(e.has(i)){let e=this.getAttribute(i);return null!==e&&(""===e||e)}return this.get?.(t)??this.nativeEl?.[t]}};t!==t.toUpperCase()&&(i.set=function(i){this.#i();let r=t.toLowerCase();e.has(r)?!0===i||!1===i||null==i?this.toggleAttribute(r,!!i):this.setAttribute(r,i):this.set?this.set(t,i):this.nativeEl&&(this.nativeEl[t]=i)}),Object.defineProperty(this.prototype,t,i)}}#r=!1;#a=null;#s=new Map;#n;get;set;call;get nativeEl(){return this.#i(),this.#a??this.querySelector(":scope > [slot=media]")??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}set nativeEl(e){this.#a=e}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){return this.getAttribute("preload")??this.nativeEl?.preload}set preload(e){this.setAttribute("preload",`${e}`)}#i(){this.#r||(this.#r=!0,this.init())}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=function(e){let t={};for(let i of e)t[i.name]=i.value;return t}(this.attributes);i&&(e.is=i),t&&(e.part=t),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}for(let e of(this.nativeEl.muted=this.hasAttribute("muted"),a))this.#o(e);for(let e of(this.#n=new MutationObserver(this.#l.bind(this)),this.shadowRoot.addEventListener("slotchange",()=>this.#d()),this.#d(),this.constructor.Events))this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}#d(){let e=new Map(this.#s),t=this.shadowRoot?.querySelector("slot:not([name])");(t?.assignedElements({flatten:!0}).filter(e=>
83["track","source"].includes(e.localName))).forEach(t=>{e.delete(t);let i=this.#s.get(t);i||(i=t.cloneNode(),this.#s.set(t,i),this.#n?.observe(t,{attributes:!0})),this.nativeEl?.append(i),this.#u(i)}),e.forEach((e,t)=>{e.remove(),this.#s.delete(t)})}#l(e){for(let t of e)if("attributes"===t.type){let{target:e,attributeName:i}=t,r=this.#s.get(e);r&&i&&(r.setAttribute(i,e.getAttribute(i)??""),this.#u(r))}}#u(e){e&&"track"===e.localName&&e.default&&("chapters"===e.kind||"metadata"===e.kind)&&"disabled"===e.track.mode&&(e.track.mode="hidden")}#o(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}attributeChangedCallback(e,t,i){this.#i(),this.#h(e,t,i)}#h(e,t,i){["id","class"].includes(e)||!s.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(null===i?this.nativeEl?.removeAttribute(e):this.nativeEl?.getAttribute(e)!==i&&this.nativeEl?.setAttribute(e,i))}connectedCallback(){this.#i()}}}function d4(e){let t="";for(let i in e){if(!d0.includes(i))continue;let r=e[i];""===r?t+=` ${i}`:t+=` ${i}="${r}"`}return t}let d5=d3(globalThis.HTMLElement??class{},{tag:"video"});d3(globalThis.HTMLElement??class{},{tag:"audio"});var d8,d9,d6,d7,ue,ut,ui,ur,ua,us,un,uo,ul=e=>{throw TypeError(e)},ud=(e,t,i)=>t.has(e)||ul("Cannot "+i),uu=(e,t,i)=>(ud(e,t,"read from private field"),i?i.call(e):t.get(e)),uh=(e,t,i)=>t.has(e)?ul("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),uc=(e,t,i,r)=>(ud(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),um=(e,t,i)=>(ud(e,t,"access private method"),i),uf=(()=>{try{return"0.28.1"}catch{}return"UNKNOWN"})(),up=`
84<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" part="logo" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 1600 500"><g fill="#fff"><path d="M994.287 93.486c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m0-93.486c-34.509 0-62.484 27.976-62.484 62.486v187.511c0 68.943-56.09 125.033-125.032 125.033s-125.03-56.09-125.03-125.033V62.486C681.741 27.976 653.765 0 619.256 0s-62.484 27.976-62.484 62.486v187.511C556.772 387.85 668.921 500 806.771 500c137.851 0 250.001-112.15 250.001-250.003V62.486c0-34.51-27.976-62.486-62.485-62.486M1537.51 468.511c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m-275.883-218.509-143.33 143.329c-24.402 24.402-24.402 63.966 0 88.368 24.402 24.402 63.967 24.402 88.369 0l143.33-143.329 143.328 143.329c24.402 24.4 63.967 24.402 88.369 0 24.403-24.402 24.403-63.966.001-88.368l-143.33-143.329.001-.004 143.329-143.329c24.402-24.402 24.402-63.965 0-88.367s-63.967-24.402-88.369 0L1349.996 161.63 1206.667 18.302c-24.402-24.401-63.967-24.402-88.369 0s-24.402 63.965 0 88.367l143.329 143.329v.004ZM437.511 468.521c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31M461.426 4.759C438.078-4.913 411.2.432 393.33 18.303L249.999 161.632 106.669 18.303C88.798.432 61.922-4.913 38.573 4.759 15.224 14.43-.001 37.214-.001 62.488v375.026c0 34.51 27.977 62.486 62.487 62.486 34.51 0 62.486-27.976 62.486-62.486V213.341l80.843 80.844c24.404 24.402 63.965 24.402 88.369 0l80.843-80.844v224.173c0 34.51 27.976 62.486 62.486 62.486s62.486-27.976 62.486-62.486V62.488c0-25.274-15.224-48.058-38.573-57.729" style="fill-rule:nonzero"/></g></svg>`,ug={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DISABLE_PSEUDO_ENDED:"disable-pseudo-ended",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type",LOGO:"logo"}
84,uv=Object.values(ug),uE="mux-video",uy=class extends d5{constructor(){super(),uh(this,un),uh(this,d8),uh(this,d9),uh(this,d6),uh(this,d7,{}),uh(this,ue,{}),uh(this,ut),uh(this,ui),uh(this,ur),uh(this,ua),uh(this,us,""),uc(this,d6,dR()),this.nativeEl.addEventListener("muxmetadata",e=>{var t,i,r;let a=(i=this.nativeEl,null==(r=dS.get(i))?void 0:r.metadata),s=null!=(t=this.metadata)?t:{};this.metadata={...a,...s},(null==a?void 0:a["com.mux.video.branding"])==="mux-free-plan"&&(uc(this,us,"default"),this.updateLogo())})}static get NAME(){return uE}static get VERSION(){return uf}static get observedAttributes(){var e;return[...uv,...null!=(e=d5.observedAttributes)?e:[]]}static getLogoHTML(e){return e&&"false"!==e?"default"===e?up:`<img part="logo" src="${e}" />`:""}static getTemplateHTML(e={}){var t;return`
85      ${d5.getTemplateHTML(e)}
86      <style>
87        :host {
88          position: relative;
89        }
90        slot[name="logo"] {
91          display: flex;
92          justify-content: end;
93          position: absolute;
94          top: 1rem;
95          right: 1rem;
96          opacity: 0;
97          transition: opacity 0.25s ease-in-out;
98          z-index: 1;
99        }
100        slot[name="logo"]:has([part="logo"]) {
101          opacity: 1;
102        }
103        slot[name="logo"] [part="logo"] {
104          width: 5rem;
105          pointer-events: none;
106          user-select: none;
107        }
108      </style>
109      <slot name="logo">
110        ${this.getLogoHTML(null!=(t=e[ug.LOGO])?t:"")}
111      </slot>
112    `}get preferCmcd(){var e;return null!=(e=this.getAttribute(ug.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lv.includes(e)?this.setAttribute(ug.PREFER_CMCD,e):console.warn(`Invalid value for preferCmcd. Must be one of ${lv.join()}`):this.removeAttribute(ug.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(ug.PLAYER_INIT_TIME)?+this.getAttribute(ug.PLAYER_INIT_TIME):uu(this,d6)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(ug.PLAYER_INIT_TIME):this.setAttribute(ug.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=uu(this,ur))?e:uE}set playerSoftwareName(e){uc(this,ur,e)}get playerSoftwareVersion(){var e;return null!=(e=uu(this,ui))?e:uf}set playerSoftwareVersion(e){uc(this,ui,e)}get _hls(){var e;return null==(e=uu(this,d8))?void 0:e.engine}get mux(){var e;return null==(e=this.nativeEl)?void 0:e.mux}get error(){var e;return null!=(e=dx(this.nativeEl))?e:null}get errorTranslator(){return uu(this,ua)}set errorTranslator(e){uc(this,ua,e)}get src(){return this.getAttribute("src")}set src(e){e!==this.src&&(null==e?this.removeAttribute("src"):this.setAttribute("src",e))}get type(){var e;return null!=(e=this.getAttribute(ug.TYPE))?e:void 0}set type(e){e!==this.type&&(e?this.setAttribute(ug.TYPE,e):this.removeAttribute(ug.TYPE))}get preload(){let e=this.getAttribute("preload");return""===e?"auto":["none","metadata","auto"].includes(e)?e:super.preload}set preload(e){e!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(e)?this.setAttribute("preload",e):this.removeAttribute("preload"))}get debug(){return null!=this.getAttribute(ug.DEBUG)}set debug(e){e!==this.debug&&(e?this.setAttribute(ug.DEBUG,""):this.removeAttribute(ug.DEBUG))}get disableTracking(){return this.hasAttribute(ug.DISABLE_TRACKING)}set disableTracking(e){e!==this.disableTracking&&this.toggleAttribute(ug.DISABLE_TRACKING,!!e)}get disableCookies(){return this.hasAttribute(ug.DISABLE_COOKIES)}set disableCookies(e){e!==this.disableCookies&&(e?this.setAttribute(ug.DISABLE_COOKIES,""):this.removeAttribute(ug.DISABLE_COOKIES))}get disablePseudoEnded(){return this.hasAttribute(ug.DISABLE_PSEUDO_ENDED)}set disablePseudoEnded(e){e!==this.disablePseudoEnded&&(e?this.setAttribute(ug.DISABLE_PSEUDO_ENDED,""):this.removeAttribute(ug.DISABLE_PSEUDO_ENDED))}get startTime(){let e=this.getAttribute(ug.START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set startTime(e){e!==this.startTime&&(null==e?this.removeAttribute(ug.START_TIME):this.setAttribute(ug.START_TIME,`${e}`))}get playbackId(){var e;return this.hasAttribute(ug.PLAYBACK_ID)?this.getAttribute(ug.PLAYBACK_ID):null!=(e=dD(this.src))?e:void 0}set playbackId(e){e!==this.playbackId&&(e?this.setAttribute(ug.PLAYBACK_ID,e):this.removeAttribute(ug.PLAYBACK_ID))}get maxResolution(){var e;return null!=(e=this.getAttribute(ug.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(ug.MAX_RESOLUTION,e):this.removeAttribute(ug.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(ug.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(ug.MIN_RESOLUTION,e):this.removeAttribute(ug.MIN_RESOLUTION))}get renditionOrder(){var e;return null!=(e=this.getAttribute(ug.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(ug.RENDITION_ORDER,e):this.removeAttribute(ug.RENDITION_ORDER))}get programStartTime(){let e=this.getAttribute(ug.PROGRAM_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programStartTime(e){null==e?this.removeAttribute(ug.PROGRAM_START_TIME):this.setAttribute(ug.PROGRAM_START_TIME,`${e}`)}get programEndTime(){let e=this.getAttribute(ug.PROGRAM_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programEndTime(e){null==e?this.removeAttribute(ug.PROGRAM_END_TIME):this.setAttribute(ug.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){let e=this.getAttribute(ug.ASSET_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetStartTime(e){null==e?this.removeAttribute(ug.ASSET_START_TIME):this.setAttribute(ug.ASSET_START_TIME,`${e}`)}get assetEndTime(){let e=this.getAttribute(ug.ASSET_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetEndTime(e){null==e?this.removeAttribute(ug.ASSET_END_TIME):this.setAttribute(ug.ASSET_END_TIME,`${e}`)}get customDomain(){var e;return null!=(e=this.getAttribute(ug.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(ug.CUSTOM_DOMAIN,e):this.removeAttribute(ug.CUSTOM_DOMAIN))}get drmToken(){var e;return null!=(e=this.getAttribute(ug.DRM_TOKEN))?e:void 0}
112set drmToken(e){e!==this.drmToken&&(e?this.setAttribute(ug.DRM_TOKEN,e):this.removeAttribute(ug.DRM_TOKEN))}get playbackToken(){var e,t,i,r;if(this.hasAttribute(ug.PLAYBACK_TOKEN))return null!=(e=this.getAttribute(ug.PLAYBACK_TOKEN))?e:void 0;if(this.hasAttribute(ug.PLAYBACK_ID)){let[,e]=lA(null!=(t=this.playbackId)?t:"");return null!=(i=new URLSearchParams(e).get("token"))?i:void 0}if(this.src)return null!=(r=new URLSearchParams(this.src).get("token"))?r:void 0}set playbackToken(e){e!==this.playbackToken&&(e?this.setAttribute(ug.PLAYBACK_TOKEN,e):this.removeAttribute(ug.PLAYBACK_TOKEN))}get tokens(){let e=this.getAttribute(ug.PLAYBACK_TOKEN),t=this.getAttribute(ug.DRM_TOKEN);return{...uu(this,ue),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{}}}set tokens(e){uc(this,ue,null!=e?e:{})}get ended(){return dF(this.nativeEl,this._hls)}get envKey(){var e;return null!=(e=this.getAttribute(ug.ENV_KEY))?e:void 0}set envKey(e){e!==this.envKey&&(e?this.setAttribute(ug.ENV_KEY,e):this.removeAttribute(ug.ENV_KEY))}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(ug.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(ug.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(ug.BEACON_COLLECTION_DOMAIN))}get streamType(){var e;return null!=(e=this.getAttribute(ug.STREAM_TYPE))?e:dM(this.nativeEl)}set streamType(e){e!==this.streamType&&(e?this.setAttribute(ug.STREAM_TYPE,e):this.removeAttribute(ug.STREAM_TYPE))}get targetLiveWindow(){var e,t,i;return this.hasAttribute(ug.TARGET_LIVE_WINDOW)?+this.getAttribute(ug.TARGET_LIVE_WINDOW):(e=this.nativeEl,null!=(i=null==(t=dS.get(e))?void 0:t.targetLiveWindow)?i:NaN)}set targetLiveWindow(e){e!=this.targetLiveWindow&&(null==e?this.removeAttribute(ug.TARGET_LIVE_WINDOW):this.setAttribute(ug.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e,t;if(this.hasAttribute(ug.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:i}=this,r=null!=(e=this.nativeEl.seekable.end(0))?e:0;return Math.max(null!=(t=this.nativeEl.seekable.start(0))?t:0,r-i)}return(e=>{var t;let i=null==(t=dS.get(e))?void 0:t.liveEdgeStartOffset;if("number"!=typeof i)return NaN;let r=dP(e);return r.length?r.end(r.length-1)-i:NaN})(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(ug.LIVE_EDGE_OFFSET))return+this.getAttribute(ug.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){e!=this.liveEdgeOffset&&(null==e?this.removeAttribute(ug.LIVE_EDGE_OFFSET):this.setAttribute(ug.LIVE_EDGE_OFFSET,`${+e}`))}get seekable(){return dP(this.nativeEl)}async addCuePoints(e){return lH(this.nativeEl,e)}get activeCuePoint(){return lV(this.nativeEl)}get cuePoints(){return function(e,t={label:lB}){let i=lU(e,t.label,"metadata");return null!=i&&i.cues?Array.from(i.cues,e=>lG(e)):[]}(this.nativeEl)}async addChapters(e){return lY(this.nativeEl,e)}get activeChapter(){return lz(this.nativeEl)}get chapters(){return function(e,t={label:lW}){var i;let r=lU(e,t.label,"chapters");return null!=(i=null==r?void 0:r.cues)&&i.length?Array.from(r.cues,e=>lj(e)):[]}(this.nativeEl)}getStartDate(){return function(e,t){if(t){let i=t.playingDate;if(null!=i)return new Date(i.getTime()-1e3*e.currentTime)}return"function"==typeof e.getStartDate?e.getStartDate():new Date(NaN)}(this.nativeEl,this._hls)}get currentPdt(){var e,t;return e=this.nativeEl,(t=this._hls)&&t.playingDate?t.playingDate:new Date("function"==typeof e.getStartDate?e.getStartDate().getTime()+1e3*e.currentTime:NaN)}get preferPlayback(){let e=this.getAttribute(ug.PREFER_PLAYBACK);if("mse"===e||e===lp)return e}set preferPlayback(e){e!==this.preferPlayback&&("mse"===e||e===lp?this.setAttribute(ug.PREFER_PLAYBACK,e):this.removeAttribute(ug.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(e=>e.startsWith("metadata-")&&![ug.METADATA_URL].includes(e)).reduce((e,t)=>{let i=this.getAttribute(t);return null!=i&&(e[t.replace(/^metadata-/,"").replace(/-/g,"_")]=i),e},{}),...uu(this,d7)}}set metadata(e){uc(this,d7,null!=e?e:{}),this.mux&&this.mux.emit("hb",uu(this,d7))}get _hlsConfig(){return uu(this,ut)}set _hlsConfig(e){uc(this,ut,e)}get logo(){var e;return null!=(e=this.getAttribute(ug.LOGO))?e:uu(this,us)}set logo(e){e?this.setAttribute(ug.LOGO,e):this.removeAttribute(ug.LOGO)}load(){uc(this,d8,((e,t,i)=>{var r,a,s;dB(t,i,e);let{metadata:n={}}=e,{view_session_id:o=dI()}=n,l=null!=(r=null==e?void 0:e.metadata)&&r.video_id?e.metadata.video_id:dj(e)&&null!=(s=null!=(a=dC(e.playbackId))?a:dD(e.src))?s:e.src;n.view_session_id=o,n.video_id=l,e.metadata=n,e.drmTypeCb=e=>{var i;null==(i=t.mux)||i.emit("hb",{view_drm_type:e})},dS.set(t,{retryCount:0});let d=((e,t)=>{let{debug:i,streamType:r,startTime:a=-1,metadata:s,preferCmcd:n,_hlsConfig:o={}}=e,l=l_(e)===lE.M3U8,d=d$(e,t);if(l&&!d&&dL){let l=dH(r),d=dG(e),u=new ln({debug:i,startPosition:a,cmcd:[lg.QUERY,lg.HEADER].includes(n)?{useHeaders:n===lg.HEADER,sessionId:null==s?void 0:s.view_session_id,contentId:null==s?void 0:s.video_id}:void 0,xhrSetup:(e,t)=>{var i,r;if(n&&n!==lg.QUERY)return;let a=new URL(t);if(!a.searchParams.has("CMCD"))return;let s=(null!=(r=null==(i=a.searchParams.get("CMCD"))?void 0:i.split(","))?r:[]).filter(e=>e.startsWith("sid")||e.startsWith("cid")).join(",");a.searchParams.set("CMCD",s),e.open("GET",a)},...null==o.capLevelToPlayerSize?{capLevelController:lJ}:{},...{backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},...l,...d,...o});return u.on(ln.Events.MANIFEST_PARSED,async function(e,i){var r,a;let s=null==(r=i.sessionData)?void 0:r["com.apple.hls.chapters"];(null!=s&&s.URI||null!=s&&s.VALUE.toLocaleLowerCase().startsWith("http"))&&dE(null!=(a=null==s?void 0:s.URI)?a:null==s?void 0:s.VALUE,t)}),u}})(e,t),u=(({preload:e,src:t},i,r)=>{let a=e=>{null!=e&&["","none","metadata","auto"].includes(e)?i.setAttribute("preload",e):i.removeAttribute("preload")};if(!r)return a(e),a;let s=!1,n=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=e=>{a(e);let t=null!=e?e:i.preload;n||"none"===t||("metadata"===t?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!s&&t&&(s=!0,r.loadSource(t))};return lT(i,"play",()=>{n=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(e),d})(e,t,d);null!=e&&e.muxDataKeepSession&&null!=t&&t.mux&&!t.mux.deleted?d&&t.mux.addHLSJS({hlsjs:d,Hls:d?ln:void 0}):((e,t,i)=>{var r;let{envKey:a,disableTracking:s,muxDataSDK:n=tD,muxDataSDKOptions:o={}}=e,l=dj(e);if(!s&&(a||l)){let{playerInitTime:s,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:h,disableCookies:c}=e,m={...e.metadata,video_title:(null==(r=null==e?void 0:e.metadata)?void 0:r.video_title)||void 0};n.monitor(t,{debug:h,beaconCollectionDomain:u,hlsjs:i,Hls:i?ln:void 0,automaticErrorTracking:!1,errorTranslator:t=>"string"!=typeof t.player_error_code&&("function"==typeof e.errorTranslator?e.errorTranslator(t):t),disableCookies:c,...o,data:{...a?{env_key:a}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:s,...m}})}})(e,t,d),((e,t,i)=>{var r,a;let s=d$(e,t),{src:n,customDomain:o=dk}=e,l=()=>{t.ended||e.disablePseudoEnded||!dF(t,i)||(dU(t,i)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))},d,u,h=()=>{let e=dP(t),i,r;e.length>0&&(i=e.start(0),r=e.end(0)),(u!==r||d!==i)&&t.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),d=i,u=r};if(lT(t,"durationchange",h),t&&s){let i=l_(e);
112if("string"==typeof n){if(n.endsWith(".mp4")&&n.includes(o)){let e=dD(n);dE(new URL(`https://stream.${o}/${e}/metadata.json`).toString(),t)}let s=()=>{if(dM(t)!==lm||Number.isFinite(t.duration))return;let e=setInterval(h,1e3);t.addEventListener("teardown",()=>{clearInterval(e)},{once:!0}),lT(t,"durationchange",()=>{Number.isFinite(t.duration)&&clearInterval(e)})},l=async()=>dv(n,t,i).then(s).catch(i=>{if(i instanceof Response){let r=lX(i,lo,e);if(r)return void dQ(t,r)}});if("none"===t.preload){let e=()=>{l(),t.removeEventListener("loadedmetadata",i)},i=()=>{l(),t.removeEventListener("play",e)};lT(t,"play",e,{once:!0}),lT(t,"loadedmetadata",i,{once:!0})}else l();null!=(r=e.tokens)&&r.drm?lT(t,"encrypted",async i=>{try{let r=i.initDataType;if("skd"!==r)return void console.error(`Received unexpected initialization data type "${r}"`);if(!t.mediaKeys){let i=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(t=>{var i;return null==(i=e.drmTypeCb)||i.call(e,df),t}).catch(()=>{let e=lC("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);i.errorCategory="drm",i.muxCode=5000001,dQ(t,i)});if(!i)return;let a=await i.createMediaKeys();try{let t=await dV(dq(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=lX(t,"drm",e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in app cert request"))}return Promise.reject(t)});await a.setServerCertificate(t).catch(()=>{let e=lC("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),t=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory="drm",t.muxCode=5000004,Promise.reject(t)})}catch(e){dQ(t,e);return}await t.setMediaKeys(a)}let a=i.initData;if(null==a)return void console.error(`Could not start encrypted playback due to missing initData in ${i.type} event`);let s=t.mediaKeys.createSession();s.addEventListener("keystatuseschange",()=>{s.keyStatuses.forEach(e=>{let i;if("internal-error"===e){let e=lC("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");(i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0)).errorCategory="drm",i.muxCode=5000005}else if("output-restricted"===e||"output-downscaled"===e){let e=lC("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");(i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!1)).errorCategory="drm",i.muxCode=5000006}i&&dQ(t,i)})});let n=await Promise.all([s.generateRequest(r,a).catch(()=>{let e=lC("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),i=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);i.errorCategory="drm",i.muxCode=5000002,dQ(t,i)}),new Promise(e=>{s.addEventListener("message",t=>{e(t.message)},{once:!0})})]).then(([,e])=>e),o=await dK(n,dW(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=lX(t,"drm",e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in license key request"))}return Promise.reject(t)});await s.update(o).catch(()=>{let e=lC("Failed to update DRM license. This may be an issue with the player or your protected content."),t=new ld(e,ld.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory="drm",t.muxCode=5000003,Promise.reject(t)})}catch(e){dQ(t,e);return}}):lT(t,"encrypted",()=>{let e=new ld(lC("Attempting to play DRM-protected content without providing a DRM token."),ld.MEDIA_ERR_ENCRYPTED,!0);e.errorCategory="drm",e.muxCode=5000002,dQ(t,e)},{once:!0}),t.setAttribute("src",n),e.startTime&&((null!=(a=dS.get(t))?a:{}).startTime=e.startTime,t.addEventListener("durationchange",dY,{once:!0}))}else t.removeAttribute("src");t.addEventListener("error",dz),t.addEventListener("error",dX),t.addEventListener("emptied",()=>
112{t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})},{once:!0}),lT(t,"pause",l),lT(t,"seeked",l),lT(t,"play",()=>{t.ended||dN(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else{let r,a;i&&n?(i.once(ln.Events.LEVEL_LOADED,(e,r)=>{((e,t,i)=>{var r,a,s,n,o,l,d,u,h;let c,m,f,p,g,{streamType:E,targetLiveWindow:y,liveEdgeStartOffset:b,lowLatency:T}=(m=lS(c=e.type),f=lk(c),g=!!(null!=(h=e.partList)&&h.length),m===lm&&(p=g?2*e.partTarget:3*e.targetduration),{streamType:m,targetLiveWindow:f,liveEdgeStartOffset:p,lowLatency:g});if(E===lm){T?(i.config.backBufferLength=null!=(r=i.userConfig.backBufferLength)?r:4,i.config.maxFragLookUpTolerance=null!=(a=i.userConfig.maxFragLookUpTolerance)?a:.001,i.config.abrBandWidthUpFactor=null!=(s=i.userConfig.abrBandWidthUpFactor)?s:i.config.abrBandWidthFactor):i.config.backBufferLength=null!=(n=i.userConfig.backBufferLength)?n:8;let e=Object.freeze({get length(){return t.seekable.length},start:e=>t.seekable.start(e),end(e){var r;return e>this.length||e<0||Number.isFinite(t.duration)?t.seekable.end(e):null!=(r=i.liveSyncPosition)?r:t.seekable.end(e)}});(null!=(o=dS.get(t))?o:{}).seekable=e}(null!=(l=dS.get(t))?l:{}).liveEdgeStartOffset=b,(null!=(d=dS.get(t))?d:{}).targetLiveWindow=y,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(u=dS.get(t))?u:{}).streamType=E,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))})(r.details,t,i),h(),dM(t)!==lm||Number.isFinite(t.duration)||(i.on(ln.Events.LEVEL_UPDATED,h),lT(t,"durationchange",()=>{Number.isFinite(t.duration)&&i.off(ln.Events.LEVELS_UPDATED,h)}))}),i.on(ln.Events.ERROR,(r,a)=>{var s,n;let o=dZ(a,e);if(2412e3===o.muxCode){let e=null!=(s=dS.get(t))?s:{},r=null!=(n=e.retryCount)?n:0;if(r<6){let s=0===r?5e3:6e4,n=new ld(`Retrying in ${s/1e3} seconds...`,o.code,o.fatal);Object.assign(n,o),dQ(t,n),setTimeout(()=>{e.retryCount=r+1,"manifestLoadError"===a.details&&a.url&&i.loadSource(a.url)},s);return}{e.retryCount=0;let i=new ld('Try again later or <a href="#" onclick="window.location.reload(); return false;" style="color: #4a90e2;">click here to retry</a>',o.code,o.fatal);Object.assign(i,o),dQ(t,i);return}}dQ(t,o)}),i.on(ln.Events.MANIFEST_LOADED,()=>{let e=dS.get(t);e&&e.error&&(e.error=null,e.retryCount=0,t.dispatchEvent(new Event("emptied")),t.dispatchEvent(new Event("loadstart")))}),t.addEventListener("error",dX),lT(t,"waiting",l),function(e,t){var i;if(!("videoTracks"in e))return;let r=new WeakMap;t.on(ln.Events.MANIFEST_PARSED,function(t,i){s();let a=e.addVideoTrack("main");for(let[e,t]of(a.selected=!0,i.levels.entries())){let i=a.addRendition(t.url[0],t.width,t.height,t.videoCodec,t.bitrate);r.set(t,`${e}`),i.id=`${e}`}}),t.on(ln.Events.AUDIO_TRACKS_UPDATED,function(t,i){for(let t of(a(),i.audioTracks)){let i=t.default?"main":"alternative",r=e.addAudioTrack(i,t.name,t.lang);r.id=`${t.id}`,t.default&&(r.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var i;let r=+(null==(i=[...e.audioTracks].find(e=>e.enabled))?void 0:i.id),a=t.audioTracks.map(e=>e.id);r!=t.audioTrack&&a.includes(r)&&(t.audioTrack=r)}),t.on(ln.Events.LEVELS_UPDATED,function(t,i){var a;let s=e.videoTracks[null!=(a=e.videoTracks.selectedIndex)?a:0];if(!s)return;let n=i.levels.map(e=>r.get(e));for(let t of e.videoRenditions)t.id&&!n.includes(t.id)&&s.removeRendition(t)}),null==(i=e.videoRenditions)||i.addEventListener("change",e=>{let i=e.target.selectedIndex;i!=t.nextLevel&&(t.nextLevel=i)});let a=()=>{for(let t of e.audioTracks)e.removeAudioTrack(t)},s=()=>{(()=>{for(let t of e.videoTracks)e.removeVideoTrack(t)})(),a()};t.once(ln.Events.DESTROYING,s)}(e,i),i.on(ln.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(e,{tracks:r})=>{r.forEach(e=>{var r,a;let s=null!=(r=e.subtitleTrack)?r:e.closedCaptions,n=i.subtitleTracks.findIndex(({lang:t,name:i,type:r})=>t==(null==s?void 0:s.lang)&&i===e.label&&r.toLowerCase()===e.kind),o=(null!=(a=e._id)?a:e.default)?"default":`${e.kind}${n}`;lN(t,e.kind,e.label,null==s?void 0:s.lang,o,e.default)})}),r=()=>{if(!i.subtitleTracks.length)return;let e=Array.from(t.textTracks).find(e=>e.id&&"showing"===e.mode&&["subtitles","captions"].includes(e.kind));if(!e)return;let r=i.subtitleTracks[i.subtitleTrack],a=r?r.default?"default":`${i.subtitleTracks[i.subtitleTrack].type.toLowerCase()}${i.subtitleTrack}`:void 0;if(i.subtitleTrack<0||(null==e?void 0:e.id)!==a){let t=i.subtitleTracks.findIndex(({lang:t,name:i,type:r,default:a})=>"default"===e.id&&a||t==e.language&&i===e.label&&r.toLowerCase()===e.kind);i.subtitleTrack=t}
112(null==e?void 0:e.id)===a&&e.cues&&Array.from(e.cues).forEach(t=>{e.addCue(t)})},t.textTracks.addEventListener("change",r),i.on(ln.Events.CUES_PARSED,(e,{track:i,cues:r})=>{let a=t.textTracks.getTrackById(i);if(!a)return;let s="disabled"===a.mode;s&&(a.mode="hidden"),r.forEach(e=>{var t;null!=(t=a.cues)&&t.getCueById(e.id)||a.addCue(e)}),s&&(a.mode="disabled")}),i.once(ln.Events.DESTROYING,()=>{t.textTracks.removeEventListener("change",r),t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})}),a=()=>{Array.from(t.textTracks).forEach(e=>{var i,r;if(!["subtitles","caption"].includes(e.kind)&&("thumbnails"===e.label||"chapters"===e.kind)){if(!(null!=(i=e.cues)&&i.length)){let i="track";e.kind&&(i+=`[kind="${e.kind}"]`),e.label&&(i+=`[label="${e.label}"]`);let a=t.querySelector(i),s=null!=(r=null==a?void 0:a.getAttribute("src"))?r:"";null==a||a.removeAttribute("src"),setTimeout(()=>{null==a||a.setAttribute("src",s)},0)}"hidden"!==e.mode&&(e.mode="hidden")}})},i.once(ln.Events.MANIFEST_LOADED,a),i.once(ln.Events.MEDIA_ATTACHED,a),i.attachMedia(t)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")}})(e,t,d),lK(t),lQ(t);let h=((e,t,i)=>{let{autoplay:r}=e,a=!1,s=!1,n=lM(r)?r:!!r,o=()=>{a||lT(t,"playing",()=>{a=!0},{once:!0})};if(o(),lT(t,"loadstart",()=>{a=!1,o(),lP(t,n)},{once:!0}),lT(t,"loadstart",()=>{i||(s=e.streamType&&e.streamType!==lf?e.streamType===lm:!Number.isFinite(t.duration)),lP(t,n)},{once:!0}),i&&i.once(ln.Events.LEVEL_LOADED,(t,i)=>{var r;s=e.streamType&&e.streamType!==lf?e.streamType===lm:null!=(r=i.details.live)&&r}),!n){let r=()=>{!s||Number.isFinite(e.startTime)||(null!=i&&i.liveSyncPosition?t.currentTime=i.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};i&&lT(t,"play",()=>{"metadata"===t.preload?i.once(ln.Events.LEVEL_UPDATED,r):r()},{once:!0})}return e=>{a||lP(t,n=lM(e)?e:!!e)}})(e,t,d);return{engine:d,setAutoplay:h,setPreload:u}})(this,this.nativeEl,uu(this,d8)))}unload(){dB(this.nativeEl,uu(this,d8),this),uc(this,d8,void 0)}attributeChangedCallback(e,t,i){var r,a;switch(d5.observedAttributes.includes(e)&&!["src","autoplay","preload"].includes(e)&&super.attributeChangedCallback(e,t,i),e){case ug.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=null!=i?i:void 0;break;case ug.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=null!=i?i:void 0;break;case"src":{let e=!!t,r=!!i;!e&&r?um(this,un,uo).call(this):e&&!r?this.unload():e&&r&&(this.unload(),um(this,un,uo).call(this));break}
112case"autoplay":if(i===t)break;null==(r=uu(this,d8))||r.setAutoplay(this.autoplay);break;case"preload":if(i===t)break;null==(a=uu(this,d8))||a.setPreload(i);break;case ug.PLAYBACK_ID:this.src=dw(this);break;case ug.DEBUG:{let e=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=e);break}case ug.METADATA_URL:i&&fetch(i).then(e=>e.json()).then(e=>this.metadata=e).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${i}!`));break;case ug.STREAM_TYPE:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case ug.TARGET_LIVE_WINDOW:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;case ug.LOGO:(null==i||i!==t)&&this.updateLogo();break;case ug.DISABLE_TRACKING:if(null==i||i!==t){let e=this.currentTime,t=this.paused;this.unload(),um(this,un,uo).call(this).then(()=>{this.currentTime=e,t||this.play()})}break;case ug.DISABLE_COOKIES:(null==i||i!==t)&&this.disableCookies&&document.cookie.split(";").forEach(e=>{e.trim().startsWith("muxData")&&(document.cookie=e.replace(/^ +/,"").replace(/=.*/,"=;expires="+new Date().toUTCString()+";path=/"))})}}updateLogo(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector('slot[name="logo"]');e&&(e.innerHTML=this.constructor.getLogoHTML(uu(this,us)||this.logo))}connectedCallback(){var e;null==(e=super.connectedCallback)||e.call(this),this.nativeEl&&this.src&&!uu(this,d8)&&um(this,un,uo).call(this)}disconnectedCallback(){this.unload()}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{composed:!0,detail:e.detail}))}};d8=new WeakMap,d9=new WeakMap,d6=new WeakMap,d7=new WeakMap,ue=new WeakMap,ut=new WeakMap,ui=new WeakMap,ur=new WeakMap,ua=new WeakMap,us=new WeakMap,un=new WeakSet,uo=async function(){uu(this,d9)||(await uc(this,d9,Promise.resolve()),uc(this,d9,null),this.load())};let ub=new WeakMap;class uT extends Error{}class uA extends Error{}let u_=["application/x-mpegURL","application/vnd.apple.mpegurl","audio/mpegurl"];function uS(){return globalThis.cast?.framework?.CastContext.getInstance()}function uk(){return uS()?.getCurrentSession()}function uL(){return uk()?.getSessionObj().media[0]}function uR(e){return uS().setOptions({...uI(),...e})}function uI(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}async function uw(e){try{let t=(await fetch(e,{method:"HEAD"})).headers.get("Content-Type");return u_.some(e=>t===e)}catch(e){return console.error("Error while trying to get the Content-Type of the manifest",e),!1}}async function uC(e){try{let i=await (await fetch(e)).text(),r=i,a=function(e){let t=e.split("\n"),i=[];for(let e=0;e<t.length;e++)if(t[e].trim().startsWith("#EXT-X-STREAM-INF")){let r=t[e+1]?t[e+1].trim():"";r&&!r.startsWith("#")&&i.push(r)}return i}(i);if(a.length>0){let t=new URL(a[0],e).toString();r=await (await fetch(t)).text()}var t=r.split("\n").find(e=>!e.trim().startsWith("#")&&""!==e.trim());if(!t)return;let s=t.match(/\.([a-zA-Z0-9]+)(?:\?.*)?$/);return s?s[1]:null}catch(e){console.error("Error while trying to parse the manifest playlist",e);return}}let uD=new(globalThis.WeakRef?class extends Set{add(e){super.add(new WeakRef(e))}forEach(e){super.forEach(t=>{let i=t.deref();i&&e(i)})}}:Set),ux=new WeakSet;he=()=>{globalThis.chrome?.cast?.isAvailable?i||(i=cast.framework,uS().addEventListener(i.CastContextEventType.CAST_STATE_CHANGED,e=>{uD.forEach(t=>ub.get(t).onCastStateChanged?.(e))}),uS().addEventListener(i.CastContextEventType.SESSION_STATE_CHANGED,e=>{uD.forEach(t=>ub.get(t).onSessionStateChanged?.(e))}),uD.forEach(e=>ub.get(e).init?.())):console.debug("chrome.cast.isAvailable",globalThis.chrome?.cast?.isAvailable)},globalThis.chrome?.cast?.isAvailable?globalThis.cast?.framework?he():customElements.whenDefined("google-cast-button").then(he):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(he)};let uM=0;
112class uP extends EventTarget{#c;#r;#m;#f;#p="disconnected";#g=!1;#v=new Set;#E=new WeakMap;constructor(e){super(),this.#c=e,uD.add(this),ub.set(this,{init:()=>this.#i(),onCastStateChanged:()=>this.#y(),onSessionStateChanged:()=>this.#b(),getCastPlayer:()=>this.#T}),this.#i()}get #T(){if(ux.has(this.#c))return this.#m}get state(){return this.#p}async watchAvailability(e){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");return this.#E.set(e,++uM),this.#v.add(e),queueMicrotask(()=>e(this.#A())),uM}async cancelWatchAvailability(e){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");e?this.#v.delete(e):this.#v.clear()}async prompt(){if(this.#c.disableRemotePlayback)throw new uT("disableRemotePlayback attribute is present.");if(!globalThis.chrome?.cast?.isAvailable)throw new uA("The RemotePlayback API is disabled on this platform.");let e=ux.has(this.#c);ux.add(this.#c),uR(this.#c.castOptions),Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.addEventListener(e,t)});try{await uS().requestSession()}catch(t){if(e||ux.delete(this.#c),"cancel"===t)return;throw Error(t)}ub.get(this.#c)?.loadOnPrompt?.()}#_(){ux.has(this.#c)&&(Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.removeEventListener(e,t)}),ux.delete(this.#c),this.#c.muted=this.#m.isMuted,this.#c.currentTime=this.#m.savedPlayerState.currentTime,!1===this.#m.savedPlayerState.isPau
112sed&&this.#c.play())}#A(){let e=uS()?.getCastState();return e&&"NO_DEVICES_AVAILABLE"!==e}#y(){let e=uS().getCastState();if(ux.has(this.#c)&&"CONNECTING"===e&&(this.#p="connecting",this.dispatchEvent(new Event("connecting"))),!this.#g&&e?.includes("CONNECT"))for(let e of(this.#g=!0,this.#v))e(!0);else if(this.#g&&(!e||"NO_DEVICES_AVAILABLE"===e))for(let e of(this.#g=!1,this.#v))e(!1)}async #b(){let{SESSION_RESUMED:e}=i.SessionState;if(uS().getSessionState()===e&&this.#c.castSrc===uL()?.media.contentId){ux.add(this.#c),Object.entries(this.#f).forEach(([e,t])=>{this.#m.controller.addEventListener(e,t)});try{var t;await (t=new chrome.cast.media.GetStatusRequest,new Promise((e,i)=>{uL().getStatus(t,e,i)}))}catch(e){console.error(e)}this.#f[i.RemotePlayerEventType.IS_PAUSED_CHANGED](),this.#f[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}}#i(){i&&!this.#r&&(this.#r=!0,uR(this.#c.castOptions),this.#c.textTracks.addEventListener("change",()=>this.#S()),this.#y(),this.#m=new i.RemotePlayer,new i.RemotePlayerController(this.#m),this.#f={[i.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:e})=>{!0===e?(this.#p="connected",this.dispatchEvent(new Event("connect"))):(this.#_(),this.#p="disconnected",this.dispatchEvent(new Event("disconnect")))},[i.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.#c.dispatchEvent(new Event("durationchange"))},[i.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.#c.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.#c.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{this.#T?.isMediaLoaded&&this.#c.dispatchEvent(new Event("timeupdate"))},[i.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.#c.dispatchEvent(new Event("resize"))},[i.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.#c.dispatchEvent(new Event(this.paused?"pause":"play"))},[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{this.#T?.playerState!==chrome.cast.media.PlayerState.PAUSED&&this.#c.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[this.#T?.playerState]))},[i.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{this.#T?.isMediaLoaded&&(await Promise.resolve(),this.#k())}})}#k(){this.#S()}async #S(){let e;if(!this.#T)return;let t=(this.#m.mediaInfo?.tracks??[]).filter(({type:e})=>e===chrome.cast.media.TrackType.TEXT),i=[...this.#c.textTracks].filter(({kind:e})=>"subtitles"===e||"captions"===e),r=t.map(({language:e,name:t,trackId:r})=>{let{mode:a}=i.find(i=>i.language===e&&i.label===t)??{};return!!a&&{mode:a,trackId:r}}).filter(Boolean),a=r.filter(({mode:e})=>"showing"!==e).map(({trackId:e})=>e),s=r.find(({mode:e})=>"showing"===e),n=uk()?.getSessionObj().media[0]?.activeTrackIds??[],o=n;if(n.length&&(o=o.filter(e=>!a.includes(e))),s?.trackId&&(o=[...o,s.trackId]),e=o=[...new Set(o)],!(n.length===e.length&&n.every(t=>e.includes(t))))try{let e=new chrome.cast.media.EditTracksInfoRequest(o);await new Promise((t,i)=>{uL().editTracksInfo(e,t,i)})}catch(e){console.error(e)}}}let uO=e=>class extends e{static observedAttributes=[...e.observedAttributes??[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"];#L={paused:!1};#R=uI();#I;#w;get remote(){return this.#w?this.#w:globalThis.chrome?(this.disableRemotePlayback||function(){let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if(globalThis.chrome?.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}(),ub.set(this,{loadOnPrompt:()=>this.#C()}),this.#w=new uP(this)):super.remote}get #T(){return ub.get(this.remote)?.getCastPlayer?.()}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),"cast-receiver"===e&&i){this.#R.receiverApplicationId=i;return}if(this.#T)switch(e){case"cast-stream-type":case"cast-src":this.load()}}async #C(){this.#L.paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(e){console.error(e)}}async load(){if(!this.#T)return super.load();let e=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);e.customData=this.castCustomData;let t=[...this.querySelectorAll("track")].filter(({kind:e,src:t})=>t&&("subtitles"===e||"captions"===e)),i=[],r=0;if(t.length&&(e.tracks=t.map(e=>{let t=++r;0===i.length&&"showing"===e.track.mode&&i.push(t);let a=new chrome.cast.media.Track(t,chrome.cast.media.TrackType.TEXT);return a.trackContentId=e.src,a.trackContentType="text/vtt",a.subtype="captions"===e.kind?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,a.name=e.label,a.language=e.srclang,a})),"live"===this.castStreamType?e.streamType=chrome.cast.media.StreamType.LIVE:e.streamType=chrome.cast.media.StreamType.BUFFERED,e.metadata=new chrome.cast.media.GenericMediaMetadata,e.metadata.title=this.title,e.metadata.images=[{url:this.poster}],uw(this.castSrc)){let t=await uC(this.castSrc);t?.includes("m4s")||t?.includes("mp4")?(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.FMP4,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.FMP4):t?.includes("ts")&&(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.TS,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.TS)}let a=new chrome.cast.media.LoadRequest(e);a.currentTime=super.currentTime??0,a.autoplay=!this.#L.paused,a.activeTrackIds=i,await uk()?.loadMedia(a),this.dispatchEvent(new Event("volumechange"))}play(){if(this.#T){this.#T.isPaused&&this.#T.controller?.playOrPause();return}return super.play()}pause(){if(this.#T){this.#T.isPaused||this.#T.controller?.playOrPause();return}super.pause()}get castOptions(){return this.#R}get castReceiver(){return this.getAttribute("cast-receiver")??void 0}set castReceiver(e){this.castReceiver!=e&&this.setAttribute("cast-receiver",`${e}`)}get castSrc(){return this.getAttribute("cast-src")??this.querySelector("source")?.src??this.currentSrc}set castSrc(e){this.castSrc!=e&&this.setAttribute("cast-src",`${e}`)}get castContentType(){return this.getAttribute("cast-content-type")??void 0}set castContentType(e){this.setAttribute("cast-content-type",`${e}`)}get castStreamType(){return this.getAttribute("cast-stream-type")??this.streamType??void 0}set castStreamType(e){this.setAttribute("cast-stream-type",`${e}`)}get castCustomData(){return this.#I}set castCustomData(e){let t=typeof e;["object","undefined"].includes(t)?this.#I=e:console.error(`castCustomData must be nullish or an object but value was of type ${t}`)}get readyState(){if(this.#T)switch(this.#T.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.#T?this.#T.isPaused:super.paused}get muted(){return this.#T?this.#T?.isMuted:super.muted}set muted(e){if(this.#T){(e&&!this.#T.isMuted||!e&&this.#T.isMuted)&&this.#T.controller?.muteOr
112Unmute();return}super.muted=e}get volume(){return this.#T?this.#T?.volumeLevel??1:super.volume}set volume(e){if(this.#T){this.#T.volumeLevel=+e,this.#T.controller?.setVolumeLevel();return}super.volume=e}get duration(){return this.#T&&this.#T?.isMediaLoaded?this.#T?.duration??NaN:super.duration}get currentTime(){return this.#T&&this.#T?.isMediaLoaded?this.#T?.currentTime??0:super.currentTime}set currentTime(e){if(this.#T){this.#T.currentTime=e,this.#T.controller?.seek();return}super.currentTime=e}};class uN extends Event{track;constructor(e,t){super(e),this.track=t.track}}let uU=new WeakMap;function uF(e){var t,i;let r;return uU.get(e)??(t=e,i={},(r=uU.get(t))||uU.set(t,r={}),Object.assign(r,i))}function uB(e,t){let i=e.videoTracks;uF(t).media=e,uF(t).renditionSet||(uF(t).renditionSet=new Set);let r=uF(i).trackSet;r.add(t);let a=r.size-1;a in uH.prototype||Object.defineProperty(uH.prototype,a,{get(){return[...uF(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new uN("addtrack",{track:t}))})}function u$(e){let t=uF(e).media?.videoTracks;t&&(uF(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new uN("removetrack",{track:e}))}))}class uH extends EventTarget{#D;#x;#M;constructor(){super(),uF(this).trackSet=new Set}get #P(){return uF(this).trackSet}[Symbol.iterator](){return this.#P.values()}get length(){return this.#P.size}getTrackById(e){return[...this.#P].find(t=>t.id===e)??null}get selectedIndex(){return[...this.#P].findIndex(e=>e.selected)}get onaddtrack(){return this.#D}set onaddtrack(e){this.#D&&(this.removeEventListener("addtrack",this.#D),this.#D=void 0),"function"==typeof e&&(this.#D=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#x}set onremovetrack(e){this.#x&&(this.removeEventListener("removetrack",this.#x),this.#x=void 0),"function"==typeof e&&(this.#x=e,this.addEventListener("removetrack",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uG extends Event{rendition;constructor(e,t){super(e),this.rendition=t.rendition}}function uV(e){return[...uF(e).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...uF(e).renditionSet])}class uK extends EventTarget{#O;#N;#M;[Symbol.iterator](){return uV(this).values()}get length(){return uV(this).length}getRenditionById(e){return uV(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return uV(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of uV(this).entries())i.selected=t===e}get onaddrendition(){return this.#O}set onaddrendition(e){this.#O&&(this.removeEventListener("addrendition",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#N}set onremoverendition(e){this.#N&&(this.removeEventListener("removerendition",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("removerendition",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uW{src;id;width;height;bitrate;frameRate;codec;#U=!1;get selected(){return this.#U}set selected(e){if(this.#U!==e){var t;let i;this.#U=e,t=this,(i=uF(t).media.videoRenditions)&&!uF(i).changeRequested&&(uF(i).changeRequested=!0,queueMicrotask(()=>{delete uF(i).changeRequested,uF(t).track.selected&&i.dispatchEvent(new Event("change"))}))}}}class uq{id;kind;label="";language="";sourceBuffer;#U=!1;addRendition(e,t,i,r,a,s){var n;let o,l,d,u=new uW;return u.src=e,u.width=t,u.height=i,u.frameRate=s,u.bitrate=a,u.codec=r,n=this,o=uF(n).media.videoRenditions,uF(u).media=uF(n).media,uF(u).track=n,(l=uF(n).renditionSet).add(u),(d=l.size-1)in uK.prototype||Object.defineProperty(uK.prototype,d,{get(){return uV(this)[d]}}),queueMicrotask(()=>{n.selected&&o.dispatchEvent(new uG("addrendition",{rendition:u}))}),u}removeRendition(e){let t,i;t=uF(e).media.videoRenditions,i=uF(e).track,uF(i).renditionSet.delete(e),queueMicrotask(()=>{uF(e).track.selected&&t.dispatchEvent(new uG("removerendition",{rendition:e}))})}get selected(){return this.#U}set selected(e){this.#U===e||(this.#U=e,!0===e&&function(e){let t=uF(e).media.videoTracks??[],i=!1;for(let r of t)r!==e&&(r.selected=!1,i=!0);if(i){if(uF(t).changeRequested)return;uF(t).changeRequested=!0,queueMicrotask(()=>{delete uF(t).changeRequested,t.dispatchEvent(new Event("change"))})}}(this))}}function uj(e){return[...uF(e).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...uF(e).renditionSet])}
112class uY extends EventTarget{#O;#N;#M;[Symbol.iterator](){return uj(this).values()}get length(){return uj(this).length}getRenditionById(e){return uj(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return uj(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of uj(this).entries())i.selected=t===e}get onaddrendition(){return this.#O}set onaddrendition(e){this.#O&&(this.removeEventListener("addrendition",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#N}set onremoverendition(e){this.#N&&(this.removeEventListener("removerendition",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("removerendition",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uz{src;id;bitrate;codec;#U=!1;get selected(){return this.#U}set selected(e){if(this.#U!==e){var t;let i;this.#U=e,t=this,(i=uF(t).media.audioRenditions)&&!uF(i).changeRequested&&(uF(i).changeRequested=!0,queueMicrotask(()=>{delete uF(i).changeRequested,uF(t).track.enabled&&i.dispatchEvent(new Event("change"))}))}}}function uQ(e,t){let i=e.audioTracks;uF(t).media=e,uF(t).renditionSet||(uF(t).renditionSet=new Set);let r=uF(i).trackSet;r.add(t);let a=r.size-1;a in uZ.prototype||Object.defineProperty(uZ.prototype,a,{get(){return[...uF(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new uN("addtrack",{track:t}))})}function uX(e){let t=uF(e).media?.audioTracks;t&&(uF(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new uN("removetrack",{track:e}))}))}class uZ extends EventTarget{#D;#x;#M;constructor(){super(),uF(this).trackSet=new Set}get #P(){return uF(this).trackSet}[Symbol.iterator](){return this.#P.values()}get length(){return this.#P.size}getTrackById(e){return[...this.#P].find(t=>t.id===e)??null}get onaddtrack(){return this.#D}set onaddtrack(e){this.#D&&(this.removeEventListener("addtrack",this.#D),this.#D=void 0),"function"==typeof e&&(this.#D=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#x}set onremovetrack(e){this.#x&&(this.removeEventListener("removetrack",this.#x),this.#x=void 0),"function"==typeof e&&(this.#x=e,this.addEventListener("removetrack",e))}get onchange(){return this.#M}set onchange(e){this.#M&&(this.removeEventListener("change",this.#M),this.#M=void 0),"function"==typeof e&&(this.#M=e,this.addEventListener("change",e))}}class uJ{id;kind;label="";language="";sourceBuffer;#F=!1;addRendition(e,t,i){var r;let a,s,n,o=new uz;return o.src=e,o.codec=t,o.bitrate=i,r=this,a=uF(r).media.audioRenditions,uF(o).media=uF(r).media,uF(o).track=r,(s=uF(r).renditionSet).add(o),(n=s.size-1)in uY.prototype||Object.defineProperty(uY.prototype,n,{get(){return uj(this)[n]}}),queueMicrotask(()=>{r.enabled&&a.dispatchEvent(new uG("addrendition",{rendition:o}))}),o}removeRendition(e){let t,i;t=uF(e).media.audioRenditions,i=uF(e).track,uF(i).renditionSet.delete(e),queueMicrotask(()=>{uF(e).track.enabled&&t.dispatchEvent(new uG("removerendition",{rendition:e}))})}get enabled(){return this.#F}set enabled(e){if(this.#F!==e){let t;this.#F=e,(t=uF(this).media.audioTracks)&&!uF(t).changeRequested&&(uF(t).changeRequested=!0,queueMicrotask(()=>{delete uF(t).changeRequested,t.dispatchEvent(new Event("change"))}))}}}let u0=u3(globalThis.HTMLMediaElement,"video"),u1=u3(globalThis.HTMLMediaElement,"audio");function u2(e){if(!e?.prototype)return e;let t=u3(e,"video");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"videoTracks",{get(){var e=this;let t=uF(e).videoTracks;if(!t&&(t=new uH,uF(e).videoTracks=t,u0)){let i=u0.call(e.nativeEl??e);for(let t of i)uB(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof uq)){for(let e of i)u$(e);return}uB(e,r.track)}),i.addEventListener("removetrack",e=>{u$(e.track)})}return t}});let i=u3(e,"audio");(!i||`${i}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"audioTracks",{get(){var e=this;let t=uF(e).audioTracks;
112if(!t&&(t=new uZ,uF(e).audioTracks=t,u1)){let i=u1.call(e.nativeEl??e);for(let t of i)uQ(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof uJ)){for(let e of i)uX(e);return}uQ(e,r.track)}),i.addEventListener("removetrack",e=>{uX(e.track)})}return t}}),"addVideoTrack"in e.prototype||(e.prototype.addVideoTrack=function(e,t="",i=""){let r=new uq;return r.kind=e,r.label=t,r.language=i,uB(this,r),r}),"removeVideoTrack"in e.prototype||(e.prototype.removeVideoTrack=u$),"addAudioTrack"in e.prototype||(e.prototype.addAudioTrack=function(e,t="",i=""){let r=new uJ;return r.kind=e,r.label=t,r.language=i,uQ(this,r),r}),"removeAudioTrack"in e.prototype||(e.prototype.removeAudioTrack=uX),"videoRenditions"in e.prototype||Object.defineProperty(e.prototype,"videoRenditions",{get(){return r(this)}});let r=e=>{let t=uF(e).videoRenditions;return t||(uF(t=new uK).media=e,uF(e).videoRenditions=t),t};"audioRenditions"in e.prototype||Object.defineProperty(e.prototype,"audioRenditions",{get(){return a(this)}});let a=e=>{let t=uF(e).audioRenditions;return t||(uF(t=new uY).media=e,uF(e).audioRenditions=t),t};return e}function u3(e,t){if(e?.prototype)return Object.getOwnPropertyDescriptor(e.prototype,`${t}Tracks`)?.get}var u4=e=>{throw TypeError(e)},u5=(e,t,i)=>t.has(e)||u4("Cannot "+i),u8=(e,t,i)=>(u5(e,t,"read from private field"),i?i.call(e):t.get(e)),u9=(e,t,i)=>t.has(e)?u4("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),u6=(e,t,i,r)=>(u5(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),u7=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends u7{});var he,ht,hi=class extends u7{},hr=class{constructor(e,t={}){u9(this,ht),u6(this,ht,null==t?void 0:t.detail)}get detail(){return u8(this,ht)}initCustomEvent(){}};ht=new WeakMap;var ha={document:{createElement:function(e,t){return new hi}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(hi)},CustomEvent:hr,EventTarget:u7,HTMLElement:hi,HTMLVideoElement:class extends u7{}},hs="u"<typeof window||void 0===globalThis.customElements,hn=hs?ha:globalThis;hs&&ha.document;var ho,hl=class extends uO(u2(uy)){constructor(){super(...arguments),u9(this,ho)}get autoplay(){let e=this.getAttribute("autoplay");return null!==e&&(""===e||e)}set autoplay(e){e!==this.autoplay&&(e?this.setAttribute("autoplay","string"==typeof e?e:""):this.removeAttribute("autoplay"))}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var e;return null!=(e=u8(this,ho))?e:this.muxCastCustomData}set castCustomData(e){u6(this,ho,e)}};ho=new WeakMap,hn.customElements.get("mux-video")||(hn.customElements.define("mux-video",hl),hn.MuxVideoElement=hl);let hd={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_LOOP_REQUEST:"medialooprequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediash
112owsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},hu={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},hh={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_P
112LAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_LOOP:"mediaLoop",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_LANG:"mediaLang",MEDIA_WIDTH:"mediaWidth"},hc=Object.entries(hh),hm=hc.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{}),hf=hc.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),hp=Object.entries(hf).reduce((e,[t,i])=>{let r=hm[t];return r&&(e[i]=r),e},{userinactivechange:"userinactive"}),hg=Object.entries(hm).reduce((e,[t,i])=>{let r=hf[t];return r&&(e[i]=r),e},{userinactive:"userinactivechange"}),hv={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},hE={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"},hy={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},hb={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},hT={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"},hA={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function h_(e){if(e){let{id:t,width:i,height:r}=e;return[t,i,r].filter(e=>null!=e).join(":")}}function hS(e){if(e){let[t,i,r]=e.split(":");return{id:t,width:+i,height:+r}}}function hk(e){if(e){let{id:t,kind:i,language:r,label:a}=e;return[t,i,r,a].filter(e=>null!=e).join(":")}}function hL(e){if(e){let[t,i,r,a]=e.split(":");return{id:t,kind:i,language:r,label:a}}}function hR(e){return"number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e)}function hI(e){return"string"==typeof e&&!isNaN(e)&&!isNaN(parseFloat(e))}e.s(["AttributeToStateChangeEventMap",0,hg,"AvailabilityStates",0,hb,"MediaStateChangeEvents",0,hf,"MediaStateReceiverAttributes",0,hu,"MediaUIAttributes",0,hm,"MediaUIEvents",0,hd,"MediaUIProps",0,hh,"PointerTypes",0,hy,"ReadyStates",0,{HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},"StateChangeEventToAttributeMap",0,hp,"StreamTypes",0,hT,"TextTrackKinds",0,hv,"TextTrackModes",0,hE,"VolumeLevels",0,{HIGH:"high",MEDIUM:"medium",LOW:"low",OFF:"off"},"WebkitPresentationModes",0,hA],92617),e.i(92617);let hw=e=>new Promise(t=>setTimeout(t,e)),hC=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],hD=e=>{if(!hR(e))return"";let t=Math.abs(e),i=t!==e,r=new Date(0,0,0,0,0,t,0),a=[r.getHours(),r.getMinutes(),r.getSeconds()].map((e,t)=>{let i;return e&&(i=1===e?hC[t].singular:hC[t].plural,`${e} ${i}`)}).filter(e=>e).join(", ");return`${a}${i?" remaining":""}`};function hx(e,t){let i=!1;e<0&&(i=!0,e=0-e);let r=Math.floor((e=e<0?0:e)%60),a=Math.floor(e/60%60),s=Math.floor(e/3600),n=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(s=a=r="0"),a=(((s=s>
1120||o>0?s+":":"")||n>=10)&&a<10?"0"+a:a)+":",(i?"-":"")+s+a+(r=r<10?"0"+r:r)}let hM=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});e.s(["emptyTimeRanges",0,hM,"formatAsTimePhrase",0,hD,"formatTime",0,hx,"serializeTimeRanges",0,function(e=hM){return Array.from(e).map((t,i)=>[Number(e.start(i).toFixed(3)),Number(e.end(i).toFixed(3))].join(":")).join(" ")}],38333),e.i(38333);let hP={en:{"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute",Loop:"Loop","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings",Auto:"Auto","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute","chapter: {chapterName}":"chapter: {chapterName}",live:"live",Off:"Off","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","Source Not Supported":"Source Not Supported","Encryption Error":"Encryption 
112Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."}},hO=(null==(v_=globalThis.navigator)?void 0:v_.language)||"en",hN=(e,t={})=>(e=>{var t,i,r;let[a]=hO.split("-");return(null==(t=hP[hO])?void 0:t[e])||(null==(i=hP[a])?void 0:i[e])||(null==(r=hP.en)?void 0:r[e])||e})(e).replace(/\{(\w+)\}/g,(e,i)=>i in t?String(t[i]):`{${i}}`);class hU{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}}class hF extends hU{}class hB extends hF{constructor(){super(...arguments),this.role=null}}let h$={createElement:function(){return new hH.HTMLElement},createElementNS:function(){return new hH.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent:e=>!1},hH={ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},document:h$,Node:hF,Element:hB,HTMLElement:class extends hB{constructor(){super(...arguments),this.innerHTML=""}get content(){return new hH.DocumentFragment}},DocumentFragment:class extends hU{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem:e=>null,setItem(e,t){},removeItem(e){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia:e=>({matches:!1,media:e}),DOMParser:class{parseFromString(e,t){return{body:{textContent:e}}}}},hG="global"in globalThis&&(null==globalThis?void 0:globalThis.global)===globalThis||"u"<typeof window||void 0===window.customElements,hV=Object.keys(hH).every(e=>e in globalThis),hK=hG&&!hV?hH:globalThis,hW=hG&&!hV?h$:globalThis.document,hq=new WeakMap,hj=e=>{let t=hq.get(e);return t||hq.set(e,t=new Set),t},hY=new hK.ResizeObserver(e=>{for(let t of e)for(let e of hj(t.target))e(t)});function hz(e,t){hj(e).add(t),hY.observe(e)}function hQ(e,t){let i=hj(e);i.delete(t),i.size||hY.unobserve(e)}function hX(e){let t={};for(let i of e)t[i.name]=i.value;return t}function hZ(e){var t;return null!=(t=hJ(e))?t:h3(e,"media-controller")}function hJ(e){var t;let{MEDIA_CONTROLLER:i}=hu,r=e.getAttribute(i);if(r)return null==(t=h5(e))?void 0:t.getElementById(r)}let h0=(e,t,i=".value")=>{let r=e.querySelector(i);r&&(r.textContent=t)},h1=(e,t)=>{let i,r;return(i=`slot[name="${t}"]`,!(r=e.shadowRoot.querySelector(i))?[]:r.children)[0]},h2=(e,t)=>!!e&&!!t&&(null!=e&&!!e.contains(t)||h2(e,t.getRootNode().host)),h3=(e,t)=>{if(!e)return null;let i=e.closest(t);return i||h3(e.getRootNode().host,t)};function h4(e=document){var t;let i=null==e?void 0:e.activeElement;return i?null!=(t=h4(i.shadowRoot))?t:i:null}function h5(e){var t;let i=null==(t=null==e?void 0:e.getRootNode)?void 0:t.call(e);return i instanceof ShadowRoot||i instanceof Document?i:null}function h8(e,{depth:t=3,checkOpacity:i=!0,checkVisibilityCSS:r=!0}={}){if(e.checkVisibility)return e.checkVisibility({checkOpacity:i,checkVisibilityCSS:r});let a=e;for(;a&&t>0;){let e=getComputedStyle(a);if(i&&"0"===e.opacity||r&&"hidden"===e.visibility||"none"===e.display)return!1;a=a.parentElement,t--}return!0}function h9(e,t){let i=function(e,t){var i,r;let a;for(a of null!=(i=e.querySelectorAll("style:not([media])"))?i:[]){let e;try{e=null==(r=a.sheet)?void 0:r.cssRules}catch{continue}for(let i of null!=e?e:[])if(t(i.selectorText))return i}}(e,e=>e===t);return i||h6(e,t)}function h6(e,t){var i,r;let a=null!=(i=e.querySelectorAll("style:not([media])"))?i:[],s=null==a?void 0:a[a.length-1];return(null==s?void 0:s.sheet)?(null==s||s.sheet.insertRule(`${t}{}`,s.sheet.cssRules.length),null==(r=s.sheet.cssRules)?void 0:r[s.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",e),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function h7(e,t,i=NaN){let r=e.getAttribute(t);return null!=r?+r:i}function ce(e,t,i){let r=+i;if(null==i||Number.isNaN(r)){e.hasAttribute(t)&&e.removeAttribute(t);return}h7(e,t,void 0)!==r&&e.setAttribute(t,`${r}`)}function ct(e,t){return e.hasAttribute(t)}function ci(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}ct(e,t)!=i&&e.toggleAttribute(t,i)}function cr(e,t,i=null){var r;return null!=(r=e.getAttribute(t))?r:i}function ca(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}let r=`${i}`;cr(e,t,void 0)!==r&&e.setAttribute(t,r)}var cs=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cn=(e,t,i)=>(cs(e,t,"read from private field"),i?i.call(e):t.get(e)),co=(e,t,i,r)=>(cs(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cl extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,vS,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PAUSED]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=cn(this,vS))?void 0:r.unassociateElement)||a.call(r,this),co(this,vS,null)),i&&this.isConnected&&(co(this,vS,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=cn(this,vS))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i,r,a,s;let n;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),co(this,vS,(a=this,(n=a.getAttribute(hu.MEDIA_CONTROLLER))?null==(s=a.getRootNode())?void 0:s.getElementById(n):h3(a,"media-controller"))),this.getAttribute(hu.MEDIA_CONTROLLER)&&(null==(t=null==(e=cn(this,vS))?void 0:e.associateElement)||t.call(e,this)),null==(i=cn(this,vS))||i.addEventListener("pointerdown",this),null==(r=cn(this,vS))||r.addEventListener("click",this)}disconnectedCallback(){var e,t,i,r;this.getAttribute(hu.MEDIA_CONTROLLER)&&(null==(t=null==(e=cn(this,vS))?void 0:e.unassociateElement)||t.call(e,this)),null==(i=cn(this,vS))||i.removeEventListener("pointerdown",this),null==(r=cn(this,vS))||r.removeEventListener("click",this),co(this,vS,null)}handleEvent(e){var t;let i=null==(t=e.composedPath())?void 0:t[0];if(["video","media-controller"].includes(null==i?void 0:i.localName)){if("pointerdown"===e.type)this._pointerType=e.pointerType;else if("click"===e.type){let{clientX:t,clientY:i}=e,{left:r,top:a,width:s,height:n}=this.getBoundingClientRect(),o=t-r,l=i-a;if(o<0||l<0||o>s||l>n||0===s&&0===n)return;let d=this._pointerType||"mouse";if(this._pointerType=void 0,d===hy.TOUCH)return void this.handleTap(e);if(d===hy.MOUSE||d===hy.PEN)return void this.handleMouseClick(e)}}}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new hK.CustomEvent(t,{composed:!0,bubbles:!0}))}}vS=new WeakMap,cl.shadowRootOptions={mode:"open"},cl.getTemplateHTML=function(e){return`
113    <style>
114      :host {
115        display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
116        box-sizing: border-box;
117      }
118    </style>
119  `}
119,hK.customElements.get("media-gesture-receiver")||hK.customElements.define("media-gesture-receiver",cl);var cd=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cu=(e,t,i)=>(cd(e,t,"read from private field"),i?i.call(e):t.get(e)),ch=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cc=(e,t,i,r)=>(cd(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),cm=(e,t,i)=>(cd(e,t,"access private method"),i);let cf="audio",cp="autohide",cg="breakpoints",cv="gesturesdisabled",cE="keyboardcontrol",cy="noautohide",cb="userinactive",cT="autohideovercontrols",cA=Object.values(hm);function c_(e,t){var i,r,a;if(!e.isConnected)return;let s=Object.fromEntries((null!=(i=e.getAttribute(cg))?i:"sm:384 md:576 lg:768 xl:960").split(/\s+/).map(e=>e.split(":"))),n=(r=s,a=t,Object.keys(r).filter(e=>a>=parseInt(r[e]))),o=!1;if(Object.keys(s).forEach(t=>{if(n.includes(t)){e.hasAttribute(`breakpoint${t}`)||(e.setAttribute(`breakpoint${t}`,""),o=!0);return}e.hasAttribute(`breakpoint${t}`)&&(e.removeAttribute(`breakpoint${t}`),o=!0)}),o){let t=new CustomEvent(hf.BREAKPOINTS_CHANGE,{detail:n});e.dispatchEvent(t)}e.breakpointsComputed||(e.breakpointsComputed=!0,e.dispatchEvent(new CustomEvent(hf.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}class cS extends hK.HTMLElement{constructor(){if(super(),ch(this,vC),ch(this,vP),ch(this,vN),ch(this,vF),ch(this,v$),ch(this,vG),ch(this,vk,0),ch(this,vL,null),ch(this,vR,null),ch(this,vI,void 0),this.breakpointsComputed=!1,ch(this,vw,new MutationObserver(cm(this,vC,vD).bind(this))),ch(this,vx,!1),ch(this,vM,e=>{cu(this,vx)||(setTimeout(()=>{c_(e.target,e.contentRect.width),cc(this,vx,!1)},0),cc(this,vx,!0))}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}const e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){cu(this,vL)&&this.mediaUnsetCallback(cu(this,vL));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[cp,cv].concat(cA).filter(e=>![hm.MEDIA_RENDITION_LIST,hm.MEDIA_AUDIO_TRACK_LIST,hm.MEDIA_CHAPTERS_CUES,hm.MEDIA_WIDTH,hm.MEDIA_HEIGHT,hm.MEDIA_ERROR,hm.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==cp&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(null==e?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(cc(this,vL,e),e.localName.includes("-")&&await hK.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;cu(this,vw).observe(this,{childList:!0,subtree:!0}),hz(this,cu(this,vM));let t=null!=this.getAttribute(cf)?hN("audio player"):hN("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",t),this.handleMediaUpdated(this.media),this.setAttribute(cb,""),c_(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),null==(e=hK.window)||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;cu(this,vw).disconnect(),hQ(this,cu(this,vM)),this.media&&this.mediaUnsetCallback(this.media),null==(e=hK.window)||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){cc(this,vL,null)}handleEvent(e){switch(e.type){case"pointerdown":cc(this,vk,e.timeStamp);break;case"pointermove":cm(this,vP,vO).call(this,e);break;case"pointerup":cm(this,vN,vU).call(this,e);break;case"mouseleave":cm(this,vF,vB).call(this);break;case"mouseup":this.removeAttribute(cE);break;case"keyup":cm(this,vG,vV).call(this),this.setAttribute(cE,"")}}set autohide(e){let t=Number(e);cc(this,vI,isNaN(t)?0:t)}get autohide(){return(void 0===cu(this,vI)?2:cu(this,vI)).toString()}get breakpoints(){return cr(this,cg)}set breakpoints(e){ca(this,cg,e)}get audio(){return ct(this,cf)}set audio(e){ci(this,cf,e)}get gesturesDisabled(){return ct(this,cv)}set gesturesDisabled(e){ci(this,cv,e)}get keyboardControl(){return ct(this,cE)}set keyboardControl(e){ci(this,cE,e)}get noAutohide(){return ct(this,cy)}set noAutohide(e){ci(this,cy,e)}get autohideOverControls(){return ct(this,cT)}set autohideOverControls(e){ci(this,cT,e)}get userInteractive(){return ct(this,cb)}set userInteractive(e){ci(this,cb,e)}}vk=new WeakMap,vL=new WeakMap,vR=new WeakMap,vI=new WeakMap,vw=new WeakMap,vC=new WeakSet,vD=function(e){let t=this.media;for(let i of e)if("childList"===i.type){for(let e of i.removedNodes
119){if("media"!=e.slot||i.target!=this)continue;let r=i.previousSibling&&i.previousSibling.previousElementSibling;if(r&&t){let t="media"!==r.slot;for(;null!==(r=r.previousSibling);)"media"==r.slot&&(t=!1);t&&this.mediaUnsetCallback(e)}else this.mediaUnsetCallback(e)}if(t)for(let e of i.addedNodes)e===t&&this.handleMediaUpdated(t)}},vx=new WeakMap,vM=new WeakMap,vP=new WeakSet,vO=function(e){if("mouse"!==e.pointerType&&e.timeStamp-cu(this,vk)<250)return;cm(this,v$,vH).call(this),clearTimeout(cu(this,vR));let t=this.hasAttribute(cT);([this,this.media].includes(e.target)||t)&&cm(this,vG,vV).call(this)},vN=new WeakSet,vU=function(e){if("touch"===e.pointerType){let t=!this.hasAttribute(cb);[this,this.media].includes(e.target)&&t?cm(this,vF,vB).call(this):cm(this,vG,vV).call(this)}else e.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(null==e?void 0:e.localName))&&cm(this,vG,vV).call(this)},vF=new WeakSet,vB=function(){if(0>cu(this,vI)||this.hasAttribute(cb))return;this.setAttribute(cb,"");let e=new hK.CustomEvent(hf.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(e)},v$=new WeakSet,vH=function(){if(!this.hasAttribute(cb))return;this.removeAttribute(cb);let e=new hK.CustomEvent(hf.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(e)},vG=new WeakSet,vV=function(){cm(this,v$,vH).call(this),clearTimeout(cu(this,vR));let e=parseInt(this.autohide);e<0||cc(this,vR,setTimeout(()=>{cm(this,vF,vB).call(this)},1e3*e))},cS.shadowRootOptions={mode:"open"},cS.getTemplateHTML=function(e){return`
120    <style>
121      
122      :host([${hm.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
123        outline: none;
124      }
125
126      :host {
127        box-sizing: border-box;
128        position: relative;
129        display: inline-block;
130        line-height: 0;
131        background-color: var(--media-background-color, #000);
132        overflow: hidden;
133      }
134
135      :host(:not([${cf}])) [part~=layer]:not([part~=media-layer]) {
136        position: absolute;
137        top: 0;
138        left: 0;
139        bottom: 0;
140        right: 0;
141        display: flex;
142        flex-flow: column nowrap;
143        align-items: start;
144        pointer-events: none;
145        background: none;
146      }
147
148      slot[name=media] {
149        display: var(--media-slot-display, contents);
150      }
151
152      
153      :host([${cf}]) slot[name=media] {
154        display: var(--media-slot-display, none);
155      }
156
157      
158      :host([${cf}]) [part~=layer][part~=gesture-layer] {
159        height: 0;
160        display: block;
161      }
162
163      
164      :host(:not([${cf}])[${cv}]) ::slotted([slot=gestures-chrome]),
165          :host(:not([${cf}])[${cv}]) media-gesture-receiver[slot=gestures-chrome] {
166        display: none;
167      }
168
169      
170      ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) {
171        pointer-events: auto;
172      }
173
174      :host(:not([${cf}])) *[part~=layer][part~=centered-layer] {
175        align-items: center;
176        justify-content: center;
177      }
178
179      :host(:not([${cf}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),
180      :host(:not([${cf}])) media-gesture-receiver[slot=gestures-chrome] {
181        align-self: stretch;
182        flex-grow: 1;
183      }
184
185      slot[name=middle-chrome] {
186        display: inline;
187        flex-grow: 1;
188        pointer-events: none;
189        background: none;
190      }
191
192      
193      ::slotted([slot=media]),
194      ::slotted([slot=poster]) {
195        width: 100%;
196        height: 100%;
197      }
198
199      
200      :host(:not([${cf}])) .spacer {
201        flex-grow: 1;
202      }
203
204      
205      :host(:-webkit-full-screen) {
206        
207        width: 100% !important;
208        height: 100% !important;
209      }
210
211      
212      ::slotted(:not([slot=media]):not([slot=poster]):not([${cy}]):not([hidden]):not([role=dialog])) {
213        opacity: 1;
214        transition: var(--media-control-transition-in, opacity 0.25s);
215      }
216
217      
218      :host([${cb}]:not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_AIRPLAYING}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${cy}]):not([role=dialog])) {
219        opacity: 0;
220        transition: var(--media-control-transition-out, opacity 1s);
221      }
222
223      :host([${cb}
223]:not([${cy}]):not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) ::slotted([slot=media]) {
224        cursor: none;
225      }
226
227      :host([${cb}][${cT}]:not([${cy}]):not([${hm.MEDIA_PAUSED}]):not([${hm.MEDIA_IS_CASTING}]):not([${cf}])) * {
228        --media-cursor: none;
229        cursor: none;
230      }
231
232
233      ::slotted(media-control-bar)  {
234        align-self: stretch;
235      }
236
237      
238      :host(:not([${cf}])[${hm.MEDIA_HAS_PLAYED}]) slot[name=poster] {
239        display: none;
240      }
241
242      ::slotted([role=dialog]) {
243        width: 100%;
244        height: 100%;
245        align-self: center;
246      }
247
248      ::slotted([role=menu]) {
249        align-self: end;
250      }
251    </style>
252
253    <slot name="media" part="layer media-layer"></slot>
254    <slot name="poster" part="layer poster-layer"></slot>
255    <slot name="gestures-chrome" part="layer gesture-layer">
256      <media-gesture-receiver slot="gestures-chrome">
257        <template shadowrootmode="${cl.shadowRootOptions.mode}">
258          ${cl.getTemplateHTML({})}
259        </template>
260      </media-gesture-receiver>
261    </slot>
262    <span part="layer vertical-layer">
263      <slot name="top-chrome" part="top chrome"></slot>
264      <slot name="middle-chrome" part="middle chrome"></slot>
265      <slot name="centered-chrome" part="layer centered-layer center centered chrome"></slot>
266      
267      <slot part="bottom chrome"></slot>
268    </span>
269    <slot name="dialog" part="layer dialog-layer"></slot>
270  `},hK.customElements.get("media-container")||hK.customElements.define("media-container",cS);var ck=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cL=(e,t,i)=>(ck(e,t,"read from private field"),i?i.call(e):t.get(e)),cR=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cI=(e,t,i,r)=>(ck(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cw{constructor(e,t,{defaultValue:i}={defaultValue:void 0}){cR(this,vY),cR(this,vK,void 0),cR(this,vW,void 0),cR(this,vq,void 0),cR(this,vj,new Set),cI(this,vK,e),cI(this,vW,t),cI(this,vq,new Set(i))}[Symbol.iterator](){return cL(this,vY,vz).values()}get length(){return cL(this,vY,vz).size}get value(){var e;return null!=(e=[...cL(this,vY,vz)].join(" "))?e:""}set value(e){var t;e!==this.value&&(cI(this,vj,new Set),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return[...cL(this,vY,vz)][e]}values(){return cL(this,vY,vz).values()}forEach(e,t){cL(this,vY,vz).forEach(e,t)}add(...e){var t,i;e.forEach(e=>cL(this,vj).add(e)),(""!==this.value||(null==(t=cL(this,vK))?void 0:t.hasAttribute(`${cL(this,vW)}`)))&&(null==(i=cL(this,vK))||i.setAttribute(`${cL(this,vW)}`,`${this.value}`))}remove(...e){var t;e.forEach(e=>cL(this,vj).delete(e)),null==(t=cL(this,vK))||t.setAttribute(`${cL(this,vW)}`,`${this.value}`)}contains(e){return cL(this,vY,vz).has(e)}toggle(e,t){if(void 0!==t)if(t)return this.add(e),!0;else return this.remove(e),!1;return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}}vK=new WeakMap,vW=new WeakMap,vq=new WeakMap,vj=new WeakMap,vY=new WeakSet,vz=function(){return cL(this,vj).size?cL(this,vj):cL(this,vq)};let cC=(e="")=>{let[t,i,r]=e.split(":"),a=r?decodeURIComponent(r):void 0;return{kind:"cc"===t?hv.CAPTIONS:hv.SUBTITLES,language:i,label:a}},cD=(e="",t={})=>((e="")=>e.split(/\s+/))(e).map(e=>{let i=cC(e);return{...t,...i}}),cx=e=>e?Array.isArray(e)?e.map(e=>"string"==typeof e?cC(e):e):"string"==typeof e?cD(e):[e]:[],cM=({kind:e,label:t,language:i}={kind:"subtitles"})=>t?`${"captions"===e?"cc":"sb"}:${i}:${encodeURIComponent(t)}`:i,cP=(e=[])=>Array.prototype.map.call(e,cM).join(" "),cO=e=>{let t=Object.entries(e).map(([e,t])=>i=>i[e]===t);return e=>t.every(t=>t(e))},cN=(e,t=[],i=[])=>{let r=cx(i).map(cO);Array.from(t).filter(e=>r.some(t=>t(e))).forEach(t=>{t.mode=e})},cU=(e,t=()=>!0)=>{if(!(null==e?void 0:e.textTracks))return[];let i="function"==typeof t?t:cO(t);return Array.from(e.textTracks).filter(i)},cF=e=>{var t;return!!(null==(t=e.mediaSubtitlesShowing)?void 0:t.length)||e.hasAttribute(hm.MEDIA_SUBTITLES_SHOWING)},cB="exitFullscreen"in hW?"exitFullscreen":"webkitExitFullscreen"in hW?"webkitExitFullscreen":"webkitCancelFullScreen"in hW?"webkitCancelFullScreen":void 0,c$="fullscreenElement"in hW?"fullscreenElement":"webkitFullscreenElement"in hW?"webkitFullscreenElement":void 0,cH="fullscreenEnabled"in hW?"fullscreenEnabled":"webkitFullscreenEnabled"in hW?"webkitFullscreenEnabled":void 0,cG=()=>{var e;return r||(r=null==(e=null==hW?void 0:hW.createElement)?void 0:e.call(hW,"video"))},cV=async(e=cG())=>{if(!e)return!1;let t=e.volume;
270e.volume=t/2+.1;let i=new AbortController,r=await Promise.race([cK(e,i.signal),cW(e,t)]);return i.abort(),r},cK=(e,t)=>new Promise(i=>{e.addEventListener("volumechange",()=>i(!0),{signal:t})}),cW=async(e,t)=>{for(let i=0;i<10;i++){if(e.volume===t)return!1;await hw(10)}return e.volume!==t},cq=/.*Version\/.*Safari\/.*/.test(hK.navigator.userAgent),cj=(e=cG())=>(!hK.matchMedia("(display-mode: standalone)").matches||!cq)&&"function"==typeof(null==e?void 0:e.requestPictureInPicture),cY=(e=cG())=>(e=>{let{documentElement:t,media:i}=e;return!!(null==t?void 0:t[cH])||i&&"webkitSupportsFullscreen"in i})({documentElement:hW,media:e}),cz=cY(),cQ=cj(),cX=!!hK.WebKitPlaybackTargetAvailabilityEvent,cZ=!!hK.chrome,cJ=e=>cU(e.media,e=>[hv.SUBTITLES,hv.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),c0=e=>cU(e.media,e=>e.mode===hE.SHOWING&&[hv.SUBTITLES,hv.CAPTIONS].includes(e.kind)),c1=(e,t)=>{let i=cJ(e),r=c0(e),a=!!r.length;if(i.length){if(!1===t||a&&!0!==t)cN(hE.DISABLED,i,r);else if(!0===t||!a&&!1!==t){let t=i[0],{options:a}=e;if(!(null==a?void 0:a.noSubtitlesLangPref)){let e=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),r=e?[e,...globalThis.navigator.languages]:globalThis.navigator.languages,a=i.filter(e=>r.some(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))).sort((e,t)=>r.findIndex(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))-r.findIndex(e=>t.language.toLowerCase().startsWith(e.split("-")[0])));a[0]&&(t=a[0])}let{language:s,label:n,kind:o}=t;cN(hE.DISABLED,i,r),cN(hE.SHOWING,i,[{language:s,label:n,kind:o}])}}},c2=(e,t)=>e===t||null!=e&&null!=t&&typeof e==typeof t&&(!!("number"==typeof e&&Number.isNaN(e)&&Number.isNaN(t))||"object"==typeof e&&(Array.isArray(e)?c3(e,t):Object.entries(e).every(([e,i])=>e in t&&c2(i,t[e])))),c3=(e,t)=>{let i=Array.isArray(e),r=Array.isArray(t);return i===r&&(!i&&!r||e.length===t.length&&e.every((e,i)=>c2(e,t[i])))},c4=Object.values(hT),c5=cV().then(e=>a=e),c8=async(...e)=>{await Promise.all(e.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof hK.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let i=hK.customElements.get(t);i&&e instanceof i||(await hK.customElements.whenDefined(t),hK.customElements.upgrade(e))}))},c9=new hK.DOMParser,c6={mediaError:{get(e,t){let{media:i}=e;if((null==t?void 0:t.type)!=="playing")return null==i?void 0:i.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(e,t){var i;let{media:r}=e;if((null==t?void 0:t.type)!=="playing")return null==(i=null==r?void 0:r.error)?void 0:i.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(e,t){var i,r;let{media:a}=e;if((null==t?void 0:t.type)!=="playing")return null!=(r=null==(i=null==a?void 0:a.error)?void 0:i.message)?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoWidth)?t:0},mediaEvents:["resize"]},mediaHeight:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoHeight)?t:0},mediaEvents:["resize"]},mediaPaused:{get(e){var t;let{media:i}=e;return null==(t=null==i?void 0:i.paused)||t},set(e,t){var i;let{media:r}=t;r&&(e?r.pause():null==(i=r.play())||i.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(e,t){let{media:i}=e;return!!i&&(t?"playing"===t.type:!i.paused)},mediaEvents:["playing","emptied"]},mediaEnded:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.ended)&&t},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.playbackRate)?t:1},set(e,t){let{media:i}=t;!i||Number.isFinite(+e)&&(i.playbackRate=+e)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.muted)&&t},set(e,t){let{media:i,options:{noMutedPref:r}={}}=t;if(i){i.muted=e;try{let t=null!==hK.localStorage.getItem("media-chrome-pref-muted"),a=i.hasAttribute("muted");if(r){t&&hK.localStorage.removeItem("media-chrome-pref-muted");return}if(a&&!t)return;hK.localStorage.setItem("media-chrome-pref-muted",e?"true":"false")}catch(e){console.debug("Error setting muted pref",e)}}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noMutedPref:i}}=t,{media:r}=t;if(r&&!r.muted&&!i)try{let i="true"===hK.localStorage.getItem("media-chrome-pref-muted");c6.mediaMuted.set(i,t),e(i)}catch(e){console.debug("Error getting muted pref",e)}}]},mediaLoop:{get(e){let{media:t}=e;return null==t?void 0:t.loop},set(e,t){let{media:i}=t;i&&(i.loop=e)},mediaEvents:["medialooprequest"]},mediaVolume:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.volume)?t:1},set(e,t){let{media:i,options:{noVolumePref:r}={}}=t;if(i){try{null==e?hK.localStorage.removeItem("media-chrome-pref-volume"):i.hasAttribute("muted")||r||hK.localStorage.setItem("media-chrome-pref-volume",e.toString())}catch(e){console.debug("Error setting volume pref",e)}Number.isFinite(+e)&&(i.volume=+e)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noVolumePref:i}}=t;if(!i)try{let{media:i}=t;if(!i)return;let r=hK.localStorage.getItem("media-chrome-pref-volume");if(null==r)return;c6.mediaVolume.set(+r,t),e(+r)}catch(e){console.debug("Error getting volume pref",e)}}]},mediaVolumeLevel:{get(e){let{media:t}=e;return void 0===(null==t?void 0:t.volume)?"high":t.muted||0===t.volume?"off":t.volume<.5?"low":t.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.currentTime)?t:0},set(e,t){let{media:i}=t;i&&hR(e)&&(i.currentTime=e)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(e){let{media:t,options:{defaultDuration:i}={}}=e;return i&&(!t||!t.duration||Number.isNaN(t.duration)||!Number.isFinite(t.duration))?i:Number.isFinite(null==t?void 0:t.duration)?t.duration:NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(e){let{media:t}=e;return(null==t?void 0:t.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(e){var t;let{media:i}=e;if(!(null==(t=null==i?void 0:i.seekable)?void 0:t.length))return;let r=i.seekable.start(0),a=i.seekable.end(i.seekable.length-1);if(r||a)return[Number(r.toFixed(3)),Number(a.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(e){var t;let{media:i}=e,r=null!=(t=null==i?void 0:i.buffered)?t:[];return Array.from(r).map((e,t)=>[Number(r.start(t).toFixed(3)),Number(r.end(t).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(e){let{media:t,options:{defaultStreamType:i}={}}=e,r=[hT.LIVE,hT.ON_DEMAND].includes(i)?i:void 0;if(!t)return r;let{streamType:a}=t;if(c4.includes(a))return a===hT.UNKNOWN?r:a;let s=t.duration;return s===1/0?hT.LIVE:Number.isFinite(s)?hT.ON_DEMAND:r}
270,mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(e){let{media:t}=e;if(!t)return NaN;let{targetLiveWindow:i}=t,r=c6.mediaStreamType.get(e);return(null==i||Number.isNaN(i))&&r===hT.LIVE?0:i},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(e){let{media:t,options:{liveEdgeOffset:i=10}={}}=e;if(!t)return!1;if("number"==typeof t.liveEdgeStart)return!Number.isNaN(t.liveEdgeStart)&&t.currentTime>=t.liveEdgeStart;if(c6.mediaStreamType.get(e)!==hT.LIVE)return!1;let r=t.seekable;if(!r)return!0;if(!r.length)return!1;let a=r.end(r.length-1)-i;return t.currentTime>=a},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get:e=>cJ(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get:e=>c0(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i,r;let{media:a,options:s}=t;if(!a)return;let n=e=>{var i;s.defaultSubtitles&&(e&&![hv.CAPTIONS,hv.SUBTITLES].includes(null==(i=null==e?void 0:e.track)?void 0:i.kind)||c1(t,!0))};return a.addEventListener("loadstart",n),null==(i=a.textTracks)||i.addEventListener("addtrack",n),null==(r=a.textTracks)||r.addEventListener("removetrack",n),()=>{var e,t;a.removeEventListener("loadstart",n),null==(e=a.textTracks)||e.removeEventListener("addtrack",n),null==(t=a.textTracks)||t.removeEventListener("removetrack",n)}}]},mediaChaptersCues:{get(e){var t;let{media:i}=e;if(!i)return[];let[r]=cU(i,{kind:hv.CHAPTERS});return Array.from(null!=(t=null==r?void 0:r.cues)?t:[]).map(({text:e,startTime:t,endTime:i})=>({text:e&&c9.parseFromString(e,"text/html").body.textContent||e,startTime:t,endTime:i}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(!r)return;let a=r.querySelector('track[kind="chapters"][default][src]'),s=null==(i=r.shadowRoot)?void 0:i.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return null==a||a.addEventListener("load",e),null==s||s.addEventListener("load",e),()=>{null==a||a.removeEventListener("load",e),null==s||s.removeEventListener("load",e)}}]},mediaIsPip:{get(e){var t,i;let{media:r,documentElement:a}=e;if(!r||!a||!a.pictureInPictureElement)return!1;if(a.pictureInPictureElement===r)return!0;if(a.pictureInPictureElement instanceof HTMLMediaElement)return!!(null==(t=r.localName)?void 0:t.includes("-"))&&h2(r,a.pictureInPictureElement);if(a.pictureInPictureElement.localName.includes("-")){let e=a.pictureInPictureElement.shadowRoot;for(;null==e?void 0:e.pictureInPictureElement;){if(e.pictureInPictureElement===r)return!0;e=null==(i=e.pictureInPictureElement)?void 0:i.shadowRoot}}return!1},set(e,t){let{media:i}=t;if(i)if(e){if(!hW.pictureInPictureEnabled)return void console.warn("MediaChrome: Picture-in-picture is not enabled");if(!i.requestPictureInPicture)return void console.warn("MediaChrome: The current media does not support picture-in-picture");let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};i.requestPictureInPicture().catch(t=>{if(11===t.code){if(!i.src)return void console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");if(0===i.readyState&&"none"===i.preload){let t=()=>{i.removeEventListener("loadedmetadata",r),i.preload="none"},r=()=>{i.requestPictureInPicture().catch(e),t()};i.addEventListener("loadedmetadata",r),i.preload="metadata",setTimeout(()=>{0===i.readyState&&e(),t()},1e3)}else throw t}else throw t})}else hW.pictureInPictureElement&&hW.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.videoRenditions)?t:[]].map(e=>({...e}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(e){var t,i,r;let{media:a}=e;return null==(r=null==(i=null==a?void 0:a.videoRenditions)?void 0:i[null==(t=a.videoRenditions)?void 0:t.selectedIndex])?void 0:r.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.videoRenditions))return void console.warn("MediaController: Rendition selection not supported by this media.");let r=Array.prototype.findIndex.call(i.videoRenditions,t=>t.id==e);i.videoRenditions.selectedIndex!=r&&(i.videoRenditions.selectedIndex=r)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.audioTracks)?t:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(e){var t,i;let{media:r}=e;return null==(i=[...null!=(t=null==r?void 0:r.audioTracks)?t:[]].find(e=>e.enabled))?void 0:i.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.audioTracks))return void console.warn("MediaChrome: Audio track selection not supported by this media.");
270for(let t of i.audioTracks)t.enabled=e==t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get:e=>(e=>{var t;let{media:i,documentElement:r,fullscreenElement:a=i}=e;if(!i||!r)return!1;let s=(e=>{let{documentElement:t,media:i}=e,r=null==t?void 0:t[c$];return!r&&"webkitDisplayingFullscreen"in i&&"webkitPresentationMode"in i&&i.webkitDisplayingFullscreen&&i.webkitPresentationMode===hA.FULLSCREEN?i:r})(e);if(!s)return!1;if(s===a||s===i)return!0;if(s.localName.includes("-")){let e=s.shadowRoot;if(!(c$ in e))return h2(s,a);for(;null==e?void 0:e[c$];){if(e[c$]===a)return!0;e=null==(t=e[c$])?void 0:t.shadowRoot}}return!1})(e),set(e,t,i){var r;e?((e=>{var t;let{media:i,fullscreenElement:r}=e;try{let e=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(e){let i=null==(t=r[e])?void 0:t.call(r);if(i instanceof Promise)return i.catch(()=>{})}else(null==i?void 0:i.webkitEnterFullscreen)?i.webkitEnterFullscreen():(null==i?void 0:i.requestFullscreen)&&i.requestFullscreen()}catch(e){console.error(e)}})(t),i.detail&&(null==(r=t.media)||r.focus())):(e=>{var t;let{documentElement:i}=e;if(cB){let e=null==(t=null==i?void 0:i[cB])?void 0:t.call(i);if(e instanceof Promise)return e.catch(()=>{})}})(t)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(e){var t;let{media:i}=e;return!!(null==i?void 0:i.remote)&&(null==(t=i.remote)?void 0:t.state)!=="disconnected"&&!!i.remote.state},set(e,t){var i,r;let{media:a}=t;if(a&&(!e||(null==(i=a.remote)?void 0:i.state)==="disconnected")&&(e||(null==(r=a.remote)?void 0:r.state)==="connected")){if("function"!=typeof a.remote.prompt)return void console.warn("MediaChrome: Casting is not supported in this environment");a.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get:()=>!1,set(e,t){let{media:i}=t;if(i){if(!(i.webkitShowPlaybackTargetPicker&&hK.WebKitPlaybackTargetAvailabilityEvent))return void console.error("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");i.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(e){let{media:t}=e;if(!cz||!cY(t))return hb.UNSUPPORTED}},mediaPipUnavailable:{get(e){let{media:t}=e;return cQ&&cj(t)?(null==t?void 0:t.disablePictureInPicture)?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED}},mediaVolumeUnavailable:{get(e){let{media:t}=e;if(!1===a||(null==t?void 0:t.volume)==void 0)return hb.UNSUPPORTED},stateOwnersUpdateHandlers:[e=>{null==a&&c5.then(t=>e(t?void 0:hb.UNSUPPORTED))}]},mediaCastUnavailable:{get(e,{availability:t="not-available"}={}){var i;let{media:r}=e;return cZ&&(null==(i=null==r?void 0:r.remote)?void 0:i.state)?null!=t&&"available"!==t?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED},stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaAirplayUnavailable:{get:(e,t)=>cX?(null==t?void 0:t.availability)==="not-available"?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED,mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaRenditionUnavailable:{get(e){var t;let{media:i}=e;return(null==i?void 0:i.videoRenditions)?(null==(t=i.videoRenditions)?void 0:t.length)?void 0:hb.UNAVAILABLE:hb.UNSUPPORTED},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(e){var t,i;let{media:r}=e;return(null==r?void 0:r.audioTracks)?(null!=(i=null==(t=r.audioTracks)?void 0:t.length)?i:0)<=1?hb.UNAVAILABLE:void 0:hb.UNSUPPORTED},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaLang:{get(e){let{options:{mediaLang:t}={}}=e;return null!=t?t:"en"}}},c7={[hd.MEDIA_PREVIEW_REQUEST](e,t,{detail:i}){var r,a,s;let n,o,{media:l}=t,d=null!=i?i:void 0;if(l&&null!=d){let[e]=cU(l,{kind:hv.METADATA,label:"thumbnails"}),t=Array.prototype.find.call(null!=(r=null==e?void 0:e.cues)?r:[],
270(e,t,i)=>0===t?e.endTime>d:t===i.length-1?e.startTime<=d:e.startTime<=d&&e.endTime>d);if(t){let e=/'^(?:[a-z]+:)?\/\//i.test(t.text)||null==(a=null==l?void 0:l.querySelector('track[label="thumbnails"]'))?void 0:a.src,i=new URL(t.text,e);o=new URLSearchParams(i.hash).get("#xywh").split(",").map(e=>+e),n=i.href}}let u=e.mediaDuration.get(t),h=null==(s=e.mediaChaptersCues.get(t).find((e,t,i)=>t===i.length-1&&u===e.endTime?e.startTime<=d&&e.endTime>=d:e.startTime<=d&&e.endTime>d))?void 0:s.text;return null!=i&&null==h&&(h=""),{mediaPreviewTime:d,mediaPreviewImage:n,mediaPreviewCoords:o,mediaPreviewChapter:h}},[hd.MEDIA_PAUSE_REQUEST](e,t){e.mediaPaused.set(!0,t)},[hd.MEDIA_PLAY_REQUEST](e,t){var i,r,a,s;let n=e.mediaStreamType.get(t)===hT.LIVE,o=!(null==(i=t.options)?void 0:i.noAutoSeekToLive),l=e.mediaTargetLiveWindow.get(t)>0;if(n&&o&&!l){let i=null==(r=e.mediaSeekable.get(t))?void 0:r[1];if(i){let r=null!=(s=null==(a=t.options)?void 0:a.seekToLiveOffset)?s:0;e.mediaCurrentTime.set(i-r,t)}}e.mediaPaused.set(!1,t)},[hd.MEDIA_PLAYBACK_RATE_REQUEST](e,t,{detail:i}){e.mediaPlaybackRate.set(i,t)},[hd.MEDIA_MUTE_REQUEST](e,t){e.mediaMuted.set(!0,t)},[hd.MEDIA_UNMUTE_REQUEST](e,t){e.mediaVolume.get(t)||e.mediaVolume.set(.25,t),e.mediaMuted.set(!1,t)},[hd.MEDIA_LOOP_REQUEST](e,t,{detail:i}){let r=!!i;return e.mediaLoop.set(r,t),{mediaLoop:r}},[hd.MEDIA_VOLUME_REQUEST](e,t,{detail:i}){i&&e.mediaMuted.get(t)&&e.mediaMuted.set(!1,t),e.mediaVolume.set(i,t)},[hd.MEDIA_SEEK_REQUEST](e,t,{detail:i}){e.mediaCurrentTime.set(i,t)},[hd.MEDIA_SEEK_TO_LIVE_REQUEST](e,t){var i,r,a;let s=null==(i=e.mediaSeekable.get(t))?void 0:i[1];if(Number.isNaN(Number(s)))return;let n=null!=(a=null==(r=t.options)?void 0:r.seekToLiveOffset)?a:0;e.mediaCurrentTime.set(s-n,t)},[hd.MEDIA_SHOW_SUBTITLES_REQUEST](e,t,{detail:i}){var r;let{options:a}=t,s=cJ(t),n=cx(i),o=null==(r=n[0])?void 0:r.language;o&&!a.noSubtitlesLangPref&&hK.localStorage.setItem("media-chrome-pref-subtitles-lang",o),cN(hE.SHOWING,s,n)},[hd.MEDIA_DISABLE_SUBTITLES_REQUEST](e,t,{detail:i}){let r=cJ(t);cN(hE.DISABLED,r,null!=i?i:[])},[hd.MEDIA_TOGGLE_SUBTITLES_REQUEST](e,t,{detail:i}){c1(t,i)},[hd.MEDIA_RENDITION_REQUEST](e,t,{detail:i}){e.mediaRenditionSelected.set(i,t)},[hd.MEDIA_AUDIO_TRACK_REQUEST](e,t,{detail:i}){e.mediaAudioTrackEnabled.set(i,t)},[hd.MEDIA_ENTER_PIP_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsPip.set(!0,t)},[hd.MEDIA_EXIT_PIP_REQUEST](e,t){e.mediaIsPip.set(!1,t)},[hd.MEDIA_ENTER_FULLSCREEN_REQUEST](e,t,i){e.mediaIsPip.get(t)&&e.mediaIsPip.set(!1,t),e.mediaIsFullscreen.set(!0,t,i)},[hd.MEDIA_EXIT_FULLSCREEN_REQUEST](e,t){e.mediaIsFullscreen.set(!1,t)},[hd.MEDIA_ENTER_CAST_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsCasting.set(!0,t)},[hd.MEDIA_EXIT_CAST_REQUEST](e,t){e.mediaIsCasting.set(!1,t)},[hd.MEDIA_AIRPLAY_REQUEST](e,t){e.mediaIsAirplaying.set(!0,t)}};var me=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},mt=(e,t,i)=>(me(e,t,"read from private field"),i?i.call(e):t.get(e)),mi=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},mr=(e,t,i,r)=>(me(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),ma=(e,t,i)=>(me(e,t,"access private method"),i);let ms=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter"," ","f","m","k","c","l","j",">","<","p"],mn="defaultsubtitles",mo="defaultstreamtype",ml="defaultduration",md="fullscreenelement",mu="hotkeys",mh="keyboardbackwardseekoffset",mc="keyboardforwardseekoffset",mm="keyboarddownvolumestep",mf="keyboardupvolumestep",mp="keysused",mg="lang",mv="loop",mE="liveedgeoffset",my="noautoseektolive",mb="nodefaultstore",mT="nohotkeys",mA="nomutedpref",m_="nosubtitleslangpref",mS="novolumepref",mk="seektoliveoffset";class mL extends cS{constructor(){super(),mi(this,v3),mi(this,v5),mi(this,v9),mi(this,v7),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,mi(this,vQ,new cw(this,mu)),mi(this,vX,void 0),mi(this,vZ,void 0),mi(this,vJ,null),mi(this,v0,void 0),mi(this,v1,void 0),mi(this,v2,e=>{var t;null==(t=mt(this,vZ))||t.dispatch(e)}),this.associateElement(this);let e={};mr(this,v0,t=>{Object.entries(t).forEach(([t,i])=>{if(t in e&&e[t]===i)return;
270this.propagateMediaState(t,i);let r=t.toLowerCase(),a=new hK.CustomEvent(hg[r],{composed:!0,detail:i});this.dispatchEvent(a)}),e=t}),this.hasAttribute(mT)?this.disableHotkeys():this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(mT,mu,mo,mn,ml,mA,mS,mg,mv)}get mediaStore(){return mt(this,vZ)}set mediaStore(e){var t,i;(mt(this,vZ)&&(null==(t=mt(this,v1))||t.call(this),mr(this,v1,void 0)),mr(this,vZ,e),mt(this,vZ)||this.hasAttribute(mb))?mr(this,v1,null==(i=mt(this,vZ))?void 0:i.subscribe(mt(this,v0))):ma(this,v3,v4).call(this)}get fullscreenElement(){var e;return null!=(e=mt(this,vX))?e:this}set fullscreenElement(e){var t;this.hasAttribute(md)&&this.removeAttribute(md),mr(this,vX,e),null==(t=mt(this,vZ))||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return ct(this,mn)}set defaultSubtitles(e){ci(this,mn,e)}get defaultStreamType(){return cr(this,mo)}set defaultStreamType(e){ca(this,mo,e)}get defaultDuration(){return h7(this,ml)}set defaultDuration(e){ce(this,ml,e)}get noHotkeys(){return ct(this,mT)}set noHotkeys(e){ci(this,mT,e)}get keysUsed(){return cr(this,mp)}set keysUsed(e){ca(this,mp,e)}get liveEdgeOffset(){return h7(this,mE)}set liveEdgeOffset(e){ce(this,mE,e)}get noAutoSeekToLive(){return ct(this,my)}set noAutoSeekToLive(e){ci(this,my,e)}get noVolumePref(){return ct(this,mS)}set noVolumePref(e){ci(this,mS,e)}get noMutedPref(){return ct(this,mA)}set noMutedPref(e){ci(this,mA,e)}get noSubtitlesLangPref(){return ct(this,m_)}set noSubtitlesLangPref(e){ci(this,m_,e)}get noDefaultStore(){return ct(this,mb)}set noDefaultStore(e){ci(this,mb,e)}attributeChangedCallback(e,t,i){var r,a,s,n,o,l,d,u,h,c,m,f;if(super.attributeChangedCallback(e,t,i),e===mT)i!==t&&""===i?(this.hasAttribute(mu)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&null===i&&this.enableHotkeys();else if(e===mu)mt(this,vQ).value=i;else if(e===mn&&i!==t)null==(r=mt(this,vZ))||r.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(mn)}});else if(e===mo)null==(s=mt(this,vZ))||s.dispatch({type:"optionschangerequest",detail:{defaultStreamType:null!=(a=this.getAttribute(mo))?a:void 0}});else if(e===mE)null==(n=mt(this,vZ))||n.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(mE)?+this.getAttribute(mE):void 0,seekToLiveOffset:this.hasAttribute(mk)?void 0:+this.getAttribute(mE)}});else if(e===mk)null==(o=mt(this,vZ))||o.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(mk)?+this.getAttribute(mk):void 0}});else if(e===my)null==(l=mt(this,vZ))||l.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(my)}});else if(e===md){let e=i?null==(d=this.getRootNode())?void 0:d.getElementById(i):void 0;mr(this,vX,e),null==(u=mt(this,vZ))||u.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===mg&&i!==t?(hO=i,null==(h=mt(this,vZ))||h.dispatch({type:"optionschangerequest",detail:{mediaLang:i}})):e===mv&&i!==t?null==(c=mt(this,vZ))||c.dispatch({type:hd.MEDIA_LOOP_REQUEST,detail:null!=i}):e===mS&&i!==t?null==(m=mt(this,vZ))||m.dispatch({type:"optionschangerequest",detail:{noVolumePref:this.hasAttribute(mS)}}):e===mA&&i!==t&&(null==(f=mt(this,vZ))||f.dispatch({type:"optionschangerequest",detail:{noMutedPref:this.hasAttribute(mA)}}))}connectedCallback(){var e,t;mt(this,vZ)||this.hasAttribute(mb)||ma(this,v3,v4).call(this),null==(e=mt(this,vZ))||e.dispatch({type:"documentelementchangerequest",detail:hW}),super.connectedCallback(),mt(this,vZ)&&!mt(this,v1)&&mr(this,v1,null==(t=mt(this,vZ))?void 0:t.subscribe(mt(this,v0))),this.hasAttribute(mT)?this.disableHotkeys():this.enableHotkeys()}disconnectedCallback(){var e,t,i,r;null==(e=super.disconnectedCallback)||e.call(this),mt(this,vZ)&&(null==(t=mt(this,vZ))||t.dispatch({type:"documentelementchangerequest",detail:void 0}),null==(i=mt(this,vZ))||i.dispatch({type:hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),mt(this,v1)&&(null==(r=mt(this,v1))||r.call(this),mr(this,v1,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),null==(t=mt(this,vZ))||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),null==(t=mt(this,vZ))||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){mO(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=mN(e,this.registerMediaStateReceiver.bind(this),this.unregisterMediaStateReceiver.bind(this));
270Object.values(hd).forEach(t=>{e.addEventListener(t,mt(this,v2))}),t.set(e,i)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;t.has(e)&&(t.get(e)(),t.delete(e),Object.values(hd).forEach(t=>{e.removeEventListener(t,mt(this,v2))}))}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;!(t.indexOf(e)>-1)&&(t.push(e),mt(this,vZ)&&Object.entries(mt(this,vZ).getState()).forEach(([t,i])=>{mO([e],t,i)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",ma(this,v9,v6))}disableHotkeys(){this.removeEventListener("keydown",ma(this,v9,v6)),this.removeEventListener("keyup",ma(this,v5,v8))}get hotkeys(){return cr(this,mu)}set hotkeys(e){ca(this,mu,e)}keyboardShortcutHandler(e){var t,i,r,a,s,n,o,l,d;let u,h,c,m=e.target;if(!((null!=(r=null!=(i=null==(t=m.getAttribute(mp))?void 0:t.split(" "))?i:null==m?void 0:m.keysUsed)?r:[]).map(e=>"Space"===e?" ":e).filter(Boolean).includes(e.key)||mt(this,vQ).contains(`no${e.key.toLowerCase()}`)||" "===e.key&&mt(this,vQ).contains("nospace"))&&!(e.shiftKey&&("/"===e.key||"?"===e.key)&&mt(this,vQ).contains("noshift+/")))switch(e.key){case" ":case"k":u=mt(this,vZ).getState().mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"m":u="off"===this.mediaStore.getState().mediaVolumeLevel?hd.MEDIA_UNMUTE_REQUEST:hd.MEDIA_MUTE_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"f":u=this.mediaStore.getState().mediaIsFullscreen?hd.MEDIA_EXIT_FULLSCREEN_REQUEST:hd.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new hK.CustomEvent(u,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":case"j":{let e=this.hasAttribute(mh)?+this.getAttribute(mh):10;h=Math.max((null!=(a=this.mediaStore.getState().mediaCurrentTime)?a:0)-e,0),c=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowRight":case"l":{let e=this.hasAttribute(mc)?+this.getAttribute(mc):10;h=Math.max((null!=(s=this.mediaStore.getState().mediaCurrentTime)?s:0)+e,0),c=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowUp":{let e=this.hasAttribute(mf)?+this.getAttribute(mf):.025;h=Math.min((null!=(n=this.mediaStore.getState().mediaVolume)?n:1)+e,1),c=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"ArrowDown":{let e=this.hasAttribute(mm)?+this.getAttribute(mm):.025;h=Math.max((null!=(o=this.mediaStore.getState().mediaVolume)?o:1)-e,0),c=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break}case"<":h=Math.max((null!=(l=this.mediaStore.getState().mediaPlaybackRate)?l:1)-.25,.25).toFixed(2),c=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break;case">":h=Math.min((null!=(d=this.mediaStore.getState().mediaPlaybackRate)?d:1)+.25,2).toFixed(2),c=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:h}),this.dispatchEvent(c);break;case"/":case"?":e.shiftKey&&ma(this,v7,Ee).call(this);break;case"p":u=this.mediaStore.getState().mediaIsPip?hd.MEDIA_EXIT_PIP_REQUEST:hd.MEDIA_ENTER_PIP_REQUEST,c=new hK.CustomEvent(u,{composed:!0,bubbles:!0}),this.dispatchEvent(c)}}}vQ=new WeakMap,vX=new WeakMap,vZ=new WeakMap,vJ=new WeakMap,v0=new WeakMap,v1=new WeakMap,v2=new WeakMap,v3=new WeakSet,v4=function(){var e;this.mediaStore=(({media:e,fullscreenElement:t,documentElement:i,stateMediator:r=c6,requestMap:a=c7,options:s={},monitorStateOwnersOnlyWithSubscriptions:n=!0})=>{let o,l=[],d={options:{...s}},u=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),h=e=>{void 0==e||c2(e,u)||(u=Object.freeze({...u,...e}),l.forEach(e=>e(u)))},c=()=>{h(Object.entries(r).reduce((e,[t,{get:i}])=>(e[t]=i(d),e),{}))},m={},f=async(e,t)=>{var i,a,s,u,f,p,g,E,y,b,T,A,_,S,k,L;let R=!!o;if(o={...d,...null!=o?o:{},...e},R)return;await c8(...Object.values(e));let I=l.length>0&&0===t&&n,w=d.media!==o.media,C=(null==(i=d.media)?void 0:i.textTracks)!==(null==(a=o.media)?void 0:a.textTracks),D=(null==(s=d.media)?void 0:s.videoRenditions)!==(null==(u=o.media)?void 0:u.videoRenditions),x=(null==(f=d.media)?void 0:f.audioTracks)!==(null==(p=o.media)?void 0:p.audioTracks),M=(null==(g=d.media)?void 0:g.remote)!==(null==(E=o.media)?void 0:E.remote),P=d.documentElement!==o.documentElement,O=!!d.media&&(w||I),N=!!(null==(y=d.media)?void 0:y.textTracks)&&(C||I),U=!!(null==(b=d.media)?void 0:b.videoRenditions)&&(D||I),F=!!(null==(T=d.media)?void 0:T.audioTracks)&&(x||I),B=!!(null==(A=d.media)?void 0:A.remote)&&(M||I),$=!!d.documentElement&&(P||I),H=O||N||U||F||B||$,G=0===l.length&&1===t&&n,V=!!o.media&&(w||G),K=!!(null==(_=o.media)?void 0:_.textTracks)&&(C||G),W=!!(null==(S=o.media)?void 0:S.videoRenditions)&&(D||G),q=!!(null==(k=o.media)?void 0:k.audioTracks)&&(x||G),j=!!(null==(L=o.media)?void 0:L.remote)&&(M||G),Y=!!o.documentElement&&(P||G),z=V||K||W||q||j||Y;
270if(!(H||z)){Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0;return}Object.entries(r).forEach(([e,{get:t,mediaEvents:i=[],textTracksEvents:r=[],videoRenditionsEvents:a=[],audioTracksEvents:s=[],remoteEvents:n=[],rootEvents:l=[],stateOwnersUpdateHandlers:u=[]}])=>{let c;m[e]||(m[e]={});let f=i=>{h({[e]:t(d,i)})};c=m[e].mediaEvents,i.forEach(t=>{c&&O&&(d.media.removeEventListener(t,c),m[e].mediaEvents=void 0),V&&(o.media.addEventListener(t,f),m[e].mediaEvents=f)}),c=m[e].textTracksEvents,r.forEach(t=>{var i,r;c&&N&&(null==(i=d.media.textTracks)||i.removeEventListener(t,c),m[e].textTracksEvents=void 0),K&&(null==(r=o.media.textTracks)||r.addEventListener(t,f),m[e].textTracksEvents=f)}),c=m[e].videoRenditionsEvents,a.forEach(t=>{var i,r;c&&U&&(null==(i=d.media.videoRenditions)||i.removeEventListener(t,c),m[e].videoRenditionsEvents=void 0),W&&(null==(r=o.media.videoRenditions)||r.addEventListener(t,f),m[e].videoRenditionsEvents=f)}),c=m[e].audioTracksEvents,s.forEach(t=>{var i,r;c&&F&&(null==(i=d.media.audioTracks)||i.removeEventListener(t,c),m[e].audioTracksEvents=void 0),q&&(null==(r=o.media.audioTracks)||r.addEventListener(t,f),m[e].audioTracksEvents=f)}),c=m[e].remoteEvents,n.forEach(t=>{var i,r;c&&B&&(null==(i=d.media.remote)||i.removeEventListener(t,c),m[e].remoteEvents=void 0),j&&(null==(r=o.media.remote)||r.addEventListener(t,f),m[e].remoteEvents=f)}),c=m[e].rootEvents,l.forEach(t=>{c&&$&&(d.documentElement.removeEventListener(t,c),m[e].rootEvents=void 0),Y&&(o.documentElement.addEventListener(t,f),m[e].rootEvents=f)});let p=m[e].stateOwnersUpdateHandlers;if(p&&H&&(Array.isArray(p)?p:[p]).forEach(e=>{"function"==typeof e&&e()}),z){let t=u.map(e=>e(f,o)).filter(e=>"function"==typeof e);m[e].stateOwnersUpdateHandlers=1===t.length?t[0]:t}else H&&(m[e].stateOwnersUpdateHandlers=void 0)}),Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0};return f({media:e,fullscreenElement:t,documentElement:i,options:s}),{dispatch(e){let{type:t,detail:i}=e;a[t]&&null==u.mediaErrorCode?h(a[t](r,d,e)):"mediaelementchangerequest"===t?f({media:i}):"fullscreenelementchangerequest"===t?f({fullscreenElement:i}):"documentelementchangerequest"===t?f({documentElement:i}):"optionschangerequest"===t&&(Object.entries(null!=i?i:{}).forEach(([e,t])=>{d.options[e]=t}),c())},getState:()=>u,subscribe:e=>(f({},l.length+1),l.push(e),e(u),()=>{let t=l.indexOf(e);t>=0&&(f({},l.length-1),l.splice(t,1))})}})({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(mn),defaultDuration:this.hasAttribute(ml)?+this.getAttribute(ml):void 0,defaultStreamType:null!=(e=this.getAttribute(mo))?e:void 0,liveEdgeOffset:this.hasAttribute(mE)?+this.getAttribute(mE):void 0,seekToLiveOffset:this.hasAttribute(mk)?+this.getAttribute(mk):this.hasAttribute(mE)?+this.getAttribute(mE):void 0,noAutoSeekToLive:this.hasAttribute(my),noVolumePref:this.hasAttribute(mS),noMutedPref:this.hasAttribute(mA),noSubtitlesLangPref:this.hasAttribute(m_)}})},v5=new WeakSet,v8=function(e){let{key:t,shiftKey:i}=e;i&&("/"===t||"?"===t)||ms.includes(t)?this.keyboardShortcutHandler(e):this.removeEventListener("keyup",ma(this,v5,v8))},v9=new WeakSet,v6=function(e){var t;let{metaKey:i,altKey:r,key:a,shiftKey:s}=e,n=s&&("/"===a||"?"===a);if(n&&(null==(t=mt(this,vJ))?void 0:t.open)||i||r||!n&&!ms.includes(a))return void this.removeEventListener("keyup",ma(this,v5,v8));let o=e.target,l=o instanceof HTMLElement&&("media-volume-range"===o.tagName.toLowerCase()||"media-time-range"===o.tagName.toLowerCase());![" ","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(a)||mt(this,vQ).contains(`no${a.toLowerCase()}`)||" "===a&&mt(this,vQ).contains("nospace")||l||e.preventDefault(),this.addEventListener("keyup",ma(this,v5,v8),{once:!0})},v7=new WeakSet,Ee=function(){mt(this,vJ)||(mr(this,vJ,hW.createElement("media-keyboard-shortcuts-dialog")),this.appendChild(mt(this,vJ))),mt(this,vJ).open=!0};let mR=Object.values(hm),mI=Object.values(hh),mw=e=>{var t,i,r,a;let{observedAttributes:s}=e.constructor;!s&&(null==(t=e.nodeName)?void 0:t.includes("-"))&&(hK.customElements.upgrade(e),{observedAttributes:s}=e.constructor);let n=null==(a=null==(r=null==(i=null==e?void 0:e.getAttribute)?void 0:i.call(e,hu.MEDIA_CHROME_ATTRIBUTES))?void 0:r.split)?void 0:a.call(r,/\s+/);return Array.isArray(s||n)?(s||n).filter(e=>mR.includes(e)):[]},mC=e=>{var t,i;return(null==(t=e.nodeName)?void 0:t.includes("-"))&&hK.customElements.get(null==(i=e.nodeName)?void 0:i.toLowerCase())&&!(e instanceof hK.customElements.get(e.nodeName.toLowerCase()))&&hK.customElements.upgrade(e),mI.some(t=>
270t in e)||!!mw(e).length},mD=e=>{var t;return null==(t=null==e?void 0:e.join)?void 0:t.call(e,":")},mx={[hm.MEDIA_SUBTITLES_LIST]:cP,[hm.MEDIA_SUBTITLES_SHOWING]:cP,[hm.MEDIA_SEEKABLE]:mD,[hm.MEDIA_BUFFERED]:e=>null==e?void 0:e.map(mD).join(" "),[hm.MEDIA_PREVIEW_COORDS]:e=>null==e?void 0:e.join(" "),[hm.MEDIA_RENDITION_LIST]:function(e){return null==e?void 0:e.map(h_).join(" ")},[hm.MEDIA_AUDIO_TRACK_LIST]:function(e){return null==e?void 0:e.map(hk).join(" ")}},mM=async(e,t,i)=>{var r,a;if(e.isConnected||await hw(0),"boolean"==typeof i||null==i)return ci(e,t,i);if("number"==typeof i)return ce(e,t,i);if("string"==typeof i)return ca(e,t,i);if(Array.isArray(i)&&!i.length)return e.removeAttribute(t);let s=null!=(a=null==(r=mx[t])?void 0:r.call(mx,i))?a:i;return e.setAttribute(t,s)},mP=(e,t)=>{var i;if(null==(i=e.closest)?void 0:i.call(e,'*[slot="media"]'))return;let r=(e,t)=>{var i,r;mC(e)&&t(e);let{children:a=[]}=null!=e?e:{};[...a,...null!=(r=null==(i=null==e?void 0:e.shadowRoot)?void 0:i.children)?r:[]].forEach(e=>mP(e,t))},a=null==e?void 0:e.nodeName.toLowerCase();a.includes("-")&&!mC(e)?hK.customElements.whenDefined(a).then(()=>{r(e,t)}):r(e,t)},mO=(e,t,i)=>{e.forEach(e=>{if(t in e){e[t]=i;return}let r=mw(e),a=t.toLowerCase();r.includes(a)&&mM(e,a,i)})},mN=(e,t,i)=>{mP(e,t);let r=e=>{var i;t(null!=(i=null==e?void 0:e.composedPath()[0])?i:e.target)},a=e=>{var t;i(null!=(t=null==e?void 0:e.composedPath()[0])?t:e.target)};e.addEventListener(hd.REGISTER_MEDIA_STATE_RECEIVER,r),e.addEventListener(hd.UNREGISTER_MEDIA_STATE_RECEIVER,a);let s=[],n=e=>{let r=e.target;"media"!==r.name&&(s.forEach(e=>mP(e,i)),(s=[...r.assignedElements({flatten:!0})]).forEach(e=>mP(e,t)))};e.addEventListener("slotchange",n);let o=new MutationObserver(e=>{e.forEach(e=>{let{addedNodes:r=[],removedNodes:a=[],type:s,target:n,attributeName:o}=e;"childList"===s?(Array.prototype.forEach.call(r,e=>mP(e,t)),Array.prototype.forEach.call(a,e=>mP(e,i))):"attributes"===s&&o===hu.MEDIA_CHROME_ATTRIBUTES&&(mC(n)?t(n):i(n))})});return o.observe(e,{childList:!0,attributes:!0,subtree:!0}),()=>{mP(e,i),e.removeEventListener("slotchange",n),o.disconnect(),e.removeEventListener(hd.REGISTER_MEDIA_STATE_RECEIVER,r),e.removeEventListener(hd.UNREGISTER_MEDIA_STATE_RECEIVER,a)}};hK.customElements.get("media-controller")||hK.customElements.define("media-controller",mL);let mU="placement",mF="bounds";class mB extends hK.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!h8(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if("left"===t||"right"===t)return void this.style.removeProperty("--media-tooltip-offset-x");let i=getComputedStyle(this),r=null!=(e=h3(this,"#"+this.bounds))?e:hZ(this);if(!r)return;let{x:a,width:s}=r.getBoundingClientRect(),{x:n,width:o}=this.getBoundingClientRect(),l=i.getPropertyValue("--media-tooltip-offset-x"),d=l?parseFloat(l.replace("px","")):0,u=i.getPropertyValue("--media-tooltip-container-margin"),h=u?parseFloat(u.replace("px","")):0,c=n-a+d-h,m=n+o-(a+s)+d+h;c<0?this.style.setProperty("--media-tooltip-offset-x",`${c}px`):m>0?this.style.setProperty("--media-tooltip-offset-x",`${m}px`):this.style.removeProperty("--media-tooltip-offset-x")},!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}if(this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){const e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[mU,mF]}get placement(){return cr(this,mU)}set placement(e){ca(this,mU,e)}get bounds(){return cr(this,mF)}set bounds(e){ca(this,mF,e)}}mB.shadowRootOptions={mode:"open"},mB.getTemplateHTML=function(e){return`
271    <style>
272      :host {
273        --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7)));
274        --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color));
275        --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2);
276        --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px);
277        --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color));
278        position: relative;
279        pointer-events: none;
280        display: var(--media-tooltip-display, inline-flex);
281        justify-content: center;
282        align-items: center;
283        box-sizing: border-box;
284        z-index: var(--media-tooltip-z-index, 1);
285        background: var(--_tooltip-background);
286        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
287        font: var(--media-font,
288          var(--media-font-weight, 400)
289          var(--media-font-size, 13px) /
290          var(--media-text-content-height, var(--media-control-height, 18px))
291          var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
292        padding: var(--media-tooltip-padding, .35em .7em);
293        border: var(--media-tooltip-border, none);
294        border-radius: var(--media-tooltip-border-radius, 5px);
295        filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2)));
296        white-space: var(--media-tooltip-white-space, nowrap);
297      }
298
299      :host([hidden]) {
300        display: none;
301      }
302
303      img, svg {
304        display: inline-block;
305      }
306
307      #arrow {
308        position: absolute;
309        width: 0px;
310        height: 0px;
311        border-style: solid;
312        display: var(--media-tooltip-arrow-display, block);
313      }
314
315      :host(:not([placement])),
316      :host([placement="top"]) {
317        position: absolute;
318        bottom: calc(100% + var(--media-tooltip-distance, 12px));
319        left: 50%;
320        transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0
320);
321      }
322      :host(:not([placement])) #arrow,
323      :host([placement="top"]) #arrow {
324        top: 100%;
325        left: 50%;
326        border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width);
327        border-color: var(--_tooltip-arrow-background) transparent transparent transparent;
328        transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);
329      }
330
331      :host([placement="right"]) {
332        position: absolute;
333        left: calc(100% + var(--media-tooltip-distance, 12px));
334        top: 50%;
335        transform: translate(0, -50%);
336      }
337      :host([placement="right"]) #arrow {
338        top: 50%;
339        right: 100%;
340        border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0;
341        border-color: transparent var(--_tooltip-arrow-background) transparent transparent;
342        transform: translate(0, -50%);
343      }
344
345      :host([placement="bottom"]) {
346        position: absolute;
347        top: calc(100% + var(--media-tooltip-distance, 12px));
348        left: 50%;
349        transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0);
350      }
351      :host([placement="bottom"]) #arrow {
352        bottom: 100%;
353        left: 50%;
354        border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width);
355        border-color: transparent transparent var(--_tooltip-arrow-background) transparent;
356        transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);
357      }
358
359      :host([placement="left"]) {
360        position: absolute;
361        right: calc(100% + var(--media-tooltip-distance, 12px));
362        top: 50%;
363        transform: translate(0, -50%);
364      }
365      :host([placement="left"]) #arrow {
366        top: 50%;
367        left: 100%;
368        border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height);
369        border-color: transparent transparent transparent var(--_tooltip-arrow-background);
370        transform: translate(0, -50%);
371      }
372      
373      :host([placement="none"]) #arrow {
374        display: none;
375      }
376    </style>
377    <slot></slot>
378    <div id="arrow"></div>
379  `},hK.customElements.get("media-tooltip")||hK.customElements.define("media-tooltip",mB);var m$=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},mH=(e,t,i)=>(m$(e,t,"read from private field"),i?i.call(e):t.get(e)),mG=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},mV=(e,t,i,r)=>(m$(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let mK="tooltipplacement",mW="disabled",mq="notooltip";class mj extends hK.HTMLElement{constructor(){if(super(),mG(this,En),mG(this,Et,void 0),this.preventClick=!1,this.tooltipEl=null,mG(this,Ei,e=>{this.preventClick||this.handleClick(e),setTimeout(mH(this,Er),0)}),mG(this,Er,()=>{var e,t;null==(t=null==(e=this.tooltipEl)?void 0:e.updateXOffset)||t.call(e)}),mG(this,Ea,e=>{let{key:t}=e;this.keysUsed.includes(t)?this.preventClick||this.handleClick(e):this.removeEventListener("keyup",mH(this,Ea))}),mG(this,Es,e=>{let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",mH(this,Ea)):this.addEventListener("keyup",mH(this,Ea),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",mK,hu.MEDIA_CONTROLLER,hm.MEDIA_LANG]}enable(){this.addEventListener("click",mH(this,Ei)),this.addEventListener("keydown",mH(this,Es)),this.tabIndex=0}disable(){this.removeEventListener("click",mH(this,Ei)),this.removeEventListener("keydown",mH(this,Es)),this.removeEventListener("keyup",mH(this,Ea)),this.tabIndex=-1}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=mH(this,Et))?void 0:r.unassociateElement)||a.call(r,this),mV(this,Et,null)),i&&this.isConnected&&(mV(this,Et,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=mH(this,Et))?void 0:n.associateElement)||o.call(n,this))):"disabled"===e&&i!==t?null==i?this.enable():this.disable():e===mK&&this.tooltipEl&&i!==t?this.tooltipEl.placement=i:e===hm.MEDIA_LA
379NG&&(this.shadowRoot.querySelector('slot[name="tooltip-content"]').innerHTML=this.constructor.getTooltipContentHTML()),mH(this,Er).call(this)}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(mV(this,Et,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=mH(this,Et))?void 0:t.associateElement)||i.call(t,this)),hK.customElements.whenDefined("media-tooltip").then(()=>{var e,t;return(e=En,t=Eo,m$(this,e,"access private method"),t).call(this)})}disconnectedCallback(){var e,t;this.disable(),null==(t=null==(e=mH(this,Et))?void 0:e.unassociateElement)||t.call(e,this),mV(this,Et,null),this.removeEventListener("mouseenter",mH(this,Er)),this.removeEventListener("focus",mH(this,Er)),this.removeEventListener("click",mH(this,Ei))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return cr(this,mK)}set tooltipPlacement(e){ca(this,mK,e)}get mediaController(){return cr(this,hu.MEDIA_CONTROLLER)}set mediaController(e){ca(this,hu.MEDIA_CONTROLLER,e)}get disabled(){return ct(this,mW)}set disabled(e){ci(this,mW,e)}get noTooltip(){return ct(this,mq)}set noTooltip(e){ci(this,mq,e)}handleClick(e){}}Et=new WeakMap,Ei=new WeakMap,Er=new WeakMap,Ea=new WeakMap,Es=new WeakMap,En=new WeakSet,Eo=function(){this.addEventListener("mouseenter",mH(this,Er)),this.addEventListener("focus",mH(this,Er)),this.addEventListener("click",mH(this,Ei));let e=this.tooltipPlacement;e&&this.tooltipEl&&(this.tooltipEl.placement=e)},mj.shadowRootOptions={mode:"open"},mj.getTemplateHTML=function(e,t={}){return`
380    <style>
381      :host {
382        position: relative;
383        font: var(--media-font,
384          var(--media-font-weight, bold)
385          var(--media-font-size, 14px) /
386          var(--media-text-content-height, var(--media-control-height, 24px))
387          var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
388        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
389        background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
390        padding: var(--media-button-padding, var(--media-control-padding, 10px));
391        justify-content: var(--media-button-justify-content, center);
392        display: inline-flex;
393        align-items: center;
394        vertical-align: middle;
395        box-sizing: border-box;
396        transition: background .15s linear;
397        pointer-events: auto;
398        cursor: var(--media-cursor, pointer);
399        -webkit-tap-highlight-color: transparent;
400      }
401
402      
403      :host(:focus-visible) {
404        box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
405        outline: 0;
406      }
407      
408      :host(:where(:focus)) {
409        box-shadow: none;
410        outline: 0;
411      }
412
413      :host(:hover) {
414        background: var(--media-control-hover-background, rgba(50 50 70 / .7));
415      }
416
417      svg, img, ::slotted(svg), ::slotted(img) {
418        width: var(--media-button-icon-width);
419        height: var(--media-button-icon-height, var(--media-control-height, 24px));
420        transform: var(--media-button-icon-transform);
421        transition: var(--media-button-icon-transition);
422        fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
423        vertical-align: middle;
424        max-width: 100%;
425        max-height: 100%;
426        min-width: 100%;
427      }
428
429      media-tooltip {
430        
431        max-width: 0;
432        overflow-x: clip;
433        opacity: 0;
434        transition: opacity .3s, max-width 0s 9s;
435      }
436
437      :host(:hover) media-tooltip,
438      :host(:focus-visible) media-tooltip {
439        max-width: 100vw;
440        opacity: 1;
441        transition: opacity .3s;
442      }
443
444      :host([notooltip]) slot[name="tooltip"] {
445        display: none;
446      }
447    </style>
448
449    ${this.getSlotTemplateHTML(e,t)}
450
451    <slot name="tooltip">
452      <media-tooltip part="tooltip" aria-hidden="true">
453        <template shadowrootmode="${mB.shadowRootOptions.mode}">
454          ${mB.getTemplateHTML({})}
455        </template>
456        <slot name="tooltip-content">
457          ${this.getTooltipContentHTML(e)}
458        </slot>
459      </media-tooltip>
460    </slot>
461  `},mj.getSlotTemplateHTML=function(e,t){return`
462    <slot></slot>
463  `},mj.getTooltipContentHTML=function(){return""},hK.customElements.get("media-chrome-button")||hK.customElements.define("media-chrome-button",mj);let mY=`<svg aria-hidden="true" viewBox="0 0 26 24">
464  <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
465</svg>
466`,mz=e=>{let t=e.mediaIsAirplaying?hN("stop airplay"):hN("start airplay");e.setAttribute("aria-label",t)};class mQ extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_AIRPLAYING,hm.MEDIA_AIRPLAY_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),mz(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_AIRPLAYING&&mz(this)}get mediaIsAirplaying(){return ct(this,hm.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){ci(this,hm.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return cr(this,hm.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ca(this,hm.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new hK.CustomEvent(hd.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}}mQ.getSlotTemplateHTML=function(e){return`
467    <style>
468      :host([${hm.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) {
469        display: none !important;
470      }
471
472      
473      :host(:not([${hm.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) {
474        display: none !important;
475      }
476
477      :host([${hm.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter],
478      :host(:not([${hm.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] {
479        display: none;
480      }
481    </style>
482
483    <slot name="icon">
484      <slot name="enter">${mY}</slot>
485      <slot name="exit">${mY}</slot>
486    </slot>
487  `},mQ.getTooltipContentHTML=function(){return`
488    <slot name="tooltip-enter">${hN("start airplay")}</slot>
489    <slot name="tooltip-exit">${hN("stop airplay")}</slot>
490  `},hK.customElements.get("media-airplay-button")||hK.customElements.define("media-airplay-button",mQ);let mX=`<svg aria-hidden="true" viewBox="0 0 26 24">
491  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 
4910 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
492</svg>`,mZ=`<svg aria-hidden="true" viewBox="0 0 26 24">
493  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
494</svg>`,mJ=e=>{e.setAttribute("aria-checked",cF(e).toString())};class m0 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",hN("closed captions")),mJ(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_SHOWING&&mJ(this)}get mediaSubtitlesList(){return m1(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){m2(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return m1(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){m2(this,hm.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}}m0.getSlotTemplateHTML=function(e){return`
495    <style>
496      :host([aria-checked="true"]) slot[name=off] {
497        display: none !important;
498      }
499
500      
501      :host(:not([aria-checked="true"])) slot[name=on] {
502        display: none !important;
503      }
504
505      :host([aria-checked="true"]) slot[name=tooltip-enable],
506      :host(:not([aria-checked="true"])) slot[name=tooltip-disable] {
507        display: none;
508      }
509    </style>
510
511    <slot name="icon">
512      <slot name="on">${mX}</slot>
513      <slot name="off">${mZ}</slot>
514    </slot>
515  `},m0.getTooltipContentHTML=function(){return`
516    <slot name="tooltip-enable">${hN("Enable captions")}</slot>
517    <slot name="tooltip-disable">${hN("Disable captions")}</slot>
518  `};let m1=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},m2=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};hK.customElements.get("media-captions-button")||hK.customElements.define("media-captions-button",m0);let m3=e=>{let t=e.mediaIsCasting?hN("stop casting"):hN("start casting");e.setAttribute("aria-label",t)};class m4 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_CASTING,hm.MEDIA_CAST_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),m3(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_CASTING&&m3(this)}get mediaIsCasting(){return ct(this,hm.MEDIA_IS_CASTING)}set mediaIsCasting(e){ci(this,hm.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return cr(this,hm.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ca(this,hm.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?hd.MEDIA_EXIT_CAST_REQUEST:hd.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}m4.getSlotTemplateHTML=function(e){return`
519    <style>
520      :host([${hm.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) {
521        display: none !important;
522      }
523
524      
525      :host(:not([${hm.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) {
526        display: none !important;
527      }
528
529      :host([${hm.MEDIA_IS_CASTING}]) slot[name=tooltip-enter],
530      :host(:not([${hm.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] {
531        display: none;
532      }
533    </style>
534
535    <slot name="icon">
536      <slot name="enter"><svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg></slot>
537      <slot name="exit"><svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg></slot>
538    </slot>
539  `},m4.getTooltipContentHTML=function(){return`
540    <slot name="tooltip-enter">${hN("Start casting")}</slot>
541    <slot name="tooltip-exit">${hN("Stop casting")}</slot>
542  `},hK.customElements.get("media-cast-button")||hK.customElements.define("media-cast-button",m4);var m5=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},m8=(e,t,i)=>(m5(e,t,"read from private field"),i?i.call(e):t.get(e)),m9=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},m6=(e,t,i,r)=>(m5(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),m7=(e,t,i)=>(m5(e,t,"access private method"),i);let fe="open";class ft extends hK.HTMLElement{constructor(){super(),m9(this,Eh),m9(this,Em),m9(this,Ep),m9(this,Ev),m9(this,Ey),m9(this,ET),m9(this,El,!1),m9(this,Ed,null),m9(this,Eu,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[fe,"anchor"]}get open(){return ct(this,fe)}set open(e){ci(this,fe,e)}handleEvent(e){switch(e.type){case"invoke":m7(this,Ev,EE).call(this,e);break;case"focusout":m7(this,Ey,Eb).call(this,e);break;case"keydown":m7(this,ET,EA).call(this,e)}}connectedCallback(){m7(this,Eh,Ec).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,i){m7(this,Eh,Ec).call(this),e===fe&&i!==t&&(this.open?m7(this,Em,Ef).call(this):m7(this,Ep,Eg).call(this))}focus(){m6(this,Ed,h4());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;
542let i=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==i||i.focus()}get keysUsed(){return["Escape","Tab"]}}El=new WeakMap,Ed=new WeakMap,Eu=new WeakMap,Eh=new WeakSet,Ec=function(){if(!m8(this,El)&&(m6(this,El,!0),!this.shadowRoot)){this.attachShadow(this.constructor.shadowRootOptions);let e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e),queueMicrotask(()=>{let{style:e}=h9(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}},Em=new WeakSet,Ef=function(){var e;null==(e=m8(this,Eu))||e.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})},Ep=new WeakSet,Eg=function(){var e;null==(e=m8(this,Eu))||e.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))},Ev=new WeakSet,EE=function(e){m6(this,Eu,e.relatedTarget),h2(this,e.relatedTarget)||(this.open=!this.open)},Ey=new WeakSet,Eb=function(e){var t;!h2(this,e.relatedTarget)&&(null==(t=m8(this,Ed))||t.focus(),m8(this,Eu)&&m8(this,Eu)!==e.relatedTarget&&this.open&&(this.open=!1))},ET=new WeakSet,EA=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;o||l||d||this.keysUsed.includes(n)&&(e.preventDefault(),e.stopPropagation(),"Tab"===n?(e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()):"Escape"===n&&(null==(s=m8(this,Ed))||s.focus(),this.open=!1))},ft.shadowRootOptions={mode:"open"},ft.getTemplateHTML=function(e){return`
543    <style>
544      :host {
545        font: var(--media-font,
546          var(--media-font-weight, normal)
547          var(--media-font-size, 14px) /
548          var(--media-text-content-height, var(--media-control-height, 24px))
549          var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
550        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
551        display: var(--media-dialog-display, inline-flex);
552        justify-content: center;
553        align-items: center;
554        
555        transition-behavior: allow-discrete;
556        visibility: hidden;
557        opacity: 0;
558        transform: translateY(2px) scale(.99);
559        pointer-events: none;
560      }
561
562      :host([open]) {
563        transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out;
564        visibility: visible;
565        opacity: 1;
566        transform: translateY(0) scale(1);
567        pointer-events: auto;
568      }
569
570      #content {
571        display: flex;
572        position: relative;
573        box-sizing: border-box;
574        width: min(320px, 100%);
575        word-wrap: break-word;
576        max-height: 100%;
577        overflow: auto;
578        text-align: center;
579        line-height: 1.4;
580      }
581    </style>
582    ${this.getSlotTemplateHTML(e)}
583  `},ft.getSlotTemplateHTML=function(e){return`
584    <slot id="content"></slot>
585  `},hK.customElements.get("media-chrome-dialog")||hK.customElements.define("media-chrome-dialog",ft);var fi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fr=(e,t,i)=>(fi(e,t,"read from private field"),i?i.call(e):t.get(e)),fa=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fs=(e,t,i,r)=>(fi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),fn=(e,t,i)=>(fi(e,t,"access private method"),i);class fo extends hK.HTMLElement{constructor(){if(super(),fa(this,Ex),fa(this,EP),fa(this,EN),fa(this,EF),fa(this,E$),fa(this,EG),fa(this,EK),fa(this,Eq),fa(this,E_,void 0),fa(this,ES,void 0),fa(this,Ek,void 0),fa(this,EL,void 0),fa(this,ER,{}),fa(this,EI,[]),fa(this,Ew,()=>{if(this.range.matches(":focus-visible")){let{style:e}=h9(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),fa(this,EC,()=>{let{style:e}=h9(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),fa(this,ED,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.container=this.shadowRoot.querySelector("#container"),fs(this,Ek,this.shadowRoot.querySelector("#startpoint")),fs(this,EL,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=fr(this,E_))?void 0:r.unassociateElement)||a.call(r,this),fs(this,E_,null)),i&&this.isConnected&&(fs(this,E_,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fr(this,E_))?void 0:n.associateElement)||o.call(n,this))):("disabled"===e||"aria-disabled"===e&&t!==i)&&(null==i?(this.range.removeAttribute(e),fn(this,EP,EO).call(this)):(this.range.setAttribute(e,i),fn(this,EN,EU).call(this)))}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),fr(this,ER).pointer=h9(this.shadowRoot,"#pointer"),fr(this,ER).progress=h9(this.shadowRoot,"#progress"),fr(this,ER).thumb=h9(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),fr(this,ER).activeSegment=h9(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(fs(this,E_,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fr(this,E_))?void 0:t.associateElement)||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",fr(this,Ew)),this.shadowRoot.addEventListener("focusout",fr(this,EC)),fn(this,EP,EO).call(this),hz(this.container,fr(this,E
585D))}disconnectedCallback(){var e,t;fn(this,EN,EU).call(this),null==(t=null==(e=fr(this,E_))?void 0:e.unassociateElement)||t.call(e,this),fs(this,E_,null),this.shadowRoot.removeEventListener("focusin",fr(this,Ew)),this.shadowRoot.removeEventListener("focusout",fr(this,EC)),hQ(this.container,fr(this,ED))}updatePointerBar(e){var t;null==(t=fr(this,ER).pointer)||t.style.setProperty("width",`${100*this.getPointerRatio(e)}%`)}updateBar(){var e,t;let i=100*this.range.valueAsNumber;null==(e=fr(this,ER).progress)||e.style.setProperty("width",`${i}%`),null==(t=fr(this,ER).thumb)||t.style.setProperty("left",`${i}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(null==e?void 0:e.length)),!(null==e?void 0:e.length))return;let i=[...new Set([+this.range.min,...e.flatMap(e=>[e.start,e.end]),+this.range.max])];fs(this,EI,[...i]);let r=i.pop();for(let[e,a]of i.entries()){let[s,n]=[0===e,e===i.length-1],o=s?"calc(var(--segments-gap) / -1)":`${100*a}%`,l=n?r:i[e+1],d=`calc(${(l-a)*100}%${s||n?"":" - var(--segments-gap)"})`,u=hW.createElementNS("http://www.w3.org/2000/svg","rect"),h=h6(this.shadowRoot,`#segments-clipping rect:nth-child(${e+1})`);h.style.setProperty("x",o),h.style.setProperty("width",d),t.append(u)}}getPointerRatio(e){var t,i,r,a;let s,n,o;return t=e.clientX,i=e.clientY,r=fr(this,Ek).getBoundingClientRect(),s=(a=fr(this,EL).getBoundingClientRect()).x-r.x,0==(o=s*s+(n=a.y-r.y)*n)?0:Math.max(0,Math.min(1,((t-r.x)*s+(i-r.y)*n)/o))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":fn(this,Eq,Ej).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":fn(this,E$,EH).call(this,e);break;
585case"pointerdown":fn(this,EF,EB).call(this,e);break;case"pointerup":fn(this,EG,EV).call(this);break;case"pointerleave":fn(this,EK,EW).call(this)}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}}E_=new WeakMap,ES=new WeakMap,Ek=new WeakMap,EL=new WeakMap,ER=new WeakMap,EI=new WeakMap,Ew=new WeakMap,EC=new WeakMap,ED=new WeakMap,Ex=new WeakSet,EM=function(e){let t=fr(this,ER).activeSegment;if(!t)return;let i=this.getPointerRatio(e),r=fr(this,EI).findIndex((e,t,r)=>{let a=r[t+1];return null!=a&&i>=e&&i<=a}),a=`#segments-clipping rect:nth-child(${r+1})`;t.selectorText==a&&t.style.transform||(t.selectorText=a,t.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))},EP=new WeakSet,EO=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))},EN=new WeakSet,EU=function(){var e,t;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),null==(e=hK.window)||e.removeEventListener("pointerup",this),null==(t=hK.window)||t.removeEventListener("pointermove",this)},EF=new WeakSet,EB=function(e){var t;fs(this,ES,e.composedPath().includes(this.range)),null==(t=hK.window)||t.addEventListener("pointerup",this)},E$=new WeakSet,EH=function(e){var t;"mouse"!==e.pointerType&&fn(this,EF,EB).call(this,e),this.addEventListener("pointerleave",this),null==(t=hK.window)||t.addEventListener("pointermove",this)},EG=new WeakSet,EV=function(){var e;null==(e=hK.window)||e.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")},EK=new WeakSet,EW=function(){var e,t;this.removeEventListener("pointerleave",this),null==(e=hK.window)||e.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),null==(t=fr(this,ER).activeSegment)||t.style.removeProperty("transform")},Eq=new WeakSet,Ej=function(e){("pen"!==e.pointerType||0!==e.buttons)&&(this.toggleAttribute("dragging",1===e.buttons||"mouse"!==e.pointerType),this.updatePointerBar(e),fn(this,Ex,EM).call(this,e),this.dragging&&("mouse"!==e.pointerType||!fr(this,ES))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(e),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))))},fo.shadowRootOptions={mode:"open"},fo.getTemplateHTML=function(e){return`
586    <style>
587      :host {
588        --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
589        --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px));
590
591        box-shadow: var(--_focus-visible-box-shadow, none);
592        background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
593        height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding));
594        display: inline-flex;
595        align-items: center;
596        
597        vertical-align: middle;
598        box-sizing: border-box;
599        position: relative;
600        width: 100px;
601        transition: background .15s linear;
602        cursor: var(--media-cursor, pointer);
603        pointer-events: auto;
604        touch-action: none; 
605      }
606
607      
608      input[type=range]:focus {
609        outline: 0;
610      }
611      input[type=range]:focus::-webkit-slider-runnable-track {
612        outline: 0;
613      }
614
615      :host(:hover) {
616        background: var(--media-control-hover-background, rgb(50 50 70 / .7));
617      }
618
619      #leftgap {
620        padding-left: var(--media-range-padding-left, var(--_media-range-padding));
621      }
622
623      #rightgap {
624        padding-right: var(--media-range-padding-right, var(--_media-range-padding));
625      }
626
627      #startpoint,
628      #endpoint {
629        position: absolute;
630      }
631
632      #endpoint {
633        right: 0;
634      }
635
636      #container {
637        
638        width: var(--media-range-track-width, 100%);
639        transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px));
640        position: relative;
641        height: 100%;
642        display: flex;
643        align-items: center;
644        min-width: 40px;
645      }
646
647      #range {
648        
649        display: var(--media-time-range-hover-display, block);
650        bottom: var(--media-time-range-hover-bottom, -7px);
651        height: var(--media-time-range-hover-height, max(100% + 7px, 25px));
652        width: 100%;
653        position: absolute;
654        cursor: var(--media-cursor, pointer);
655
656        -webkit-appearance: none; 
657        -webkit-tap-highlight-color: transparent;
658        background: transparent; 
659        margin: 0;
660        z-index: 1;
661      }
662
663      @media (hover: hover) {
664        #range {
665          bottom: var(--media-time-range-hover-bottom, -5px);
666          height: var(--media-time-range-hover-height, max(100% + 5px, 20px));
667        }
668      }
669
670      
671      
672      #range::-webkit-slider-thumb {
673        -webkit-appearance: none;
674        background: transparent;
675        width: .1px;
676        height: .1px;
677      }
678
679      
680      #range::-moz-range-thumb {
681        background: transparent;
682        border: transparent;
683        width: .1px;
684        height: .1px;
685      }
686
687      #appearance {
688        height: var(--media-range-track-height, 4px);
689        display: flex;
690        flex-direction: column;
691        justify-content: center;
692        width: 100%;
693        position: absolute;
694        
695        will-change: transform;
696      }
697
698      #track {
699        background: var(--media-range-track-background, rgb(255 255 255 / .2));
700        border-radius: var(--media-range-track-border-radius, 1px);
701        border: var(--media-range-track-border, none);
702        outline: var(--media-range-track-outline);
703        outline-offset: var(--media-range-track-outline-offset);
704        backdrop-filter: var(--media-range-track-backdrop-filter);
705        -webkit-backdrop-filter: var(--media-range-track-backdrop-filter);
706        box-shadow: var(--media-range-track-box-shadow, none);
707        position: absolute;
708        width: 100%;
709        height: 100%;
710        overflow: hidden;
711      }
712
713      #progress,
714      #pointer {
715        position: absolute;
716        height: 100%;
717        will-change: width;
718      }
719
720      #progress {
721        background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238)));
722        transition: var(--media-range-track-transition);
723      }
724
725      #pointer {
726        background: var(--media-range-track-pointer-background);
727        border-right: var(--media-range-track-pointer-border-right);
728        transition: visibility .25s, opacity .25s;
729        visibility: hidden;
730        opacity: 0;
731      }
732
733      @media (hover: hover) {
734        :host(:hover) #pointer {
735          transition: visibility .5s, opacity .5s;
736          visibility: visible;
737          opacity: 1;
738        }
739      }
740
741      #thumb,
742      ::slotted([slot=thumb]) {
743        width: var(--media-range-thumb-width, 10px);
744        height: var(--media-range-thumb-height, 10px);
745        transition: var(--media-range-thumb-transition);
746        transform: var(--media-range-thumb-transform, none);
747        opacity: var(--media-range-thumb-opacity, 1);
748        translate: -50%;
749        position: absolute;
750        left: 0;
751        cursor: var(--media-cursor, pointer);
752      }
753
754      #thumb {
755        border-radius: var(--media-range-thumb-border-radius, 10px);
756        background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238)));
757        box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent);
758        border: var(--media-range-thumb-border, none);
759      }
760
761      :host([disabled]) #thumb {
762        background-color: #777;
763      }
764
765      .segments #appearance {
766        height: var(--media-range-segment-hover-height, 7px);
767      }
768
769      #track {
770        clip-path: url(#segments-clipping);
771      }
772
773      #segments {
774        --segments-gap: var(--media-range-segments-gap, 2px);
775        position: absolute;
776        width: 100%;
777        height: 100%;
778      }
779
780      #segments-clipping {
781        transform: translateX(calc(var(--segments-gap) / 2));
782      }
783
784      #segments-clipping:empty {
785        display: none;
786      }
787
788      #segments-clipping rect {
789        height: var(--media-range-track-height, 4px);
790        y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2);
791        transition: var(--media-range-segment-transition, transform .1s ease-in-out);
792        transform: var(--media-range-segment-transform, scaleY(1));
793        transform-origin: center;
794      }
795    </style>
796    <div id="leftgap"></div>
797    <div id="container">
798      <div id="startpoint"></div>
799      <div id="endpoint"></div>
800      <div id="appearance">
801        <div id="track" part="track">
802          <div id="pointer"></div>
803          <div id="progress" part="progress"></div>
804        </div>
805        <slot name="thumb">
806          <div id="thumb" part="thumb"></div>
807        </slot>
808        <svg id="segments"><clipPath id="segments-clipping"></clipPath></svg>
809      </div>
810      <input id="range" type="range" min="0" max="1" step="any" value="0">
811    </div>
812    <div id="rightgap"></div>
813  `},hK.customElements.get("media-chrome-range")||hK.customElements.define("media-chrome-range",fo);var fl=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fd=(e,t,i)=>(fl(e,t,"read from private field"),i?i.call(e):t.get(e)),fu=(e,t,i,r)=>(fl(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fh extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EY,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fd(this,EY))?void 0:r.unassociateElement)||a.call(r,this),fu(this,EY,null)),i&&this.isConnected&&(fu(this,EY,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fd(this,EY))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(fu(this,EY,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=fd(this,EY))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fd(this,EY))?void 0:e.unassociateElement)||t.call(e,this),fu(this,EY,null)}}EY=new WeakMap,fh.shadowRootOptions={mode:"open"},fh.getTemplateHTML=function(e){return`
814    <style>
815      :host {
816        
817        box-sizing: border-box;
818        display: var(--media-control-display, var(--media-control-bar-display, inline-flex));
819        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
820        --media-loading-indicator-icon-height: 44px;
821      }
822
823      ::slotted(media-time-range),
824      ::slotted(media-volume-range) {
825        min-height: 100%;
826      }
827
828      ::slotted(media-time-range),
829      ::slotted(media-clip-selector) {
830        flex-grow: 1;
831      }
832
833      ::slotted([role="menu"]) {
834        position: absolute;
835      }
836    </style>
837
838    <slot></slot>
839  `},hK.customElements.get("media-control-bar")||hK.customElements.define("media-control-bar",fh);var fc=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fm=(e,t,i)=>(fc(e,t,"read from private field"),i?i.call(e):t.get(e)),ff=(e,t,i,r)=>(fc(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fp extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,Ez,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fm(this,Ez))?void 0:r.unassociateElement)||a.call(r,this),ff(this,Ez,null)),i&&this.isConnected&&(ff(this,Ez,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fm(this,Ez))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let{style:r}=h9(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let a=this.getAttribute(hu.MEDIA_CONTROLLER);a&&(ff(this,Ez,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fm(this,Ez))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fm(this,Ez))?void 0:e.unassociateElement)||t.call(e,this),ff(this,Ez,null)}}Ez=new WeakMap,fp.shadowRootOptions={mode:"open"},fp.getTemplateHTML=function(e,t={}){return`
840    <style>
841      :host {
842        font: var(--media-font,
843          var(--media-font-weight, normal)
844          var(--media-font-size, 14px) /
845          var(--media-text-content-height, var(--media-control-height, 24px))
846          var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
847        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
848        background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))));
849        padding: var(--media-control-padding, 10px);
850        display: inline-flex;
851        justify-content: center;
852        align-items: center;
853        vertical-align: middle;
854        box-sizing: border-box;
855        text-align: center;
856        pointer-events: auto;
857      }
858
859      
860      :host(:focus-visible) {
861        box-shadow: inset 0 0 0 2px rgb(27 127 204 / .9);
862        outline: 0;
863      }
864
865      
866      :host(:where(:focus)) {
867        box-shadow: none;
868        outline: 0;
869      }
870    </style>
871
872    ${this.getSlotTemplateHTML(e,t)}
873  `},fp.getSlotTemplateHTML=function(e,t){return`
874    <slot></slot>
875  `},hK.customElements.get("media-text-display")||hK.customElements.define("media-text-display",fp);var fg=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fv=(e,t,i)=>(fg(e,t,"read from private field"),i?i.call(e):t.get(e));class fE extends fp{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EQ,void 0),((e,t,i,r)=>(fg(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,EQ,this.shadowRoot.querySelector("slot")),fv(this,EQ).textContent=hx(null!=(e=this.mediaDuration)?e:0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===hm.MEDIA_DURATION&&(fv(this,EQ).textContent=hx(+i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}}EQ=new WeakMap,fE.getSlotTemplateHTML=function(e,t){return`
876    <slot>${hx(t.mediaDuration)}</slot>
877  `},hK.customElements.get("media-duration-display")||hK.customElements.define("media-duration-display",fE);let fy={2:hN("Network Error"),3:hN("Decode Error"),4:hN("Source Not Supported"),5:hN("Encryption 
877Error")},fb={2:hN("A network error caused the media download to fail."),3:hN("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:hN("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:hN("The media is encrypted and there are no keys to decrypt it.")},fT=e=>{var t,i;return 1===e.code?null:{title:null!=(t=fy[e.code])?t:`Error ${e.code}`,message:null!=(i=fb[e.code])?i:e.message}};var fA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};function f_(e){var t;let{title:i,message:r}=null!=(t=fT(e))?t:{},a="";return i&&(a+=`<slot name="error-${e.code}-title"><h3>${i}</h3></slot>`),r&&(a+=`<slot name="error-${e.code}-message"><p>${r}</p></slot>`),a}let fS=[hm.MEDIA_ERROR_CODE,hm.MEDIA_ERROR_MESSAGE];class fk extends ft{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,EX,null)}static get observedAttributes(){return[...super.observedAttributes,...fS]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,i){var r;if(super.attributeChangedCallback(e,t,i),!fS.includes(e))return;let a=null!=(r=this.mediaError)?r:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=a.code&&null!==fT(a),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(a))}get mediaError(){var e,t;return fA(this,e=EX,"read from private field"),t?t.call(this):e.get(this)}set mediaError(e){var t,i;fA(this,t=EX,"write to private field"),i?i.call(this,e):t.set(this,e)}get mediaErrorCode(){return h7(this,"mediaerrorcode")}set mediaErrorCode(e){ce(this,"mediaerrorcode",e)}get mediaErrorMessage(){return cr(this,"mediaerrormessage")}set mediaErrorMessage(e){ca(this,"mediaerrormessage",e)}}EX=new WeakMap,fk.getSlotTemplateHTML=function(e){return`
878    <style>
879      :host {
880        background: rgb(20 20 30 / .8);
881      }
882
883      #content {
884        display: block;
885        padding: 1.2em 1.5em;
886      }
887
888      h3,
889      p {
890        margin-block: 0 .3em;
891      }
892    </style>
893    <slot name="error-${e.mediaerrorcode}" id="content">
894      ${f_({code:+e.mediaerrorcode,message:e.mediaerrormessage})}
895    </slot>
896  `},fk.formatErrorMessage=f_,hK.customElements.get("media-error-dialog")||hK.customElements.define("media-error-dialog",fk);var fL=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)},fR=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)};class fI extends ft{constructor(){super(...arguments),fR(this,EZ,e=>{var t;if(!this.open)return;let i=null==(t=this.shadowRoot)?void 0:t.querySelector("#content");if(!i)return;let r=e.composedPath(),a=r[0]===this||r.includes(this),s=r.includes(i);a&&!s&&(this.open=!1)}),fR(this,EJ,e=>{if(!this.open)return;let t=e.shiftKey&&("/"===e.key||"?"===e.key);"Escape"!==e.key&&!t||e.ctrlKey||e.altKey||e.metaKey||(this.open=!1,e.preventDefault(),e.stopPropagation())})}connectedCallback(){super.connectedCallback(),this.open&&(this.addEventListener("click",fL(this,EZ)),document.addEventListener("keydown",fL(this,EJ)))}disconnectedCallback(){this.removeEventListener("click",fL(this,EZ)),document.removeEventListener("keydown",fL(this,EJ))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"open"===e&&(this.open?(this.addEventListener("click",fL(this,EZ)),document.addEventListener("keydown",fL(this,EJ))):(this.removeEventListener("click",fL(this,EZ)),document.removeEventListener("keydown",fL(this,EJ))))}}EZ=new WeakMap,EJ=new WeakMap,fI.getSlotTemplateHTML=function(e){let t;return`
897    <style>
898      :host {
899        position: fixed;
900        top: 0;
901        left: 0;
902        z-index: 9999;
903        background: rgb(20 20 30 / .8);
904        backdrop-filter: blur(10px);
905      }
906
907      #content {
908        display: block;
909        width: clamp(400px, 40vw, 700px);
910        max-width: 90vw;
911        text-align: left;
912      }
913
914      h2 {
915        margin: 0 0 1.5rem 0;
916        font-size: 1.5rem;
917        font-weight: 500;
918        text-align: center;
919      }
920
921      .shortcuts-table {
922        width: 100%;
923        border-collapse: collapse;
924      }
925
926      .shortcuts-table tr {
927        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
928      }
929
930      .shortcuts-table tr:last-child {
931        border-bottom: none;
932      }
933
934      .shortcuts-table td {
935        padding: 0.75rem 0.5rem;
936      }
937
938      .shortcuts-table td:first-child {
939        text-align: right;
940        padding-right: 1rem;
941        width: 40%;
942        min-width: 120px;
943      }
944
945      .shortcuts-table td:last-child {
946        padding-left: 1rem;
947      }
948
949      .key {
950        display: inline-block;
951        background: rgba(255, 255, 255, 0.15);
952        border: 1px solid rgba(255, 255, 255, 0.2);
953        border-radius: 4px;
954        padding: 0.25rem 0.5rem;
955        font-family: 'Courier New', monospace;
956        font-size: 0.9rem;
957        font-weight: 500;
958        min-width: 1.5rem;
959        text-align: center;
960        margin: 0 0.2rem;
961      }
962
963      .description {
964        color: rgba(255, 255, 255, 0.9);
965        font-size: 0.95rem;
966      }
967
968      .key-combo {
969        display: flex;
970        align-items: center;
971        justify-content: flex-end;
972        gap: 0.3rem;
973      }
974
975      .key-separator {
976        color: rgba(255, 255, 255, 0.5);
977        font-size: 0.9rem;
978      }
979    </style>
980    <slot id="content">
981      ${t=[{keys:["Space","k"],description:"Toggle Playback"},{keys:["m"],description:"Toggle mute"},{keys:["f"],description:"Toggle fullscreen"},{keys:["c"],description:"Toggle captions or subtitles, if available"},{keys:["p"],description:"Toggle Picture in Picture"},{keys:["←","j"],description:"Seek back 10s"},{keys:["→","l"],description:"Seek forward 10s"},{keys:["↑"],description:"Turn volume up"},{keys:["↓"],description:"Turn volume down"},{keys:["< (SHIFT+,)"],description:"Decrease playback rate"},{keys:["> (SHIFT+.)"],description:"Increase playback rate"}].map(({keys:e,description:t})=>{let i=e.map((e,t)=>t>0?`<span class="key-separator">or</span><span class="key">${e}</span>`:`<span class="key">${e}</span>`).join("");return`
982      <tr>
983        <td>
984          <div class="key-combo">${i}</div>
985        </td>
986        <td class="description">${t}</td>
987      </tr>
988    `}).join(""),`
989    <h2>Keyboard Shortcuts</h2>
990    <table class="shortcuts-table">${t}</table>
991  `}
992    </slot>
993  `},hK.customElements.get("media-keyboard-shortcuts-dialog")||hK.customElements.define("media-keyboard-shortcuts-dialog",fI);var fw=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};let fC=`<svg aria-hidden="true" viewBox="0 0 26 24">
994  <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
995</svg>`,fD=`<svg aria-hidden="true" viewBox="0 0 26 24">
996  <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
997</svg>`,fx=e=>{let t=e.mediaIsFullscreen?hN("exit fullscreen mode"):hN("enter fullscreen mode");e.setAttribute("aria-label",t)};class fM extends mj{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E0,null)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_FULLSCREEN,hm.MEDIA_FULLSCREEN_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),fx(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_FULLSCREEN&&fx(this)}get mediaFullscreenUnavailable(){return cr(this,hm.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ca(this,hm.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return ct(this,hm.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){ci(this,hm.MEDIA_IS_FULLSCREEN,e)}handleClick(e){var t,i,r,a;fw(this,t=E0,"write to private field"),i?i.call(this,e):t.set(this,e);let s=(fw(this,r=E0,"read from private field"),(a?a.call(this):r.get(this))instanceof PointerEvent),n=this.mediaIsFullscreen?new hK.CustomEvent(hd.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0}):new hK.CustomEvent(hd.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}}E0=new WeakMap,fM.getSlotTemplateHTML=function(e){return`
998    <style>
999      :host([${hm.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) {
1000        display: none !important;
1001      }
1002
1003      
1004      :host(:not([${hm.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) {
1005        display: none !important;
1006      }
1007
1008      :host([${hm.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter],
1009      :host(:not([${hm.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] {
1010        display: none;
1011      }
1012    </style>
1013
1014    <slot name="icon">
1015      <slot name="enter">${fC}</slot>
1016      <slot name="exit">${fD}</slot>
1017    </slot>
1018  `},fM.getTooltipContentHTML=function(){return`
1019    <slot name="tooltip-enter">${hN("Enter fullscreen mode")}</slot>
1020    <slot name="tooltip-exit">${hN("Exit fullscreen mode")}</slot>
1021  `},hK.customElements.get("media-fullscreen-button")||hK.customElements.define("media-fullscreen-button",fM);let{MEDIA_TIME_IS_LIVE:fP,MEDIA_PAUSED:fO}=hm,{MEDIA_SEEK_TO_LIVE_REQUEST:fN,MEDIA_PLAY_REQUEST:fU}=hd,fF=e=>{var t;let i=e.mediaPaused||!e.mediaTimeIsLive,r=i?hN("seek to live"):hN("playing live");e.setAttribute("aria-label",r);let a=null==(t=e.shadowRoot)?void 0:t.querySelector('slot[name="text"]');a&&(a.textContent=hN("live")),i?e.removeAttribute("aria-disabled"):e.setAttribute("aria-disabled","true")};class fB extends mj{static get observedAttributes(){return[...super.observedAttributes,fP,fO]}connectedCallback(){super.connectedCallback(),fF(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),fF(this)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return ct(this,hm.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){ci(this,hm.MEDIA_TIME_IS_LIVE,e)}handleClick(){(this.mediaPaused||!this.mediaTimeIsLive)&&(this.dispatchEvent(new hK.CustomEvent(fN,{composed:!0,bubbles:!0})),this.hasAttribute(fO)&&this.dispatchEvent(new hK.CustomEvent(fU,{composed:!0,bubbles:!0})))}}fB.getSlotTemplateHTML=function(e){return`
1022    <style>
1023      :host { --media-tooltip-display: none; }
1024      
1025      slot[name=indicator] > *,
1026      :host ::slotted([slot=indicator]) {
1027        
1028        min-width: auto;
1029        fill: var(--media-live-button-icon-color, rgb(140, 140, 140));
1030        color: var(--media-live-button-icon-color, rgb(140, 140, 140));
1031      }
1032
1033      :host([${fP}]:not([${fO}])) slot[name=indicator] > *,
1034      :host([${fP}]:not([${fO}])) ::slotted([slot=indicator]) {
1035        fill: var(--media-live-button-indicator-color, rgb(255, 0, 0));
1036        color: var(--media-live-button-indicator-color, rgb(255, 0, 0));
1037      }
1038
1039      :host([${fP}]:not([${fO}])) {
1040        cursor: var(--media-cursor, not-allowed);
1041      }
1042
1043      slot[name=text]{
1044        text-transform: uppercase;
1045      }
1046
1047    </style>
1048
1049    <slot name="indicator"><svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg></slot>
1050    
1051    <slot name="spacer">&nbsp;</slot><slot name="text">${hN("live")}</slot>
1052  `},hK.customElements.get("media-live-button")||hK.customElements.define("media-live-button",fB);var f$=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fH=(e,t,i)=>(f$(e,t,"read from private field"),i?i.call(e):t.get(e)),fG=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fV=(e,t,i,r)=>(f$(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);
1052let fK="loadingdelay",fW="noautohide",fq=`
1053<svg aria-hidden="true" viewBox="0 0 100 100">
1054  <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
1055    <animateTransform
1056       attributeName="transform"
1057       attributeType="XML"
1058       type="rotate"
1059       dur="1s"
1060       from="0 50 50"
1061       to="360 50 50"
1062       repeatCount="indefinite" />
1063  </path>
1064</svg>
1065`;class fj extends hK.HTMLElement{constructor(){if(super(),fG(this,E1,void 0),fG(this,E2,500),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PAUSED,hm.MEDIA_LOADING,fK]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===fK&&t!==i?this.loadingDelay=Number(i):e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fH(this,E1))?void 0:r.unassociateElement)||a.call(r,this),fV(this,E1,null)),i&&this.isConnected&&(fV(this,E1,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fH(this,E1))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(fV(this,E1,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=fH(this,E1))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fH(this,E1))?void 0:e.unassociateElement)||t.call(e,this),fV(this,E1,null)}get loadingDelay(){return fH(this,E2)}set loadingDelay(e){fV(this,E2,e);let{style:t}=h9(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaLoading(){return ct(this,hm.MEDIA_LOADING)}set mediaLoading(e){ci(this,hm.MEDIA_LOADING,e)}get mediaController(){return cr(this,hu.MEDIA_CONTROLLER)}set mediaController(e){ca(this,hu.MEDIA_CONTROLLER,e)}get noAutohide(){return ct(this,fW)}set noAutohide(e){ci(this,fW,e)}}E1=new WeakMap,E2=new WeakMap,fj.shadowRootOptions={mode:"open"},fj.getTemplateHTML=function(e){return`
1066    <style>
1067      :host {
1068        display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));
1069        vertical-align: middle;
1070        box-sizing: border-box;
1071        --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, 500ms);
1072      }
1073
1074      #status {
1075        color: rgba(0,0,0,0);
1076        width: 0px;
1077        height: 0px;
1078      }
1079
1080      :host slot[name=icon] > *,
1081      :host ::slotted([slot=icon]) {
1082        opacity: var(--media-loading-indicator-opacity, 0);
1083        transition: opacity 0.15s;
1084      }
1085
1086      :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) slot[name=icon] > *,
1087      :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) ::slotted([slot=icon]) {
1088        opacity: var(--media-loading-indicator-opacity, 1);
1089        transition: opacity 0.15s var(--_loading-indicator-delay);
1090      }
1091
1092      :host #status {
1093        visibility: var(--media-loading-indicator-opacity, hidden);
1094        transition: visibility 0.15s;
1095      }
1096
1097      :host([${hm.MEDIA_LOADING}]:not([${hm.MEDIA_PAUSED}])) #status {
1098        visibility: var(--media-loading-indicator-opacity, visible);
1099        transition: visibility 0.15s var(--_loading-indicator-delay);
1100      }
1101
1102      svg, img, ::slotted(svg), ::slotted(img) {
1103        width: var(--media-loading-indicator-icon-width);
1104        height: var(--media-loading-indicator-icon-height, 100px);
1105        fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1106        vertical-align: middle;
1107      }
1108    </style>
1109
1110    <slot name="icon">${fq}</slot>
1111    <div id="status" role="status" aria-live="polite">${hN("media loading")}</div>
1112  `},hK.customElements.get("media-loading-indicator")||hK.customElements.define("media-loading-indicator",fj);let fY=`<svg aria-hidden="true" viewBox="0 0 24 24">
1113  <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
1114</svg>`,fz=`<svg aria-hidden="true" viewBox="0 0 24 24">
1115  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
1116</svg>`,fQ=`<svg aria-hidden="true" viewBox="0 0 24 24">
1117  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
1118</svg>`,fX=e=>{let t="off"===e.mediaVolumeLevel?hN("unmute"):hN("mute");e.setAttribute("aria-label",t)};class fZ extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_VOLUME_LEVEL]}connectedCallback(){super.connectedCallback(),fX(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_VOLUME_LEVEL&&fX(this)}get mediaVolumeLevel(){return cr(this,hm.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ca(this,hm.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e="off"===this.mediaVolumeLevel?hd.MEDIA_UNMUTE_REQUEST:hd.MEDIA_MUTE_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}fZ.getSlotTemplateHTML=function(e){return`
1119    <style>
1120      :host(:not([${hm.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]),
1121      :host([${hm.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) {
1122        display: none !important;
1123      }
1124
1125      :host([${hm.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) {
1126        display: none !important;
1127      }
1128
1129      :host([${hm.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) {
1130        display: none !important;
1131      }
1132
1133      :host([${hm.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) {
1134        display: none !important;
1135      }
1136
1137      :host(:not([${hm.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute],
1138      :host([${hm.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] {
1139        display: none;
1140      }
1141    </style>
1142
1143    <slot name="icon">
1144      <slot name="off">${fY}</slot>
1145      <slot name="low">${fz}</slot>
1146      <slot name="medium">${fz}</slot>
1147      <slot name="high">${fQ}</slot>
1148    </slot>
1149  `},fZ.getTooltipContentHTML=function(){return`
1150    <slot name="tooltip-mute">${hN("Mute")}</slot>
1151    <slot name="tooltip-unmute">${hN("Unmute")}</slot>
1152  `},hK.customElements.get("media-mute-button")||hK.customElements.define("media-mute-button",fZ);let fJ=`<svg aria-hidden="true" viewBox="0 0 28 24">
1153  <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
1154</svg>`,f0=e=>{let t=e.mediaIsPip?hN("exit picture in picture mode"):hN("enter picture in picture mode");e.setAttribute("aria-label",t)};class f1 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_IS_PIP,hm.MEDIA_PIP_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),f0(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_IS_PIP&&f0(this)}get mediaPipUnavailable(){return cr(this,hm.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ca(this,hm.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return ct(this,hm.MEDIA_IS_PIP)}set mediaIsPip(e){ci(this,hm.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?hd.MEDIA_EXIT_PIP_REQUEST:hd.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}f1.getSlotTemplateHTML=function(e){return`
1155    <style>
1156      :host([${hm.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) {
1157        display: none !important;
1158      }
1159
1160      :host(:not([${hm.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) {
1161        display: none !important;
1162      }
1163
1164      :host([${hm.MEDIA_IS_PIP}]) slot[name=tooltip-enter],
1165      :host(:not([${hm.MEDIA_IS_PIP}])) slot[name=tooltip-exit] {
1166        display: none;
1167      }
1168    </style>
1169
1170    <slot name="icon">
1171      <slot name="enter">${fJ}</slot>
1172      <slot name="exit">${fJ}</slot>
1173    </slot>
1174  `},f1.getTooltipContentHTML=function(){return`
1175    <slot name="tooltip-enter">${hN("Enter picture in picture mode")}</slot>
1176    <slot name="tooltip-exit">${hN("Exit picture in picture mode")}</slot>
1177  `},hK.customElements.get("media-pip-button")||hK.customElements.define("media-pip-button",f1);var f2=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)};let f3="rates",f4=[1,1.2,1.5,1.7,2];class f5 extends mj{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E3,new cw(this,f3,{defaultValue:f4})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE,f3]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===f3&&(f2(this,E3).value=i),e===hm.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",hN("Playback rate {playbackRate}",{playbackRate:t}))}}get rates(){return f2(this,E3)}set rates(e){e?Array.isArray(e)?f2(this,E3).value=e.join(" "):"str
1177ing"==typeof e&&(f2(this,E3).value=e):f2(this,E3).value=""}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let i=Array.from(f2(this,E3).values(),e=>+e).sort((e,t)=>e-t),r=null!=(t=null!=(e=i.find(e=>e>this.mediaPlaybackRate))?e:i[0])?t:1,a=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:r});this.dispatchEvent(a)}}E3=new WeakMap,f5.getSlotTemplateHTML=function(e){return`
1178    <style>
1179      :host {
1180        min-width: 5ch;
1181        padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
1182      }
1183    </style>
1184    <slot name="icon">${e.mediaplaybackrate||1}x</slot>
1185  `},f5.getTooltipContentHTML=function(){return hN("Playback rate")},hK.customElements.get("media-playback-rate-button")||hK.customElements.define("media-playback-rate-button",f5);let f8=`<svg aria-hidden="true" viewBox="0 0 24 24">
1186  <path d="m6 21 15-9L6 3v18Z"/>
1187</svg>`,f9=`<svg aria-hidden="true" viewBox="0 0 24 24">
1188  <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
1189</svg>`,f6=e=>{let t=e.mediaPaused?hN("play"):hN("pause");e.setAttribute("aria-label",t)};class f7 extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PAUSED,hm.MEDIA_ENDED]}connectedCallback(){super.connectedCallback(),f6(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),(e===hm.MEDIA_PAUSED||e===hm.MEDIA_LANG)&&f6(this)}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?hd.MEDIA_PLAY_REQUEST:hd.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new hK.CustomEvent(e,{composed:!0,bubbles:!0}))}}f7.getSlotTemplateHTML=function(e){return`
1190    <style>
1191      :host([${hm.MEDIA_PAUSED}]) slot[name=pause],
1192      :host(:not([${hm.MEDIA_PAUSED}])) slot[name=play] {
1193        display: none !important;
1194      }
1195
1196      :host([${hm.MEDIA_PAUSED}]) slot[name=tooltip-pause],
1197      :host(:not([${hm.MEDIA_PAUSED}])) slot[name=tooltip-play] {
1198        display: none;
1199      }
1200    </style>
1201
1202    <slot name="icon">
1203      <slot name="play">${f8}</slot>
1204      <slot name="pause">${f9}</slot>
1205    </slot>
1206  `},f7.getTooltipContentHTML=function(){return`
1207    <slot name="tooltip-play">${hN("Play")}</slot>
1208    <slot name="tooltip-pause">${hN("Pause")}</slot>
1209  `},hK.customElements.get("media-play-button")||hK.customElements.define("media-play-button",f7);let pe="placeholdersrc";class pt extends hK.HTMLElement{static get observedAttributes(){return[pe,"src"]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){if("src"===e&&(null==i?this.image.removeAttribute("src"):this.image.setAttribute("src",i)),e===pe)if(null==i)this.image.style.removeProperty("background-image");else{var r;r=this.image,r.style["background-image"]=`url('${i}')`}}get placeholderSrc(){return cr(this,pe)}set placeholderSrc(e){ca(this,"src",e)}get src(){return cr(this,"src")}set src(e){ca(this,"src",e)}}pt.shadowRootOptions={mode:"open"},pt.getTemplateHTML=function(e){return`
1210    <style>
1211      :host {
1212        pointer-events: none;
1213        display: var(--media-poster-image-display, inline-block);
1214        box-sizing: border-box;
1215      }
1216
1217      img {
1218        max-width: 100%;
1219        max-height: 100%;
1220        min-width: 100%;
1221        min-height: 100%;
1222        background-repeat: no-repeat;
1223        background-position: var(--media-poster-image-background-position, var(--media-object-position, center));
1224        background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain));
1225        object-fit: var(--media-object-fit, contain);
1226        object-position: var(--media-object-position, center);
1227      }
1228    </style>
1229
1230    <img part="poster img" aria-hidden="true" id="image"/>
1231  `},hK.customElements.get("media-poster-image")||hK.customElements.define("media-poster-image",pt);var pi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};E4=new WeakMap,hK.customElements.get("media-preview-chapter-display")||hK.customElements.define("media-preview-chapter-display",class extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E4,void 0),((e,t,i,r)=>(pi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E4,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PREVIEW_CHAPTER,hm.MEDIA_LA
1231NG]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),(e===hm.MEDIA_PREVIEW_CHAPTER||e===hm.MEDIA_LANG)&&i!==t&&null!=i){var r;if((pi(this,E4,"read from private field"),r?r.call(this):E4.get(this)).textContent=i,""!==i){let e=hN("chapter: {chapterName}",{chapterName:i});this.setAttribute("aria-valuetext",e)}else this.removeAttribute("aria-valuetext")}}get mediaPreviewChapter(){return cr(this,hm.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ca(this,hm.MEDIA_PREVIEW_CHAPTER,e)}});var pr=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pa=(e,t,i)=>(pr(e,t,"read from private field"),i?i.call(e):t.get(e)),ps=(e,t,i,r)=>(pr(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pn extends hK.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E5,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[hu.MEDIA_CONTROLLER,hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let r=this.getAttribute(hu.MEDIA_CONTROLLER);r&&(ps(this,E5,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=pa(this,E5))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=pa(this,E5))?void 0:e.unassociateElement)||t.call(e,this),ps(this,E5,null)}attributeChangedCallback(e,t,i){var r,a,s,n,o;[hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===hu.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=pa(this,E5))?void 0:r.unassociateElement)||a.call(r,this),ps(this,E5,null)),i&&this.isConnected&&(ps(this,E5,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=pa(this,E5))?void 0:n.associateElement)||o.call(n,this)))}get mediaPreviewImage(){return cr(this,hm.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ca(this,hm.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(hm.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(e=>+e)}set mediaPreviewCoords(e){e?this.setAttribute(hm.MEDIA_PREVIEW_COORDS,e.join(" ")):this.removeAttribute(hm.MEDIA_PREVIEW_COORDS)}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[i,r,a,s]=e,n=t.split("#")[0],{maxWidth:o,maxHeight:l,minWidth:d,minHeight:u}=getComputedStyle(this),h=Math.min(parseInt(o)/a,parseInt(l)/s),c=Math.max(parseInt(d)/a,parseInt(u)/s),m=h<1,f=m?h:c>1?c:1,{style:p}=h9(this.shadowRoot,":host"),g=h9(this.shadowRoot,"img").style,E=this.shadowRoot.querySelector("img"),y=m?"min":"max";p.setProperty(`${y}-width`,"initial","important"),p.setProperty(`${y}-height`,"initial","important"),p.width=`${a*f}px`,p.height=`${s*f}px`;let b=()=>{g.width=`${this.imgWidth*f}px`,g.height=`${this.imgHeight*f}px`,g.display="block"};E.src!==n&&(E.onload=()=>{this.imgWidth=E.naturalWidth,this.imgHeight=E.naturalHeight,b()},E.src=n,b()),b(),g.transform=`translate(-${i*f}px, -${r*f}px)`}}E5=new WeakMap,pn.shadowRootOptions={mode:"open"},pn.getTemplateHTML=function(e){return`
1232    <style>
1233      :host {
1234        box-sizing: border-box;
1235        display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block));
1236        overflow: hidden;
1237      }
1238
1239      img {
1240        display: none;
1241        position: relative;
1242      }
1243    </style>
1244    <img crossorigin loading="eager" decoding="async">
1245  `},hK.customElements.get("media-preview-thumbnail")||hK.customElements.define("media-preview-thumbnail",pn);var po=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pl=(e,t,i)=>(po(e,t,"read from private field"),i?i.call(e):t.get(e));E8=new WeakMap,hK.customElements.get("media-preview-time-display")||hK.customElements.define("media-preview-time-display",class extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E8,void 0),((e,t,i,r)=>(po(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E8,this.shadowRoot.querySelector("slot")),pl(this,E8).textContent=hx(0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PREVIEW_TIME&&null!=i&&(pl(this,E8).textContent=hx(
1245parseFloat(i)))}get mediaPreviewTime(){return h7(this,hm.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ce(this,hm.MEDIA_PREVIEW_TIME,e)}});let pd="seekoffset";class pu extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_CURRENT_TIME,pd]}connectedCallback(){super.connectedCallback(),this.seekOffset=h7(this,pd,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===pd&&(this.seekOffset=h7(this,pd,30))}get seekOffset(){return h7(this,pd,30)}set seekOffset(e){ce(this,pd,e),this.setAttribute("aria-label",hN("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),h0(h1(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pu.getSlotTemplateHTML=function(e,t){let i;return`
1246    <slot name="icon">${i=t.seekOffset,`
1247  <svg aria-hidden="true" viewBox="0 0 20 24">
1248    <defs>
1249      <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>
1250    </defs>
1251    <text class="text value" transform="translate(2.18 19.87)">${i}</text>
1252    <path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/>
1253  </svg>`}</slot>
1254  `},pu.getTooltipContentHTML=function(){return hN("Seek backward")},hK.customElements.get("media-seek-backward-button")||hK.customElements.define("media-seek-backward-button",pu);let ph="seekoffset";class pc extends mj{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_CURRENT_TIME,ph]}connectedCallback(){super.connectedCallback(),this.seekOffset=h7(this,ph,30)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===ph&&(this.seekOffset=h7(this,ph,30))}get seekOffset(){return h7(this,ph,30)}set seekOffset(e){ce(this,ph,e),this.setAttribute("aria-label",hN("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),h0(h1(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pc.getSlotTemplateHTML=function(e,t){let i;return`
1255    <slot name="icon">${i=t.seekOffset,`
1256  <svg aria-hidden="true" viewBox="0 0 20 24">
1257    <defs>
1258      <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>
1259    </defs>
1260    <text class="text value" transform="translate(8.9 19.87)">${i}</text>
1261    <path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/>
1262  </svg>`}</slot>
1263  `},pc.getTooltipContentHTML=function(){return hN("Seek forward")},hK.customElements.get("media-seek-forward-button")||hK.customElements.define("media-seek-forward-button",pc);var pm=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pf=(e,t,i)=>(pm(e,t,"read from private field"),i?i.call(e):t.get(e));let pp={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},pg=[...Object.values(pp),hm.MEDIA_CURRENT_TIME,hm.MEDIA_DURATION,hm.MEDIA_SEEKABLE],pv=["Enter"," "],pE="&nbsp;/&nbsp;",py=(e,{timesSep:t=pE}={})=>{var i,r;let a=null!=(i=e.mediaCurrentTime)?i:0,[,s]=null!=(r=e.mediaSeekable)?r:[],n=0;Number.isFinite(e.mediaDuration)?n=e.mediaDuration:Number.isFinite(s)&&(n=s);let o=e.remaining?hx(0-(n-a)):hx(a);return e.showDuration?`${o}${t}${hx(n)}`:o};class pb extends fp{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,E9,void 0),((e,t,i,r)=>(pm(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,E9,this.shadowRoot.querySelector("slot")),pf(this,E9).innerHTML=`${py(this)}`}static get observedAttributes(){return[...super.observedAttributes,...pg,"disabled"]}connectedCallback(){let{style:e}=h9(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-cursor, pointer)"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",hN("playback time"));let t=e=>{let{key:i}=e;pv.includes(i)?this.toggleTimeDisplay():this.removeEventListener("keyup",t)};this.addEventListener("keydown",e=>{let{metaKey:i,altKey:r,key:a}=e;i||r||!pv.includes(a)?this.removeEventListener("keyup",t):this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,i){pg.includes(e)?this.update():"disabled"===e&&i!==t&&(null==i?this.enable():this.disable()),super.attributeChangedCallback(e,t,i)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return ct(this,pp.REMAINING)}set remaining(e){ci(this,pp.REMAINING,e)}get showDuration(){return ct(this,pp.SHOW_DURATION)}set showDuration(e){ci(this,pp.SHOW_DURATION,e)}get noToggle(){return ct(this,pp.NO_TOGGLE)}set noToggle(e){ci(this,pp.NO_TOGGLE,e)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(hm.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(hm.MEDIA_SEEKABLE):this.setAttribute(hm.MEDIA_SEEKABLE,e.join(":"))}update(){let e=py(this);(e=>{var t;let i=e.mediaCurrentTime,[,r]=null!=(t=e.mediaSeekable)?t:[],a=null;if(Number.isFinite(e.mediaDuration)?a=e.mediaDuration:Number.isFinite(r)&&(a=r),null==i||null===a)return e.setAttribute("aria-valuetext","video not loaded, unknown time.");let s=e.remaining?hD(0-(a-i)):hD(i);if(!e.showDuration)return e.setAttribute("aria-valuetext",s);let n=hD(a),o=`${s} of ${n}`;e.setAttribute("aria-valuetext",o)})(this),e!==pf(this,E9).innerHTML&&(pf(this,E9).innerHTML=e)}}E9=new WeakMap,pb.getSlotTemplateHTML=function(e,t){return`
1264    <slot>${py(t)}</slot>
1265  `},hK.customElements.get("media-time-display")||hK.customElements.define("media-time-display",pb);var pT=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pA=(e,t,i)=>(pT(e,t,"read from private field"),i?i.call(e):t.get(e)),p_=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pS=(e,t,i,r)=>(pT(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pk{constructor(e,t,i){p_(this,E6,void 0),p_(this,E7,void 0),p_(this,ye,void 0),p_(this,yt,void 0),p_(this,yi,void 0),p_(this,yr,void 0),p_(this,ya,void 0),p_(this,ys,void 0),p_(this,yn,0),p_(this,yo,(e=performance.now())=>{pS(this,yn,requestAnimationFrame(pA(this,yo))),pS(this,yt,performance.now()-pA(this,ye));let t=1e3/this.fps;if(pA(this,yt)>t){let i,r,a,s;pS(this,ye,e-pA(this,yt)%t);let n=1e3/((e-pA(this,E7))/++(i=this,r=yi,{set _(value){pS(i,r,value,a)},get _(){return pA(i,r,s)}})._),o=(e-pA(this,yr))/1e3/this.duration,l=pA(this,ya)+o*this.playbackRate;l-pA(this,E6).valueAsNumber>0?pS(this,ys,this.playbackRate/this.duration/n):(pS(this,ys,.995*pA(this,ys)),l=pA(this,E6).valueAsNumber+pA(this,ys)),this.callback(l)}}),pS(this,E6,e),this.callback=t,this.fps=i}start(){0===pA(this,yn)&&(pS(this,ye,performance.now()),pS(this,E7,pA(this,ye)),pS(this,yi,0),pA(this,yo).call(this))}stop(){0!==pA(this,yn)&&(cancelAnimationFrame(pA(this,yn)),pS(this,yn,0))}update({start:e,duration:t,playbackRate:i}){let r=e-pA(this,E6).valueAsNumber,a=Math.abs(t-this.duration);(r>0||r<-.03||a>=.5)&&this.callback(e),pS(this,ya,e),pS(this,yr,performance.now()),this.duration=t,this.playbackRate=i}}E6=new WeakMap,E7=new WeakMap,ye=new WeakMap,yt=new WeakMap,yi=new WeakMap,yr=new WeakMap,ya=new WeakMap,ys=new WeakMap,yn=new WeakMap,yo=new WeakMap;var pL=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pR=(e,t,i)=>(pL(e,t,"read from private field"),i?i.call(e):t.get(e)),pI=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pw=(e,t,i,r)=>(pL(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),pC=(e,t,i)=>(pL(e,t,"access private method"),i);let pD=(e,t=e.mediaCurrentTime)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:Math.max(0,Math.min((t-i)/(r-i),1))},px=(e,t=e.range.valueAsNumber)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:t*(r-i)+i};class pM extends fo{constructor(){super(),pI(this,yE),pI(this,yb),pI(this,y_),pI(this,yk),pI(this,yR),pI(this,yw),pI(this,yD),pI(this,yM),pI(this,yl,void 0),pI(this,yd,void 0),pI(this,yu,void 0),pI(this,yh,void 0),pI(this,yc,void 0),pI(this,ym,void 0),pI(this,yf,void 0),pI(this,yp,void 0),pI(this,yg,void 0),pI(this,yv,void 0),pI(this,yA,e=>{!this.dragging&&(hR(e)&&(this.range.valueAsNumber=e),pR(this,yv)||this.updateBar())}),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),pw(this,yu,this.shadowRoot.querySelectorAll('[part~="box"]')),pw(this,yc,this.shadowRoot.querySelector('[part~="preview-box"]')),pw(this,ym,this.shadowRoot.querySelector('[part~="current-box"]'));const e=getComputedStyle(this);pw(this,yf,parseInt(e.getPropertyValue("--media-box-padding-left"))),pw(this,yp,parseInt(e.getPropertyValue("--media-box-padding-right"))),pw(this,yd,new pk(this.range,pR(this,yA),60))}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PAUSED,hm.MEDIA_DURATION,hm.MEDIA_SEEKABLE,hm.MEDIA_CURRENT_TIME,hm.MEDIA_PREVIEW_IMAGE,hm.MEDIA_PREVIEW_TIME,hm.MEDIA_PREVIEW_CHAPTER,hm.MEDIA_BUFFERED,hm.MEDIA_PLAYBACK_RATE,hm.MEDIA_LOADING,hm.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",hN("seek")),pC(this,yE,yy).call(this),pw(this,yl,this.getRootNode()),null==(e=pR(this,yl))||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),pC(this,yE,yy).call(this),null==(e=pR(this,yl))||e.removeEventListener("transitionstart",this),pw(this,yl,null)}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),t!=i){if(e===hm.MEDIA_CURRENT_TIME||e===hm.MEDIA_PAUSED||e===hm.MEDIA_ENDED||e===hm.MEDIA_LOADING||e===hm.MEDIA_DURATION||e===hm.MEDIA_SEEKABLE){let e,t,i,r;pR(this,yd).update({start:pD(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),pC(this,yE,yy).call(this),e=this.range,t=hD(+px(this)),i=hD(+this.mediaSeekableEnd),r
1265=t&&i?`${t} of ${i}`:"video not loaded, unknown time.",e.setAttribute("aria-valuetext",r)}else e===hm.MEDIA_BUFFERED&&this.updateBufferedBar();(e===hm.MEDIA_DURATION||e===hm.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=pR(this,yg),this.updateBar())}}get mediaChaptersCues(){return pR(this,yg)}set mediaChaptersCues(e){var t;pw(this,yg,e),this.updateSegments(null==(t=pR(this,yg))?void 0:t.map(e=>({start:pD(this,e.startTime),end:pD(this,e.endTime)})))}get mediaPaused(){return ct(this,hm.MEDIA_PAUSED)}set mediaPaused(e){ci(this,hm.MEDIA_PAUSED,e)}get mediaLoading(){return ct(this,hm.MEDIA_LOADING)}set mediaLoading(e){ci(this,hm.MEDIA_LOADING,e)}get mediaDuration(){return h7(this,hm.MEDIA_DURATION)}set mediaDuration(e){ce(this,hm.MEDIA_DURATION,e)}get mediaCurrentTime(){return h7(this,hm.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ce(this,hm.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(hm.MEDIA_BUFFERED);return e?e.split(" ").map(e=>e.split(":").map(e=>+e)):[]}set mediaBuffered(e){if(!e)return void this.removeAttribute(hm.MEDIA_BUFFERED);let t=e.map(e=>e.join(":")).join(" ");this.setAttribute(hm.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(hm.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(hm.MEDIA_SEEKABLE):this.setAttribute(hm.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaPreviewImage(){return cr(this,hm.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ca(this,hm.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return h7(this,hm.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ce(this,hm.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return ct(this,hm.MEDIA_ENDED)}set mediaEnded(e){ci(this,hm.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t,i=this.mediaBuffered;if(!i.length)return;if(this.mediaEnded)t=1;else{let r=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=null!=(e=i.find(([e,t])=>e<=r&&r<=t))?e:[];t=pD(this,a)}let{style:r}=h9(this.shadowRoot,"#buffered");r.setProperty("width",`${100*t}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let e=h9(this.shadowRoot,"#current-rail"),t=h9(this.shadowRoot,'[part~="current-box"]'),i=pC(this,y_,yS).call(this,pR(this,ym)),r=pC(this,yk,yL).call(this,i,this.range.valueAsNumber),a=pC(this,yR,yI).call(this,i,this.range.valueAsNumber);e.style.transform=`translateX(${r})`,e.style.setProperty("--_range-width",`${i.range.width}`),t.style.setProperty("--_box-shift",`${a}`),t.style.setProperty("--_box-width",`${i.box.width}px`),t.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":pC(this,yM,yP).call(this);break;case"pointermove":pC(this,yw,yC).call(this,e);break;case"pointerup":pR(this,yv)&&pw(this,yv,!1);break;case"pointerdown":pw(this,yv,!0);break;case"pointerleave":pC(this,yD,yx).call(this,null);break;case"transitionstart":h2(e.target,this)&&setTimeout(()=>pC(this,yE,yy).call(this),0)}}}yl=new WeakMap,yd=new WeakMap,yu=new WeakMap,yh=new WeakMap,yc=new WeakMap,ym=new WeakMap,yf=new WeakMap,yp=new WeakMap,yg=new WeakMap,yv=new WeakMap,yE=new WeakSet,yy=function(){pC(this,yb,yT).call(this)?pR(this,yd).start():pR(this,yd).stop()},yb=new WeakSet,yT=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&h8(this)},yA=new WeakMap,y_=new WeakSet,yS=function(e){var t;let i=(null!=(t=this.getAttribute("bounds")?h3(this,`#${this.getAttribute("bounds")}`):this.parentElement)?t:this).getBoundingClientRect(),r=this.range.getBoundingClientRect(),a=e.offsetWidth,s=-(r.left-i.left-a/2),n=i.right-r.left-a/2;return{box:{width:a,min:s,max:n},bounds:i,range:r}},yk=new WeakSet,yL=function(e,t){let i=`${100*t}%`,{width:r,min:a,max:s}=e.box;if(!r)return i;if(!Number.isNaN(a)){let e=`calc(1 / var(--_range-width) * 100 * ${a}% + var(--media-box-padding-left))`;i=`max(${e}, ${i})`}if(!Number.isNaN(s)){let e=`calc(1 / var(--_range-width) * 100 * ${s}% - var(--media-box-padding-right))`;i=`min(${i}, ${e})`}return i},yR=new WeakSet,yI=function(e,t){let{width:i,min:r,max:a}
1265=e.box,s=t*e.range.width;if(s<r+pR(this,yf)){let t=e.range.left-e.bounds.left-pR(this,yf);return`${s-i/2+t}px`}if(s>a-pR(this,yp)){let t=e.bounds.right-e.range.right-pR(this,yp);return`${s+i/2-t-e.range.width}px`}return 0},yw=new WeakSet,yC=function(e){let t=[...pR(this,yu)].some(t=>e.composedPath().includes(t));if(!this.dragging&&(t||!e.composedPath().includes(this)))return void pC(this,yD,yx).call(this,null);let i=this.mediaSeekableEnd;if(!i)return;let r=h9(this.shadowRoot,"#preview-rail"),a=h9(this.shadowRoot,'[part~="preview-box"]'),s=pC(this,y_,yS).call(this,pR(this,yc)),n=(e.clientX-s.range.left)/s.range.width;n=Math.max(0,Math.min(1,n));let o=pC(this,yk,yL).call(this,s,n),l=pC(this,yR,yI).call(this,s,n);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${s.range.width}`),a.style.setProperty("--_box-shift",`${l}`),a.style.setProperty("--_box-width",`${s.box.width}px`),1>Math.abs(Math.round(pR(this,yh))-Math.round(n*i))&&n>.01&&n<.99||(pw(this,yh,n*i),pC(this,yD,yx).call(this,pR(this,yh)))},yD=new WeakSet,yx=function(e){this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:e}))},yM=new WeakSet,yP=function(){pR(this,yd).stop();let e=px(this);this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e}))},pM.shadowRootOptions={mode:"open"},pM.getTemplateHTML=function(e){return`
1266    ${fo.getTemplateHTML(e)}
1267    <style>
1268      :host {
1269        --media-box-border-radius: 4px;
1270        --media-box-padding-left: 10px;
1271        --media-box-padding-right: 10px;
1272        --media-preview-border-radius: var(--media-box-border-radius);
1273        --media-box-arrow-offset: var(--media-box-border-radius);
1274        --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
1275        --_preview-background: var(--media-preview-background, var(--_control-background));
1276
1277        
1278        contain: layout;
1279      }
1280
1281      #buffered {
1282        background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4));
1283        position: absolute;
1284        height: 100%;
1285        will-change: width;
1286      }
1287
1288      #preview-rail,
1289      #current-rail {
1290        width: 100%;
1291        position: absolute;
1292        left: 0;
1293        bottom: 100%;
1294        pointer-events: none;
1295        will-change: transform;
1296      }
1297
1298      [part~="box"] {
1299        width: min-content;
1300        
1301        position: absolute;
1302        bottom: 100%;
1303        flex-direction: column;
1304        align-items: center;
1305        transform: translateX(-50%);
1306      }
1307
1308      [part~="current-box"] {
1309        display: var(--media-current-box-display, var(--media-box-display, flex));
1310        margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px));
1311        visibility: hidden;
1312      }
1313
1314      [part~="preview-box"] {
1315        display: var(--media-preview-box-display, var(--media-box-display, flex));
1316        margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px));
1317        transition-property: var(--media-preview-transition-property, visibility, opacity);
1318        transition-duration: var(--media-preview-transition-duration-out, .25s);
1319        transition-delay: var(--media-preview-transition-delay-out, 0s);
1320        visibility: hidden;
1321        opacity: 0;
1322      }
1323
1324      :host(:is([${hm.MEDIA_PREVIEW_IMAGE}], [${hm.MEDIA_PREVIEW_TIME}])[dragging]) [part~="preview-box"] {
1325        transition-duration: var(--media-preview-transition-duration-in, .5s);
1326        transition-delay: var(--media-preview-transition-delay-in, .25s);
1327        visibility: visible;
1328        opacity: 1;
1329      }
1330
1331      @media (hover: hover) {
1332        :host(:is([${hm.MEDIA_PREVIEW_IMAGE}], [${hm.MEDIA_PREVIEW_TIME}]):hover) [part~="preview-box"] {
1333          transition-duration: var(--media-preview-transition-duration-in, .5s);
1334          transition-delay: var(--media-preview-transition-delay-in, .25s);
1335          visibility: visible;
1336          opacity: 1;
1337        }
1338      }
1339
1340      media-preview-thumbnail,
1341      ::slotted(media-preview-thumbnail) {
1342        visibility: hidden;
1343        
1344        transition: visibility 0s .25s;
1345        transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1346        background: var(--media-preview-thumbnail-background, var(--_preview-background));
1347        box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2));
1348        max-width: var(--media-preview-thumbnail-max-width, 180px);
1349        max-height: var(--media-preview-thumbnail-max-height, 160px);
1350        min-width: var(--media-preview-thumbnail-min-width, 120px);
1351        min-height: var(--media-preview-thumbnail-min-height, 80px);
1352        border: var(--media-preview-thumbnail-border);
1353        border-radius: var(--media-preview-thumbnail-border-radius,
1354          var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0);
1355      }
1356
1357      :host([${hm.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail,
1358      :host([${hm.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) {
1359        transition-delay: var(--media-preview-transition-delay-in, .25s);
1360        visibility: visible;
1361      }
1362
1363      @media (hover: hover) {
1364        :host([${hm.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail,
1365        :host([${hm.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) {
1366          transition-delay: var(--media-preview-transition-delay-in, .25s);
1367          visibility: visible;
1368        }
1369
1370        :host([${hm.MEDIA_PREVIEW_TIME}]:hover) {
1371          --media-time-range-hover-display: block;
1372        }
1373      }
1374
1375      media-preview-chapter-display,
1376      ::slotted(media-preview-chapter-display) {
1377        font-size: var(--media-font-size, 13px);
1378        line-height: 17px;
1379        min-width: 0;
1380        visibility: hidden;
1381        
1382        transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s;
1383        transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1384        background: var(--media-preview-chapter-background, var(--_preview-background));
1385        border-radius: var(--media-preview-chapter-border-radius,
1386          var(--media-preview-border-radius) var(--media-preview-border-radius)
1387          var(--media-preview-border-radius) var(--media-preview-border-radius));
1388        padding: var(--media-preview-chapter-padding, 3.5px 9px);
1389        margin: var(--media-preview-chapter-margin, 0 0 5px);
1390        text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75));
1391      }
1392
1393      :host([${hm.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display,
1394      :host([${hm.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) {
1395        transition-delay: var(--media-preview-transition-delay-in, .25s);
1396        border-radius: var(--media-preview-chapter-border-radius, 0);
1397        padding: var(--media-preview-chapter-padding, 3.5px 9px 0);
1398        margin: var(--media-preview-chapter-margin, 0);
1399        min-width: 100%;
1400      }
1401
1402      media-preview-chapter-display[${hm.MEDIA_PREVIEW_CHAPTER}],
1403      ::slotted(media-preview-chapter-display[${hm.MEDIA_PREVIEW_CHAPTER}]) {
1404        visibility: visible;
1405      }
1406
1407      media-preview-chapter-display:not([aria-valuetext]),
1408      ::slotted(media-preview-chapter-display:not([aria-valuetext])) {
1409        display: none;
1410      }
1411
1412      media-preview-time-display,
1413      ::slotted(media-preview-time-display),
1414      media-time-display,
1415      ::slotted(media-time-display) {
1416        font-size: var(--media-font-size, 13px);
1417        line-height: 17px;
1418        min-width: 0;
1419        
1420        transition: min-width 0s, border-radius 0s;
1421        transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1422        background: var(--media-preview-time-background, var(--_preview-background));
1423        border-radius: var(--media-preview-time-border-radius,
1424          var(--media-preview-border-radius) var(--media-preview-border-radius)
1425          var(--media-preview-border-radius) var(--media-preview-border-radius));
1426        padding: var(--media-preview-time-padding, 3.5px 9px);
1427        margin: var(--media-preview-time-margin, 0);
1428        text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75));
1429        transform: translateX(min(
1430          max(calc(50% - var(--_box-width) / 2),
1431          calc(var(--_box-shift, 0))),
1432          calc(var(--_box-width) / 2 - 50%)
1433        ));
1434      }
1435
1436      :host([${hm.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display,
1437      :host([${hm.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) {
1438        transition-delay: var(--media-preview-transition-delay-in, .25s);
1439        border-radius: var(--media-preview-time-border-radius,
1440          0 0 var(--media-preview-border-radius) var(--media-preview-border-radius));
1441        min-width: 100%;
1442      }
1443
1444      :host([${hm.MEDIA_PREVIEW_TIME}]:hover) {
1445        --media-time-range-hover-display: block;
1446      }
1447
1448      [part~="arrow"],
1449      ::slotted([part~="arrow"]) {
1450        display: var(--media-box-arrow-display, inline-block);
1451        transform: translateX(min(
1452          max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)),
1453          calc(var(--_box-shift, 0))),
1454          calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset))
1455        ));
1456        
1457        border-color: transparent;
1458        border-top-color: var(--media-box-arrow-background, var(--_control-background));
1459        border-width: var(--media-box-arrow-border-width,
1460          var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0);
1461        border-style: solid;
1462        justify-content: center;
1463        height: 0;
1464      }
1465    </style>
1466    <div id="preview-rail">
1467      <slot name="preview" part="box preview-box">
1468        <media-preview-thumbnail>
1469          <template shadowrootmode="${pn.shadowRootOptions.mode}">
1470            ${pn.getTemplateHTML({})}
1471          </template>
1472        </media-preview-thumbnail>
1473        <media-preview-chapter-display></media-preview-chapter-display>
1474        <media-preview-time-display></media-preview-time-display>
1475        <slot name="preview-arrow"><div part="arrow"></div></slot>
1476      </slot>
1477    </div>
1478    <div id="current-rail">
1479      <slot name="current" part="box current-box">
1480        
1481      </slot>
1482    </div>
1483  `},hK.customElements.get("media-time-range")||hK.customElements.define("media-time-range",pM),hK.customElements.get("media-volume-range")||hK.customElements.define("media-volume-range",class extends fo{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_VOLUME,hm.MEDIA_MUTED,hm.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new hK.CustomEvent(hd.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",hN("volume"))}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_VOLUME||e===hm.MEDIA_MUTED){let e;this.range.valueAsNumber=this.mediaMuted?0:this.mediaVolume,this.range.setAttribute("aria-valuetext",(e=this.range.valueAsNumber,`${Math.round(100*e)}%`)),this.updateBar()}}
1483get mediaVolume(){return h7(this,hm.MEDIA_VOLUME,1)}set mediaVolume(e){ce(this,hm.MEDIA_VOLUME,e)}get mediaMuted(){return ct(this,hm.MEDIA_MUTED)}set mediaMuted(e){ci(this,hm.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return cr(this,hm.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ca(this,hm.MEDIA_VOLUME_UNAVAILABLE,e)}});class pP extends mj{constructor(){super(...arguments),this.container=null}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_LOOP]}connectedCallback(){var e;super.connectedCallback(),this.container=(null==(e=this.shadowRoot)?void 0:e.querySelector("#icon"))||null,this.container&&(this.container.textContent=hN("Loop"))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_LOOP&&this.container&&this.setAttribute("aria-checked",this.mediaLoop?"true":"false")}get mediaLoop(){return ct(this,hm.MEDIA_LOOP)}set mediaLoop(e){ci(this,hm.MEDIA_LOOP,e)}handleClick(){let e=!this.mediaLoop,t=new hK.CustomEvent(hd.MEDIA_LOOP_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}pP.getSlotTemplateHTML=function(e){return`
1484      <style>
1485        :host {
1486          min-width: 4ch;
1487          padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
1488          width: 100%;
1489          display: grid;
1490          grid-template-columns: 1fr auto;
1491          gap: 1rem;
1492          font-weight: var(--media-button-font-weight, normal);
1493        }
1494
1495        #checked-indicator {
1496          display: none;
1497        }
1498
1499        :host([${hm.MEDIA_LOOP}]) #checked-indicator {
1500          display: block;
1501        }
1502      </style>
1503      
1504      <span id="icon">
1505     </span>
1506
1507      <div id="checked-indicator">
1508        <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator">
1509          <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1510        </svg>
1511      </div>
1512    `},pP.getTooltipContentHTML=function(){return hN("Loop")},hK.customElements.get("media-loop-button")||hK.customElements.define("media-loop-button",pP);var pO=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pN=(e,t,i)=>(pO(e,t,"read from private field"),i?i.call(e):t.get(e)),pU=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pF=(e,t,i,r)=>(pO(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let pB={processCallback(e,t,i){if(i){for(let[e,r]of t)if(e in i){let t=i[e];"boolean"==typeof t&&r instanceof pj&&"boolean"==typeof r.element[r.attributeName]?r.booleanValue=t:"function"==typeof t&&r instanceof pj?r.element[r.attributeName]=t:r.value=t}}}};class p$ extends hK.DocumentFragment{constructor(e,t,i=pB){var r;super(),pU(this,yO,void 0),pU(this,yN,void 0),this.append(e.content.cloneNode(!0)),pF(this,yO,pH(this)),pF(this,yN,i),null==(r=i.createCallback)||r.call(i,this,pN(this,yO),t),i.processCallback(this,pN(this,yO),t)}update(e){pN(this,yN).processCallback(this,pN(this,yO),e)}}yO=new WeakMap,yN=new WeakMap;let pH=(e,t=[])=>{let i,r;for(let a of e.attributes||[])if(a.value.includes("{{")){let s=new pq;for([i,r]of pV(a.value))if(i){let i=new pj(e,a.name,a.namespaceURI);s.append(i),t.push([r,i])}else s.append(r);a.value=s.toString()}for(let a of e.childNodes)if(1!==a.nodeType||a instanceof HTMLTemplateElement){let s=a.data;if(1===a.nodeType||s.includes("{{")){let n=[];if(s)for([i,r]of pV(s))if(i){let i=new pY(e);n.push(i),t.push([r,i])}else n.push(new Text(r));else if(a instanceof HTMLTemplateElement){let i=new pz(e,a);n.push(i),t.push([i.expression,i])}a.replaceWith(...n.flatMap(e=>e.replacementNodes||[e]))}}else pH(a,t);return t},pG={},pV=e=>{let t="",i=0,r=pG[e],a=0,s;if(r)return r;for(r=[];s=e[a];a++)"{"===s&&"{"===e[a+1]&&"\\"!==e[a-1]&&e[a+2]&&1==++i?(t&&r.push([0,t]),t="",a++):"}"!==s||"}"!==e[a+1]||"\\"===e[a-1]||--i?t+=s||"":(r.push([1,t.trim()]),t="",a++);return t&&r.push([0,(i>0?"{{":"")+t]),pG[e]=r};class pK{get value(){return""}set value(e){}toString(){return this.value}}let pW=new WeakMap;class pq{constructor(){pU(this,yU,[])}[Symbol.iterator](){return pN(this,yU).values()}get length(){return pN(this,yU).length}item(e){return pN(this,yU)[e]}append(...e){for(let t of e)t instanceof pj&&pW.set(t,this),pN(this,yU).push(t)}toString(){return pN(this,yU).join("")}}yU=new WeakMap;class pj extends pK{constructor(e,t,i){super(),pU(this,yG),pU(this,yF,""),pU(this,yB,void 0),pU(this,y$,void 0),pU(this,yH,void 0),pF(this,yB,e),pF(this,y$,t),pF(this,yH,i)}get attributeName(){return pN(this,y$)}get attributeNamespace(){return pN(this,yH)}
1512get element(){return pN(this,yB)}get value(){return pN(this,yF)}set value(e){pN(this,yF)!==e&&(pF(this,yF,e),pN(this,yG,yV)&&1!==pN(this,yG,yV).length?pN(this,yB).setAttributeNS(pN(this,yH),pN(this,y$),pN(this,yG,yV).toString()):null==e?pN(this,yB).removeAttributeNS(pN(this,yH),pN(this,y$)):pN(this,yB).setAttributeNS(pN(this,yH),pN(this,y$),e))}get booleanValue(){return pN(this,yB).hasAttributeNS(pN(this,yH),pN(this,y$))}set booleanValue(e){if(pN(this,yG,yV)&&1!==pN(this,yG,yV).length)throw new DOMException("Value is not fully templatized");this.value=e?"":null}}yF=new WeakMap,yB=new WeakMap,y$=new WeakMap,yH=new WeakMap,yG=new WeakSet,yV=function(){return pW.get(this)};class pY extends pK{constructor(e,t){super(),pU(this,yK,void 0),pU(this,yW,void 0),pF(this,yK,e),pF(this,yW,t?[...t]:[new Text])}get replacementNodes(){return pN(this,yW)}get parentNode(){return pN(this,yK)}get nextSibling(){return pN(this,yW)[pN(this,yW).length-1].nextSibling}get previousSibling(){return pN(this,yW)[0].previousSibling}get value(){return pN(this,yW).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(e=>null==e?[new Text]:e.forEach?[...e]:11===e.nodeType?[...e.childNodes]:e.nodeType?[e]:[new Text(e)]);t.length||t.push(new Text),pF(this,yW,function(e,t,i,r=null){let a=0,s,n,o,l=i.length,d=t.length;for(;a<l&&a<d&&t[a]==i[a];)a++;for(;a<l&&a<d&&i[l-1]==t[d-1];)r=i[--d,--l];if(a==d)for(;a<l;)e.insertBefore(i[a++],r);if(a==l)for(;a<d;)e.removeChild(t[a++]);else{for(s=t[a];a<l;)o=i[a++],n=s?s.nextSibling:r,s==o?s=n:a<l&&i[a]==n?(e.replaceChild(o,s),s=n):e.insertBefore(o,s);for(;s!=r;)n=s.nextSibling,e.removeChild(s),s=n}return i}(pN(this,yW)[0].parentNode,pN(this,yW),t,this.nextSibling))}}yK=new WeakMap,yW=new WeakMap;class pz extends pY{constructor(e,t){const i=t.getAttribute("directive")||t.getAttribute("type");let r=t.getAttribute("expression")||t.getAttribute(i)||"";r.startsWith("{{")&&(r=r.trim().slice(2,-2).trim()),super(e),this.expression=r,this.template=t,this.directive=i}}let pQ={string:e=>String(e)};class pX{constructor(e){this.template=e,this.state=void 0}}let pZ=new WeakMap,pJ=new WeakMap,p0={partial:(e,t)=>{t[e.expression]=new pX(e.template)},if:(e,t)=>{var i;if(p4(e.expression,t))if(pZ.get(e)!==e.template){pZ.set(e,e.template);let i=new p$(e.template,t,p2);e.replace(i),pJ.set(e,i)}else null==(i=pJ.get(e))||i.update(t);else e.replace(""),pZ.delete(e),pJ.delete(e)}},p1=Object.keys(p0),p2={processCallback(e,t,i){var r,a;if(i)for(let[e,s]of t){if(s instanceof pz){if(!s.directive){let e=p1.find(e=>s.template.hasAttribute(e));e&&(s.directive=e,s.expression=s.template.getAttribute(e))}null==(r=p0[s.directive])||r.call(p0,s,i);continue}let t=p4(e,i);if(t instanceof pX){pZ.get(s)!==t.template?(pZ.set(s,t.template),s.value=t=new p$(t.template,t.state,p2),pJ.set(s,t)):null==(a=pJ.get(s))||a.update(t.state);continue}t?(s instanceof pj&&s.attributeName.startsWith("aria-")&&(t=String(t)),s instanceof pj?"boolean"==typeof t?s.booleanValue=t:"function"==typeof t?s.element[s.attributeName]=t:s.value=t:(s.value=t,pZ.delete(s),pJ.delete(s))):s instanceof pj?s.value=void 0:(s.value=void 0,pZ.delete(s),pJ.delete(s))}}},p3={"!":e=>!e,"!!":e=>!!e,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>
1512e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"??":(e,t)=>null!=e?e:t,"|":(e,t)=>{var i;return null==(i=pQ[t])?void 0:i.call(pQ,e)}};function p4(e,t={}){var i,r,a,s,n,o,l;let d=(function(e,t){let i,r,a,s=[];for(;e;){for(let s in a=null,i=e.length,t)(r=t[s].exec(e))&&r.index<i&&(a={token:r[0],type:s,matches:r.slice(1)},i=r.index);i&&s.push({token:e.substr(0,i),type:void 0}),a&&s.push(a),e=e.substr(i+(a?a.token.length:0))}return s})(e,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>"ws"!==e);if(0===d.length||d.some(({type:e})=>!e))return p5(e);if((null==(i=d[0])?void 0:i.token)===">"){let i=t[null==(r=d[1])?void 0:r.token];if(!i)return p5(e);let o={...t};i.state=o;let l=d.slice(2);for(let e=0;e<l.length;e+=3){let i=null==(a=l[e])?void 0:a.token,r=null==(s=l[e+1])?void 0:s.token,d=null==(n=l[e+2])?void 0:n.token;i&&"="===r&&(o[i]=p9(d,t))}return i}if(1===d.length)return p8(d[0])?p9(d[0].token,t):p5(e);if(2===d.length){let i=p3[null==(o=d[0])?void 0:o.token];return i&&p8(d[1])?i(p9(d[1].token,t)):p5(e)}if(3===d.length){let i=null==(l=d[1])?void 0:l.token,r=p3[i];if(!r||!p8(d[0])||!p8(d[2]))return p5(e);let a=p9(d[0].token,t);return r(a,"|"===i?d[2].token:p9(d[2].token,t))}}function p5(e){return console.warn(`Warning: invalid expression \`${e}\``),!1}function p8({type:e}){return["number","boolean","string","param"].includes(e)}function p9(e,t){let i=e[0],r=e.slice(-1);return"true"===e||"false"===e?"true"===e:i===r&&["'",'"'].includes(i)?e.slice(1,-1):hI(e)?parseFloat(e):t[e]}var p6=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},p7=(e,t,i)=>(p6(e,t,"read from private field"),i?i.call(e):t.get(e)),ge=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gt=(e,t,i,r)=>(p6(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gi=(e,t,i)=>(p6(e,t,"access private method"),i);let gr={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},ga=hW.createElement("template");ga.innerHTML=`
1513  <style>
1514    :host {
1515      display: inline-block;
1516      line-height: 0;
1517    }
1518
1519    media-controller {
1520      width: 100%;
1521      height: 100%;
1522    }
1523
1524    media-captions-button:not([mediasubtitleslist]),
1525    media-captions-menu:not([mediasubtitleslist]),
1526    media-captions-menu-button:not([mediasubtitleslist]),
1527    media-audio-track-menu[mediaaudiotrackunavailable],
1528    media-audio-track-menu-button[mediaaudiotrackunavailable],
1529    media-rendition-menu[mediarenditionunavailable],
1530    media-rendition-menu-button[mediarenditionunavailable],
1531    media-volume-range[mediavolumeunavailable],
1532    media-airplay-button[mediaairplayunavailable],
1533    media-fullscreen-button[mediafullscreenunavailable],
1534    media-cast-button[mediacastunavailable],
1535    media-pip-button[mediapipunavailable] {
1536      display: none;
1537    }
1538  </style>
1539`;class gs extends hK.HTMLElement{constructor(){super(),ge(this,yz),ge(this,yX),ge(this,yq,void 0),ge(this,yj,void 0),ge(this,yY,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());const e=new MutationObserver(e=>{var t;(!this.mediaController||(null==(t=this.mediaController)?void 0:t.breakpointsComputed))&&e.some(e=>{let t=e.target;return t===this||"media-controller"===t.localName&&!!(gr[e.attributeName]||e.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(hf.BREAKPOINTS_COMPUTED,this.render),gi(this,yz,yQ).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return null!=(e=p7(this,yq))?e:this.constructor.template}set template(e){null===e?this.removeAttribute("template"):"string"==typeof e?this.setAttribute("template",e):e instanceof HTMLTemplateElement&&(gt(this,yq,e),gt(this,yY,null),this.createRenderer())}get props(){var e,t,i;let r=[...Array.from(null!=(t=null==(e=this.mediaController)?void 0:e.attributes)?t:[]).filter(({name:e})=>gr[e]||e.startsWith("breakpoint")),...Array.from(this.attributes)],a={};for(let e of r){let t=null!=(i=gr[e.name])?i:e.name.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase()),{value:r}=e;null!=r?(hI(r)&&(r=parseFloat(r)),a[t]=""===r||r):a[t]=!1}return a}
1539attributeChangedCallback(e,t,i){"template"===e&&t!=i&&gi(this,yX,yZ).call(this)}connectedCallback(){gi(this,yX,yZ).call(this)}createRenderer(){this.template instanceof HTMLTemplateElement&&this.template!==p7(this,yj)&&(gt(this,yj,this.template),this.renderer=new p$(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(ga.content.cloneNode(!0),this.renderer))}render(){var e;null==(e=this.renderer)||e.update(this.props)}}async function gn(e){let t=await fetch(e);if(200!==t.status)throw Error(`Failed to load resource: the server responded with a status of ${t.status}`);return t.text()}function go(e){return e.split("-")[0]}yq=new WeakMap,yj=new WeakMap,yY=new WeakMap,yz=new WeakSet,yQ=function(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}},yX=new WeakSet,yZ=function(){var e;let t=this.getAttribute("template");if(!t||t===p7(this,yY))return;let i=this.getRootNode(),r=null==(e=null==i?void 0:i.getElementById)?void 0:e.call(i,t);if(r){gt(this,yY,t),gt(this,yq,r),this.createRenderer();return}(function(e){if(!/^(\/|\.\/|https?:\/\/)/.test(e))return!1;let t=/^https?:\/\//.test(e)?void 0:location.origin;try{new URL(e,t)}catch(e){return!1}return!0})(t)&&(gt(this,yY,t),gn(t).then(e=>{let t=hW.createElement("template");t.innerHTML=e,gt(this,yq,t),this.createRenderer()}).catch(console.error))},gs.observedAttributes=["template"],gs.processor=p2,hK.customElements.get("media-theme")||hK.customElements.define("media-theme",gs);class gl extends Event{constructor({action:e="auto",relatedTarget:t,...i}){super("invoke",i),this.action=e,this.relatedTarget=t}}class gd extends Event{constructor({newState:e,oldState:t,...i}){super("toggle",i),this.newState=e,this.oldState=t}}var gu=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gh=(e,t,i)=>(gu(e,t,"read from private field"),i?i.call(e):t.get(e)),gc=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gm=(e,t,i,r)=>(gu(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gf=(e,t,i)=>(gu(e,t,"access private method"),i);function gp({type:e,text:t,value:i,checked:r}){let a=hW.createElement("media-chrome-menu-item");a.type=null!=e?e:"",a.part.add("menu-item"),e&&a.part.add(e),a.value=i,a.checked=r;let s=hW.createElement("span");return s.textContent=t,a.append(s),a}function gg(e,t){let i=e.querySelector(`:scope > [slot="${t}"]`);if((null==i?void 0:i.nodeName)=="SLOT"&&(i=i.assignedElements({flatten:!0})[0]),i)return i.cloneNode(!0);let r=e.shadowRoot.querySelector(`[name="${t}"] > svg`);return r?r.cloneNode(!0):""}let gv="style",gE="hidden",gy="disabled";class gb extends hK.HTMLElement{constructor(){if(super(),gc(this,y8),gc(this,y6),gc(this,bt),gc(this,br),gc(this,bs),gc(this,bo),gc(this,bh),gc(this,bm),gc(this,bp),gc(this,bv),gc(this,by),gc(this,bT),gc(this,b_),gc(this,bk),gc(this,bR),gc(this,bw),gc(this,bD),gc(this,bM),gc(this,yJ,null),gc(this,y0,null),gc(this,y1,null),gc(this,y2,new Set),gc(this,y3,void 0),gc(this,y4,!1),gc(this,y5,null),gc(this,be,()=>{let e=gh(this,y2),t=new Set(this.items);for(let i of e)t.has(i)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:i}));for(let i of t)e.has(i)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:i}));gm(this,y2,t)}),gc(this,bd,()=>{gf(this,bh,bc).call(this),gf(this,bm,bf).call(this,!1)}),gc(this,bu,()=>{gf(this,bh,bc).call(this)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),gm(this,y3,new MutationObserver(gh(this,be))),gh(this,y3).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[gy,gE,gv,"anchor",hu.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":gf(this,y8,y9).call(this,e);break;case"invoke":gf(this,br,ba).call(this,e);break;case"click":gf(this,bp,bg).call(this,e);break;case"toggle":gf(this,by,bb).call(this,e);break;case"focusout":gf(this,b_,bS).call(this,e);break;case"keydown":gf(this,bk,bL).call(this,e)}}connectedCallback(){var e,t;gm(this,y5,h6(this.shadowRoot,":host")),gf(this,bt,bi).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),gm(this,yJ,hJ(this)),null==(t=null==(e=gh(this,yJ))?void 0:e.associateElement)||t.call(e,this),this.hidden||(hz(gA(this),gh(this,bd)),hz(this,gh(this,bu))),gf(this,y6,y7).call(this)}disconnectedCallback(){var e,t;hQ(gA(this),gh(this,bd)),hQ(this,gh(this,bu)),this.disable(),null==(t=null==(e=gh(this,yJ))?void 0:e.unassociateElement)||t.call(e,this),gm(this,yJ,null)}attributeChangedCallback(e,t,i){var r,a,s,n;
1539e===gE&&i!==t?(gh(this,y4)||gm(this,y4,!0),this.hidden?gf(this,bo,bl).call(this):gf(this,bs,bn).call(this),this.dispatchEvent(new gd({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===hu.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=gh(this,yJ))?void 0:r.unassociateElement)||a.call(r,this),gm(this,yJ,null)),i&&this.isConnected&&(gm(this,yJ,hJ(this)),null==(n=null==(s=gh(this,yJ))?void 0:s.associateElement)||n.call(s,this))):e===gy&&i!==t?null==i?this.enable():this.disable():e===gv&&i!==t&&gf(this,bt,bi).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?null==(e=h5(this))?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(gT)}get radioGroupItems(){return this.items.filter(e=>"menuitemradio"===e.role)}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return null!=(t=null==(e=this.checkedItems[0])?void 0:e.value)?t:""}set value(e){let t=this.items.find(t=>t.value===e);t&&gf(this,bM,bP).call(this,t)}focus(){if(gm(this,y0,h4()),this.items.length){gf(this,bD,bx).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==e||e.focus()}handleSelect(e){var t;let i=gf(this,bR,bI).call(this,e);i&&(gf(this,bM,bP).call(this,i,"checkbox"===i.type),gh(this,y1)&&!this.hidden&&(null==(t=gh(this,y0))||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,i;let{key:r}=e,a=this.items,s=null!=(i=null!=(t=gf(this,bR,bI).call(this,e))?t:gf(this,bw,bC).call(this))?i:a[0],n=Math.max(0,a.indexOf(s));"ArrowDown"===r?n++:"ArrowUp"===r?n--:"Home"===e.key?n=0:"End"===e.key&&(n=a.length-1),n<0&&(n=a.length-1),n>a.length-1&&(n=0),gf(this,bD,bx).call(this,a[n]),a[n].focus()}}function gT(e){return["menuitem","menuitemradio","menuitemcheckbox"].includes(null==e?void 0:e.role)}function gA(e){var t;return null!=(t=e.getAttribute("bounds")?h3(e,`#${e.getAttribute("bounds")}`):hZ(e)||e.parentElement)?t:e}yJ=new WeakMap,y0=new WeakMap,y1=new WeakMap,y2=new WeakMap,y3=new WeakMap,y4=new WeakMap,y5=new WeakMap,y8=new WeakSet,y9=function(e){let t=e.target;for(let e of t.assignedNodes({flatten:!0}))3===e.nodeType&&""===e.textContent.trim()&&e.remove();["header","title"].includes(t.name)&&gf(this,y6,y7).call(this),t.name||gh(this,be).call(this)},y6=new WeakSet,y7=function(){let e=this.shadowRoot.querySelector('slot[name="header"]');e.hidden=0===this.shadowRoot.querySelector('slot[name="title"]').assignedNodes().length&&0===e.assignedNodes().length},be=new WeakMap,bt=new WeakSet,bi=function(){var e;let t=this.shadowRoot.querySelector("#layout-row"),i=null==(e=getComputedStyle(this).getPropertyValue("--media-menu-layout"))?void 0:e.trim();t.setAttribute("media","row"===i?"":"width:0")},br=new WeakSet,ba=function(e){gm(this,y1,e.relatedTarget),h2(this,e.relatedTarget)||(this.hidden=!this.hidden)},bs=new WeakSet,bn=function(){var e;null==(e=gh(this,y1))||e.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),hz(gA(this),gh(this,bd)),hz(this,gh(this,bu))},bo=new WeakSet,bl=function(){var e;null==(e=gh(this,y1))||e.setAttribute("aria-expanded","false"),hQ(gA(this),gh(this,bd)),hQ(this,gh(this,bu))},bd=new WeakMap,bu=new WeakMap,bh=new WeakSet,bc=function(e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:i}=function({anchor:e,floating:t,placement:i}){let{x:r,y:a}=function({anchor:e,floating:t},i){let r,a="x"==(["top","bottom"].includes(go(i))?"y":"x")?"y":"x",s="y"===a?"height":"width",n=go(i),o=e.x+e.width/2-t.width/2,l=e.y+e.height/2-t.height/2,d=e[s]/2-t[s]/2;switch(n){case"top":r={x:o,y:e.y-t.height};break;case"bottom":r={x:o,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:l};break;case"left":r={x:e.x-t.width,y:l};break;default:r={x:e.x,y:e.y}}switch(i.split("-")[1]){case"start":r[a]-=d;break;case"end":r[a]+=d}return r}(function({anchor:e,floating:t}){var i,r,a;let s,n;return{anchor:(i=e,r=t.offsetParent,s=i.getBoundingClientRect(),n=null!=(a=null==r?void 0:r.getBoundingClientRect())?a:{x:0,y:0},{x:s.x-n.x,y:s.y-n.y,width:s.width,height:s.height}),floating:{x:0,y:0,width:t.offsetWidth,height:t.offsetHeight}}}({anchor:e,floating:t}),i);return{x:r,y:a}}({anchor:this.anchorElement,floating:this,placement:"top-start"});null!=e||(e=this.offsetWidth);let r=gA(this).getBoundingClientRect(),a=r.width-t-e,s=r.height-i-this.offsetHeight,{style:n}=gh(this,y5);n.setProperty("position","absolute"),n.setProperty("right",`${Math.max(0,a)}px`),n.setProperty("--_menu-bottom",`${s}px`);let o=getComputedStyle(this),l=n.getPropertyValue("--_menu-bottom")===o.bottom?s:parseFloat(o.bottom),d=r.height-l-parseFloat(o.marginBottom);this.style.setProperty("--_menu-max-height",`${d}px`)}
1539,bm=new WeakSet,bf=function(e){let t=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),i=null==t?void 0:t.querySelector('[role="menu"]'),{style:r}=gh(this,y5);if(e||r.setProperty("--media-menu-transition-in","none"),i){let e=i.offsetHeight,r=Math.max(i.offsetWidth,t.offsetWidth);this.style.setProperty("min-width",`${r}px`),this.style.setProperty("min-height",`${e}px`),gf(this,bh,bc).call(this,r)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),gf(this,bh,bc).call(this);r.removeProperty("--media-menu-transition-in")},bp=new WeakSet,bg=function(e){var t;if(e.stopPropagation(),e.composedPath().includes(gh(this,bv,bE))){null==(t=gh(this,y0))||t.focus(),this.hidden=!0;return}let i=gf(this,bR,bI).call(this,e);!i||i.hasAttribute("disabled")||(gf(this,bD,bx).call(this,i),this.handleSelect(e))},bv=new WeakSet,bE=function(){var e;return null==(e=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))?void 0:e.find(e=>e.matches('button[part~="back"]'))},by=new WeakSet,bb=function(e){if(e.target===this)return;gf(this,bT,bA).call(this);let t=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let i of t)i.invokeTargetElement!=e.target&&("open"!=e.newState||"true"!=i.getAttribute("aria-expanded")||i.invokeTargetElement.hidden||i.invokeTargetElement.dispatchEvent(new gl({relatedTarget:i})));for(let e of t)e.setAttribute("aria-expanded",`${!e.submenuElement.hidden}`);gf(this,bm,bf).call(this,!0)},bT=new WeakSet,bA=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)},b_=new WeakSet,bS=function(e){var t;h2(this,e.relatedTarget)||(gh(this,y4)&&(null==(t=gh(this,y0))||t.focus()),gh(this,y1)&&gh(this,y1)!==e.relatedTarget&&!this.hidden&&(this.hidden=!0))},bk=new WeakSet,bL=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;if(!o&&!l&&!d&&this.keysUsed.includes(n))if(e.preventDefault(),e.stopPropagation(),"Tab"===n){if(gh(this,y4)){this.hidden=!0;return}e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()}else"Escape"===n?(null==(s=gh(this,y0))||s.focus(),gh(this,y4)&&(this.hidden=!0)):"Enter"===n||" "===n?this.handleSelect(e):this.handleMove(e)},bR=new WeakSet,bI=function(e){return e.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))},bw=new WeakSet,bC=function(){return this.items.find(e=>0===e.tabIndex)},bD=new WeakSet,bx=function(e){for(let t of this.items)t.tabIndex=t===e?0:-1},bM=new WeakSet,bP=function(e,t){let i=[...this.checkedItems];"radio"===e.type&&this.radioGroupItems.forEach(e=>e.checked=!1),t?e.checked=!e.checked:e.checked=!0,this.checkedItems.some((e,t)=>e!=i[t])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))},gb.shadowRootOptions={mode:"open"},gb.getTemplateHTML=function(e){return`
1540    <style>
1541      :host {
1542        font: var(--media-font,
1543          var(--media-font-weight, normal)
1544          var(--media-font-size, 14px) /
1545          var(--media-text-content-height, var(--media-control-height, 24px))
1546          var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
1547        color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
1548        --_menu-bg: rgb(20 20 30 / .8);
1549        background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg))));
1550        border-radius: var(--media-menu-border-radius);
1551        border: var(--media-menu-border, none);
1552        display: var(--media-menu-display, inline-flex) !important;
1553        
1554        transition: var(--media-menu-transition-in,
1555          visibility 0s,
1556          opacity .2s ease-out,
1557          transform .15s ease-out,
1558          left .2s ease-in-out,
1559          min-width .2s ease-in-out,
1560          min-height .2s ease-in-out
1561        ) !important;
1562        
1563        visibility: var(--media-menu-visibility, visible);
1564        opacity: var(--media-menu-opacity, 1);
1565        max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px));
1566        transform: var(--media-menu-transform-in, translateY(0) scale(1));
1567        flex-direction: column;
1568        
1569        min-height: 0;
1570        position: relative;
1571        bottom: var(--_menu-bottom);
1572        box-sizing: border-box;
1573      } 
1574
1575      @-moz-document url-prefix() {
1576        :host{
1577          --_menu-bg: rgb(20 20 30);
1578        }
1579      }
1580
1581      :host([hidden]) {
1582        transition: var(--media-menu-transition-out,
1583          visibility .15s ease-in,
1584          opacity .15s ease-in,
1585          transform .15s ease-in
1586        ) !important;
1587        visibility: var(--media-menu-hidden-visibility, hidden);
1588        opacity: var(--media-menu-hidden-opacity, 0);
1589        max-height: var(--media-menu-hidden-max-height,
1590          var(--media-menu-max-height, var(--_menu-max-height, 300px)));
1591        transform: var(--media-menu-transform-out, translateY(2px) scale(.99));
1592        pointer-events: none;
1593      }
1594
1595      :host([slot="submenu"]) {
1596        background: none;
1597        width: 100%;
1598        min-height: 100%;
1599        position: absolute;
1600        bottom: 0;
1601        right: -100%;
1602      }
1603
1604      #container {
1605        display: flex;
1606        flex-direction: column;
1607        min-height: 0;
1608        transition: transform .2s ease-out;
1609        transform: translate(0, 0);
1610      }
1611
1612      #container.has-expanded {
1613        transition: transform .2s ease-in;
1614        transform: translate(-100%, 0);
1615      }
1616
1617      button {
1618        background: none;
1619        color: inherit;
1620        border: none;
1621        padding: 0;
1622        font: inherit;
1623        outline: inherit;
1624        display: inline-flex;
1625        align-items: center;
1626      }
1627
1628      slot[name="header"][hidden] {
1629        display: none;
1630      }
1631
1632      slot[name="header"] > *,
1633      slot[name="header"]::slotted(*) {
1634        padding: .4em .7em;
1635        border-bottom: 1px solid rgb(255 255 255 / .25);
1636        cursor: var(--media-cursor, default);
1637      }
1638
1639      slot[name="header"] > button[part~="back"],
1640      slot[name="header"]::slotted(button[part~="back"]) {
1641        cursor: var(--media-cursor, pointer);
1642      }
1643
1644      svg[part~="back"] {
1645        height: var(--media-menu-icon-height, var(--media-control-height, 24px));
1646        fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1647        display: block;
1648        margin-right: .5ch;
1649      }
1650
1651      slot:not([name]) {
1652        gap: var(--media-menu-gap);
1653        flex-direction: var(--media-menu-flex-direction, column);
1654        overflow: var(--media-menu-overflow, hidden auto);
1655        display: flex;
1656        min-height: 0;
1657      }
1658
1659      :host([role="menu"]) slot:not([name]) {
1660        padding-block: .4em;
1661      }
1662
1663      slot:not([name])::slotted([role="menu"]) {
1664        background: none;
1665      }
1666
1667      media-chrome-menu-item > span {
1668        margin-right: .5ch;
1669        max-width: var(--media-menu-item-max-width);
1670        text-overflow: ellipsis;
1671        overflow: hidden;
1672      }
1673    </style>
1674    <style id="layout-row" media="width:0">
1675
1676      slot[name="header"] > *,
1677      slot[name="header"]::slotted(*) {
1678        padding: .4em .5em;
1679      }
1680
1681      slot:not([name]) {
1682        gap: var(--media-menu-gap, .25em);
1683        flex-direction: var(--media-menu-flex-direction, row);
1684        padding-inline: .5em;
1685      }
1686
1687      media-chrome-menu-item {
1688        padding: .3em .5em;
1689      }
1690
1691      media-chrome-menu-item[aria-checked="true"] {
1692        background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2));
1693      }
1694
1695      
1696      media-chrome-menu-item::part(checked-indicator) {
1697        display: var(--media-menu-item-checked-indicator-display, none);
1698      }
1699    </style>
1700    <div id="container" part="container">
1701      <slot name="header" hidden>
1702        <button part="back button" aria-label="Back to previous menu">
1703          <slot name="back-icon">
1704            <svg aria-hidden="true" viewBox="0 0 20 24" part="back indicator">
1705              <path d="m11.88 17.585.742-.669-4.2-4.665 4.2-4.666-.743-.669-4.803 5.335 4.803 5.334Z"/>
1706            </svg>
1707          </slot>
1708          <slot name="title"></slot>
1709        </button>
1710      </slot>
1711      <slot></slot>
1712    </div>
1713    <slot name="checked-indicator" hidden></slot>
1714  `}
1714,hK.customElements.get("media-chrome-menu")||hK.customElements.define("media-chrome-menu",gb);var g_=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gS=(e,t,i)=>(g_(e,t,"read from private field"),i?i.call(e):t.get(e)),gk=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gL=(e,t,i,r)=>(g_(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gR=(e,t,i)=>(g_(e,t,"access private method"),i);let gI="type",gw="value",gC="checked",gD="disabled";class gx extends hK.HTMLElement{constructor(){if(super(),gk(this,bU),gk(this,bB),gk(this,bH),gk(this,bK),gk(this,bq),gk(this,bY),gk(this,bO,!1),gk(this,bN,void 0),gk(this,bV,()=>{var e,t;this.submenuElement.items&&this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let i=this.shadowRoot.querySelector('slot[name="description"]'),r=null==(e=this.submenuElement.checkedItems)?void 0:e[0],a=null!=(t=null==r?void 0:r.dataset.description)?t:null==r?void 0:r.text,s=hW.createElement("span");s.textContent=null!=a?a:"",i.replaceChildren(s)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=hX(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[gI,gD,gC,gw]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),gM(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":gR(this,bU,bF).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":gR(this,bq,bj).call(this,e);break;case"keyup":gR(this,bK,bW).call(this,e)}}attributeChangedCallback(e,t,i){e===gC&&gM(this)&&!gS(this,bO)?this.setAttribute("aria-checked",null!=i?"true":"false"):e===gI&&i!==t?this.role="menuitem"+i:e===gD&&i!==t&&(null==i?this.enable():this.disable())}connectedCallback(){this.hasAttribute(gD)||this.enable(),this.role="menuitem"+this.type,gL(this,bN,function e(t,i){if(!t)return null;let{host:r}=t.getRootNode();return!i&&r?e(t,r):(null==i?void 0:i.items)?i:e(i,null==i?void 0:i.parentNode)}(this,this.parentNode)),gR(this,bY,bz).call(this),this.submenuElement&&gR(this,bB,b$).call(this)}disconnectedCallback(){this.disable(),gR(this,bY,bz).call(this),gL(this,bN,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=h5(this))?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return null!=(e=this.getAttribute(gI))?e:""}set type(e){this.setAttribute(gI,`${e}`)}get value(){var e;return null!=(e=this.getAttribute(gw))?e:this.text}set value(e){this.setAttribute(gw,e)}get text(){var e;return(null!=(e=this.textContent)?e:"").trim()}get checked(){if(gM(this))return"true"===this.getAttribute("aria-checked")}set checked(e){gM(this)&&(gL(this,bO,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){!gM(this)&&this.invokeTargetElement&&h2(this,e.target)&&this.invokeTargetElement.dispatchEvent(new gl({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}}function gM(e){return"radio"===e.type||"checkbox"===e.type}bO=new WeakMap,bN=new WeakMap,bU=new WeakSet,bF=function(e){let t=e.target;if(!(null==t?void 0:t.name))for(let e of t.assignedNodes({flatten:!0}))e instanceof Text&&""===e.textContent.trim()&&e.remove();"submenu"===t.name&&(this.submenuElement?gR(this,bB,b$).call(this):gR(this,bH,bG).call(this))},bB=new WeakSet,b$=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",gS(this,bV)),this.submenuElement.addEventListener("addmenuitem",gS(this,bV)),this.submenuElement.addEventListener("removemenuitem",gS(this,bV)),gS(this,bV).call(this)},bH=new WeakSet,bG=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",gS(this,bV)),this.submenuElement.removeEventListener("addmenuitem",gS(this,bV)),this.submenuElement.removeEventListener("removemenuitem",gS(this,bV)),gS(this,bV).call(this)},bV=new WeakMap,bK=new WeakSet,bW=function(e){let{key:t}=e;this.keysUsed.includes(t)?this.handleClick(e):this.removeEventListener("keyup",gR(this,bK,bW))},bq=new WeakSet,bj=function(e){let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",gR(this,bK,bW)):this.addEventListener("keyup",gR(this,bK,bW),{once:!0})},bY=new WeakSet,bz=function(){var e;let t=null==(e=gS(this,bN))?void 0:e.radioGroupItems;if(!t)return;let i=t.filter(e=>"true"===e.getAttribute("aria-checked")).pop();
1714for(let e of(i||(i=t[0]),t))e.setAttribute("aria-checked","false");null==i||i.setAttribute("aria-checked","true")},gx.shadowRootOptions={mode:"open"},gx.getTemplateHTML=function(e){return`
1715    <style>
1716      :host {
1717        transition: var(--media-menu-item-transition,
1718          background .15s linear,
1719          opacity .2s ease-in-out
1720        );
1721        outline: var(--media-menu-item-outline, 0);
1722        outline-offset: var(--media-menu-item-outline-offset, -1px);
1723        cursor: var(--media-cursor, pointer);
1724        display: flex;
1725        align-items: center;
1726        align-self: stretch;
1727        justify-self: stretch;
1728        white-space: nowrap;
1729        white-space-collapse: collapse;
1730        text-wrap: nowrap;
1731        padding: .4em .8em .4em 1em;
1732      }
1733
1734      :host(:focus-visible) {
1735        box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
1736        outline: var(--media-menu-item-hover-outline, 0);
1737        outline-offset: var(--media-menu-item-hover-outline-offset,  var(--media-menu-item-outline-offset, -1px));
1738      }
1739
1740      :host(:hover) {
1741        cursor: var(--media-cursor, pointer);
1742        background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5));
1743        outline: var(--media-menu-item-hover-outline);
1744        outline-offset: var(--media-menu-item-hover-outline-offset,  var(--media-menu-item-outline-offset, -1px));
1745      }
1746
1747      :host([aria-checked="true"]) {
1748        background: var(--media-menu-item-checked-background);
1749      }
1750
1751      :host([hidden]) {
1752        display: none;
1753      }
1754
1755      :host([disabled]) {
1756        pointer-events: none;
1757        color: rgba(255, 255, 255, .3);
1758      }
1759
1760      slot:not([name]) {
1761        width: 100%;
1762      }
1763
1764      slot:not([name="submenu"]) {
1765        display: inline-flex;
1766        align-items: center;
1767        transition: inherit;
1768        opacity: var(--media-menu-item-opacity, 1);
1769      }
1770
1771      slot[name="description"] {
1772        justify-content: end;
1773      }
1774
1775      slot[name="description"] > span {
1776        display: inline-block;
1777        margin-inline: 1em .2em;
1778        max-width: var(--media-menu-item-description-max-width, 100px);
1779        text-overflow: ellipsis;
1780        overflow: hidden;
1781        font-size: .8em;
1782        font-weight: 400;
1783        text-align: right;
1784        position: relative;
1785        top: .04em;
1786      }
1787
1788      slot[name="checked-indicator"] {
1789        display: none;
1790      }
1791
1792      :host(:is([role="menuitemradio"],[role="menuitemcheckbox"])) slot[name="checked-indicator"] {
1793        display: var(--media-menu-item-checked-indicator-display, inline-block);
1794      }
1795
1796      
1797      svg, img, ::slotted(svg), ::slotted(img) {
1798        height: var(--media-menu-item-icon-height, var(--media-control-height, 24px));
1799        fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1800        display: block;
1801      }
1802
1803      
1804      [part~="indicator"],
1805      ::slotted([part~="indicator"]) {
1806        fill: var(--media-menu-item-indicator-fill,
1807          var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))));
1808        height: var(--media-menu-item-indicator-height, 1.25em);
1809        margin-right: .5ch;
1810      }
1811
1812      [part~="checked-indicator"] {
1813        visibility: hidden;
1814      }
1815
1816      :host([aria-checked="true"]) [part~="checked-indicator"] {
1817        visibility: visible;
1818      }
1819    </style>
1820    <slot name="checked-indicator">
1821      <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator">
1822        <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1823      </svg>
1824    </slot>
1825    <slot name="prefix"></slot>
1826    <slot></slot>
1827    <slot name="description"></slot>
1828    <slot name="suffix">
1829      ${this.getSuffixSlotInnerHTML(e)}
1830    </slot>
1831    <slot name="submenu"></slot>
1832  `},gx.getSuffixSlotInnerHTML=function(e){return""},hK.customElements.get("media-chrome-menu-item")||hK.customElements.define("media-chrome-menu-item",gx);class gP extends gb{get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-settings-menu-button")}}gP.getTemplateHTML=function(e){return`
1833    ${gb.getTemplateHTML(e)}
1834    <style>
1835      :host {
1836        --_menu-bg: rgb(20 20 30 / .8);
1837        background: var(--media-settings-menu-background,
1838            var(--media-menu-background,
1839              var(--media-control-background,
1840                var(--media-secondary-color, var(--_menu-bg)))));
1841        min-width: var(--media-settings-menu-min-width, 170px);
1842        border-radius: 2px 2px 0 0;
1843        overflow: hidden;
1844      }
1845
1846      @-moz-document url-prefix() {
1847        :host{
1848          --_menu-bg: rgb(20 20 30);
1849        }
1850      }
1851
1852      :host([role="menu"]) {
1853        
1854        justify-content: end;
1855      }
1856
1857      slot:not([name]) {
1858        justify-content: var(--media-settings-menu-justify-content);
1859        flex-direction: var(--media-settings-menu-flex-direction, column);
1860        overflow: visible;
1861      }
1862
1863      #container.has-expanded {
1864        --media-settings-menu-item-opacity: 0;
1865      }
1866    </style>
1867  `}
1867,hK.customElements.get("media-settings-menu")||hK.customElements.define("media-settings-menu",gP);class gO extends gx{}gO.shadowRootOptions={mode:"open"},gO.getTemplateHTML=function(e){return`
1868    ${gx.getTemplateHTML.call(this,e)}
1869    <style>
1870      slot:not([name="submenu"]) {
1871        opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
1872      }
1873
1874      :host([aria-expanded="true"]:hover) {
1875        background: transparent;
1876      }
1877    </style>
1878  `},gO.getSuffixSlotInnerHTML=function(e){return`
1879    <svg aria-hidden="true" viewBox="0 0 20 24">
1880      <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/>
1881    </svg>
1882  `},hK.customElements.get("media-settings-menu-item")||hK.customElements.define("media-settings-menu-item",gO);class gN extends mj{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=h5(this))?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;null==(e=this.invokeTargetElement)||e.dispatchEvent(new gl({relatedTarget:this}))}}hK.customElements.get("media-chrome-menu-button")||hK.customElements.define("media-chrome-menu-button",gN);class gU extends gN{static get observedAttributes(){return[...super.observedAttributes,"target"]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",hN("settings"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-settings-menu")}}gU.getSlotTemplateHTML=function(){return`
1883    <style>
1884      :host([aria-expanded="true"]) slot[name=tooltip] {
1885        display: none;
1886      }
1887    </style>
1888    <slot name="icon">
1889      <svg aria-hidden="true" viewBox="0 0 24 24">
1890        <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
1891      </svg>
1892    </slot>
1893  `},gU.getTooltipContentHTML=function(){return hN("Settings")},hK.customElements.get("media-settings-menu-button")||hK.customElements.define("media-settings-menu-button",gU);var gF=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gB=(e,t,i)=>(gF(e,t,"read from private field"),i?i.call(e):t.get(e)),g$=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gH=(e,t,i,r)=>(gF(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gG=(e,t,i)=>(gF(e,t,"access private method"),i);bQ=new WeakMap,bX=new WeakMap,bZ=new WeakSet,bJ=function(){if(gB(this,bX)===JSON.stringify(this.mediaAudioTrackList))return;gH(this,bX,JSON.stringify(this.mediaAudioTrackList));let e=this.mediaAudioTrackList;for(let t of(this.defaultSlot.textContent="",e.sort((e,t)=>e.id.localeCompare(t.id,void 0,{numeric:!0})),e)){let e=gp({type:"radio",text:this.formatMenuItemText(t.label,t),value:`${t.id}`,checked:t.enabled});
1893e.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(e)}},b0=new WeakSet,b1=function(){if(null==this.value)return;let e=new hK.CustomEvent(hd.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-audio-track-menu")||hK.customElements.define("media-audio-track-menu",class extends gb{constructor(){super(...arguments),g$(this,bZ),g$(this,b0),g$(this,bQ,[]),g$(this,bX,void 0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_AUDIO_TRACK_LIST,hm.MEDIA_AUDIO_TRACK_ENABLED,hm.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_AUDIO_TRACK_ENABLED&&t!==i)this.value=i;else if(e===hm.MEDIA_AUDIO_TRACK_LIST&&t!==i){var r;gH(this,bQ,null==(r=null!=i?i:"")?void 0:r.split(/\s+/).map(hL)),gG(this,bZ,bJ).call(this)}}connectedCallback(){super.connectedCallback(),this.addEventListener("change",gG(this,b0,b1))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",gG(this,b0,b1))}get anchorElement(){var e;return"auto"!==this.anchor?super.anchorElement:null==(e=hZ(this))?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return gB(this,bQ)}set mediaAudioTrackList(e){gH(this,bQ,e),gG(this,bZ,bJ).call(this)}get mediaAudioTrackEnabled(){var e;return null!=(e=cr(this,hm.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ca(this,hm.MEDIA_AUDIO_TRACK_ENABLED,e)}});let gV=`<svg aria-hidden="true" viewBox="0 0 24 24">
1894  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
1895  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
1896</svg>`,gK=e=>{let t=hN("Audio");e.setAttribute("aria-label",t)};class gW extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_AUDIO_TRACK_ENABLED,hm.MEDIA_AUDIO_TRACK_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),gK(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_LANG&&gK(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=hZ(this))?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return null!=(e=cr(this,hm.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ca(this,hm.MEDIA_AUDIO_TRACK_ENABLED,e)}}gW.getSlotTemplateHTML=function(){return`
1897    <style>
1898      :host([aria-expanded="true"]) slot[name=tooltip] {
1899        display: none;
1900      }
1901    </style>
1902    <slot name="icon">${gV}</slot>
1903  `},gW.getTooltipContentHTML=function(){return hN("Audio")},hK.customElements.get("media-audio-track-menu-button")||hK.customElements.define("media-audio-track-menu-button",gW);var gq=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gj=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gY=(e,t,i)=>(gq(e,t,"access private method"),i);let gz=`
1904  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
1905    <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
1906  </svg>`;class gQ extends gb{constructor(){super(...arguments),gj(this,b3),gj(this,b5),gj(this,b2,void 0)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_LIST&&t!==i?gY(this,b3,b4).call(this):e===hm.MEDIA_SUBTITLES_SHOWING&&t!==i&&(this.value=i||"",gY(this,b3,b4).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",gY(this,b5,b8))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",gY(this,b5,b8))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return gX(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){gZ(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return gX(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){gZ(this,hm.MEDIA_SUBTITLES_SHOWING,e)}}b2=new WeakMap,b3=new WeakSet,b4=function(){var e,t,i,r,a,s;let n=(gq(this,t=b2,"read from private field"),(i?i.call(this):t.get(this))!==JSON.stringify(this.mediaSubtitlesList)),o=this.value!==this.getAttribute(hm.MEDIA_SUBTITLES_SHOWING);if(!n&&!o)return;r=b2,a=JSON.stringify(this.mediaSubtitlesList),gq(this,r,"write to private field"),s?s.call(this,a):r.set(this,a),this.defaultSlot.textContent="";let l=!this.value,d=gp({type:"radio",text:this.formatMenuItemText(hN("Off")),value:"off",checked:l});for(let t of(d.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(d),this.mediaSubtitlesList)){let i=gp({type:"radio",text:this.formatMenuItemText(t.label,t),value:cM(t),checked:this.value==cM(t)});i.prepend(gg(this,"checked-indicator")),"captions"===(null!=(e=t.kind)?e:"subs")&&i.append(gg(this,"captions-indicator")),this.defaultSlot.append(i)}},b5=new WeakSet,b8=function(){let e=this.mediaSubtitlesShowing,t=this.getAttribute(hm.MEDIA_SUBTITLES_SHOWING),i=this.value!==t;if((null==e?void 0:e.length)&&i&&this.dispatchEvent(new hK.CustomEvent(hd.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:e})),!this.value||!i)return;let r=new hK.CustomEvent(hd.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)},gQ.getTemplateHTML=function(e){return`
1907    ${gb.getTemplateHTML(e)}
1908    <slot name="captions-indicator" hidden>${gz}</slot>
1909  `};let gX=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},gZ=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};
1909hK.customElements.get("media-captions-menu")||hK.customElements.define("media-captions-menu",gQ);let gJ=`<svg aria-hidden="true" viewBox="0 0 26 24">
1910  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
1911</svg>`,g0=`<svg aria-hidden="true" viewBox="0 0 26 24">
1912  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
1913</svg>`,g1=e=>{e.setAttribute("data-captions-enabled",cF(e).toString())},g2=e=>{e.setAttribute("aria-label",hN("closed captions"))};class g3 extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_SUBTITLES_LIST,hm.MEDIA_SUBTITLES_SHOWING,hm.MEDIA_LANG]}connectedCallback(){super.connectedCallback(),g2(this),g1(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_SUBTITLES_SHOWING?g1(this):e===hm.MEDIA_LANG&&g2(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=hZ(this))?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return g4(this,hm.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){g5(this,hm.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return g4(this,hm.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){g5(this,hm.MEDIA_SUBTITLES_SHOWING,e)}}g3.getSlotTemplateHTML=function(){return`
1914    <style>
1915      :host([data-captions-enabled="true"]) slot[name=off] {
1916        display: none !important;
1917      }
1918
1919      
1920      :host(:not([data-captions-enabled="true"])) slot[name=on] {
1921        display: none !important;
1922      }
1923
1924      :host([aria-expanded="true"]) slot[name=tooltip] {
1925        display: none;
1926      }
1927    </style>
1928
1929    <slot name="icon">
1930      <slot name="on">${gJ}</slot>
1931      <slot name="off">${g0}</slot>
1932    </slot>
1933  `},g3.getTooltipContentHTML=function(){return hN("Captions")};let g4=(e,t)=>{let i=e.getAttribute(t);return i?cD(i):[]},g5=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=cP(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};hK.customElements.get("media-captions-menu-button")||hK.customElements.define("media-captions-menu-button",g3);var g8=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},g9=(e,t,i)=>(g8(e,t,"read from private field"),i?i.call(e):t.get(e)),g6=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},g7=(e,t,i)=>(g8(e,t,"access private method"),i);let ve="rates";b9=new WeakMap,b6=new WeakSet,b7=function(){this.defaultSlot.textContent="";let e=this.mediaPlaybackRate,t=new Set(Array.from(g9(this,b9)).map(e=>Number(e)));for(let i of(e>0&&!t.has(e)&&t.add(e),Array.from(t).sort((e,t)=>
1933e-t))){let t=gp({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i.toString(),checked:e===i});t.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(t)}},Te=new WeakSet,Tt=function(){if(!this.value)return;let e=new hK.CustomEvent(hd.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-playback-rate-menu")||hK.customElements.define("media-playback-rate-menu",class extends gb{constructor(){super(),g6(this,b6),g6(this,Te),g6(this,b9,new cw(this,ve,{defaultValue:f4})),g7(this,b6,b7).call(this)}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE,ve]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PLAYBACK_RATE&&t!=i?(this.value=i,g7(this,b6,b7).call(this)):e===ve&&t!=i&&(g9(this,b9).value=i,g7(this,b6,b7).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",g7(this,Te,Tt))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",g7(this,Te,Tt))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-playback-rate-menu-button")}get rates(){return g9(this,b9)}set rates(e){e?Array.isArray(e)?g9(this,b9).value=e.join(" "):"string"==typeof e&&(g9(this,b9).value=e):g9(this,b9).value="",g7(this,b6,b7).call(this)}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}});class vt extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_PLAYBACK_RATE]}constructor(){var e;super(),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",hN("Playback rate {playbackRate}",{playbackRate:t}))}}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-playback-rate-menu")}get mediaPlaybackRate(){return h7(this,hm.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ce(this,hm.MEDIA_PLAYBACK_RATE,e)}}vt.getSlotTemplateHTML=function(e){return`
1934    <style>
1935      :host {
1936        min-width: 5ch;
1937        padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
1938      }
1939      
1940      :host([aria-expanded="true"]) slot[name=tooltip] {
1941        display: none;
1942      }
1943    </style>
1944    <slot name="icon">${e.mediaplaybackrate||1}x</slot>
1945  `},vt.getTooltipContentHTML=function(){return hN("Playback rate")},hK.customElements.get("media-playback-rate-menu-button")||hK.customElements.define("media-playback-rate-menu-button",vt);var vi=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vr=(e,t,i)=>(vi(e,t,"read from private field"),i?i.call(e):t.get(e)),va=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vs=(e,t,i,r)=>(vi(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vn=(e,t,i)=>(vi(e,t,"access private method"),i);Ti=new WeakMap,Tr=new WeakMap,Ta=new WeakSet,Ts=function(){if(vr(this,Tr).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&vr(this,Tr).mediaHeight===this.mediaHeight)return;vr(this,Tr).mediaRenditionList=JSON.stringify(this.mediaRenditionList),vr(this,Tr).mediaHeight=this.mediaHeight;let e=this.mediaRenditionList.sort(this.compareRendition.bind(this)),t=e.find(e=>e.id===this.mediaRenditionSelected);for(let i of e)i.selected=i===t;this.defaultSlot.textContent="";let i=!this.mediaRenditionSelected;for(let t of e){let e=gp({type:"radio",text:this.formatRendition(t,{showBitrate:this.showRenditionBitrate(t)}),value:`${t.id}`,checked:t.selected&&!i});
1945e.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(e)}let r=t&&this.showRenditionBitrate(t),a=i?t?this.formatMenuItemText(`${hN("Auto")} \u2022 ${this.formatRendition(t,{showBitrate:r})}`,t):this.formatMenuItemText(`${hN("Auto")} (${this.mediaHeight}p)`):this.formatMenuItemText(hN("Auto")),s=gp({type:"radio",text:a,value:"auto",checked:i});s.dataset.description=a,s.prepend(gg(this,"checked-indicator")),this.defaultSlot.append(s)},Tn=new WeakSet,To=function(){if(null==this.value)return;let e=new hK.CustomEvent(hd.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},hK.customElements.get("media-rendition-menu")||hK.customElements.define("media-rendition-menu",class extends gb{constructor(){super(...arguments),va(this,Ta),va(this,Tn),va(this,Ti,[]),va(this,Tr,{})}static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_RENDITION_LIST,hm.MEDIA_RENDITION_SELECTED,hm.MEDIA_RENDITION_UNAVAILABLE,hm.MEDIA_HEIGHT]}static formatMenuItemText(e,t){return super.formatMenuItemText(e,t)}static formatRendition(e,{showBitrate:t=!1}={}){let i=`${Math.min(e.width,e.height)}p`;if(t&&e.bitrate){let t=e.bitrate/1e6,r=`${t.toFixed(+(t<1))} Mbps`;return`${i} (${r})`}return this.formatMenuItemText(i,e)}static compareRendition(e,t){var i,r;return t.height===e.height?(null!=(i=t.bitrate)?i:0)-(null!=(r=e.bitrate)?r:0):t.height-e.height}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===hm.MEDIA_RENDITION_SELECTED&&t!==i)this.value=null!=i?i:"auto",vn(this,Ta,Ts).call(this);else if(e===hm.MEDIA_RENDITION_LIST&&t!==i)vs(this,Ti,null==i?void 0:i.split(/\s+/).map(hS)),vn(this,Ta,Ts).call(this);else e===hm.MEDIA_HEIGHT&&t!==i&&vn(this,Ta,Ts).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vn(this,Tn,To))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vn(this,Tn,To))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:hZ(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return vr(this,Ti)}set mediaRenditionList(e){vs(this,Ti,e),vn(this,Ta,Ts).call(this)}get mediaRenditionSelected(){return cr(this,hm.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ca(this,hm.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return h7(this,hm.MEDIA_HEIGHT)}set mediaHeight(e){ce(this,hm.MEDIA_HEIGHT,e)}compareRendition(e,t){return this.constructor.compareRendition(e,t)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}formatRendition(e,t){return this.constructor.formatRendition(e,t)}showRenditionBitrate(e){return this.mediaRenditionList.some(t=>t!==e&&t.height===e.height&&t.bitrate!==e.bitrate)}});let vo=`<svg aria-hidden="true" viewBox="0 0 24 24">
1946  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
1947</svg>`;class vl extends gN{static get observedAttributes(){return[...super.observedAttributes,hm.MEDIA_RENDITION_SELECTED,hm.MEDIA_RENDITION_UNAVAILABLE,hm.MEDIA_HEIGHT]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",hN("quality"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:hZ(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return cr(this,hm.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ca(this,hm.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return h7(this,hm.MEDIA_HEIGHT)}set mediaHeight(e){ce(this,hm.MEDIA_HEIGHT,e)}}vl.getSlotTemplateHTML=function(){return`
1948    <style>
1949      :host([aria-expanded="true"]) slot[name=tooltip] {
1950        display: none;
1951      }
1952    </style>
1953    <slot name="icon">${vo}</slot>
1954  `},vl.getTooltipContentHTML=function(){return hN("Quality")},hK.customElements.get("media-rendition-menu-button")||hK.customElements.define("media-rendition-menu-button",vl);var vd=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vu=(e,t,i)=>(vd(e,t,"read from private field"),i?i.call(e):t.get(e)),vh=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vc=(e,t,i,r)=>(vd(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vm=(e,t,i)=>(vd(e,t,"access private method"),i);class vf extends gb{constructor(){super(),vh(this,Td),vh(this,Th),vh(this,Tm),vh(this,Tp),vh(this,TE),vh(this,Tl,!1),vh(this,Tv,e=>
1954{let t=e.target,i=(null==t?void 0:t.nodeName)==="VIDEO",r=vm(this,Tp,Tg).call(this,t);(i||r)&&(vu(this,Tl)?vm(this,Th,Tc).call(this):vm(this,TE,Ty).call(this,e))}),vh(this,Tb,e=>{let t=e.target,i=this.contains(t),r=2===e.button,a=(null==t?void 0:t.nodeName)==="VIDEO",s=vm(this,Tp,Tg).call(this,t);i||r&&(a||s)||vm(this,Th,Tc).call(this)}),vh(this,TT,e=>{"Escape"===e.key&&vm(this,Th,Tc).call(this)}),vh(this,TA,e=>{var t,i;let r=e.target;if(null==(t=r.matches)?void 0:t.call(r,'button[invoke="copy"]')){let e=null==(i=r.closest("media-context-menu-item"))?void 0:i.querySelector('input[slot="copy"]');e&&navigator.clipboard.writeText(e.value)}vm(this,Th,Tc).call(this)}),this.setAttribute("noautohide",""),vm(this,Td,Tu).call(this)}connectedCallback(){super.connectedCallback(),hZ(this).addEventListener("contextmenu",vu(this,Tv)),this.addEventListener("click",vu(this,TA))}disconnectedCallback(){super.disconnectedCallback(),hZ(this).removeEventListener("contextmenu",vu(this,Tv)),this.removeEventListener("click",vu(this,TA)),document.removeEventListener("mousedown",vu(this,Tb)),document.removeEventListener("keydown",vu(this,TT))}}Tl=new WeakMap,Td=new WeakSet,Tu=function(){this.hidden=!vu(this,Tl)},Th=new WeakSet,Tc=function(){vc(this,Tl,!1),vm(this,Td,Tu).call(this)},Tm=new WeakSet,Tf=function(){document.querySelectorAll("media-context-menu").forEach(e=>{e!==this&&vm(e,Th,Tc).call(e)})},Tp=new WeakSet,Tg=function(e){return!!e&&(!!e.hasAttribute("slot")&&"media"===e.getAttribute("slot")||!!(e.nodeName.includes("-")&&e.tagName.includes("-"))&&(e.hasAttribute("src")||e.hasAttribute("poster")||e.hasAttribute("preload")||e.hasAttribute("playsinline")))},Tv=new WeakMap,TE=new WeakSet,Ty=function(e){e.preventDefault(),vm(this,Tm,Tf).call(this),vc(this,Tl,!0),this.style.position="fixed",this.style.left=`${e.clientX}px`,this.style.top=`${e.clientY}px`,vm(this,Td,Tu).call(this),document.addEventListener("mousedown",vu(this,Tb),{once:!0}),document.addEventListener("keydown",vu(this,TT),{once:!0})},Tb=new WeakMap,TT=new WeakMap,TA=new WeakMap,vf.getTemplateHTML=function(e){return`
1955      ${gb.getTemplateHTML(e)}
1956      <style>
1957        :host {
1958          --_menu-bg: rgb(20 20 30 / .8);
1959          background: var(--media-settings-menu-background,
1960            var(--media-menu-background,
1961              var(--media-control-background,
1962                var(--media-secondary-color, var(--_menu-bg)))));
1963          min-width: var(--media-settings-menu-min-width, 170px);
1964          border-radius: 2px;
1965          overflow: hidden;
1966        }
1967      </style>
1968    `},hK.customElements.get("media-context-menu")||hK.customElements.define("media-context-menu",vf);class vp extends gx{}vp.shadowRootOptions={mode:"open"},vp.getTemplateHTML=function(e){return`
1969    ${gx.getTemplateHTML.call(this,e)}
1970    <style>
1971        ::slotted(*) {
1972            color: var(--media-text-color, white);
1973            text-decoration: none;
1974            border: none;
1975            background: none;
1976            cursor: pointer;
1977            padding: 0;
1978            min-height: var(--media-control-height, 24px);
1979        }
1980    </style>
1981  `},hK.customElements.get("media-context-menu-item")||hK.customElements.define("media-context-menu-item",vp);var vg=e=>{throw TypeError(e)},vv=(e,t,i)=>t.has(e)||vg("Cannot "+i),vE=(e,t,i)=>(vv(e,t,"read from private field"),i?i.call(e):t.get(e)),vy=(e,t,i)=>t.has(e)?vg("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),vb=(e,t,i,r)=>(vv(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vT=(e,t,i)=>(vv(e,t,"access private method"),i),vA=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends vA{});var v_,vS,vk,vL,vR,vI,vw,vC,vD,vx,vM,vP,vO,vN,vU,vF,vB,v$,vH,vG,vV,vK,vW,vq,vj,vY,vz,vQ,vX,vZ,vJ,v0,v1,v2,v3,v4,v5,v8,v9,v6,v7,Ee,Et,Ei,Er,Ea,Es,En,Eo,El,Ed,Eu,Eh,Ec,Em,Ef,Ep,Eg,Ev,EE,Ey,Eb,ET,EA,E_,ES,Ek,EL,ER,EI,Ew,EC,ED,Ex,EM,EP,EO,EN,EU,EF,EB,E$,EH,EG,EV,EK,EW,Eq,Ej,EY,Ez,EQ,EX,EZ,EJ,E0,E1,E2,E3,E4,E5,E8,E9,E6,E7,ye,yt,yi,yr,ya,ys,yn,yo,yl,yd,yu,yh,yc,ym,yf,yp,yg,yv,yE,yy,yb,yT,yA,y_,yS,yk,yL,yR,yI,yw,yC,yD,yx,yM,yP,yO,yN,yU,yF,yB,y$,yH,yG,yV,yK,yW,yq,yj,yY,yz,yQ,yX,yZ,yJ,
1981y0,y1,y2,y3,y4,y5,y8,y9,y6,y7,be,bt,bi,br,ba,bs,bn,bo,bl,bd,bu,bh,bc,bm,bf,bp,bg,bv,bE,by,bb,bT,bA,b_,bS,bk,bL,bR,bI,bw,bC,bD,bx,bM,bP,bO,bN,bU,bF,bB,b$,bH,bG,bV,bK,bW,bq,bj,bY,bz,bQ,bX,bZ,bJ,b0,b1,b2,b3,b4,b5,b8,b9,b6,b7,Te,Tt,Ti,Tr,Ta,Ts,Tn,To,Tl,Td,Tu,Th,Tc,Tm,Tf,Tp,Tg,Tv,TE,Ty,Tb,TT,TA,T_,TS=class extends vA{},Tk=class{constructor(e,t={}){vy(this,T_),vb(this,T_,null==t?void 0:t.detail)}get detail(){return vE(this,T_)}initCustomEvent(){}};T_=new WeakMap;var TL={document:{createElement:function(e,t){return new TS}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(TS)},CustomEvent:Tk,EventTarget:vA,HTMLElement:TS,HTMLVideoElement:class extends vA{}},TR="u"<typeof window||void 0===globalThis.customElements,TI=TR?TL:globalThis,Tw=TR?TL.document:globalThis.document;function TC(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function TD(e){return e.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Tx(e){if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}function TM(e){let t=(function(e){let t={};for(let i in e)null!=e[i]&&(t[i]=e[i]);return new URLSearchParams(t)})(e).toString();return t?"?"+t:""}var TP,TO,TN,TU=(e,t)=>!!e&&!!t&&(!!e.contains(t)||TU(e,t.getRootNode().host)),TF="mux.com",TB=(()=>{try{return"3.9.1"}catch{}return"UNKNOWN"})(),T$=e=>{if(e){if([lm,lc].includes(e))return e;if(null!=e&&e.includes("live"))return lm}},TH={crossorigin:"crossOrigin",playsinline:"playsInline"},TG=class{constructor(e,t){vy(this,TP),vy(this,TO),vy(this,TN,[]),vb(this,TP,e),vb(this,TO,t)}[Symbol.iterator](){return vE(this,TN).values()}get length(){return vE(this,TN).length}get value(){var e;return null!=(e=vE(this,TN).join(" "))?e:""}set value(e){var t;e!==this.value&&(vb(this,TN,[]),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return vE(this,TN)[e]}values(){return vE(this,TN).values()}keys(){return vE(this,TN).keys()}forEach(e){vE(this,TN).forEach(e)}add(...e){var t,i;e.forEach(e=>{this.contains(e)||vE(this,TN).push(e)}),(""!==this.value||null!=(t=vE(this,TP))&&t.hasAttribute(`${vE(this,TO)}`))&&null!=(i=vE(this,TP))&&i.setAttribute(`${vE(this,TO)}`,`${this.value}`)}remove(...e){var t;e.forEach(e=>{vE(this,TN).splice(vE(this,TN).indexOf(e),1)}),null==(t=vE(this,TP))||t.setAttribute(`${vE(this,TO)}`,`${this.value}`)}contains(e){return vE(this,TN).includes(e)}toggle(e,t){return void 0!==t?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};TP=new WeakMap,TO=new WeakMap,TN=new WeakMap;var TV=`[mux-player ${TB}]`;function TK(...e){console.warn(TV,...e)}function TW(...e){console.error(TV,...e)}function Tq(e){var t;let i=null!=(t=e.message)?t:"";e.context&&(i+=` ${e.context}`),e.file&&(i+=` ${lC("Read more: ")}
1982https://github.com/muxinc/elements/blob/main/errors/${e.file}`),TK(i)}var Tj={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},TY={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},Tz=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),TQ=[...Object.values(Tj).filter(e=>Tj.PLAYSINLINE!==e),...Object.values(TY)];function TX(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}var TZ=class extends TI.HTMLElement{static get observedAttributes(){return TQ}constructor(){super()}attributeChangedCallback(e,t,i){var r,a;switch(e){case TY.MUTED:this.media&&(this.media.muted=null!=i,this.media.defaultMuted=null!=i);return;case TY.VOLUME:{let e=null!=(r=Tx(i))?r:1;this.media&&(this.media.volume=e);return}case TY.PLAYBACKRATE:{let e=null!=(a=Tx(i))?a:1;this.media&&(this.media.playbackRate=e,this.media.defaultPlaybackRate=e);return}}}play(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.play())?t:Promise.reject()}pause(){var e;null==(e=this.media)||e.pause()}load(){var e;null==(e=this.media)||e.load()}get media(){var e;return null==(e=this.shadowRoot)?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return null==(t=null==(e=this.media)?void 0:e.paused)||t}get duration(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.duration)?t:NaN}
1982get ended(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.ended)&&t}get buffered(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.buffered)?t:Tz}get seekable(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.seekable)?t:Tz}get readyState(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.readyState)?t:0}get videoWidth(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoWidth)?t:0}get videoHeight(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoHeight)?t:0}get currentSrc(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentSrc)?t:""}get currentTime(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentTime)?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.volume)?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.playbackRate)?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return null!=(e=Tx(this.getAttribute(TY.PLAYBACKRATE)))?e:1}set defaultPlaybackRate(e){null!=e?this.setAttribute(TY.PLAYBACKRATE,`${e}`):this.removeAttribute(TY.PLAYBACKRATE)}get crossOrigin(){return TX(this,Tj.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tj.CROSSORIGIN,`${e}`)}get autoplay(){return null!=TX(this,Tj.AUTOPLAY)}set autoplay(e){e?this.setAttribute(Tj.AUTOPLAY,"string"==typeof e?e:""):this.removeAttribute(Tj.AUTOPLAY)}get loop(){return null!=TX(this,Tj.LOOP)}set loop(e){e?this.setAttribute(Tj.LOOP,""):this.removeAttribute(Tj.LOOP)}get muted(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.muted)&&t}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return null!=TX(this,Tj.MUTED)}set defaultMuted(e){e?this.setAttribute(Tj.MUTED,""):this.removeAttribute(Tj.MUTED)}get playsInline(){return null!=TX(this,Tj.PLAYSINLINE)}set playsInline(e){TW("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tj.PRELOAD,e):this.removeAttribute(Tj.PRELOAD)}},TJ=`:host {
1983  --media-control-display: var(--controls);
1984  --media-loading-indicator-display: var(--loading-indicator);
1985  --media-dialog-display: var(--dialog);
1986  --media-play-button-display: var(--play-button);
1987  --media-live-button-display: var(--live-button);
1988  --media-seek-backward-button-display: var(--seek-backward-button);
1989  --media-seek-forward-button-display: var(--seek-forward-button);
1990  --media-mute-button-display: var(--mute-button);
1991  --media-captions-button-display: var(--captions-button);
1992  --media-captions-menu-button-display: var(--captions-menu-button, var(--media-captions-button-display));
1993  --media-rendition-menu-button-display: var(--rendition-menu-button);
1994  --media-audio-track-menu-button-display: var(--audio-track-menu-button);
1995  --media-airplay-button-display: var(--airplay-button);
1996  --media-pip-button-display: var(--pip-button);
1997  --media-fullscreen-button-display: var(--fullscreen-button);
1998  --media-cast-button-display: var(--cast-button, var(--_cast-button-drm-display));
1999  --media-playback-rate-button-display: var(--playback-rate-button);
2000  --media-playback-rate-menu-button-display: var(--playback-rate-menu-button);
2001  --media-volume-range-display: var(--volume-range);
2002  --media-time-range-display: var(--time-range);
2003  --media-time-display-display: var(--time-display);
2004  --media-duration-display-display: var(--duration-display);
2005  --media-title-display-display: var(--title-display);
2006
2007  display: inline-block;
2008  line-height: 0;
2009  width: 100%;
2010}
2011
2012a {
2013  color: #fff;
2014  font-size: 0.9em;
2015  text-decoration: underline;
2016}
2017
2018media-theme {
2019  display: inline-block;
2020  line-height: 0;
2021  width: 100%;
2022  height: 100%;
2023  direction: ltr;
2024}
2025
2026media-poster-image {
2027  display: inline-block;
2028  line-height: 0;
2029  width: 100%;
2030  height: 100%;
2031}
2032
2033media-poster-image:not([src]):not([placeholdersrc]) {
2034  display: none;
2035}
2036
2037::part(top),
2038[part~='top'] {
2039  --media-control-display: var(--controls, var(--top-controls));
2040  --media-play-button-display: var(--play-button, var(--top-play-button));
2041  --media-live-button-display: var(--live-button, var(--top-live-button));
2042  --media-seek-backward-button-display: var(--seek-backward-button, var(--top-seek-backward-button));
2043  --media-seek-forward-button-display: var(--seek-forward-button, var(--top-seek-forward-button));
2044  --media-mute-button-display: var(--mute-button, var(--top-mute-button));
2045  --media-captions-button-display: var(--captions-button, var(--top-captions-button));
2046  --media-captions-menu-button-display: var(
2047    --captions-menu-button,
2048    var(--media-captions-button-display, var(--top-captions-menu-button))
2049  );
2050  --media-rendition-menu-button-display: var(--rendition-menu-button, var(--top-rendition-menu-button));
2051  --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--top-audio-track-menu-button));
2052  --media-airplay-button-display: var(--airplay-button, var(--top-airplay-button));
2053  --media-pip-button-display: var(--pip-button, var(--top-pip-button));
2054  --media-fullscreen-button-display: var(--fullscreen-button, var(--top-fullscreen-button));
2055  --media-cast-button-display: var(--cast-button, var(--top-cast-button, var(--_cast-button-drm-display)));
2056  --media-playback-rate-button-display: var(--playback-rate-button, var(--top-playback-rate-button));
2057  --media-playback-rate-menu-button-display: var(
2058    --captions-menu-button,
2059    var(--media-playback-rate-button-display, var(--top-playback-rate-menu-button))
2060  );
2061  --media-volume-range-display: var(--volume-range, var(--top-volume-range));
2062  --media-time-range-display: var(--time-range, var(--top-time-range));
2063  --media-time-display-display: var(--time-display, var(--top-time-display));
2064  --media-duration-display-display: var(--duration-display, var(--top-duration-display));
2065  --media-title-display-display: var(--title-display, var(--top-title-display));
2066}
2067
2068::part(center),
2069[part~='center'] {
2070  --media-control-display: var(--controls, var(--center-controls));
2071  --media-play-button-display: var(--play-button, var(--center-play-button));
2072  --media-live-button-display: var(--live-button, var(--center-live-button));
2073  --media-seek-backward-button-display: var(--seek-backward-button, var(--center-seek-backward-button));
2074  --media-seek-forward-button-display: var(--seek-forward-button, var(--center-seek-forward-button));
2075  --media-mute-button-display: var(--mute-button, var(--center-mute-button));
2076  --media-captions-button-display: var(--captions-button, var(--center-captions-button));
2077  --media-captions-menu-button-display: var(
2078    --captions-menu-button,
2079    var(--media-captions-button-display, var(--center-captions-menu-button))
2080  );
2081  --media-rendition-menu-button-display: var(--rendition-menu-button, var(--center-rendition-menu-button));
2082  --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--center-audio-track-menu-button));
2083  --media-airplay-button-display: var(--airplay-button, var(--center-airplay-button));
2084  --media-pip-button-display: var(--pip-button, var(--center-pip-button));
2085  --media-fullscreen-button-display: var(--fullscreen-button, var(--center-fullscreen-button));
2086  --media-cast-button-display: var(--cast-button, var(--center-cast-button, var(--_cast-button-drm-display)));
2087  --media-playback-rate-button-display: var(--playback-rate-button, var(--center-playback-rate-button));
2088  --media-playback-rate-menu-button-display: var(
2089    --playback-rate-menu-button,
2090    var(--media-playback-rate-button-display, var(--center-playback-rate-menu-button))
2091  );
2092  --media-volume-range-display: var(--volume-range, var(--center-volume-range));
2093  --media-time-range-display: var(--time-range, var(--center-time-range));
2094  --media-time-display-display: var(--time-display, var(--center-time-display));
2095  --media-duration-display-display: var(--duration-display, var(--center-duration-display));
2096}
2097
2098::part(bottom),
2099[part~='bottom'] {
2100  --media-control-display: var(--controls, var(--bottom-controls));
2101  --media-play-button-display: var(--play-button, var(--bottom-play-button));
2102  --media-live-button-display: var(--live-button, var(--bottom-live-button));
2103  --media-seek-backward-button-display: var(--seek-backward-button, var(--bottom-seek-backward-button));
2104  --media-seek-forward-button-display: var(--seek-forward-button, var(--bottom-seek-forward-button));
2105  --media-mute-button-display: var(--mute-button, var(--bottom-mute-button));
2106  --media-captions-button-display: var(--captions-button, var(--bottom-captions-button));
2107  --media-captions-menu-button-display: var(
2108    --captions-menu-button,
2109    var(--media-captions-button-display, var(--bottom-captions-menu-button))
2110  );
2111  --media-rendition-menu-button-display: var(--rendition-menu-button, var(--bottom-rendition-menu-button));
2112  --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--bottom-audio-track-menu-button));
2113  --media-airplay-button-display: var(--airplay-button, var(--bottom-airplay-button));
2114  --media-pip-button-display: var(--pip-button, var(--bottom-pip-button));
2115  --media-fullscreen-button-display: var(--fullscreen-button, var(--bottom-fullscreen-button));
2116  --media-cast-button-display: var(--cast-button, var(--bottom-cast-button, var(--_cast-button-drm-display)));
2117  --media-playback-rate-button-display: var(--playback-rate-button, var(--bottom-playback-rate-button));
2118  --media-playback-rate-menu-button-display: var(
2119    --playback-rate-menu-button,
2120    var(--media-playback-rate-button-display, var(--bottom-playback-rate-menu-button))
2121  );
2122  --media-volume-range-display: var(--volume-range, var(--bottom-volume-range));
2123  --media-time-range-display: var(--time-range, var(--bottom-time-range));
2124  --media-time-display-display: var(--time-display, var(--bottom-time-display));
2125  --media-duration-display-display: var(--duration-display, var(--bottom-duration-display));
2126  --media-title-display-display: var(--title-display, var(--bottom-title-display));
2127}
2128
2129:host([no-tooltips]) {
2130  --media-tooltip-display: none;
2131}
2132`,T0=new WeakMap,T1=class e{constructor(e,t){this.element=e,this.type=t,this.element.addEventListener(this.type,this);let i=T0.get(this.element);i&&i.set(this.type,this)}set(e){if("function"==typeof e)this.handleEvent=e.bind(this.element);else if("object"==typeof e&&"function"==typeof e.handleEvent)this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let e=T0.get(this.element);
2132e&&e.delete(this.type)}}static for(t){T0.has(t.element)||T0.set(t.element,new Map);let i=t.attributeName.slice(2),r=T0.get(t.element);return r&&r.has(i)?r.get(i):new e(t.element,i)}},T2=new Map,T3=new WeakMap,T4=new WeakMap,T5=class{constructor(e,t,i){this.strings=e,this.values=t,this.processor=i,this.stringsKey=this.strings.join("\x01")}get template(){if(T2.has(this.stringsKey))return T2.get(this.stringsKey);{let e=Tw.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((e,i,r)=>e+i+(r<t?`{{ ${r} }}`:""),""),T2.set(this.stringsKey,e),e}}renderInto(e){var t;let i=this.template;if(T3.get(e)!==i){T3.set(e,i);let t=new p$(i,this.values,this.processor);T4.set(e,t),e instanceof pY?e.replace(...t.children):e.appendChild(t);return}let r=T4.get(e);null==(t=null==r?void 0:r.update)||t.call(r,this.values)}},T8={processCallback(e,t,i){var r;if(i)for(let[e,a]of t)e in i&&function(e,t){(function(e,t){if(e instanceof pj&&t instanceof Element){let i=e.element;return i[e.attributeName]!==t&&(e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),i[e.attributeName]=t),!0}return!1})(e,t)||function(e,t){if("boolean"==typeof t&&e instanceof pj){let i=e.attributeNamespace;return t!==e.element.hasAttributeNS(i,e.attributeName)&&(e.booleanValue=t),!0}return!1}(e,t)||e instanceof pj&&e.attributeName.startsWith("on")&&(T1.for(e).set(t),e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),1)||!1===t&&e instanceof pY&&(e.replace(""),1)||t instanceof T5&&e instanceof pY&&(t.renderInto(e),1)||t instanceof DocumentFragment&&e instanceof pY&&(t.childNodes.length&&e.replace(...t.childNodes),1)||function(e,t){if(e instanceof pj){let i=e.attributeNamespace,r=e.element.getAttributeNS(i,e.attributeName);return String(t)!==r&&(e.value=String(t))}e.value=String(t)}(e,t)}(a,null!=(r=i[e])?r:"")}};function T9(e,...t){return new T5(e,t,T8)}var T6=Object.values({TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",THUMB:"thumb",DISPLAY:"display",CONTROL_BAR:"control-bar",MENU_BUTTON:"menu-button",MENU:"menu",MENU_ITEM:"menu-item",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"}).join(", "),T7=e=>e.charAt(0).toUpperCase()+e.slice(1),Ae=(e,t)=>
2132{let i=(e=>{if(e.muxCode){if(2403210===e.muxCode)return"403-expired-token.md";if(2412202===e.muxCode)return"403-malformatted-token.md";if([2403222,2403221].includes(e.muxCode))return"403-incorrect-aud-value.md";if(2403232===e.muxCode)return"403-playback-id-mismatch.md";if(2403201===e.muxCode)return"missing-signed-tokens.md";if(2404e3===e.muxCode)return"404-not-found.md";if(2412e3===e.muxCode)return"412-not-playable.md"}if(e.code){if(e.code===ld.MEDIA_ERR_NETWORK)return"";if(e.code===ld.MEDIA_ERR_DECODE)return"media-decode-error.md";if(e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""})(e);return{message:e.message,context:e.context,file:i}},At
vendor: 8,830 bytes, lines 2132-2432
2132=`<template id="media-theme-gerwig">
2133  <style>
2134    @keyframes pre-play-hide {
2135      0% {
2136        transform: scale(1);
2137        opacity: 1;
2138      }
2139
2140      30% {
2141        transform: scale(0.7);
2142      }
2143
2144      100% {
2145        transform: scale(1.5);
2146        opacity: 0;
2147      }
2148    }
2149
2150    :host {
2151      --_primary-color: var(--media-primary-color, #fff);
2152      --_secondary-color: var(--media-secondary-color, transparent);
2153      --_accent-color: var(--media-accent-color, #fa50b5);
2154      --_text-color: var(--media-text-color, #000);
2155
2156      --media-icon-color: var(--_primary-color);
2157      --media-control-background: var(--_secondary-color);
2158      --media-control-hover-background: var(--_accent-color);
2159      --media-time-buffered-color: rgba(255, 255, 255, 0.4);
2160      --media-preview-time-text-shadow: none;
2161      --media-control-height: 14px;
2162      --media-control-padding: 6px;
2163      --media-tooltip-container-margin: 6px;
2164      --media-tooltip-distance: 18px;
2165
2166      color: var(--_primary-color);
2167      display: inline-block;
2168      width: 100%;
2169      height: 100%;
2170    }
2171
2172    :host([audio]) {
2173      --_secondary-color: var(--media-secondary-color, black);
2174      --media-preview-time-text-shadow: none;
2175    }
2176
2177    :host([audio]) ::slotted([slot='media']) {
2178      height: 0px;
2179    }
2180
2181    :host([audio]) media-loading-indicator {
2182      display: none;
2183    }
2184
2185    :host([audio]) media-controller {
2186      background: transparent;
2187    }
2188
2189    :host([audio]) media-controller::part(vertical-layer) {
2190      background: transparent;
2191    }
2192
2193    :host([audio]) media-control-bar {
2194      width: 100%;
2195      background-color: var(--media-control-background);
2196    }
2197
2198    /*
2199     * 0.433s is the transition duration for VTT Regions.
2200     * Borrowed here, so the captions don't move too fast.
2201     */
2202    media-controller {
2203      --media-webkit-text-track-transform: translateY(0) scale(0.98);
2204      --media-webkit-text-track-transition: transform 0.433s ease-out 0.3s;
2205    }
2206    media-controller:is([mediapaused], :not([userinactive])) {
2207      --media-webkit-text-track-transform: translateY(-50px) scale(0.98);
2208      --media-webkit-text-track-transition: transform 0.15s ease;
2209    }
2210
2211    /*
2212     * CSS specific to iOS devices.
2213     * See: https://stackoverflow.com/questions/30102792/css-media-query-to-target-only-ios-devices/60220757#60220757
2214     */
2215    @supports (-webkit-touch-callout: none) {
2216      /* Disable subtitle adjusting for iOS Safari */
2217      media-controller[mediaisfullscreen] {
2218        --media-webkit-text-track-transform: unset;
2219        --media-webkit-text-track-transition: unset;
2220      }
2221    }
2222
2223    media-time-range {
2224      --media-box-padding-left: 6px;
2225      --media-box-padding-right: 6px;
2226      --media-range-bar-color: var(--_accent-color);
2227      --media-time-range-buffered-color: var(--_primary-color);
2228      --media-range-track-color: transparent;
2229      --media-range-track-background: rgba(255, 255, 255, 0.4);
2230      --media-range-thumb-background: radial-gradient(
2231        circle,
2232        #000 0%,
2233        #000 25%,
2234        var(--_accent-color) 25%,
2235        var(--_accent-color)
2236      );
2237      --media-range-thumb-width: 12px;
2238      --media-range-thumb-height: 12px;
2239      --media-range-thumb-transform: scale(0);
2240      --media-range-thumb-transition: transform 0.3s;
2241      --media-range-thumb-opacity: 1;
2242      --media-preview-background: var(--_primary-color);
2243      --media-box-arrow-background: var(--_primary-color);
2244      --media-preview-thumbnail-border: 5px solid var(--_primary-color);
2245      --media-preview-border-radius: 5px;
2246      --media-text-color: var(--_text-color);
2247      --media-control-hover-background: transparent;
2248      --media-preview-chapter-text-shadow: none;
2249      color: var(--_accent-color);
2250      padding: 0 6px;
2251    }
2252
2253    :host([audio]) media-time-range {
2254      --media-preview-time-padding: 1.5px 6px;
2255      --media-preview-box-margin: 0 0 -5px;
2256    }
2257
2258    media-time-range:hover {
2259      --media-range-thumb-transform: scale(1);
2260    }
2261
2262    media-preview-thumbnail {
2263      border-bottom-width: 0;
2264    }
2265
2266    [part~='menu'] {
2267      border-radius: 2px;
2268      border: 1px solid rgba(0, 0, 0, 0.1);
2269      bottom: 50px;
2270      padding: 2.5px 10px;
2271    }
2272
2273    [part~='menu']::part(indicator) {
2274      fill: var(--_accent-color);
2275    }
2276
2277    [part~='menu']::part(menu-item) {
2278      box-sizing: border-box;
2279      display: flex;
2280      align-items: center;
2281      padding: 6px 10px;
2282      min-height: 34px;
2283    }
2284
2285    [part~='menu']::part(checked) {
2286      font-weight: 700;
2287    }
2288
2289    media-captions-menu,
2290    media-rendition-menu,
2291    media-audio-track-menu,
2292    media-playback-rate-menu {
2293      position: absolute; /* ensure they don't take up space in DOM on load */
2294      --media-menu-background: var(--_primary-color);
2295      --media-menu-item-checked-background: transparent;
2296      --media-text-color: var(--_text-color);
2297      --media-menu-item-hover-background: transparent;
2298      --media-menu-item-hover-outline: var(--_accent-color) solid 1px;
2299    }
2300
2301    media-rendition-menu {
2302      min-width: 140px;
2303    }
2304
2305    /* The icon is a circle so make it 16px high instead of 14px for more balance. */
2306    media-audio-track-menu-button {
2307      --media-control-padding: 5px;
2308      --media-control-height: 16px;
2309    }
2310
2311    media-playback-rate-menu-button {
2312      --media-control-padding: 6px 3px;
2313      min-width: 4.4ch;
2314    }
2315
2316    media-playback-rate-menu {
2317      --media-menu-flex-direction: row;
2318      --media-menu-item-checked-background: var(--_accent-color);
2319      --media-menu-item-checked-indicator-display: none;
2320      margin-right: 6px;
2321      padding: 0;
2322      --media-menu-gap: 0.25em;
2323    }
2324
2325    media-playback-rate-menu[part~='menu']::part(menu-item) {
2326      padding: 6px 6px 6px 8px;
2327    }
2328
2329    media-playback-rate-menu[part~='menu']::part(checked) {
2330      color: #fff;
2331    }
2332
2333    :host(:not([audio])) media-time-range {
2334      /* Adding px is required here for calc() */
2335      --media-range-padding: 0px;
2336      background: transparent;
2337      z-index: 10;
2338      height: 10px;
2339      bottom: -3px;
2340      width: 100%;
2341    }
2342
2343    media-control-bar :is([role='button'], [role='switch'], button) {
2344      line-height: 0;
2345    }
2346
2347    media-control-bar :is([part*='button'], [part*='range'], [part*='display']) {
2348      border-radius: 3px;
2349    }
2350
2351    .spacer {
2352      flex-grow: 1;
2353      background-color: var(--media-control-background, rgba(20, 20, 30, 0.7));
2354    }
2355
2356    media-control-bar[slot~='top-chrome'] {
2357      min-height: 42px;
2358      pointer-events: none;
2359    }
2360
2361    media-control-bar {
2362      --gradient-steps:
2363        hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%, hsl(0 0% 0% / 0.104) 22.5%,
2364        hsl(0 0% 0% / 0.175) 29%, hsl(0 0% 0% / 0.259) 35.3%, hsl(0 0% 0% / 0.352) 41.2%, hsl(0 0% 0% / 0.45) 47.1%,
2365        hsl(0 0% 0% / 0.55) 52.9%, hsl(0 0% 0% / 0.648) 58.8%, hsl(0 0% 0% / 0.741) 64.7%, hsl(0 0% 0% / 0.825) 71%,
2366        hsl(0 0% 0% / 0.896) 77.5%, hsl(0 0% 0% / 0.951) 84.5%, hsl(0 0% 0% / 0.987) 91.9%, hsl(0 0% 0%) 100%;
2367    }
2368
2369    :host([title]) media-control-bar[slot='top-chrome']::before,
2370    :host([videotitle]) media-control-bar[slot='top-chrome']::before {
2371      content: '';
2372      position: absolute;
2373      width: 100%;
2374      padding-bottom: min(100px, 25%);
2375      background: linear-gradient(to top, var(--gradient-steps));
2376      opacity: 0.8;
2377      pointer-events: none;
2378    }
2379
2380    :host(:not([audio])) media-control-bar[part~='bottom']::before {
2381      content: '';
2382      position: absolute;
2383      width: 100%;
2384      bottom: 0;
2385      left: 0;
2386      padding-bottom: min(100px, 25%);
2387      background: linear-gradient(to bottom, var(--gradient-steps));
2388      opacity: 0.8;
2389      z-index: 1;
2390      pointer-events: none;
2391    }
2392
2393    media-control-bar[part~='bottom'] > * {
2394      z-index: 20;
2395    }
2396
2397    media-control-bar[part~='bottom'] {
2398      padding: 6px 6px;
2399    }
2400
2401    media-control-bar[slot~='top-chrome'] > * {
2402      --media-control-background: transparent;
2403      --media-control-hover-background: transparent;
2404      position: relative;
2405    }
2406
2407    media-controller::part(vertical-layer) {
2408      transition: background-color 1s;
2409    }
2410
2411    media-controller:is([mediapaused], :not([userinactive]))::part(vertical-layer) {
2412      background-color: var(--controls-backdrop-color, var(--controls, transparent));
2413      transition: background-color 0.25s;
2414    }
2415
2416    .center-controls {
2417      --media-button-icon-width: 100%;
2418      --media-button-icon-height: auto;
2419      --media-tooltip-display: none;
2420      pointer-events: none;
2421      width: 100%;
2422      display: flex;
2423      flex-flow: row;
2424      align-items: center;
2425      justify-content: center;
2426      paint-order: stroke;
2427      stroke: rgba(102, 102, 102, 1);
2428      stroke-width: 0.3px;
2429      text-shadow:
2430        0 0 2px rgb(0 0 0 / 0.25),
2431        0 0 6px rgb(0 0 0 / 0.25);
2432    
2432}
2433
2434    .center-controls media-play-button {
2435      --media-control-background: transparent;
2436      --media-control-hover-background: transparent;
2437      --media-control-padding: 0;
2438      width: 40px;
2439      filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25))
vendor: 38,939 bytes, lines 2439-3264
2439;
2440    }
2441
2442    [breakpointsm] .center-controls media-play-button {
2443      width: 90px;
2444      height: 90px;
2445      border-radius: 50%;
2446      transition: background 0.4s;
2447      padding: 24px;
2448      --media-control-background: #000;
2449      --media-control-hover-background: var(--_accent-color);
2450    }
2451
2452    .center-controls media-seek-backward-button,
2453    .center-controls media-seek-forward-button {
2454      --media-control-background: transparent;
2455      --media-control-hover-background: transparent;
2456      padding: 0;
2457      margin: 0 20px;
2458      width: max(33px, min(8%, 40px));
2459      text-shadow:
2460        0 0 2px rgb(0 0 0 / 0.25),
2461        0 0 6px rgb(0 0 0 / 0.25);
2462    }
2463
2464    [breakpointsm]:not([audio]) .center-controls.pre-playback {
2465      display: grid;
2466      align-items: initial;
2467      justify-content: initial;
2468      height: 100%;
2469      overflow: hidden;
2470    }
2471
2472    [breakpointsm]:not([audio]) .center-controls.pre-playback media-play-button {
2473      place-self: var(--_pre-playback-place, center);
2474      grid-area: 1 / 1;
2475      margin: 16px;
2476    }
2477
2478    /* Show and hide controls or pre-playback state */
2479
2480    [breakpointsm]:is([mediahasplayed], :not([mediapaused])):not([audio])
2481      .center-controls.pre-playback
2482      media-play-button {
2483      /* Using \`forwards\` would lead to a laggy UI after the animation got in the end state */
2484      animation: 0.3s linear pre-play-hide;
2485      opacity: 0;
2486      pointer-events: none;
2487    }
2488
2489    .autoplay-unmute {
2490      --media-control-hover-background: transparent;
2491      width: 100%;
2492      display: flex;
2493      align-items: center;
2494      justify-content: center;
2495      filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25));
2496    }
2497
2498    .autoplay-unmute-btn {
2499      --media-control-height: 16px;
2500      border-radius: 8px;
2501      background: #000;
2502      color: var(--_primary-color);
2503      display: flex;
2504      align-items: center;
2505      padding: 8px 16px;
2506      font-size: 18px;
2507      font-weight: 500;
2508      cursor: pointer;
2509    }
2510
2511    .autoplay-unmute-btn:hover {
2512      background: var(--_accent-color);
2513    }
2514
2515    [breakpointsm] .autoplay-unmute-btn {
2516      --media-control-height: 30px;
2517      padding: 14px 24px;
2518      font-size: 26px;
2519    }
2520
2521    .autoplay-unmute-btn svg {
2522      margin: 0 6px 0 0;
2523    }
2524
2525    [breakpointsm] .autoplay-unmute-btn svg {
2526      margin: 0 10px 0 0;
2527    }
2528
2529    media-controller:not([audio]):not([mediahasplayed]) *:is(media-control-bar, media-time-range) {
2530      display: none;
2531    }
2532
2533    media-error-dialog:not([mediaerrorcode]) {
2534      opacity: 0;
2535    }
2536
2537    media-loading-indicator {
2538      --media-loading-icon-width: 100%;
2539      --media-button-icon-height: auto;
2540      display: var(--media-control-display, var(--media-loading-indicator-display, flex));
2541      pointer-events: none;
2542      position: absolute;
2543      width: min(15%, 150px);
2544      flex-flow: row;
2545      align-items: center;
2546      justify-content: center;
2547    }
2548
2549    /* Intentionally don't target the div for transition but the children
2550     of the div. Prevents messing with media-chrome's autohide feature. */
2551    media-loading-indicator + div * {
2552      transition: opacity 0.15s;
2553      opacity: 1;
2554    }
2555
2556    media-loading-indicator[medialoading]:not([mediapaused]) ~ div > * {
2557      opacity: 0;
2558      transition-delay: 400ms;
2559    }
2560
2561    media-volume-range {
2562      width: min(100%, 100px);
2563      --media-range-padding-left: 10px;
2564      --media-range-padding-right: 10px;
2565      --media-range-thumb-width: 12px;
2566      --media-range-thumb-height: 12px;
2567      --media-range-thumb-background: radial-gradient(
2568        circle,
2569        #000 0%,
2570        #000 25%,
2571        var(--_primary-color) 25%,
2572        var(--_primary-color)
2573      );
2574      --media-control-hover-background: none;
2575    }
2576
2577    media-time-display {
2578      white-space: nowrap;
2579    }
2580
2581    /* Generic style for explicitly disabled controls */
2582    media-control-bar[part~='bottom'] [disabled],
2583    media-control-bar[part~='bottom'] [aria-disabled='true'] {
2584      opacity: 60%;
2585      cursor: not-allowed;
2586    }
2587
2588    media-text-display {
2589      --media-font-size: 16px;
2590      --media-control-padding: 14px;
2591      font-weight: 500;
2592    }
2593
2594    media-play-button.animated *:is(g, path) {
2595      transition: all 0.3s;
2596    }
2597
2598    media-play-button.animated[mediapaused] .pause-icon-pt1 {
2599      opacity: 0;
2600    }
2601
2602    media-play-button.animated[mediapaused] .pause-icon-pt2 {
2603      transform-origin: center center;
2604      transform: scaleY(0);
2605    }
2606
2607    media-play-button.animated[mediapaused] .play-icon {
2608      clip-path: inset(0 0 0 0);
2609    }
2610
2611    media-play-button.animated:not([mediapaused]) .play-icon {
2612      clip-path: inset(0 0 0 100%);
2613    }
2614
2615    media-seek-forward-button,
2616    media-seek-backward-button {
2617      --media-font-weight: 400;
2618    }
2619
2620    .mute-icon {
2621      display: inline-block;
2622    }
2623
2624    .mute-icon :is(path, g) {
2625      transition: opacity 0.5s;
2626    }
2627
2628    .muted {
2629      opacity: 0;
2630    }
2631
2632    media-mute-button[mediavolumelevel='low'] :is(.volume-medium, .volume-high),
2633    media-mute-button[mediavolumelevel='medium'] :is(.volume-high) {
2634      opacity: 0;
2635    }
2636
2637    media-mute-button[mediavolumelevel='off'] .unmuted {
2638      opacity: 0;
2639    }
2640
2641    media-mute-button[mediavolumelevel='off'] .muted {
2642      opacity: 1;
2643    }
2644
2645    /**
2646     * Our defaults for these buttons are to hide them at small sizes
2647     * users can override this with CSS
2648     */
2649    media-controller:not([breakpointsm]):not([audio]) {
2650      --bottom-play-button: none;
2651      --bottom-seek-backward-button: none;
2652      --bottom-seek-forward-button: none;
2653      --bottom-time-display: none;
2654      --bottom-playback-rate-menu-button: none;
2655      --bottom-pip-button: none;
2656    }
2657
2658    [part='mux-badge'] {
2659      position: absolute;
2660      bottom: 10px;
2661      right: 10px;
2662      z-index: 2;
2663      opacity: 0.6;
2664      transition:
2665        opacity 0.2s ease-in-out,
2666        bottom 0.2s ease-in-out;
2667    }
2668
2669    [part='mux-badge']:hover {
2670      opacity: 1;
2671    }
2672
2673    [part='mux-badge'] a {
2674      font-size: 14px;
2675      font-family: var(--_font-family);
2676      color: var(--_primary-color);
2677      text-decoration: none;
2678      display: flex;
2679      align-items: center;
2680      gap: 5px;
2681    }
2682
2683    [part='mux-badge'] .mux-badge-text {
2684      transition: opacity 0.5s ease-in-out;
2685      opacity: 0;
2686    }
2687
2688    [part='mux-badge'] .mux-badge-logo {
2689      width: 40px;
2690      height: auto;
2691      display: inline-block;
2692    }
2693
2694    [part='mux-badge'] .mux-badge-logo svg {
2695      width: 100%;
2696      height: 100%;
2697      fill: white;
2698    }
2699
2700    media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'],
2701    media-controller:not([userinactive]) [part='mux-badge'],
2702    media-controller[mediahasplayed][mediapaused] [part='mux-badge'] {
2703      transition: bottom 0.1s ease-in-out;
2704    }
2705
2706    media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] {
2707      transition: bottom 0.2s ease-in-out 0.62s;
2708    }
2709
2710    media-controller:not([userinactive]) [part='mux-badge'] .mux-badge-text,
2711    media-controller[mediahasplayed][mediapaused] [part='mux-badge'] .mux-badge-text {
2712      opacity: 1;
2713    }
2714
2715    media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] .mux-badge-text {
2716      opacity: 0;
2717    }
2718
2719    media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] {
2720      bottom: 10px;
2721    }
2722
2723    media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'] {
2724      bottom: 10px;
2725    }
2726
2727    media-controller:not([userinactive])[mediahasplayed] [part='mux-badge'],
2728    media-controller[mediahasplayed][mediapaused] [part='mux-badge'] {
2729      bottom: calc(28px + var(--media-control-height, 0px) + var(--media-control-padding, 0px) * 2);
2730    }
2731  </style>
2732
2733  <template partial="TitleDisplay">
2734    <template if="videotitle">
2735      <template if="videotitle != true">
2736        <media-text-display part="top title display" class="title-display">{{videotitle}}</media-text-display>
2737      </template>
2738    </template>
2739    <template if="!videotitle">
2740      <template if="title">
2741        <media-text-display part="top title display" class="title-display">{{title}}</media-text-display>
2742      </template>
2743    </template>
2744  </template>
2745
2746  <template partial="PlayButton">
2747    <media-play-button
2748      part="{{section ?? 'bottom'}} play button"
2749      disabled="{{disabled}}"
2750      aria-disabled="{{disabled}}"
2751      class="animated"
2752    >
2753      <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon">
2754        <g class="play-icon">
2755          <path
2756            d="M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z"
2757          />
2758        </g>
2759        <g class="pause-icon">
2760          <path
2761            class="pause-icon-pt1"
2762            d="M5.90709 0H2.96889C2.46857 0 2.06299 0.405585 2.06299 0.9059V13.0941C2.06299 13.5944 2.46857 14 2.96889 14H5.90709C6.4074 14 6.81299 13.5944 6.81299 13.0941V0.9059C6.81299 0.405585 6.4074 0 5.90709 0Z"
2763          />
2764          <path
2765            class="pause-icon-pt2"
2766            d="M15.1571 0H12.2189C11.7186 0 11.313 0.405585 11.313 0.9059V13.0941C11.313 13.5944 11.7186 14 12.2189 14H15.1571C15.6574 14 16.063 13.5944 16.063 13.0941V0.9059C16.063 0.405585 15.6574 0 15.1571 0Z"
2767          />
2768        </g>
2769      </svg>
2770    </media-play-button>
2771  </template>
2772
2773  <template partial="PrePlayButton">
2774    <media-play-button
2775      part="{{section ?? 'center'}} play button pre-play"
2776      disabled="{{disabled}}"
2777      aria-disabled="{{disabled}}"
2778    >
2779      <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon" style="transform: translate(3px, 0)">
2780        <path
2781          d="M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z"
2782        />
2783      </svg>
2784    </media-play-button>
2785  </template>
2786
2787  <template partial="SeekBackwardButton">
2788    <media-seek-backward-button
2789      seekoffset="{{backwardseekoffset}}"
2790      part="{{section ?? 'bottom'}} seek-backward button"
2791      disabled="{{disabled}}"
2792      aria-disabled="{{disabled}}"
2793    >
2794      <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon">
2795        <path
2796          d="M3.65 2.07888L0.0864 6.7279C-0.0288 6.87812 -0.0288 7.12188 0.0864 7.2721L3.65 11.9211C3.7792 12.0896 4 11.9703 4 11.7321V2.26787C4 2.02968 3.7792 1.9104 3.65 2.07888Z"
2797        />
2798        <text transform="translate(6 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'">
2799          {{backwardseekoffset}}
2800        </text>
2801      </svg>
2802    </media-seek-backward-button>
2803  </template>
2804
2805  <template partial="SeekForwardButton">
2806    <media-seek-forward-button
2807      seekoffset="{{forwardseekoffset}}"
2808      part="{{section ?? 'bottom'}} seek-forward button"
2809      disabled="{{disabled}}"
2810      aria-disabled="{{disabled}}"
2811    >
2812      <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon">
2813        <g>
2814          <text transform="translate(-1 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'">
2815            {{forwardseekoffset}}
2816          </text>
2817          <path
2818            d="M18.35 11.9211L21.9136 7.2721C22.0288 7.12188 22.0288 6.87812 21.9136 6.7279L18.35 2.07888C18.2208 1.91041 18 2.02968 18 2.26787V11.7321C18 11.9703 18.2208 12.0896 18.35 11.9211Z"
2819          />
2820        </g>
2821      </svg>
2822    </media-seek-forward-button>
2823  </template>
2824
2825  <template partial="MuteButton">
2826    <media-mute-button part="bottom mute button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2827      <svg viewBox="0 0 18 14" slot="icon" class="mute-icon" aria-hidden="true">
2828        <g class="unmuted">
2829          <path
2830            d="M6.76786 1.21233L3.98606 3.98924H1.19937C0.593146 3.98924 0.101743 4.51375 0.101743 5.1607V6.96412L0 6.99998L0.101743 7.03583V8.83926C0.101743 9.48633 0.593146 10.0108 1.19937 10.0108H3.98606L6.76773 12.7877C7.23561 13.2547 8 12.9007 8 12.2171V1.78301C8 1.09925 7.23574 0.745258 6.76786 1.21233Z"
2831          />
2832          <path
2833            class="volume-low"
2834            d="M10 3.54781C10.7452 4.55141 11.1393 5.74511 11.1393 6.99991C11.1393 8.25471 10.7453 9.44791 10 10.4515L10.7988 11.0496C11.6734 9.87201 12.1356 8.47161 12.1356 6.99991C12.1356 5.52821 11.6735 4.12731 10.7988 2.94971L10 3.54781Z"
2835          />
2836          <path
2837            class="volume-medium"
2838            d="M12.3778 2.40086C13.2709 3.76756 13.7428 5.35806 13.7428 7.00026C13.7428 8.64246 13.2709 10.233 12.3778 11.5992L13.2106 12.1484C14.2107 10.6185 14.739 8.83796 14.739 7.00016C14.739 5.16236 14.2107 3.38236 13.2106 1.85156L12.3778 2.40086Z"
2839          />
2840          <path
2841            class="volume-high"
2842            d="M15.5981 0.75L14.7478 1.2719C15.7937 2.9919 16.3468 4.9723 16.3468 7C16.3468 9.0277 15.7937 11.0082 14.7478 12.7281L15.5981 13.25C16.7398 11.3722 17.343 9.211 17.343 7C17.343 4.789 16.7398 2.6268 15.5981 0.75Z"
2843          />
2844        </g>
2845        <g class="muted">
2846          <path
2847            fill-rule="evenodd"
2848            clip-rule="evenodd"
2849            d="M4.39976 4.98924H1.19937C1.19429 4.98924 1.17777 4.98961 1.15296 5.01609C1.1271 5.04369 1.10174 5.09245 1.10174 5.1607V8.83926C1.10174 8.90761 1.12714 8.95641 1.15299 8.984C1.17779 9.01047 1.1943 9.01084 1.19937 9.01084H4.39977L7 11.6066V2.39357L4.39976 4.98924ZM7.47434 1.92006C7.4743 1.9201 7.47439 1.92002 7.47434 1.92006V1.92006ZM6.76773 12.7877L3.98606 10.0108H1.19937C0.593146 10.0108 0.101743 9.48633 0.101743 8.83926V7.03583L0 6.99998L0.101743 6.96412V5.1607C0.101743 4.51375 0.593146 3.98924 1.19937 3.98924H3.98606L6.76786 1.21233C7.23574 0.745258 8 1.09925 8 1.78301V12.2171C8 12.9007 7.23561 13.2547 6.76773 12.7877Z"
2850          />
2851          <path
2852            fill-rule="evenodd"
2853            clip-rule="evenodd"
2854            d="M15.2677 9.30323C15.463 9.49849 15.7796 9.49849 15.9749 9.30323C16.1701 9.10796 16.1701 8.79138 15.9749 8.59612L14.2071 6.82841L15.9749 5.06066C16.1702 4.8654 16.1702 4.54882 15.9749 4.35355C15.7796 4.15829 15.4631 4.15829 15.2678 4.35355L13.5 6.1213L11.7322 4.35348C11.537 4.15822 11.2204 4.15822 11.0251 4.35348C10.8298 4.54874 10.8298 4.86532 11.0251 5.06058L12.7929 6.82841L11.0251 8.59619C10.8299 8.79146 10.8299 9.10804 11.0251 9.3033C11.2204 9.49856 11.537 9.49856 11.7323 9.3033L13.5 7.53552L15.2677 9.30323Z"
2855          />
2856        </g>
2857      </svg>
2858    </media-mute-button>
2859  </template>
2860
2861  <template partial="PipButton">
2862    <media-pip-button part="bottom pip button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2863      <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon">
2864        <path
2865          d="M15.9891 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.989C0 13.0996 0.9004 14 2.011 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0ZM17 11.9891C17 12.5465 16.5465 13 15.9891 13H2.011C1.4536 13 1.0001 12.5465 1.0001 11.9891V2.0109C1.0001 1.4535 1.4536 0.9999 2.011 0.9999H15.9891C16.5465 0.9999 17 1.4535 17 2.0109V11.9891Z"
2866        />
2867        <path
2868          d="M15.356 5.67822H8.19523C8.03253 5.67822 7.90063 5.81012 7.90063 5.97282V11.3836C7.90063 11.5463 8.03253 11.6782 8.19523 11.6782H15.356C15.5187 11.6782 15.6506 11.5463 15.6506 11.3836V5.97282C15.6506 5.81012 15.5187 5.67822 15.356 5.67822Z"
2869        />
2870      </svg>
2871    </media-pip-button>
2872  </template>
2873
2874  <template partial="CaptionsMenu">
2875    <media-captions-menu-button part="bottom captions button">
2876      <svg aria-hidden="true" viewBox="0 0 18 14" slot="on">
2877        <path
2878          d="M15.989 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9004 14 2.011 14H15.989C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.989 0ZM4.2292 8.7639C4.5954 9.1902 5.0935 9.4031 5.7233 9.4031C6.1852 9.4031 6.5544 9.301 6.8302 9.0969C7.1061 8.8933 7.2863 8.614 7.3702 8.26H8.4322C8.3062 8.884 8.0093 9.3733 7.5411 9.7273C7.0733 10.0813 6.4703 10.2581 5.732 10.2581C5.108 10.2581 4.5699 10.1219 4.1168 9.8489C3.6637 9.5759 3.3141 9.1946 3.0685 8.7058C2.8224 8.2165 2.6994 7.6511 2.6994 7.009C2.6994 6.3611 2.8224 5.7927 3.0685 5.3034C3.3141 4.8146 3.6637 4.4323 4.1168 4.1559C4.5699 3.88 5.108 3.7418 5.732 3.7418C6.4703 3.7418 7.0733 3.922 7.5411 4.2818C8.0094 4.6422 8.3062 5.1461 8.4322 5.794H7.3702C7.2862 5.4283 7.106 5.1368 6.8302 4.921C6.5544 4.7052 6.1852 4.5968 5.7233 4.5968C5.0934 4.5968 4.5954 4.8116 4.2292 5.2404C3.8635 5.6696 3.6804 6.259 3.6804 7.009C3.6804 7.7531 3.8635 8.3381 4.2292 8.7639ZM11.0974 8.7639C11.4636 9.1902 11.9617 9.4031 12.5915 9.4031C13.0534 9.4031 13.4226 9.301 13.6984 9.0969C13.9743 8.8933 14.1545 8.614 14.2384 8.26H15.3004C15.1744 8.884 14.8775 9.3733 14.4093 9.7273C13.9415 10.0813 13.3385 10.2581 12.6002 10.2581C11.9762 10.2581 11.4381 10.1219 10.985 9.8489C10.5319 9.5759 10.1823 9.1946 9.9367 8.7058C9.6906 8.2165 9.5676 7.6511 9.5676 7.009C9.5676 6.3611 9.6906 5.7927 9.9367 5.3034C10.1823 4.8146 10.5319 4.4323 10.985 4.1559C11.4381 3.88 11.9762 3.7418 12.6002 3.7418C13.3385 3.7418 13.9415 3.922 14.4093 4.2818C14.8776 4.6422 15.1744 5.1461 15.3004 5.794H14.2384C14.1544 5.4283 13.9742 5.1368 13.6984 4.921C13.4226 4.7052 13.0534 4.5968 12.5915 4.5968C11.9616 4.5968 11.4636 4.8116 11.0974 5.2404C10.7317 5.6696 10.5486 6.259 10.5486 7.009C10.5486 7.7531 10.7317 8.3381 11.0974 8.7639Z"
2879        />
2880      </svg>
2881      <svg aria-hidden="true" viewBox="0 0 18 14" slot="off">
2882        <path
2883          d="M5.73219 10.258C5.10819 10.258 4.57009 10.1218 4.11699 9.8488C3.66389 9.5758 3.31429 9.1945 3.06869 8.7057C2.82259 8.2164 2.69958 7.651 2.69958 7.0089C2.69958 6.361 2.82259 5.7926 3.06869 5.3033C3.31429 4.8145 3.66389 4.4322 4.11699 4.1558C4.57009 3.8799 5.10819 3.7417 5.73219 3.7417C6.47049 3.7417 7.07348 3.9219 7.54128 4.2817C8.00958 4.6421 8.30638 5.146 8.43238 5.7939H7.37039C7.28639 5.4282 7.10618 5.1367 6.83039 4.9209C6.55459 4.7051 6.18538 4.5967 5.72348 4.5967C5.09358 4.5967 4.59559 4.8115 4.22939 5.2403C3.86369 5.6695 3.68058 6.2589 3.68058 7.0089C3.68058 7.753 3.86369 8.338 4.22939 8.7638C4.59559 9.1901 5.09368 9.403 5.72348 9.403C6.18538 9.403 6.55459 9.3009 6.83039 9.0968C7.10629 8.8932 7.28649 8.6139 7.37039 8.2599H8.43238C8.30638 8.8839 8.00948 9.3732 7.54128 9.7272C7.07348 10.0812 6.47049 10.258 5.73219 10.258Z"
2884        />
2885        <path
2886          d="M12.6003 10.258C11.9763 10.258 11.4382 10.1218 10.9851 9.8488C10.532 9.5758 10.1824 9.1945 9.93685 8.7057C9.69075 8.2164 9.56775 7.651 9.56775 7.0089C9.56775 6.361 9.69075 5.7926 9.93685 5.3033C10.1824 4.8145 10.532 4.4322 10.9851 4.1558C11.4382 3.8799 11.9763 3.7417 12.6003 3.7417C13.3386 3.7417 13.9416 3.9219 14.4094 4.2817C14.8777 4.6421 15.1745 5.146 15.3005 5.7939H14.2385C14.1545 5.4282 13.9743 5.1367 13.6985 4.9209C13.4227 4.7051 13.0535 4.5967 12.5916 4.5967C11.9617 4.5967 11.4637 4.8115 11.0975 5.2403C10.7318 5.6695 10.5487 6.2589 10.5487 7.0089C10.5487 7.753 10.7318 8.338 11.0975 8.7638C11.4637 9.1901 11.9618 9.403 12.5916 9.403C13.0535 9.403 13.4227 9.3009 13.6985 9.0968C13.9744 8.8932 14.1546 8.6139 14.2385 8.2599H15.3005C15.1745 8.8839 14.8776 9.3732 14.4094 9.7272C13.9416 10.0812 13.3386 10.258 12.6003 10.258Z"
2887        />
2888        <path
2889          d="M15.9891 1C16.5465 1 17 1.4535 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H2.0109C1.4535 13 1 12.5465 1 11.9891V2.0109C1 1.4535 1.4535 0.9999 2.0109 0.9999L15.9891 1ZM15.9891 0H2.0109C0.9003 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9003 14 2.0109 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0Z"
2890        />
2891      </svg>
2892    </media-captions-menu-button>
2893    <media-captions-menu
2894      hidden
2895      anchor="auto"
2896      part="bottom captions menu"
2897      disabled="{{disabled}}"
2898      aria-disabled="{{disabled}}"
2899      exportparts="menu-item"
2900    >
2901      <div slot="checked-indicator">
2902        <style>
2903          .indicator {
2904            position: relative;
2905            top: 1px;
2906            width: 0.9em;
2907            height: auto;
2908            fill: var(--_accent-color);
2909            margin-right: 5px;
2910          }
2911
2912          [aria-checked='false'] .indicator {
2913            display: none;
2914          }
2915        </style>
2916        <svg viewBox="0 0 14 18" class="indicator">
2917          <path
2918            d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027"
2919            fill-rule="evenodd"
2920          />
2921        </svg></div
2922    ></media-captions-menu>
2923  </template>
2924
2925  <template partial="AirplayButton">
2926    <media-airplay-button part="bottom airplay button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2927      <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon">
2928        <path
2929          d="M16.1383 0H1.8618C0.8335 0 0 0.8335 0 1.8617V10.1382C0 11.1664 0.8335 12 1.8618 12H3.076C3.1204 11.9433 3.1503 11.8785 3.2012 11.826L4.004 11H1.8618C1.3866 11 1 10.6134 1 10.1382V1.8617C1 1.3865 1.3866 0.9999 1.8618 0.9999H16.1383C16.6135 0.9999 17.0001 1.3865 17.0001 1.8617V10.1382C17.0001 10.6134 16.6135 11 16.1383 11H13.9961L14.7989 11.826C14.8499 11.8785 14.8798 11.9432 14.9241 12H16.1383C17.1665 12 18.0001 11.1664 18.0001 10.1382V1.8617C18 0.8335 17.1665 0 16.1383 0Z"
2930        />
2931        <path
2932          d="M9.55061 8.21903C9.39981 8.06383 9.20001 7.98633 9.00011 7.98633C8.80021 7.98633 8.60031 8.06383 8.44951 8.21903L4.09771 12.697C3.62471 13.1838 3.96961 13.9998 4.64831 13.9998H13.3518C14.0304 13.9998 14.3754 13.1838 13.9023 12.697L9.55061 8.21903Z"
2933        />
2934      </svg>
2935    </media-airplay-button>
2936  </template>
2937
2938  <template partial="FullscreenButton">
2939    <media-fullscreen-button part="bottom fullscreen button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2940      <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter">
2941        <path
2942          d="M1.00745 4.39539L1.01445 1.98789C1.01605 1.43049 1.47085 0.978289 2.02835 0.979989L6.39375 0.992589L6.39665 -0.007411L2.03125 -0.020011C0.920646 -0.023211 0.0176463 0.874489 0.0144463 1.98509L0.00744629 4.39539H1.00745Z"
2943        />
2944        <path
2945          d="M17.0144 2.03431L17.0076 4.39541H18.0076L18.0144 2.03721C18.0176 0.926712 17.1199 0.0237125 16.0093 0.0205125L11.6439 0.0078125L11.641 1.00781L16.0064 1.02041C16.5638 1.02201 17.016 1.47681 17.0144 2.03431Z"
2946        />
2947        <path
2948          d="M16.9925 9.60498L16.9855 12.0124C16.9839 12.5698 16.5291 13.022 15.9717 13.0204L11.6063 13.0078L11.6034 14.0078L15.9688 14.0204C17.0794 14.0236 17.9823 13.1259 17.9855 12.0153L17.9925 9.60498H16.9925Z"
2949        />
2950        <path
2951          d="M0.985626 11.9661L0.992426 9.60498H-0.0074737L-0.0142737 11.9632C-0.0174737 13.0738 0.880226 13.9767 1.99083 13.98L6.35623 13.9926L6.35913 12.9926L1.99373 12.98C1.43633 12.9784 0.983926 12.5236 0.985626 11.9661Z"
2952        />
2953      </svg>
2954      <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit">
2955        <path
2956          d="M5.39655 -0.0200195L5.38955 2.38748C5.38795 2.94488 4.93315 3.39708 4.37565 3.39538L0.0103463 3.38278L0.00744629 4.38278L4.37285 4.39538C5.48345 4.39858 6.38635 3.50088 6.38965 2.39028L6.39665 -0.0200195H5.39655Z"
2957        />
2958        <path
2959          d="M12.6411 2.36891L12.6479 0.0078125H11.6479L11.6411 2.36601C11.6379 3.47651 12.5356 4.37951 13.6462 4.38271L18.0116 4.39531L18.0145 3.39531L13.6491 3.38271C13.0917 3.38111 12.6395 2.92641 12.6411 2.36891Z"
2960        />
2961        <path
2962          d="M12.6034 14.0204L12.6104 11.613C12.612 11.0556 13.0668 10.6034 13.6242 10.605L17.9896 10.6176L17.9925 9.61759L13.6271 9.60499C12.5165 9.60179 11.6136 10.4995 11.6104 11.6101L11.6034 14.0204H12.6034Z"
2963        />
2964        <path
2965          d="M5.359 11.6315L5.3522 13.9926H6.3522L6.359 11.6344C6.3622 10.5238 5.4645 9.62088 4.3539 9.61758L-0.0115043 9.60498L-0.0144043 10.605L4.351 10.6176C4.9084 10.6192 5.3607 11.074 5.359 11.6315Z"
2966        />
2967      </svg>
2968    </media-fullscreen-button>
2969  </template>
2970
2971  <template partial="CastButton">
2972    <media-cast-button part="bottom cast button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2973      <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter">
2974        <path
2975          d="M16.0072 0H2.0291C0.9185 0 0.0181 0.9003 0.0181 2.011V5.5009C0.357 5.5016 0.6895 5.5275 1.0181 5.5669V2.011C1.0181 1.4536 1.4716 1 2.029 1H16.0072C16.5646 1 17.0181 1.4536 17.0181 2.011V11.9891C17.0181 12.5465 16.5646 13 16.0072 13H8.4358C8.4746 13.3286 8.4999 13.6611 8.4999 13.9999H16.0071C17.1177 13.9999 18.018 13.0996 18.018 11.989V2.011C18.0181 0.9003 17.1178 0 16.0072 0ZM0 6.4999V7.4999C3.584 7.4999 6.5 10.4159 6.5 13.9999H7.5C7.5 9.8642 4.1357 6.4999 0 6.4999ZM0 8.7499V9.7499C2.3433 9.7499 4.25 11.6566 4.25 13.9999H5.25C5.25 11.1049 2.895 8.7499 0 8.7499ZM0.0181 11V14H3.0181C3.0181 12.3431 1.675 11 0.0181 11Z"
2976        />
2977      </svg>
2978      <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit">
2979        <path
2980          d="M15.9891 0H2.01103C0.900434 0 3.35947e-05 0.9003 3.35947e-05 2.011V5.5009C0.338934 5.5016 0.671434 5.5275 1.00003 5.5669V2.011C1.00003 1.4536 1.45353 1 2.01093 1H15.9891C16.5465 1 17 1.4536 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H8.41773C8.45653 13.3286 8.48183 13.6611 8.48183 13.9999H15.989C17.0996 13.9999 17.9999 13.0996 17.9999 11.989V2.011C18 0.9003 17.0997 0 15.9891 0ZM-0.0180664 6.4999V7.4999C3.56593 7.4999 6.48193 10.4159 6.48193 13.9999H7.48193C7.48193 9.8642 4.11763 6.4999 -0.0180664 6.4999ZM-0.0180664 8.7499V9.7499C2.32523 9.7499 4.23193 11.6566 4.23193 13.9999H5.23193C5.23193 11.1049 2.87693 8.7499 -0.0180664 8.7499ZM3.35947e-05 11V14H3.00003C3.00003 12.3431 1.65693 11 3.35947e-05 11Z"
2981        />
2982        <path d="M2.15002 5.634C5.18352 6.4207 7.57252 8.8151 8.35282 11.8499H15.8501V2.1499H2.15002V5.634Z" />
2983      </svg>
2984    </media-cast-button>
2985  </template>
2986
2987  <template partial="LiveButton">
2988    <media-live-button part="{{section ?? 'top'}} live button" disabled="{{disabled}}" aria-disabled="{{disabled}}">
2989      <span slot="text">Live</span>
2990    </media-live-button>
2991  </template>
2992
2993  <template partial="PlaybackRateMenu">
2994    <media-playback-rate-menu-button part="bottom playback-rate button"></media-playback-rate-menu-button>
2995    <media-playback-rate-menu
2996      hidden
2997      anchor="auto"
2998      rates="{{playbackrates}}"
2999      exportparts="menu-item"
3000      part="bottom playback-rate menu"
3001      disabled="{{disabled}}"
3002      aria-disabled="{{disabled}}"
3003    ></media-playback-rate-menu>
3004  </template>
3005
3006  <template partial="VolumeRange">
3007    <media-volume-range
3008      part="bottom volume range"
3009      disabled="{{disabled}}"
3010      aria-disabled="{{disabled}}"
3011    ></media-volume-range>
3012  </template>
3013
3014  <template partial="TimeDisplay">
3015    <media-time-display
3016      remaining="{{defaultshowremainingtime}}"
3017      showduration="{{!hideduration}}"
3018      part="bottom time display"
3019      disabled="{{disabled}}"
3020      aria-disabled="{{disabled}}"
3021    ></media-time-display>
3022  </template>
3023
3024  <template partial="TimeRange">
3025    <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}" exportparts="thumb">
3026      <media-preview-thumbnail slot="preview"></media-preview-thumbnail>
3027      <media-preview-chapter-display slot="preview"></media-preview-chapter-display>
3028      <media-preview-time-display slot="preview"></media-preview-time-display>
3029      <div slot="preview" part="arrow"></div>
3030    </media-time-range>
3031  </template>
3032
3033  <template partial="AudioTrackMenu">
3034    <media-audio-track-menu-button part="bottom audio-track button">
3035      <svg aria-hidden="true" slot="icon" viewBox="0 0 18 16">
3036        <path d="M9 15A7 7 0 1 1 9 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 9 0a8 8 0 0 0 0 16Z" />
3037        <path
3038          d="M5.2 6.3a.5.5 0 0 1 .5.5v2.4a.5.5 0 1 1-1 0V6.8a.5.5 0 0 1 .5-.5Zm2.4-2.4a.5.5 0 0 1 .5.5v7.2a.5.5 0 0 1-1 0V4.4a.5.5 0 0 1 .5-.5ZM10 5.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.4-.8a.5.5 0 0 1 .5.5v5.6a.5.5 0 0 1-1 0V5.2a.5.5 0 0 1 .5-.5Z"
3039        />
3040      </svg>
3041    </media-audio-track-menu-button>
3042    <media-audio-track-menu
3043      hidden
3044      anchor="auto"
3045      part="bottom audio-track menu"
3046      disabled="{{disabled}}"
3047      aria-disabled="{{disabled}}"
3048      exportparts="menu-item"
3049    >
3050      <div slot="checked-indicator">
3051        <style>
3052          .indicator {
3053            position: relative;
3054            top: 1px;
3055            width: 0.9em;
3056            height: auto;
3057            fill: var(--_accent-color);
3058            margin-right: 5px;
3059          }
3060
3061          [aria-checked='false'] .indicator {
3062            display: none;
3063          }
3064        </style>
3065        <svg viewBox="0 0 14 18" class="indicator">
3066          <path
3067            d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027"
3068            fill-rule="evenodd"
3069          />
3070        </svg>
3071      </div>
3072    </media-audio-track-menu>
3073  </template>
3074
3075  <template partial="RenditionMenu">
3076    <media-rendition-menu-button part="bottom rendition button">
3077      <svg aria-hidden="true" slot="icon" viewBox="0 0 18 14">
3078        <path
3079          d="M2.25 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM9 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6.75 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"
3080        />
3081      </svg>
3082    </media-rendition-menu-button>
3083    <media-rendition-menu
3084      hidden
3085      anchor="auto"
3086      part="bottom rendition menu"
3087      disabled="{{disabled}}"
3088      aria-disabled="{{disabled}}"
3089    >
3090      <div slot="checked-indicator">
3091        <style>
3092          .indicator {
3093            position: relative;
3094            top: 1px;
3095            width: 0.9em;
3096            height: auto;
3097            fill: var(--_accent-color);
3098            margin-right: 5px;
3099          }
3100
3101          [aria-checked='false'] .indicator {
3102            opacity: 0;
3103          }
3104        </style>
3105        <svg viewBox="0 0 14 18" class="indicator">
3106          <path
3107            d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027"
3108            fill-rule="evenodd"
3109          />
3110        </svg>
3111      </div>
3112    </media-rendition-menu>
3113  </template>
3114
3115  <template partial="MuxBadge">
3116    <div part="mux-badge">
3117      <a href="https://www.mux.com/player" target="_blank">
3118        <span class="mux-badge-text">Powered by</span>
3119        <div class="mux-badge-logo">
3120          <svg
3121            viewBox="0 0 1600 500"
3122            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2"
3123          >
3124            <g>
3125              <path
3126                d="M994.287,93.486c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m0,-93.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,68.943 -56.09,125.033 -125.032,125.033c-68.942,-0 -125.03,-56.09 -125.03,-125.033l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,137.853 112.149,250.003 249.999,250.003c137.851,-0 250.001,-112.15 250.001,-250.003l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486"
3127                style="fill-rule: nonzero"
3128              ></path>
3129              <path
3130                d="M1537.51,468.511c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m-275.883,-218.509l-143.33,143.329c-24.402,24.402 -24.402,63.966 0,88.368c24.402,24.402 63.967,24.402 88.369,-0l143.33,-143.329l143.328,143.329c24.402,24.4 63.967,24.402 88.369,-0c24.403,-24.402 24.403,-63.966 0.001,-88.368l-143.33,-143.329l0.001,-0.004l143.329,-143.329c24.402,-24.402 24.402,-63.965 0,-88.367c-24.402,-24.402 -63.967,-24.402 -88.369,-0l-143.329,143.328l-143.329,-143.328c-24.402,-24.401 -63.967,-24.402 -88.369,-0c-24.402,24.402 -24.402,63.965 0,88.367l143.329,143.329l0,0.004Z"
3131                style="fill-rule: nonzero"
3132              ></path>
3133              <path
3134                d="M437.511,468.521c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m23.915,-463.762c-23.348,-9.672 -50.226,-4.327 -68.096,13.544l-143.331,143.329l-143.33,-143.329c-17.871,-17.871 -44.747,-23.216 -68.096,-13.544c-23.349,9.671 -38.574,32.455 -38.574,57.729l0,375.026c0,34.51 27.977,62.486 62.487,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-224.173l80.843,80.844c24.404,24.402 63.965,24.402 88.369,-0l80.843,-80.844l0,224.173c0,34.51 27.976,62.486 62.486,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-375.026c0,-25.274 -15.224,-48.058 -38.573,-57.729"
3135                style="fill-rule: nonzero"
3136              ></path>
3137            </g>
3138          </svg>
3139        </div>
3140      </a>
3141    </div>
3142  </template>
3143
3144  <media-controller
3145    part="controller"
3146    defaultstreamtype="{{defaultstreamtype ?? 'on-demand'}}"
3147    breakpoints="sm:470"
3148    gesturesdisabled="{{disabled}}"
3149    hotkeys="{{hotkeys}}"
3150    nohotkeys="{{nohotkeys}}"
3151    novolumepref="{{novolumepref}}"
3152    audio="{{audio}}"
3153    noautoseektolive="{{noautoseektolive}}"
3154    defaultsubtitles="{{defaultsubtitles}}"
3155    defaultduration="{{defaultduration ?? false}}"
3156    keyboardforwardseekoffset="{{forwardseekoffset}}"
3157    keyboardbackwardseekoffset="{{backwardseekoffset}}"
3158    exportparts="layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer"
3159    style="--_pre-playback-place:{{preplaybackplace ?? 'center'}}"
3160  >
3161    <slot name="media" slot="media"></slot>
3162    <slot name="poster" slot="poster"></slot>
3163
3164    <media-loading-indicator slot="centered-chrome" noautohide></media-loading-indicator>
3165
3166    <template if="!audio">
3167      <media-error-dialog slot="dialog" noautohide></media-error-dialog>
3168      <!-- Pre-playback UI -->
3169      <!-- same for both on-demand and live -->
3170      <div slot="centered-chrome" class="center-controls pre-playback">
3171        <template if="!breakpointsm">{{>PlayButton section="center"}}</template>
3172        <template if="breakpointsm">{{>PrePlayButton section="center"}}</template>
3173      </div>
3174
3175      <!-- Mux Badge -->
3176      <template if="proudlydisplaymuxbadge"> {{>MuxBadge}} </template>
3177
3178      <!-- Autoplay centered unmute button -->
3179      <!--
3180        todo: figure out how show this with available state variables
3181        needs to show when:
3182        - autoplay is enabled
3183        - playback has been successful
3184        - audio is muted
3185        - in place / instead of the pre-plaback play button
3186        - not to show again after user has interacted with this button
3187          - OR user has interacted with the mute button in the control bar
3188      -->
3189      <!--
3190        There should be a >MuteButton to the left of the "Unmute" text, but a templating bug
3191        makes it appear even if commented out in the markup, add it back when code is un-commented
3192      -->
3193      <!-- <div slot="centered-chrome" class="autoplay-unmute">
3194        <div role="button" class="autoplay-unmute-btn">Unmute</div>
3195      </div> -->
3196
3197      <template if="streamtype == 'on-demand'">
3198        <template if="breakpointsm">
3199          <media-control-bar part="control-bar top" slot="top-chrome">{{>TitleDisplay}} </media-control-bar>
3200        </template>
3201        {{>TimeRange}}
3202        <media-control-bar part="control-bar bottom">
3203          {{>PlayButton}} {{>SeekBackwardButton}} {{>SeekForwardButton}} {{>TimeDisplay}} {{>MuteButton}}
3204          {{>VolumeRange}}
3205          <div class="spacer"></div>
3206          {{>RenditionMenu}} {{>PlaybackRateMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}}
3207          {{>CastButton}} {{>PipButton}} {{>FullscreenButton}}
3208        </media-control-bar>
3209      </template>
3210
3211      <template if="streamtype == 'live'">
3212        <media-control-bar part="control-bar top" slot="top-chrome">
3213          {{>LiveButton}}
3214          <template if="breakpointsm"> {{>TitleDisplay}} </template>
3215        </media-control-bar>
3216        <template if="targetlivewindow > 0">{{>TimeRange}}</template>
3217        <media-control-bar part="control-bar bottom">
3218          {{>PlayButton}}
3219          <template if="targetlivewindow > 0">{{>SeekBackwardButton}} {{>SeekForwardButton}}</template>
3220          {{>MuteButton}} {{>VolumeRange}}
3221          <div class="spacer"></div>
3222          {{>RenditionMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} {{>CastButton}} {{>PipButton}}
3223          {{>FullscreenButton}}
3224        </media-control-bar>
3225      </template>
3226    </template>
3227
3228    <template if="audio">
3229      <template if="streamtype == 'on-demand'">
3230        <template if="title">
3231          <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar>
3232        </template>
3233        <media-control-bar part="control-bar bottom">
3234          {{>PlayButton}}
3235          <template if="breakpointsm"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template>
3236          {{>MuteButton}}
3237          <template if="breakpointsm">{{>VolumeRange}}</template>
3238          {{>TimeDisplay}} {{>TimeRange}}
3239          <template if="breakpointsm">{{>PlaybackRateMenu}}</template>
3240          {{>AirplayButton}} {{>CastButton}}
3241        </media-control-bar>
3242      </template>
3243
3244      <template if="streamtype == 'live'">
3245        <template if="title">
3246          <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar>
3247        </template>
3248        <media-control-bar part="control-bar bottom">
3249          {{>PlayButton}} {{>LiveButton section="bottom"}} {{>MuteButton}}
3250          <template if="breakpointsm">
3251            {{>VolumeRange}}
3252            <template if="targetlivewindow > 0"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template>
3253          </template>
3254          <template if="targetlivewindow > 0"> {{>TimeDisplay}} {{>TimeRange}} </template>
3255          <template if="!targetlivewindow"><div class="spacer"></div></template>
3256          {{>AirplayButton}} {{>CastButton}}
3257        </media-control-bar>
3258      </template>
3259    </template>
3260
3261    <slot></slot>
3262  </media-controller>
3263</template>
3264`
3264,Ai=Tw.createElement("template");"innerHTML"in Ai&&(Ai.innerHTML=At);var Ar,Aa,As=class extends gs{};As.template=null==(Aa=null==(Ar=Ai.content)?void 0:Ar.children)?void 0:Aa[0],TI.customElements.get("media-theme-gerwig")||TI.customElements.define("media-theme-gerwig",As);var An={SRC:"src",POSTER:"poster"},Ao={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",FULLSCREEN_ELEMENT:"fullscreen-element",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",VIDEO_TITLE:"video-title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",NO_MUTED_PREF:"no-muted-pref",CAST_RECEIVER:"cast-receiver",NO_TOOLTIPS:"no-tooltips",PROUDLY_DISPLAY_MUX_BADGE:"proudly-display-mux-badge",DISABLE_PSEUDO_ENDED:"disable-pseudo-ended"},Al=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","videotitle","novolumepref","nomutedpref","proudlydisplaymuxbadge"],Ad=fk.formatErrorMessage;function Au(e){let t=e.videoTitle?{video_title:e.videoTitle}:{};return e.getAttributeNames().filter(e=>e.startsWith("metadata-")).reduce((t,i)=>{let r=e.getAttribute(i);return null!==r&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=r),t},t)}fk.formatErrorMessage=e=>{var t,i;if(e instanceof ld){let r=((e,t=!1)=>({title:((e,t=!1)=>{var i,r;if(e.muxCode){let a=T7(null!=(i=e.errorCategory)?i:"video"),s=ll(null!=(r=e.errorCategory)?r:lo);if(2000002===e.muxCode)return lC("Your device appears to be offline",t);if(2403210===e.muxCode)return lC("{category} URL has expired",t).format({category:a});if([2403232,2403222,2403221,2412202].includes(e.muxCode))return lC("{category} URL is formatted incorrectly",t).format({category:a});if(2403201===e.muxCode)return lC("Invalid {categoryName} URL",t).format({categoryName:s});if(2404e3===e.muxCode)return lC("{category} does not exist",t).format({category:a});if(2412e3===e.muxCode){let i="live"===e.streamType?"Live stream":"Video";return lC("{mediaType} is not currently available",t).format({mediaType:i})}}if(e.code){if(e.code===ld.MEDIA_ERR_NETWORK)return lC("Network Error",t);if(e.code===ld.MEDIA_ERR_DECODE)return lC("Media Error",t);if(e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED)return lC("Source Not Supported",t)}return lC("Error",t)})(e,t).toString(),message:((e,t=!1)=>{var i,r;if(e.muxCode){let a=T7(null!=(i=e.errorCategory)?i:"video"),s=ll(null!=(r=e.errorCategory)?r:lo);return 2000002===e.muxCode?lC("Check your internet connection and try reloading this video.",t):2403210===e.muxCode?lC("The video’s secured {tokenNamePrefix}-token has expired.",t).format({tokenNamePrefix:s}):2403232===e.muxCode?lC("The video’s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",t).format({tokenNamePrefix:s}):2412202===e.muxCode?lC("{category} URL is formatted incorrectly",t).format({category:a}):[2403222,2403221].includes(e.muxCode)?lC("The {tokenNamePrefix}-token is formatted with incorrect information.",t).format({tokenNamePrefix:s}):[2403201,24e5].includes(e.muxCode)?lC("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",t).format({tokenNamePrefix:s}):2404e3===e.muxCode?"":e.message}return e.code&&(e.code===ld.MEDIA_ERR_NETWORK||e.code===ld.MEDIA_ERR_DECODE||e.code===ld.MEDIA_ERR_SRC_NOT_SUPPORTED),e.message})(e,t).toString()}))(e,!1);return`
3265      ${null!=r&&r.title?`<h3>${r.title}</h3>`:""}
3266      ${null!=r&&r.message||null!=r&&r.linkUrl?`<p>
3267        ${null==r?void 0:r.message}
3268        ${null!=r&&r.linkUrl?`<a
3269              href="${r.linkUrl}"
3270              target="_blank"
3271              rel="external noopener"
3272              aria-label="${null!=(t=r.linkText)?t:""} ${lC("(opens in a new window)")}"
3273              >${null!=(i=r.linkText)?i:r.linkUrl}</a
3274            >`:""}
3275      </p>`:""}
3276    `}return Ad(e)};var Ah,Ac,Am,Af,Ap,Ag,Av,AE,Ay,Ab,AT,AA,A_,AS,Ak,AL=Object.values(ug),AR=Object.values(An),AI=Object.values(Ao),Aw="mux-
3276player",AC={isDialogOpen:!1},AD={redundant_streams:!0},Ax=class extends TZ{constructor(){super(),vy(this,Av),vy(this,Ah),vy(this,Ac,!1),vy(this,Am,{}),vy(this,Af,!0),vy(this,Ap,new TG(this,"hotkeys")),vy(this,Ag,{...AC,onCloseErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&vT(this,Av,Ab).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&(TU(this,Tw.activeElement)||e.preventDefault())}}),vb(this,Ah,dR()),this.attachShadow({mode:"open"}),vT(this,Av,Ay).call(this),this.isConnected&&vT(this,Av,AE).call(this)}static get NAME(){return Aw}static get VERSION(){return TB}static get observedAttributes(){var e;return[...null!=(e=TZ.observedAttributes)?e:[],...AR,...AL,...AI]}get mediaTheme(){var e;return null==(e=this.shadowRoot)?void 0:e.querySelector("media-theme")}get mediaController(){var e,t;return null==(t=null==(e=this.mediaTheme)?void 0:e.shadowRoot)?void 0:t.querySelector("media-controller")}connectedCallback(){let e=this.media;e&&(e.metadata=Au(this))}attributeChangedCallback(e,t,i){var r;switch(vT(this,Av,AE).call(this),super.attributeChangedCallback(e,t,i),e){case Ao.HOTKEYS:vE(this,Ap).value=i;break;case Ao.THUMBNAIL_TIME:null!=i&&this.tokens.thumbnail&&TK(lC("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").toString());break;case Ao.THUMBNAIL_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"t"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"t",tokenNamePrefix:"thumbnail"}))}}break;case Ao.STORYBOARD_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"s"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"s",tokenNamePrefix:"storyboard"}))}}break;case Ao.DRM_TOKEN:if(i){let e=lw(i);if(e){let{aud:t}=e;"d"!==t&&TK(lC("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:"d",tokenNamePrefix:"drm"}))}}break;case ug.PLAYBACK_ID:null!=i&&i.includes("?token")&&TW(lC("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:i}));break;case ug.STREAM_TYPE:i&&![lm,lc,lf].includes(i)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=i.includes("dvr")?1/0:0:Tq({file:"invalid-stream-type.md",message:lC("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):i===lm?null==this.getAttribute(Ao.TARGET_LIVE_WINDOW)&&(this.targetLiveWindow=0):this.targetLiveWindow=NaN;break;case Ao.FULLSCREEN_ELEMENT:if(null!=i||i!==t){let e=Tw.getElementById(i),t=null==e?void 0:e.querySelector("mux-player");this.mediaController&&e&&t&&(this.mediaController.fullscreenElement=e)}}[ug.PLAYBACK_ID,An.SRC,Ao.PLAYBACK_TOKEN].includes(e)&&t!==i&&vb(this,Ag,{...vE(this,Ag),...AC}),vT(this,Av,AT).call(this,{[null!=(r=TH[e])?r:TD(e)]:i})}async requestFullscreen(e){var t;if(!(!this.mediaController||this.mediaController.hasAttribute(hm.MEDIA_IS_FULLSCREEN)))return null==(t=this.mediaController)||t.dispatchEvent(new TI.CustomEvent(hd.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>{var i;null==(i=this.mediaController)||i.addEventListener(hf.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}async exitFullscreen(){var e;if(!(!this.mediaController||!this.mediaController.hasAttribute(hm.MEDIA_IS_FULLSCREEN)))return null==(e=this.mediaController)||e.dispatchEvent(new TI.CustomEvent(hd.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>{var i;null==(i=this.mediaController)||i.addEventListener(hf.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}get preferCmcd(){var e;return null!=(e=this.getAttribute(ug.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lv.includes(e)?this.setAttribute(ug.PREFER_CMCD,e):TK(`Invalid value for preferCmcd. Must be one of ${lv.join()}`):this.removeAttribute(ug.PREFER_CMCD))}get hasPlayed(){var e,t;return null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(hm.MEDIA_HAS_P
3276LAYED))&&t}get inLiveWindow(){var e;return null==(e=this.mediaController)?void 0:e.hasAttribute(hm.MEDIA_TIME_IS_LIVE)}get _hls(){var e;return null==(e=this.media)?void 0:e._hls}get mux(){var e;return null==(e=this.media)?void 0:e.mux}get theme(){var e;return null!=(e=this.getAttribute(Ao.THEME))?e:"gerwig"}set theme(e){this.setAttribute(Ao.THEME,`${e}`)}get themeProps(){let e=this.mediaTheme;if(!e)return;let t={};for(let i of e.getAttributeNames()){if(Al.includes(i))continue;let r=e.getAttribute(i);t[TD(i)]=""===r||r}return t}set themeProps(e){var t,i;vT(this,Av,AE).call(this);let r={...this.themeProps,...e};for(let a in r){if(Al.includes(a))continue;let r=null==e?void 0:e[a];"boolean"==typeof r||null==r?null==(t=this.mediaTheme)||t.toggleAttribute(TC(a),!!r):null==(i=this.mediaTheme)||i.setAttribute(TC(a),r)}}get playbackId(){var e;return null!=(e=this.getAttribute(ug.PLAYBACK_ID))?e:void 0}set playbackId(e){e?this.setAttribute(ug.PLAYBACK_ID,e):this.removeAttribute(ug.PLAYBACK_ID)}get src(){var e,t;return this.playbackId?null!=(e=AM(this,An.SRC))?e:void 0:null!=(t=this.getAttribute(An.SRC))?t:void 0}set src(e){e?this.setAttribute(An.SRC,e):this.removeAttribute(An.SRC)}get poster(){var e;let t=this.getAttribute(An.POSTER);if(null!=t)return t;let{tokens:i}=this;return i.playback&&!i.thumbnail?void TK("Missing expected thumbnail token. No poster image will be shown"):this.playbackId&&!this.audio?((e,{token:t,customDomain:i=TF,thumbnailTime:r,programTime:a}={})=>{var s;let n=null==t?r:void 0,{aud:o}=null!=(s=lw(t))?s:{};if(!(t&&"t"!==o))return`https://image.${i}/${e}/thumbnail.webp${TM({token:t,time:n,program_time:a})}`})(this.playbackId,{customDomain:this.customDomain,thumbnailTime:null!=(e=this.thumbnailTime)?e:this.startTime,programTime:this.programStartTime,token:i.thumbnail}):void 0}set poster(e){e||""===e?this.setAttribute(An.POSTER,e):this.removeAttribute(An.POSTER)}get storyboardSrc(){var e;return null!=(e=this.getAttribute(Ao.STORYBOARD_SRC))?e:void 0}set storyboardSrc(e){e?this.setAttribute(Ao.STORYBOARD_SRC,e):this.removeAttribute(Ao.STORYBOARD_SRC)}get storyboard(){let{tokens:e}=this;return this.storyboardSrc&&!e.storyboard?this.storyboardSrc:this.audio||!this.playbackId||!this.streamType||[lm,lf].includes(this.streamType)||e.playback&&!e.storyboard?void 0:((e,{token:t,customDomain:i=TF,programStartTime:r,programEndTime:a}={})=>{var s;let{aud:n}=null!=(s=lw(t))?s:{};if(!(t&&"s"!==n))return`https://image.${i}/${e}/storyboard.vtt${TM({token:t,format:"webp",program_start_time:r,program_end_time:a})}`})(this.playbackId,{customDomain:this.customDomain,token:e.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(Ao.AUDIO)}set audio(e){e?this.setAttribute(Ao.AUDIO,""):this.removeAttribute(Ao.AUDIO)}get hotkeys(){return vE(this,Ap)}get nohotkeys(){return this.hasAttribute(Ao.NOHOTKEYS)}set nohotkeys(e){e?this.setAttribute(Ao.NOHOTKEYS,""):this.removeAttribute(Ao.NOHOTKEYS)}get thumbnailTime(){return Tx(this.getAttribute(Ao.THUMBNAIL_TIME))}set thumbnailTime(e){this.setAttribute(Ao.THUMBNAIL_TIME,`${e}`)}get videoTitle(){var e,t;return null!=(t=null!=(e=this.getAttribute(Ao.VIDEO_TITLE))?e:this.getAttribute(Ao.TITLE))?t:""}set videoTitle(e){e!==this.videoTitle&&(e?this.setAttribute(Ao.VIDEO_TITLE,e):this.removeAttribute(Ao.VIDEO_TITLE))}get placeholder(){var e;return null!=(e=AM(this,Ao.PLACEHOLDER))?e:""}set placeholder(e){this.setAttribute(Ao.PLACEHOLDER,`${e}`)}get primaryColor(){var e,t;let i=this.getAttribute(Ao.PRIMARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_primary-color"))?void 0:t.trim()))return i}set primaryColor(e){this.setAttribute(Ao.PRIMARY_COLOR,`${e}`)}get secondaryColor(){var e,t;let i=this.getAttribute(Ao.SECONDARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_secondary-color"))?void 0:t.trim()))return i}set secondaryColor(e){this.setAttribute(Ao.SECONDARY_COLOR,`${e}`)}get accentColor(){var e,t;let i=this.getAttribute(Ao.ACCENT_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=TI.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_accent-color"))?void 0:t.trim()))return i}set accentColor(e){this.setAttribute(Ao.ACCENT_COLOR,`${e}`)}get defaultShowRemainingTime(){return this.hasAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(e){e?this.setAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(Ao.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(Ao.PLAYBACK_RATES))return this.getAttribute(Ao.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(e=>Number(e)).filter(e=>!Number.isNaN(e)).sort((e,t)=>
3276e-t)}set playbackRates(e){e?this.setAttribute(Ao.PLAYBACK_RATES,e.join(" ")):this.removeAttribute(Ao.PLAYBACK_RATES)}get forwardSeekOffset(){var e;return null!=(e=Tx(this.getAttribute(Ao.FORWARD_SEEK_OFFSET)))?e:10}set forwardSeekOffset(e){this.setAttribute(Ao.FORWARD_SEEK_OFFSET,`${e}`)}get backwardSeekOffset(){var e;return null!=(e=Tx(this.getAttribute(Ao.BACKWARD_SEEK_OFFSET)))?e:10}set backwardSeekOffset(e){this.setAttribute(Ao.BACKWARD_SEEK_OFFSET,`${e}`)}get defaultHiddenCaptions(){return this.hasAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(e){e?this.setAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(Ao.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return Tx(this.getAttribute(Ao.DEFAULT_DURATION))}set defaultDuration(e){null==e?this.removeAttribute(Ao.DEFAULT_DURATION):this.setAttribute(Ao.DEFAULT_DURATION,`${e}`)}get playerInitTime(){return this.hasAttribute(ug.PLAYER_INIT_TIME)?Tx(this.getAttribute(ug.PLAYER_INIT_TIME)):vE(this,Ah)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(ug.PLAYER_INIT_TIME):this.setAttribute(ug.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=this.getAttribute(ug.PLAYER_SOFTWARE_NAME))?e:Aw}get playerSoftwareVersion(){var e;return null!=(e=this.getAttribute(ug.PLAYER_SOFTWARE_VERSION))?e:TB}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(ug.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(ug.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(ug.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var e;return null!=(e=this.getAttribute(ug.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(ug.MAX_RESOLUTION,e):this.removeAttribute(ug.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(ug.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(ug.MIN_RESOLUTION,e):this.removeAttribute(ug.MIN_RESOLUTION))}get renditionOrder(){var e;return null!=(e=this.getAttribute(ug.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(ug.RENDITION_ORDER,e):this.removeAttribute(ug.RENDITION_ORDER))}get programStartTime(){return Tx(this.getAttribute(ug.PROGRAM_START_TIME))}set programStartTime(e){null==e?this.removeAttribute(ug.PROGRAM_START_TIME):this.setAttribute(ug.PROGRAM_START_TIME,`${e}`)}get programEndTime(){return Tx(this.getAttribute(ug.PROGRAM_END_TIME))}set programEndTime(e){null==e?this.removeAttribute(ug.PROGRAM_END_TIME):this.setAttribute(ug.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){return Tx(this.getAttribute(ug.ASSET_START_TIME))}set assetStartTime(e){null==e?this.removeAttribute(ug.ASSET_START_TIME):this.setAttribute(ug.ASSET_START_TIME,`${e}`)}get assetEndTime(){return Tx(this.getAttribute(ug.ASSET_END_TIME))}set assetEndTime(e){null==e?this.removeAttribute(ug.ASSET_END_TIME):this.setAttribute(ug.ASSET_END_TIME,`${e}`)}get extraSourceParams(){return this.hasAttribute(Ao.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(Ao.EXTRA_SOURCE_PARAMS)).entries()].reduce((e,[t,i])=>(e[t]=i,e),{}):AD}set extraSourceParams(e){null==e?this.removeAttribute(Ao.EXTRA_SOURCE_PARAMS):this.setAttribute(Ao.EXTRA_SOURCE_PARAMS,new URLSearchParams(e).toString())}get customDomain(){var e;return null!=(e=this.getAttribute(ug.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(ug.CUSTOM_DOMAIN,e):this.removeAttribute(ug.CUSTOM_DOMAIN))}get envKey(){var e;return null!=(e=AM(this,ug.ENV_KEY))?e:void 0}set envKey(e){this.setAttribute(ug.ENV_KEY,`${e}`)}get noVolumePref(){return this.hasAttribute(Ao.NO_VOLUME_PREF)}set noVolumePref(e){e?this.setAttribute(Ao.NO_VOLUME_PREF,""):this.removeAttribute(Ao.NO_VOLUME_PREF)}get noMutedPref(){return this.hasAttribute(Ao.NO_MUTED_PREF)}set noMutedPref(e){e?this.setAttribute(Ao.NO_MUTED_PREF,""):this.removeAttribute(Ao.NO_MUTED_PREF)}get debug(){return null!=AM(this,ug.DEBUG)}set debug(e){e?this.setAttribute(ug.DEBUG,""):this.removeAttribute(ug.DEBUG)}get disableTracking(){return null!=AM(this,ug.DISABLE_TRACKING)}set disableTracking(e){this.toggleAttribute(ug.DISABLE_TRACKING,!!e)}get disableCookies(){return null!=AM(this,ug.DISABLE_COOKIES)}set disableCookies(e){e?this.setAttribute(ug.DISABLE_COOKIES,""):this.removeAttribute(ug.DISABLE_COOKIES)}get streamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(ug.STREAM_TYPE))?t:null==(e=this.media)?void 0:e.streamType)?i:lf}set streamType(e){this.setAttribute(ug.STREAM_TYPE,`${e}`)}get defaultStreamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(Ao.DEFAULT_STREAM_TYPE))?t:null==(e=this.mediaController)?void 0:e.getAttribute(Ao.DEFAULT_STREAM_TYPE))?i:lc}set defaultStreamType(e){e?this.setAttribute(Ao.DEFAULT_STREAM_TYPE,e):this.removeAttribute(Ao.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var e,t;return this.hasAttribute(Ao.TARGET_LIVE_WINDOW)?+this.getAttribute(Ao.TARGET_LIVE_WINDOW):null!=(t=null==(e=this.media)?void 0:e.targetLiveWindow)?t:NaN}
3276set targetLiveWindow(e){e==this.targetLiveWindow||Number.isNaN(e)&&Number.isNaN(this.targetLiveWindow)||(null==e?this.removeAttribute(Ao.TARGET_LIVE_WINDOW):this.setAttribute(Ao.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e;return null==(e=this.media)?void 0:e.liveEdgeStart}get startTime(){return Tx(AM(this,ug.START_TIME))}set startTime(e){this.setAttribute(ug.START_TIME,`${e}`)}get preferPlayback(){let e=this.getAttribute(ug.PREFER_PLAYBACK);if("mse"===e||e===lp)return e}set preferPlayback(e){e!==this.preferPlayback&&("mse"===e||e===lp?this.setAttribute(ug.PREFER_PLAYBACK,e):this.removeAttribute(ug.PREFER_PLAYBACK))}get metadata(){var e;return null==(e=this.media)?void 0:e.metadata}set metadata(e){(vT(this,Av,AE).call(this),this.media)?this.media.metadata={...Au(this),...e}:TW("underlying media element missing when trying to set metadata. metadata will not be set.")}get _hlsConfig(){var e;return null==(e=this.media)?void 0:e._hlsConfig}set _hlsConfig(e){(vT(this,Av,AE).call(this),this.media)?this.media._hlsConfig=e:TW("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.")}async addCuePoints(e){var t;return(vT(this,Av,AE).call(this),this.media)?null==(t=this.media)?void 0:t.addCuePoints(e):void TW("underlying media element missing when trying to addCuePoints. cuePoints will not be added.")}get activeCuePoint(){var e;return null==(e=this.media)?void 0:e.activeCuePoint}get cuePoints(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.cuePoints)?t:[]}addChapters(e){var t;return(vT(this,Av,AE).call(this),this.media)?null==(t=this.media)?void 0:t.addChapters(e):void TW("underlying media element missing when trying to addChapters. chapters will not be added.")}get activeChapter(){var e;return null==(e=this.media)?void 0:e.activeChapter}get chapters(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.chapters)?t:[]}getStartDate(){var e;return null==(e=this.media)?void 0:e.getStartDate()}get currentPdt(){var e;return null==(e=this.media)?void 0:e.currentPdt}get tokens(){let e=this.getAttribute(Ao.PLAYBACK_TOKEN),t=this.getAttribute(Ao.DRM_TOKEN),i=this.getAttribute(Ao.THUMBNAIL_TOKEN),r=this.getAttribute(Ao.STORYBOARD_TOKEN);return{...vE(this,Am),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{},...null!=i?{thumbnail:i}:{},...null!=r?{storyboard:r}:{}}}set tokens(e){vb(this,Am,null!=e?e:{})}get playbackToken(){var e;return null!=(e=this.getAttribute(Ao.PLAYBACK_TOKEN))?e:void 0}set playbackToken(e){this.setAttribute(Ao.PLAYBACK_TOKEN,`${e}`)}get drmToken(){var e;return null!=(e=this.getAttribute(Ao.DRM_TOKEN))?e:void 0}set drmToken(e){this.setAttribute(Ao.DRM_TOKEN,`${e}`)}get thumbnailToken(){var e;return null!=(e=this.getAttribute(Ao.THUMBNAIL_TOKEN))?e:void 0}set thumbnailToken(e){this.setAttribute(Ao.THUMBNAIL_TOKEN,`${e}`)}get storyboardToken(){var e;return null!=(e=this.getAttribute(Ao.STORYBOARD_TOKEN))?e:void 0}set storyboardToken(e){this.setAttribute(Ao.STORYBOARD_TOKEN,`${e}`)}addTextTrack(e,t,i,r){var a;let s=null==(a=this.media)?void 0:a.nativeEl;if(s)return lN(s,e,t,i,r)}removeTextTrack(e){var t;let i=null==(t=this.media)?void 0:t.nativeEl;if(i){let t;return void(null==(t=Array.prototype.find.call(i.querySelectorAll("track"),t=>t.track===e))||t.remove())}}get textTracks(){var e;return null==(e=this.media)?void 0:e.textTracks}get castReceiver(){var e;return null!=(e=this.getAttribute(Ao.CAST_RECEIVER))?e:void 0}set castReceiver(e){e!==this.castReceiver&&(e?this.setAttribute(Ao.CAST_RECEIVER,e):this.removeAttribute(Ao.CAST_RECEIVER))}get castCustomData(){var e;return null==(e=this.media)?void 0:e.castCustomData}set castCustomData(e){this.media?this.media.castCustomData=e:TW("underlying media element missing when trying to set castCustomData. castCustomData will not be set.")}get noTooltips(){return this.hasAttribute(Ao.NO_TOOLTIPS)}set noTooltips(e){e?this.setAttribute(Ao.NO_TOOLTIPS,""):this.removeAttribute(Ao.NO_TOOLTIPS)}get proudlyDisplayMuxBadge(){return this.hasAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(e){e?this.setAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE,""):this.removeAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE)}};function AM(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}Ah=new WeakMap,Ac=new WeakMap,Am=new WeakMap,Af=new WeakMap,Ap=new WeakMap,Ag=new WeakMap,Av=new WeakSet,AE=function(){var e,t,i,r;if(!vE(this,Ac)){vb(this,Ac,!0),vT(this,Av,AT).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof TI.HTMLElement))throw""}catch{TW("<media-theme> failed to upgrade!")}try{customElements.upgrade(this.media)}catch{TW("underlying media element failed to upgrade!")}
3276try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof mL))throw""}catch{TW("<media-controller> failed to upgrade!")}vT(this,Av,AA).call(this),vT(this,Av,A_).call(this),vT(this,Av,AS).call(this),vb(this,Af,null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))||t),vT(this,Av,Ak).call(this),null==(i=this.media)||i.addEventListener("streamtypechange",()=>vT(this,Av,AT).call(this)),null==(r=this.media)||r.addEventListener("loadstart",()=>vT(this,Av,AT).call(this))}},Ay=function(){var e,t;try{null==(e=null==window?void 0:window.CSS)||e.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),null==(t=null==window?void 0:window.CSS)||t.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Ab=function(e){Object.assign(vE(this,Ag),e),vT(this,Av,AT).call(this)},AT=function(e={}){var t,i,r,a,s,n,o,l,d,u,h,c,m,f,p,g,E,y,b,T,A,_,S,k,L,R,I,w,C,D,x,M,P,O,N,U,F,B,$,H,G,V,K,W,q;let j,Y,z,Q;t={...vE(this,Ag),...e},j={src:!this.playbackId&&this.src,playbackId:this.playbackId,hasSrc:!!this.playbackId||!!this.src||!!this.currentSrc,poster:this.poster,storyboard:this.storyboard,storyboardSrc:this.getAttribute(Ao.STORYBOARD_SRC),fullscreenElement:this.getAttribute(Ao.FULLSCREEN_ELEMENT),placeholder:this.getAttribute("placeholder"),themeTemplate:function(e){var t,i;let r=e.theme;if(r){let a=null==(i=null==(t=e.getRootNode())?void 0:t.getElementById)?void 0:i.call(t,r);
3276if(a&&a instanceof HTMLTemplateElement)return a;r.startsWith("media-theme-")||(r=`media-theme-${r}`);let s=TI.customElements.get(r);if(null!=s&&s.template)return s.template}}(this),thumbnailTime:!this.tokens.thumbnail&&this.thumbnailTime,autoplay:this.autoplay,crossOrigin:this.crossOrigin,loop:this.loop,noHotKeys:this.hasAttribute(Ao.NOHOTKEYS),hotKeys:this.getAttribute(Ao.HOTKEYS),muted:this.muted,paused:this.paused,preload:this.preload,envKey:this.envKey,preferCmcd:this.preferCmcd,debug:this.debug,disableTracking:this.disableTracking,disableCookies:this.disableCookies,tokens:this.tokens,beaconCollectionDomain:this.beaconCollectionDomain,maxResolution:this.maxResolution,minResolution:this.minResolution,programStartTime:this.programStartTime,programEndTime:this.programEndTime,assetStartTime:this.assetStartTime,assetEndTime:this.assetEndTime,renditionOrder:this.renditionOrder,metadata:this.metadata,playerInitTime:this.playerInitTime,playerSoftwareName:this.playerSoftwareName,playerSoftwareVersion:this.playerSoftwareVersion,startTime:this.startTime,preferPlayback:this.preferPlayback,audio:this.audio,defaultStreamType:this.defaultStreamType,targetLiveWindow:this.getAttribute(ug.TARGET_LIVE_WINDOW),streamType:T$(this.getAttribute(ug.STREAM_TYPE)),primaryColor:this.getAttribute(Ao.PRIMARY_COLOR),secondaryColor:this.getAttribute(Ao.SECONDARY_COLOR),accentColor:this.getAttribute(Ao.ACCENT_COLOR),forwardSeekOffset:this.forwardSeekOffset,backwardSeekOffset:this.backwardSeekOffset,defaultHiddenCaptions:this.defaultHiddenCaptions,defaultDuration:this.defaultDuration,defaultShowRemainingTime:this.defaultShowRemainingTime,hideDuration:(Y=null==(a=this.mediaController)?void 0:a.querySelector("media-time-display"))&&"none"===getComputedStyle(Y).getPropertyValue("--media-duration-display-display").trim(),playbackRates:this.getAttribute(Ao.PLAYBACK_RATES),customDomain:null!=(i=this.getAttribute(ug.CUSTOM_DOMAIN))?i:void 0,title:this.getAttribute(Ao.TITLE),videoTitle:null!=(r=this.getAttribute(Ao.VIDEO_TITLE))?r:this.getAttribute(Ao.TITLE),novolumepref:this.hasAttribute(Ao.NO_VOLUME_PREF),nomutedpref:this.hasAttribute(Ao.NO_MUTED_PREF),proudlyDisplayMuxBadge:this.hasAttribute(Ao.PROUDLY_DISPLAY_MUX_BADGE),castReceiver:this.castReceiver,disablePseudoEnded:this.hasAttribute(Ao.DISABLE_PSEUDO_ENDED),...t,extraSourceParams:this.extraSourceParams},s=T9`
3277  <style>
3278    ${(e=>{let{tokens:t}=e;return t.drm?":host(:not([cast-receiver])) { --_cast-button-drm-display: none; }":""})(j)}
3279    ${TJ}
3280  </style>
3281  ${o=j,T9`
3282  <media-theme
3283    template="${o.themeTemplate||!1}"
3284    defaultstreamtype="${null!=(l=o.defaultStreamType)&&l}"
3285    hotkeys="${z=o.hotKeys?`${o.hotKeys}`:"","live"===T$(o.streamType)&&(z+=" noarrowleft noarrowright"),z||!1}"
3286    nohotkeys="${o.noHotKeys||!o.hasSrc||!1}"
3287    noautoseektolive="${!!(null!=(d=o.streamType)&&d.includes(lm))&&0!==o.targetLiveWindow}"
3288    novolumepref="${o.novolumepref||!1}"
3289    nomutedpref="${o.nomutedpref||!1}"
3290    disabled="${!o.hasSrc||o.isDialogOpen}"
3291    audio="${null!=(u=o.audio)&&u}"
3292    style="${null!=(q={"--media-primary-color":o.primaryColor,"--media-secondary-color":o.secondaryColor,"--media-accent-color":o.accentColor},Q="",Object.entries(q).forEach(([e,t])=>{null!=t&&(Q+=`${TC(e)}: ${t}; `)}),h=Q?Q.trim():void 0)&&h}"
3293    defaultsubtitles="${!o.defaultHiddenCaptions}"
3294    forwardseekoffset="${null!=(c=o.forwardSeekOffset)&&c}"
3295    backwardseekoffset="${null!=(m=o.backwardSeekOffset)&&m}"
3296    playbackrates="${null!=(f=o.playbackRates)&&f}"
3297    defaultshowremainingtime="${null!=(p=o.defaultShowRemainingTime)&&p}"
3298    defaultduration="${null!=(g=o.defaultDuration)&&g}"
3299    hideduration="${null!=(E=o.hideDuration)&&E}"
3300    title="${null!=(y=o.title)&&y}"
3301    videotitle="${null!=(b=o.videoTitle)&&b}"
3302    proudlydisplaymuxbadge="${null!=(T=o.proudlyDisplayMuxBadge)&&T}"
3303    exportparts="${T6}"
3304    onclose="${o.onCloseErrorDialog}"
3305    onfocusin="${o.onFocusInErrorDialog}"
3306  >
3307    <mux-video
3308      slot="media"
3309      inert="${null!=(A=o.noHotKeys)&&A}"
3310      target-live-window="${null!=(_=o.targetLiveWindow)&&_}"
3311      stream-type="${null!=(S=T$(o.streamType))&&S}"
3312      crossorigin="${null!=(k=o.crossOrigin)?k:""}"
3313      playsinline
3314      autoplay="${null!=(L=o.autoplay)&&L}"
3315      muted="${null!=(R=o.muted)&&R}"
3316      loop="${null!=(I=o.loop)&&I}"
3317      preload="${null!=(w=o.preload)&&w}"
3318      debug="${null!=(C=o.debug)&&C}"
3319      prefer-cmcd="${null!=(D=o.preferCmcd)&&D}"
3320      disable-tracking="${null!=(x=o.disableTracking)&&x}"
3321      disable-cookies="${null!=(M=o.disableCookies)&&M}"
3322      prefer-playback="${null!=(P=o.preferPlayback)&&P}"
3323      start-time="${null!=o.startTime&&o.startTime}"
3324      beacon-collection-domain="${null!=(O=o.beaconCollectionDomain)&&O}"
3325      player-init-time="${null!=(N=o.playerInitTime)&&N}"
3326      player-software-name="${null!=(U=o.playerSoftwareName)&&U}"
3327      player-software-version="${null!=(F=o.playerSoftwareVersion)&&F}"
3328      env-key="${null!=(B=o.envKey)&&B}"
3329      custom-domain="${null!=($=o.customDomain)&&$}"
3330      src="${o.src?o.src:!!o.playbackId&&dw(o)}"
3331      cast-src="${o.src?o.src:!!o.playbackId&&dw(o)}"
3332      cast-receiver="${null!=(H=o.castReceiver)&&H}"
3333      drm-token="${null!=(V=null==(G=o.tokens)?void 0:G.drm)&&V}"
3334      exportparts="video"
3335      disable-pseudo-ended="${null!=(K=o.disablePseudoEnded)&&K}"
3336    >
3337      ${o.storyboard?T9`<track label="thumbnails" default kind="metadata" src="${o.storyboard}" />`:T9``}
3338      <slot></slot>
3339    </mux-video>
3340    <slot name="poster" slot="poster">
3341      <media-poster-image
3342        part="poster"
3343        exportparts="poster, img"
3344        src="${!!o.poster&&o.poster}"
3345        placeholdersrc="${null!=(W=o.placeholder)&&W}"
3346      ></media-poster-image>
3347    </slot>
3348  </media-theme>
3349`}
3350`,n=this.shadowRoot,s.renderInto(n)},AA=function(){let e=e=>{var t,i;if(!(null!=e&&e.startsWith("theme-")))return;let r=e.replace(/^theme-/,"");if(Al.includes(r))return;let a=this.getAttribute(e);null!=a?null==(t=this.mediaTheme)||t.setAttribute(r,a):null==(i=this.mediaTheme)||i.removeAttribute(r)};new MutationObserver(t=>{for(let{attributeName:i}of t)e(i)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(e)},A_=function(){let e=e=>{var t;let i=null==(t=this.media)?void 0:t.error;if(!(i instanceof ld)){let{message:e,code:t}=null!=i?i:{};i=new ld(e,t)}if(!(null!=i&&i.fatal)){TK(i),i.data&&TK(`${i.name} data:`,i.data);return}let r=Ae(i,!1);r.message&&Tq(r),TW(i),i.data&&TW(`${i.name} data:`,i.data),vT(this,Av,Ab).call(this,{isDialogOpen:!0})};this.addEventListener("error",e),this.media&&(this.media.errorTranslator=(e={})=>{var t,i,r;if(!((null==(t=this.media)?void 0:t.error)instanceof ld))return e;let a=Ae(null==(i=this.media)?void 0:i.error,!1);return{player_error_code:null==(r=this.media)?void 0:r.error.code,player_error_message:a.message?String(a.message):e.player_error_message,player_error_context:a.context?String(a.context):e.player_error_context}})},AS=function(){var e,t,i,r;let a=()=>vT(this,Av,AT).call(this);null==(t=null==(e=this.media)?void 0:e.textTracks)||t.addEventListener("addtrack",a),null==(r=null==(i=this.media)?void 0:i.textTracks)||r.addEventListener("removetrack",a)},Ak=function(){var e,t;if(!/Firefox/i.test(navigator.userAgent))return;let i,r=new WeakMap,a=()=>this.streamType===lm&&!this.secondaryColor&&this.offsetWidth>=800,s=(e,t,i=!1)=>{a()||Array.from(e&&e.activeCues||[]).forEach(e=>{if(!(!e.snapToLines||e.line<-5||e.line>=0&&e.line<10))if(!t||this.paused){let t=e.text.split(`
3351`).length,a=-3;this.streamType===lm&&(a=-2);let s=a-t;if(e.line===s&&!i)return;r.has(e)||r.set(e,e.line),e.line=s}else setTimeout(()=>{e.line=r.get(e)||"auto"},500)})},n=()=>{var e,t;s(i,null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))&&t)},o=()=>{var e,t;let r=Array.from((null==(t=null==(e=this.mediaController)?void 0:e.media)?void 0:t.textTracks)||[]).filter(e=>["subtitles","captions"].includes(e.kind)&&"showing"===e.mode)[0];r!==i&&(null==i||i.removeEventListener("cuechange",n)),null==(i=r)||i.addEventListener("cuechange",n),s(i,vE(this,Af))};o(),null==(e=this.textTracks)||e.addEventListener("change",o),null==(t=this.textTracks)||t.addEventListener("addtrack",o),this.addEventListener("userinactivechange",()=>{var e,t;let r=null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cb))||t;vE(this,Af)!==r&&(vb(this,Af,r),s(i,vE(this,Af)))})};var AP=e=>{throw TypeError(e)},AO=(e,t,i)=>t.has(e)||AP("Cannot "+i),AN=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends AN{});var AU,AF=class extends AN{},AB=class{constructor(e,t={}){((e,t,i)=>t.has(e)?AP("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i))(this,AU),((e,t,i,r)=>(AO(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,AU,null==t?void 0:t.detail)}get detail(){let e,t;return AO(this,e=AU,"read from private field"),t?t.call(this):e.get(this)}initCustomEvent(){}};AU=new WeakMap;var A$={document:{createElement:function(e,t){return new AF}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(AF)},CustomEvent:AB,EventTarget:AN,HTMLElement:AF,HTMLVideoElement:class extends AN{}},AH="u"<typeof window||void 0===globalThis.customElements,AG=AH?A$:globalThis;AH&&A$.document,AG.customElements.get("mux-player")||(AG.customElements.define("mux-player",Ax),AG.MuxPlayerElement=Ax);
3351var AV=parseInt(s.default.version)>=19,AK={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"};function AW(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var Aq=Object.prototype.hasOwnProperty,Aj=(e,t,i)=>!((e,t)=>{if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(Array.isArray(e))return!!Array.isArray(t)&&e.length===t.length&&e.some((e,i)=>t[i]===e);let i=Object.keys(e),r=Object.keys(t);if(i.length!==r.length)return!1;for(let r=0;r<i.length;r++)if(!Aq.call(t,i[r])||!Object.is(e[i[r]],t[i[r]]))return!1;return!0})(t,e[i]),AY=(e,t,i)=>{e[i]=t},Az=(e,t,i,r=AY,a=Aj)=>(0,s.useEffect)(()=>{let s=null==i?void 0:i.current;s&&a(s,t,e)&&r(s,t,e)},[null==i?void 0:i.current,t]),AQ=(()=>{try{return"3.9.1"}catch{}return"UNKNOWN"})(),AX=(e,t,i)=>(0,s.useEffect)(()=>{let r=null==t?void 0:t.current;if(r&&i)return r.addEventListener(e,i),()=>{r.removeEventListener(e,i)}},[null==t?void 0:t.current,i,e]),AZ=s.default.forwardRef(({children:e,...t},i)=>s.default.createElement("mux-player",{suppressHydrationWarning:!0,...((e={})=>{let{ref:t,...i}=e;return Object.entries(i).reduce((e,[t,i])=>{let r=((e,t)=>{if(!(!AV&&"boolean"==typeof t&&!t)){let i,r;if(i=e,null!=(r=AK)&&i in r)return AK[e];if(void 0!==t)return/[A-Z]/.test(e)?e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`):e}})(t,i);if(!r)return e;let a=AV||"boolean"!=typeof i?i:"";return e[r]=a,e},{})})(t),ref:i},e)),AJ="mux-player-react",A0=s.default.forwardRef((e,t)=>{var i;let r=(0,s.useRef)(null),a=function(...e){return s.useCallback(function(...e){return t=>{let i=!1,r=e.map(e=>{let r=AW(e,t);return i||"function"!=typeof r||(i=!0),r});if(i)return()=>{for(let t=0;t<r.length;t++){let i=r[t];"function"==typeof i?i():AW(e[t],null)}}}}(...e),e)}(r,t),[n]=((e,t)=>{let{onAbort:i,onCanPlay:r,onCanPlayThrough:a,onEmptied:s,onLoadStart:n,onLoadedData:o,onLoadedMetadata:l,onProgress:d,onDurationChange:u,onVolumeChange:h,onRateChange:c,onResize:m,onWaiting:f,onPlay:p,onPlaying:g,onTimeUpdate:E,onPause:y,onSeeking:b,onSeeked:T,onStalled:A,onSuspend:_,onEnded:S,onError:k,onCuePointChange:L,onChapterChange:R,metadata:I,tokens:w,paused:C,playbackId:D,playbackRates:x,currentTime:M,themeProps:P,extraSourceParams:O,castCustomData:N,_hlsConfig:U,...F}=t;return Az("tokens",w,e),Az("playbackId",D,e),Az("playbackRates",x,e),Az("metadata",I,e),Az("extraSourceParams",O,e),Az("_hlsConfig",U,e),Az("themeProps",P,e),Az("castCustomData",N,e),Az("paused",C,e,(e,t)=>{null!=t&&(t?e.pause():e.play())},(e,t,i)=>(!e.hasAttribute("autoplay")||!!e.hasPlayed)&&Aj(e,t,i)),Az("currentTime",M,e,(e,t)=>{null!=t&&(e.currentTime=t)}),AX("abort",e,i),AX("canplay",e,r),AX("canplaythrough",e,a),AX("emptied",e,s),AX("loadstart",e,n),AX("loadeddata",e,o),AX("loadedmetadata",e,l),AX("progress",e,d),AX("durationchange",e,u),AX("volumechange",e,h),AX("ratechange",e,c),AX("resize",e,m),AX("waiting",e,f),AX("play",e,p),AX("playing",e,g),AX("timeupdate",e,E),AX("pause",e,y),AX("seeking",e,b),AX("seeked",e,T),AX("stalled",e,A),AX("suspend",e,_),AX("ended",e,S),AX("error",e,k),AX("cuepointchange",e,L),AX("chapterchange",e,R),[F]}
3351)(r,e),[o]=(0,s.useState)(null!=(i=e.playerInitTime)?i:dR());return s.default.createElement(AZ,{ref:a,defaultHiddenCaptions:e.defaultHiddenCaptions,playerSoftwareName:AJ,playerSoftwareVersion:AQ,playerInitTime:o,...n})});e.s(["default",0,A0,"playerSoftwareName",0,AJ,"playerSoftwareVersion",0,AQ],68399),e.i(68399),e.s(["MaxResolution",0,{upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},"MediaError",0,ld,"MinResolution",0,{noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},"RenditionOrder",0,{DESCENDING:"desc"},"default",0,A0,"generatePlayerInitTime",0,dR,"playerSoftwareName",0,AJ,"playerSoftwareVersion",0,AQ],42033)},26306,e=>{"use strict";var t=e.i(43476),i=e.i(71645),r=e.i(57688),a=e.i(75254);let s=(0,a.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),n=(0,a.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);var o=e.i(87280);e.s(["StepCard",0,function({step:e,title:a,description:l,mediaSrc:d,mediaAlt:u="",mediaType:h="video",imagePosition:c="right",showButton:m=!1}){let[f,p]=(0,i.useState)(!0),g=(0,i.useRef)(null),E=`step-${e}-heading`,y=(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:gap-2.5",children:[(0,t.jsxs)("span",{className:"font-mono text-sm font-medium uppercase tracking-wide text-muted-foreground","aria-hidden":"true",children:["Step ",e]}),(0,t.jsxs)("h2",{id:E,className:"text-2xl font-medium leading-[1.2] md:text-4xl",children:[(0,t.jsxs)("span",{className:"sr-only",children:["Step ",e,": "]}),a]}),(0,t.jsx)("p",{className:"text-base leading-[1.5] text-muted-foreground md:text-lg",children:l}),m&&(0,t.jsx)("div",{className:"pt-2",children:(0,t.jsx)(o.GetExtensionButton,{variant:"outline"})})]}),b=(0,t.jsxs)("div",{className:"group relative aspect-square w-full overflow-hidden rounded-3xl bg-primary",children:["video"===h?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("video",{ref:g,src:d,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata","aria-label":u||`Step ${e} demonstration: ${a}`,className:"pointer-events-none h-full w-full select-none object-cover",draggable:!1}),(0,t.jsx)("button",{type:"button",onClick:()=>{g.current&&(f?(g.current.pause(),p(!1)):(g.current.play().catch(()=>{}),p(!0)))},className:"absolute right-3 top-3 flex h-8 w-8 cursor-pointer items-center backdrop-blur-md justify-center rounded-full bg-black/10 text-white opacity-0 transition-all duration-300 hover:bg-black/40 group-hover:opacity-100","aria-label":f?"Pause video":"Play video",children:f?(0,t.jsx)(n,{className:"size-4",fill:"white","aria-hidden":"true"}):(0,t.jsx)(s,{className:"size-4",fill:"white","aria-hidden":"true"})})]}):(0,t.jsx)(r.default,{src:d,alt:u,fill:!0,sizes:"(max-width: 768px) 100vw, 50vw",className:"pointer-events-none select-none object-cover",draggable:!1}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-3xl ring-1 ring-inset ring-black/5"})]});return(0,t.jsx)("section",{"aria-labelledby":E,className:"flex flex-col gap-6 px-4 py-8 md:flex-row md:items-center md:gap-12 md:px-6 md:py-12",children:"left"===c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"md:w-1/2",children:b}),(0,t.jsx)("div",{className:"md:w-1/2",children:y})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"order-2 md:order-1 md:w-1/2",children:y}),(0,t.jsx)("div",{className:"order-1 md:order-2 md:w-1/2",children:b})]})})}],26306)},73443,e=>{"use strict";var t=e.i(43476),i=e.i(71645),r=e.i(30030),a=e.i(75830),s=e.i(20783),n=e.i(81140),o=e.i(69340),l=e.i(48425),d=e.i(34620),u=e.i(96626),h=e.i(10772),c="Collapsible",[m,f]=(0,r.createContextScope)(c),[p,g]=m(c),E=i.forwardRef((e,r)=>{let{__scopeCollapsible:a,open:s,defaultOpen:n,disabled:d,onOpenChange:u,...m}=e,[f,g]=(0,o.useControllableState)({prop:s,defaultProp:n??!1,onChange:u,caller:c});return(0,t.jsx)(p,{scope:a,disabled:d,contentId:(0,h.useId)(),open:f,onOpenToggle:i.useCallback(()=>g(e=>!e),[g]),children:(0,t.jsx)(l.Primitive.div,{"data-state":S(f),"data-disabled":d?"":void 0,...m,ref:r})})});E.displayName=c;var y="CollapsibleTrigger",b=i.forwardRef((e,i)=>{let{__scopeCollapsible:r,...a}=e,s=g(y,r);return(0,t.jsx)(l.Primitive.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":S(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...a,ref:i,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)})});b.displayName=y;var T="CollapsibleContent",A=i.forwardRef((e,i)=>{let{forceMount:r,...a}=e,s=g(T,e.__scopeCollapsible);return(0,t.jsx)(u.Presence,{present:r||s.open,children:({present:e})=>(0,t.jsx)(_,{...a,ref:i,present:e})})});A.displayName=T;var _=i.forwardRef((e,r)=>{let{__scopeCollapsible:a,present:n,children:o,...u}=e,h=g(T,a),[c,m]=i.useState(n),f=i.useRef(null),p=(0,s.useComposedRefs)(r,f),E=i.useRef(0),y=E.current,b=i.useRef(0),A=b.current,_=h.open||c,k=i.useRef(_),L=i.useRef(void 0);return i.useEffect(()=>{let e=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.useLayoutEffect)(()=>{let e=f.current;if(e){L.current=L.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();E.current=t.height,b.current=t.width,k.current||(e.style.transitionDuration=L.current.transitionDuration,e.style.animationName=L.current.animationName),m(n)}},[h.open,n]),(0,t.jsx)(l.Primitive.div,{"data-state":S(h.open),"data-disabled":h.disabled?"":void 0,id:h.contentId,hidden:!_,...u,ref:p,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":A?`${A}px`:void 0,...e.style},children:_&&o})});function S(e){return e?"open":"closed"}var k=e.i(86318),L="Accordion",R=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[I,w,C]=(0,a.createCollection)(L),[D,x]=(0,r.createContextScope)(L,[C,f]),M=f(),P=i.default.forwardRef((e,i)=>{let{type:r,...a}=e;return(0,t.jsx)(I.Provider,{scope:e.__scopeAccordion,children:"multiple"===r?(0,t.jsx)($,{...a,ref:i}
3351):(0,t.jsx)(B,{...a,ref:i})})});P.displayName=L;var[O,N]=D(L),[U,F]=D(L,{collapsible:!1}),B=i.default.forwardRef((e,r)=>{let{value:a,defaultValue:s,onValueChange:n=()=>{},collapsible:l=!1,...d}=e,[u,h]=(0,o.useControllableState)({prop:a,defaultProp:s??"",onChange:n,caller:L});return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:i.default.useMemo(()=>u?[u]:[],[u]),onItemOpen:h,onItemClose:i.default.useCallback(()=>l&&h(""),[l,h]),children:(0,t.jsx)(U,{scope:e.__scopeAccordion,collapsible:l,children:(0,t.jsx)(V,{...d,ref:r})})})}),$=i.default.forwardRef((e,r)=>{let{value:a,defaultValue:s,onValueChange:n=()=>{},...l}=e,[d,u]=(0,o.useControllableState)({prop:a,defaultProp:s??[],onChange:n,caller:L}),h=i.default.useCallback(e=>u((t=[])=>[...t,e]),[u]),c=i.default.useCallback(e=>u((t=[])=>t.filter(t=>t!==e)),[u]);return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:d,onItemOpen:h,onItemClose:c,children:(0,t.jsx)(U,{scope:e.__scopeAccordion,collapsible:!0,children:(0,t.jsx)(V,{...l,ref:r})})})}),[H,G]=D(L),V=i.default.forwardRef((e,r)=>{let{__scopeAccordion:a,disabled:o,dir:d,orientation:u="vertical",...h}=e,c=i.default.useRef(null),m=(0,s.useComposedRefs)(c,r),f=w(a),p="ltr"===(0,k.useDirection)(d),g=(0,n.composeEventHandlers)(e.onKeyDown,e=>{if(!R.includes(e.key))return;let t=e.target,i=f().filter(e=>!e.ref.current?.disabled),r=i.findIndex(e=>e.ref.current===t),a=i.length;if(-1===r)return;e.preventDefault();let s=r,n=a-1,o=()=>{(s=r+1)>n&&(s=0)},l=()=>{(s=r-1)<0&&(s=n)};switch(e.key){case"Home":s=0;break;case"End":s=n;break;case"ArrowRight":"horizontal"===u&&(p?o():l());break;case"ArrowDown":"vertical"===u&&o();break;case"ArrowLeft":"horizontal"===u&&(p?l():o());break;case"ArrowUp":"vertical"===u&&l()}let d=s%a;i[d].ref.current?.focus()});return(0,t.jsx)(H,{scope:a,disabled:o,direction:d,orientation:u,children:(0,t.jsx)(I.Slot,{scope:a,children:(0,t.jsx)(l.Primitive.div,{...h,"data-orientation":u,ref:m,onKeyDown:o?void 0:g})})})}),K="AccordionItem",[W,q]=D(K),j=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,value:a,...s}=e,n=G(K,r),o=N(K,r),l=M(r),d=(0,h.useId)(),u=a&&o.value.includes(a)||!1,c=n.disabled||e.disabled;return(0,t.jsx)(W,{scope:r,open:u,disabled:c,triggerId:d,children:(0,t.jsx)(E,{"data-orientation":n.orientation,"data-state":ee(u),...l,...s,ref:i,disabled:c,open:u,onOpenChange:e=>{e?o.onItemOpen(a):o.onItemClose(a)}})})});j.displayName=K;var Y="AccordionHeader",z=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Y,r);return(0,t.jsx)(l.Primitive.h3,{"data-orientation":s.orientation,"data-state":ee(n.open),"data-disabled":n.disabled?"":void 0,...a,ref:i})});z.displayName=Y;var Q="AccordionTrigger",X=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Q,r),o=F(Q,r),l=M(r);return(0,t.jsx)(I.ItemSlot,{scope:r,children:(0,t.jsx)(b,{"aria-disabled":n.open&&!o.collapsible||void 0,"data-orientation":s.orientation,id:n.triggerId,...l,...a,ref:i}
3351)})});X.displayName=Q;var Z="AccordionContent",J=i.default.forwardRef((e,i)=>{let{__scopeAccordion:r,...a}=e,s=G(L,r),n=q(Z,r),o=M(r);return(0,t.jsx)(A,{role:"region","aria-labelledby":n.triggerId,"data-orientation":s.orientation,...o,...a,ref:i,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function ee(e){return e?"open":"closed"}J.displayName=Z;var et=e.i(31171),et=et,ei=e.i(75157);e.s(["Accordion",0,function({...e}){return(0,t.jsx)(P,{"data-slot":"accordion",...e})},"AccordionContent",0,function({className:e,children:i,...r}){return(0,t.jsx)(J,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...r,children:(0,t.jsx)("div",{className:(0,ei.cn)("pt-0 pb-4",e),children:i})})},"AccordionItem",0,function({className:e,...i}){return(0,t.jsx)(j,{"data-slot":"accordion-item",className:(0,ei.cn)("border-b last:border-b-0",e),...i})},"AccordionTrigger",0,function({className:e,children:i,...r}){return(0,t.jsx)(z,{className:"flex",children:(0,t.jsxs)(X,{"data-slot":"accordion-trigger",className:(0,ei.cn)("group focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",e),...r,children:[(0,t.jsx)("span",{className:"decoration-transparent underline transition-colors duration-200 group-hover:decoration-current",children:i}),(0,t.jsx)(et.default,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]})})}],73443)},72436,e=>{"use strict";var t=e.i(43476),i=e.i(71645);e.i(74080);var r=e.i(91918),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let s=(0,r.createSlot)(`Primitive.${a}`),n=i.forwardRef((e,i)=>{let{asChild:r,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(r?s:a,{...n,ref:i})});return n.displayName=`Primitive.${a}`,{...e,[a]:n}},{}),s="horizontal",n=["horizontal","vertical"],o=i.forwardRef((e,i)=>{var r;let{decorative:o,orientation:l=s,...d}=e,u=(r=l,n.includes(r))?l:s;return(0,t.jsx)(a.div,{"data-orientation":u,...o?{role:"none"}:{"aria-orientation":"vertical"===u?u:void 0,role:"separator"},...d,ref:i})});o.displayName="Separator";var l=e.i(75157);e.s(["Separator",0,function({className:e,orientation:i="horizontal",decorative:r=!0,...a}){return(0,t.jsx)(o,{"data-slot":"separator",decorative:r,orientation:i,className:(0,l.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...a})}],72436)},46798,e=>{"use strict";let t;var i=e.i(43476),r=e.i(71645),a=e.i(81140),s=e.i(20783),n=e.i(30030),o=e.i(26330),l=e.i(10772),d=e.i(53660),u=e.i(74606),h=e.i(96626),c=e.i(48425),m=Symbol("radix.slottable"),f=e.i(69340),p=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),g=r.forwardRef((e,t)=>(0,i.jsx)(c.Primitive.span,{...e,ref:t,style:{...p,...e.style}}));g.displayName="VisuallyHidden";var[E,y]=(0,n.createContextScope)("Tooltip",[d.createPopperScope]),b=(0,d.createPopperScope)(),T="TooltipProvider",A="tooltip.open",[_,S]=E(T),k=e=>{let{__scopeTooltip:t,delayDuration:a=700,skipDelayDuration:s=300,disableHoverableContent:n=!1,children:o}=e,l=r.useRef(!0),d=r.useRef(!1),u=r.useRef(0);return r.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,i.jsx)(_,{scope:t,isOpenDelayedRef:l,delayDuration:a,onOpen:r.useCallback(()=>{window.clearTimeout(u.current),l.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>l.current=!0,s)},[s]),isPointerInTransitRef:d,onPointerInTransitChange:r.useCallback(e=>{d.current=e},[]),disableHoverableContent:n,children:o})};k.displayName=T;var L="Tooltip",[R,I]=E(L),w=e=>{let{__scopeTooltip:t,children:a,open:s,defaultOpen:n,onOpenChange:o,disableHoverableContent:u,delayDuration:h}=e,c=S(L,e.__scopeTooltip),m=b(t),[p,g]=r.useState(null),E=(0,l.useId)(),y=r.useRef(0),T=u??c.disableHoverableContent,_=h??c.delayDuration,k=r.useRef(!1),[I,w]=(0,f.useControllableState)({prop:s,defaultProp:n??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(A))):c.onClose(),o?.(e)},caller:L}),C=r.useMemo(()=>I?k.current?"delayed-open":"instant-open":"closed",[I]),D=r.useCallback(()=>{window.clearTimeout(y.current),y.current=0,k.current=!1,w(!0)},[w]),x=r.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w(!1)},[w]),M=r.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{k.current=!0,w(!0),y.current=0},_)},[_,w]);return r.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,i.jsx)(d.Root,{...m,children:(0,i.jsx)(R,{scope:t,contentId:E,open:I,stateAttribute:C,trigger:p,onTriggerChange:g,onTriggerEnter:r.useCallback(()=>{c.isOpenDelayedRef.current?M():D()},[c.isOpenDelayedRef,M,D]),onTriggerLeave:r.useCallback(()=>{T?x():(window.clearTimeout(y.current),y.current=0)},[x,T]),onOpen:D,onClose:x,disableHoverableContent:T,children:a})})};w.displayName=L;var C="TooltipTrigger",D=r.forwardRef((e,t)=>
3351{let{__scopeTooltip:n,...o}=e,l=I(C,n),u=S(C,n),h=b(n),m=r.useRef(null),f=(0,s.useComposedRefs)(t,m,l.onTriggerChange),p=r.useRef(!1),g=r.useRef(!1),E=r.useCallback(()=>p.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),(0,i.jsx)(d.Anchor,{asChild:!0,...h,children:(0,i.jsx)(c.Primitive.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...o,ref:f,onPointerMove:(0,a.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||u.isPointerInTransitRef.current||(l.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,a.composeEventHandlers)(e.onPointerLeave,()=>{l.onTriggerLeave(),g.current=!1}),onPointerDown:(0,a.composeEventHandlers)(e.onPointerDown,()=>{l.open&&l.onClose(),p.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{p.current||l.onOpen()}),onBlur:(0,a.composeEventHandlers)(e.onBlur,l.onClose),onClick:(0,a.composeEventHandlers)(e.onClick,l.onClose)})})});D.displayName=C;var x="TooltipPortal",[M,P]=E(x,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:a,container:s}=e,n=I(x,t);return(0,i.jsx)(M,{scope:t,forceMount:r,children:(0,i.jsx)(h.Presence,{present:r||n.open,children:(0,i.jsx)(u.Portal,{asChild:!0,container:s,children:a})})})};O.displayName=x;var N="TooltipContent",U=r.forwardRef((e,t)=>{let r=P(N,e.__scopeTooltip),{forceMount:a=r.forceMount,side:s="top",...n}=e,o=I(N,e.__scopeTooltip);return(0,i.jsx)(h.Presence,{present:a||o.open,children:o.disableHoverableContent?(0,i.jsx)(G,{side:s,...n,ref:t}):(0,i.jsx)(F,{side:s,...n,ref:t})})}),F=r.forwardRef((e,t)=>{let a=I(N,e.__scopeTooltip),n=S(N,e.__scopeTooltip),o=r.useRef(null),l=(0,s.useComposedRefs)(t,o),[d,u]=r.useState(null),{trigger:h,onClose:c}=a,m=o.current,{onPointerInTransitChange:f}=n,p=r.useCallback(()=>{u(null),f(!1)},[f]),g=r.useCallback((e,t)=>{let i,r=e.currentTarget,a={x:e.clientX,y:e.clientY},s=function(e,t){let i=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(i,r,a,s)){case s:return"left";case a:return"right";case i:return"top";case r:return"bottom";default:throw Error("unreachable")}}(a,r.getBoundingClientRect());u(((i=[...function(e,t,i=5){let r=[];switch(t){case"top":r.push({x:e.x-i,y:e.y+i},{x:e.x+i,y:e.y+i});break;case"bottom":r.push({x:e.x-i,y:e.y-i},{x:e.x+i,y:e.y-i});break;case"left":r.push({x:e.x+i,y:e.y-i},{x:e.x+i,y:e.y+i});break;case"right":r.push({x:e.x-i,y:e.y-i},{x:e.x-i,y:e.y+i})}return r}(a,s),...function(e){let{top:t,right:i,bottom:r,left:a}=e;return[{x:a,y:t},{x:i,y:t},{x:i,y:r},{x:a,y:r}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let i=0;i<e.length;i++){let r=e[i];for(;t.length>=2;){let e=t[t.length-1],i=t[t.length-2];if((e.x-i.x)*(r.y-i.y)>=(e.y-i.y)*(r.x-i.x))t.pop();else break}t.push(r)}t.pop();let i=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;i.length>=2;){let e=i[i.length-1],t=i[i.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))i.pop();else break}i.push(r)}return(i.pop(),1===t.length&&1===i.length&&t[0].x===i[0].x&&t[0].y===i[0].y)?t:t.concat(i)}(i))),f(!0)},[f]);return r.useEffect(()=>()=>p(),[p]),r.useEffect(()=>{if(h&&m){let e=e=>g(e,m),t=e=>g(e,h);return h.addEventListener("pointerleave",e),m.addEventListener("pointerleave",t),()=>{h.removeEventListener("pointerleave",e),m.removeEventListener("pointerleave",t)}}},[h,m,g,p]),r.useEffect(()=>{if(d){let e=e=>{let t=e.target,i={x:e.clientX,y:e.clientY},r=h?.contains(t)||m?.contains(t),a=!function(e,t){let{x:i,y:r}=e,a=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let n=t[e],o=t[s],l=n.x,d=n.y,u=o.x,h=o.y;d>r!=h>r&&i<(u-l)*(r-d)/(h-d)+l&&(a=!a)}return a}(i,d);r?p():a&&(p(),c())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[h,m,d,c,p]),(0,i.jsx)(G,{...e,ref:l})}),[B,$]=E(L,{isInside:!1}),H=((t=({children:e})=>(0,i.jsx)(i.Fragment,{children:e})).displayName="TooltipContent.Slottable",t.__radixId=m,t),G=r.forwardRef((e,t)=>
3351{let{__scopeTooltip:a,children:s,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:u,...h}=e,c=I(N,a),m=b(a),{onClose:f}=c;return r.useEffect(()=>(document.addEventListener(A,f),()=>document.removeEventListener(A,f)),[f]),r.useEffect(()=>{if(c.trigger){let e=e=>{let t=e.target;t?.contains(c.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[c.trigger,f]),(0,i.jsx)(o.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,i.jsxs)(d.Content,{"data-state":c.stateAttribute,...m,...h,ref:t,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,i.jsx)(H,{children:s}),(0,i.jsx)(B,{scope:a,isInside:!0,children:(0,i.jsx)(g,{id:c.contentId,role:"tooltip",children:n||s})})]})})});U.displayName=N;var V="TooltipArrow",K=r.forwardRef((e,t)=>{let{__scopeTooltip:r,...a}=e,s=b(r);return $(V,r).isInside?null:(0,i.jsx)(d.Arrow,{...s,...a,ref:t})});K.displayName=V;var W=e.i(75157);function q({delayDuration:e=0,...t}){return(0,i.jsx)(k,{"data-slot":"tooltip-provider",delayDuration:e,...t})}e.s(["Tooltip",0,function({...e}){return(0,i.jsx)(q,{children:(0,i.jsx)(w,{"data-slot":"tooltip",...e})})},"TooltipContent",0,function({className:e,sideOffset:t=0,children:r,...a}){return(0,i.jsx)(O,{children:(0,i.jsxs)(U,{"data-slot":"tooltip-content",sideOffset:t,className:(0,W.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...a,children:[r,(0,i.jsx)(K,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})},"TooltipProvider",0,q,"TooltipTrigger",0,function({...e}){return(0,i.jsx)(D,{"data-slot":"tooltip-trigger",...e})}],46798)}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.